Overriding import whitelist
lairdjm
Hi, For our projects, we are trying to minimise the components we need to check out and download so reduce disk space, bandwidth and automated build times. The default zephyr westyml pulls in a lot of repositories we don’t need and there is the import name whitelist feature which can be used which is what we’re looking for, however it seems that according to https://docs.zephyrproject.org/latest/guides/west/manifest.html#west-manifest-ex3-1 a whitelist overrides a blacklist. For our projects, we are using the Nordic nRF connect SDK which makes use of the name whitelist feature and the nRF connect SDK repository pulls in the zephyr component – is there a way to further limit this from our project? This is from the west.yml file in that repository: name-whitelist: - canopennode - ci-tools - cmsis - civetweb - edtt - fatfs - hal_nordic - hal_st - libmetal - littlefs - loramac-node - lvgl - mbedtls - mipi-sys-t - net-tools - nrf_hw_models - open-amp - openthread - segger - tinycbor - tinycrypt
So for example we don’t want canopennode so is there a way we can exclude it from our west.yml file which is above the nrf repository which will then be passed down to the zephyr manifest file through the nrf manifest file, whilst overriding the nrf whitelist (our west.yml > nrf west.yml > zephyr west.yml)? Thanks, Jamie
|
|
Carles Cufi
Hi Jamie,
This seems to work fine for me locally:
$ cat app/west.yml manifest: version: 0.7
projects: - name: ncs path: nrf url: https://github.com/nrfconnect/sdk-nrf import: name-blacklist: - canopennode self: path: app
Carles
From: devel@... <devel@...>
On Behalf Of lairdjm via lists.zephyrproject.org
Sent: 31 July 2020 09:47 To: devel@... Subject: [Zephyr-devel] Overriding import whitelist
Hi, For our projects, we are trying to minimise the components we need to check out and download so reduce disk space, bandwidth and automated build times. The default zephyr westyml pulls in a lot of repositories we don’t need and there is the import name whitelist feature which can be used which is what we’re looking for, however it seems that according to https://docs.zephyrproject.org/latest/guides/west/manifest.html#west-manifest-ex3-1 a whitelist overrides a blacklist. For our projects, we are using the Nordic nRF connect SDK which makes use of the name whitelist feature and the nRF connect SDK repository pulls in the zephyr component – is there a way to further limit this from our project? This is from the west.yml file in that repository: name-whitelist: - canopennode - ci-tools - cmsis - civetweb - edtt - fatfs - hal_nordic - hal_st - libmetal - littlefs - loramac-node - lvgl - mbedtls - mipi-sys-t - net-tools - nrf_hw_models - open-amp - openthread - segger - tinycbor - tinycrypt
So for example we don’t want canopennode so is there a way we can exclude it from our west.yml file which is above the nrf repository which will then be passed down to the zephyr manifest file through the nrf manifest file, whilst overriding the nrf whitelist (our west.yml > nrf west.yml > zephyr west.yml)? Thanks, Jamie
|
|
lairdjm
Hi Carles, Great, that works well, thank you! Thanks, Jamie
From:
Cufi, Carles <Carles.Cufi@...>
Hi Jamie,
This seems to work fine for me locally:
$ cat app/west.yml manifest: version: 0.7
projects: - name: ncs path: nrf url: https://github.com/nrfconnect/sdk-nrf import: name-blacklist: - canopennode self: path: app
Carles
Hi, For our projects, we are trying to minimise the components we need to check out and download so reduce disk space, bandwidth and automated build times. The default zephyr westyml pulls in a lot of repositories we don’t need and there is the import name whitelist feature which can be used which is what we’re looking for, however it seems that according to https://docs.zephyrproject.org/latest/guides/west/manifest.html#west-manifest-ex3-1 a whitelist overrides a blacklist. For our projects, we are using the Nordic nRF connect SDK which makes use of the name whitelist feature and the nRF connect SDK repository pulls in the zephyr component – is there a way to further limit this from our project? This is from the west.yml file in that repository: name-whitelist: - canopennode - ci-tools - cmsis - civetweb - edtt - fatfs - hal_nordic - hal_st - libmetal - littlefs - loramac-node - lvgl - mbedtls - mipi-sys-t - net-tools - nrf_hw_models - open-amp - openthread - segger - tinycbor - tinycrypt
So for example we don’t want canopennode so is there a way we can exclude it from our west.yml file which is above the nrf repository which will then be passed down to the zephyr manifest file through the nrf manifest file, whilst overriding the nrf whitelist (our west.yml > nrf west.yml > zephyr west.yml)? Thanks, Jamie
|
|
Marcio Montenegro
Hi Carles, is it possible to include this import whitelist in the official kernel documentation? Regards, Marcio
On Fri, Jul 31, 2020 at 7:07 AM lairdjm <jamie.mccrae@...> wrote:
|
|
Carles Cufi
Hi Marcio,
All the details of the manifest import key and the variants it supports are documented here: https://docs.zephyrproject.org/latest/guides/west/manifest.html#manifest-imports
Also, please be aware that there is a feature coming soon related to this: https://github.com/zephyrproject-rtos/west/issues/367
Carles
From: Marcio Montenegro <mtuxpe@...>
Sent: 31 July 2020 12:20 To: lairdjm <jamie.mccrae@...> Cc: Cufi, Carles <Carles.Cufi@...>; devel@... Subject: Re: [Zephyr-devel] Overriding import whitelist
Hi Carles, is it possible to include this import whitelist in the official kernel documentation? Regards, Marcio
On Fri, Jul 31, 2020 at 7:07 AM lairdjm <jamie.mccrae@...> wrote:
|
|