* [PATCH 0/2] u-boot: Migrate to DEB_BUILD_PROFILES @ 2022-02-16 18:01 Vijai Kumar K 2022-02-16 18:01 ` [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES Vijai Kumar K 2022-02-16 18:01 ` [PATCH 2/2] meta-isar: u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K 0 siblings, 2 replies; 6+ messages in thread From: Vijai Kumar K @ 2022-02-16 18:01 UTC (permalink / raw) To: isar-users; +Cc: Vijai Kumar K Migrate u-boot to use DEB_BUILD_PROFILES instead of custom variables. stm32 only build tested. Had originally planned u-boot update to 2022.01 as well. Unfortunately the 2022.01 build fails for stm32 and I don't have a stm32 board to test my changes. So skipping the update for now. CI build: http://ci.isar-build.org:8080/job/isar_vkk_devel/107/console Thanks, Vijai Kumar K Vijai Kumar K (2): u-boot: Switch to use DEB_BUILD_PROFILES meta-isar: u-boot: Migrate to DEB_BUILD_PROFILES RECIPE-API-CHANGELOG.md | 14 ++++- .../u-boot/u-boot-de0-nano-soc_2020.10.bb | 2 +- .../u-boot/files/debian/control.tmpl | 13 +++++ meta/recipes-bsp/u-boot/files/debian/rules | 9 +++- meta/recipes-bsp/u-boot/u-boot-custom.inc | 51 ++++++++++--------- 5 files changed, 61 insertions(+), 28 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES 2022-02-16 18:01 [PATCH 0/2] u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K @ 2022-02-16 18:01 ` Vijai Kumar K 2022-02-18 11:53 ` Jan Kiszka 2022-02-16 18:01 ` [PATCH 2/2] meta-isar: u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K 1 sibling, 1 reply; 6+ messages in thread From: Vijai Kumar K @ 2022-02-16 18:01 UTC (permalink / raw) To: isar-users; +Cc: Vijai Kumar K Use DEB_BUILD_PROFILES to select packages to build. This patch drops the U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE variables and uses DEB_BUILD_PROFILES to enable particular packages like u-boot-tools, u-boot-dev and u-boot-config. Also, provide backward compatibility with U_BOOT_*_PACKAGES variable and prompt a deprecation warning to user. Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> --- RECIPE-API-CHANGELOG.md | 14 ++++- .../u-boot/files/debian/control.tmpl | 13 +++++ meta/recipes-bsp/u-boot/files/debian/rules | 9 +++- meta/recipes-bsp/u-boot/u-boot-custom.inc | 51 ++++++++++--------- 4 files changed, 60 insertions(+), 27 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index cad15a8..c135bd0 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -342,4 +342,16 @@ The bitbake variable defines the respective environment variable which is availa When cross compiling, `cross` is added to the `DEB_BUILD_PROFILES` environment variable. Please note, that manually exported versions of the variables are overwritten. -For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. \ No newline at end of file +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. + +### Deprecate U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE + +Use DEB_BUILD_PROFILES instead of U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE + +U_BOOT_TOOLS_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "tools" +U_BOOT_CONFIG_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "config" + +u-boot-${MACHINE}-dev package build can also be controlled now. Enabled by default +in u-boot-custom.inc. To remove use the below code in your recipe. + +DEB_BUILD_PROFILES_remove = "dev" diff --git a/meta/recipes-bsp/u-boot/files/debian/control.tmpl b/meta/recipes-bsp/u-boot/files/debian/control.tmpl index 9379be7..7ac11ad 100644 --- a/meta/recipes-bsp/u-boot/files/debian/control.tmpl +++ b/meta/recipes-bsp/u-boot/files/debian/control.tmpl @@ -11,4 +11,17 @@ Description: ${DESCRIPTION}, bootloader binaries Package: u-boot-${MACHINE}-dev Architecture: ${DISTRO_ARCH} +Build-Profiles: <dev> Description: ${DESCRIPTION}, bootloader libraries + +Package: u-boot-tools +Architecture: linux-any +Build-Profiles: <tools> +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: ${DESCRIPTION}, companion tools + +Package: u-boot-${MACHINE}-config +Build-Profiles: <config> +Provides: u-boot-config +Architecture: ${DISTRO_ARCH} +Description: ${DESCRIPTION}, environment configuration diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules index 3d66762..121b00e 100755 --- a/meta/recipes-bsp/u-boot/files/debian/rules +++ b/meta/recipes-bsp/u-boot/files/debian/rules @@ -20,10 +20,17 @@ override_dh_auto_build: else \ ./scripts/get_default_envs.sh >u-boot-initial-env; \ fi - $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 envtools +endif +ifneq (,$(filter tools,$(DEB_BUILD_PROFILES))) + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only +endif override_dh_auto_install: +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) mv tools/env/lib.a tools/env/libubootenv.a +endif override_dh_auto_test: diff --git a/meta/recipes-bsp/u-boot/u-boot-custom.inc b/meta/recipes-bsp/u-boot/u-boot-custom.inc index 9984d8c..3d53356 100644 --- a/meta/recipes-bsp/u-boot/u-boot-custom.inc +++ b/meta/recipes-bsp/u-boot/u-boot-custom.inc @@ -9,10 +9,13 @@ FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:" DESCRIPTION ?= "Custom U-Boot" -PROVIDES += "u-boot-${MACHINE} u-boot-${MACHINE}-dev" -PROVIDES += "${@'u-boot-tools' if d.getVar('U_BOOT_TOOLS_PACKAGE') == '1' else ''}" +PROVIDES += "u-boot-${MACHINE}" +PROVIDES += "${@'u-boot-tools' \ + if bb.utils.contains('DEB_BUILD_PROFILES', 'tools', 1, 0, d) else ''}" PROVIDES += "${@('u-boot-config u-boot-' + d.getVar('MACHINE') + '-config') \ - if d.getVar('U_BOOT_CONFIG_PACKAGE') == '1' else ''}" + if bb.utils.contains('DEB_BUILD_PROFILES', 'config', 1, 0, d) else ''}" +PROVIDES += "${@('u-boot-' + d.getVar('MACHINE') + '-dev') \ + if bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 1, 0, d) else ''}" inherit dpkg @@ -22,6 +25,20 @@ python() { if d.getVar('BUILD_DEPENDS'): bb.warn("u-boot-custom: Deprecated use of BUILD_DEPENDS, please switch to DEBIAN_BUILD_DEPENDS") d.setVar('DEBIAN_BUILD_DEPENDS', d.getVar('BUILD_DEPENDS')) + + if d.getVar('U_BOOT_TOOLS_PACKAGE') is not None: + bb.warn("u-boot-custom: Deprecated use of U_BOOT_TOOLS_PACKAGE, please switch to DEB_BUILD_PROFILES") + if d.getVar('U_BOOT_TOOLS_PACKAGE') == "1": + d.appendVar('DEB_BUILD_PROFILES', " tools") + else: + d.setVar('DEB_BUILD_PROFILES_remove', "tools") + + if d.getVar('U_BOOT_CONFIG_PACKAGE') is not None: + bb.warn("u-boot-custom: Deprecated use of U_BOOT_CONFIG_PACKAGE, please switch to DEB_BUILD_PROFILES") + if d.getVar('U_BOOT_CONFIG_PACKAGE') == "1": + d.appendVar('DEB_BUILD_PROFILES', " config") + else: + d.setVar('DEB_BUILD_PROFILES_remove', "config") } DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" @@ -29,8 +46,8 @@ DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" TEMPLATE_FILES = "debian/control.tmpl" TEMPLATE_VARS += "MACHINE DEBIAN_BUILD_DEPENDS" -U_BOOT_TOOLS_PACKAGE ?= "0" -U_BOOT_CONFIG_PACKAGE ?= "0" + +DEB_BUILD_PROFILES = "dev" do_prepare_build() { cp -r ${WORKDIR}/debian ${S}/ @@ -40,31 +57,15 @@ do_prepare_build() { echo "${U_BOOT_BIN} /usr/lib/u-boot/${MACHINE}" > \ ${S}/debian/u-boot-${MACHINE}.install - echo "tools/env/libubootenv.a usr/lib" > \ - ${S}/debian/u-boot-${MACHINE}-dev.install - - if [ "${U_BOOT_TOOLS_PACKAGE}" = "1" ]; then - cat <<EOF >>${S}/debian/control - -Package: u-boot-tools -Architecture: linux-any -Depends: \${shlibs:Depends}, \${misc:Depends} -Description: ${DESCRIPTION}, companion tools -EOF + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 'yes', 'no', d)}" = "yes" ];then + echo "tools/env/libubootenv.a usr/lib" > \ + ${S}/debian/u-boot-${MACHINE}-dev.install fi - if [ "${U_BOOT_CONFIG_PACKAGE}" = "1" ]; then + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'config', 'yes', 'no', d)}" = "yes" ];then cp ${WORKDIR}/fw_env.config ${S}/ || \ die "U_BOOT_CONFIG_PACKAGE requires a fw_env.config in SRC_URI" - cat <<EOF >>${S}/debian/control - -Package: u-boot-${MACHINE}-config -Provides: u-boot-config -Architecture: ${DISTRO_ARCH} -Description: ${DESCRIPTION}, environment configuration -EOF - cat <<EOF >>${S}/debian/u-boot-${MACHINE}-config.install u-boot-initial-env /etc fw_env.config /etc -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES 2022-02-16 18:01 ` [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES Vijai Kumar K @ 2022-02-18 11:53 ` Jan Kiszka 2022-02-18 12:00 ` vijai kumar 0 siblings, 1 reply; 6+ messages in thread From: Jan Kiszka @ 2022-02-18 11:53 UTC (permalink / raw) To: Vijai Kumar K, isar-users On 16.02.22 19:01, Vijai Kumar K wrote: > Use DEB_BUILD_PROFILES to select packages to build. > > This patch drops the U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > variables and uses DEB_BUILD_PROFILES to enable particular packages > like u-boot-tools, u-boot-dev and u-boot-config. > > Also, provide backward compatibility with U_BOOT_*_PACKAGES > variable and prompt a deprecation warning to user. > > Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> > --- > RECIPE-API-CHANGELOG.md | 14 ++++- > .../u-boot/files/debian/control.tmpl | 13 +++++ > meta/recipes-bsp/u-boot/files/debian/rules | 9 +++- > meta/recipes-bsp/u-boot/u-boot-custom.inc | 51 ++++++++++--------- > 4 files changed, 60 insertions(+), 27 deletions(-) > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > index cad15a8..c135bd0 100644 > --- a/RECIPE-API-CHANGELOG.md > +++ b/RECIPE-API-CHANGELOG.md > @@ -342,4 +342,16 @@ The bitbake variable defines the respective environment variable which is availa > When cross compiling, `cross` is added to the `DEB_BUILD_PROFILES` environment variable. > Please note, that manually exported versions of the variables are overwritten. > > -For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. > \ No newline at end of file > +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. > + > +### Deprecate U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > + > +Use DEB_BUILD_PROFILES instead of U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > + > +U_BOOT_TOOLS_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "tools" > +U_BOOT_CONFIG_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "config" This is actually not an equivalent interface: So far, we also had layers setting U_BOOT_*_PACKAGE at distro or even layer-level. Now you need to patch that into the respective U-Boot recipes because the variable is shared with other recipes. We need to check if that actually addresse all use cases. Did you have a look at the usual suspects already, specifically isar-cip-core? I'm even seeing the SWUpdate package doing things differently there depending on the availability of U_BOOT_CONFIG_PACKAGE. Jan > + > +u-boot-${MACHINE}-dev package build can also be controlled now. Enabled by default > +in u-boot-custom.inc. To remove use the below code in your recipe. > + > +DEB_BUILD_PROFILES_remove = "dev" > diff --git a/meta/recipes-bsp/u-boot/files/debian/control.tmpl b/meta/recipes-bsp/u-boot/files/debian/control.tmpl > index 9379be7..7ac11ad 100644 > --- a/meta/recipes-bsp/u-boot/files/debian/control.tmpl > +++ b/meta/recipes-bsp/u-boot/files/debian/control.tmpl > @@ -11,4 +11,17 @@ Description: ${DESCRIPTION}, bootloader binaries > > Package: u-boot-${MACHINE}-dev > Architecture: ${DISTRO_ARCH} > +Build-Profiles: <dev> > Description: ${DESCRIPTION}, bootloader libraries > + > +Package: u-boot-tools > +Architecture: linux-any > +Build-Profiles: <tools> > +Depends: ${shlibs:Depends}, ${misc:Depends} > +Description: ${DESCRIPTION}, companion tools > + > +Package: u-boot-${MACHINE}-config > +Build-Profiles: <config> > +Provides: u-boot-config > +Architecture: ${DISTRO_ARCH} > +Description: ${DESCRIPTION}, environment configuration > diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules > index 3d66762..121b00e 100755 > --- a/meta/recipes-bsp/u-boot/files/debian/rules > +++ b/meta/recipes-bsp/u-boot/files/debian/rules > @@ -20,10 +20,17 @@ override_dh_auto_build: > else \ > ./scripts/get_default_envs.sh >u-boot-initial-env; \ > fi > - $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools > +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) > + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 envtools > +endif > +ifneq (,$(filter tools,$(DEB_BUILD_PROFILES))) > + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only > +endif > > override_dh_auto_install: > +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) > mv tools/env/lib.a tools/env/libubootenv.a > +endif > > override_dh_auto_test: > > diff --git a/meta/recipes-bsp/u-boot/u-boot-custom.inc b/meta/recipes-bsp/u-boot/u-boot-custom.inc > index 9984d8c..3d53356 100644 > --- a/meta/recipes-bsp/u-boot/u-boot-custom.inc > +++ b/meta/recipes-bsp/u-boot/u-boot-custom.inc > @@ -9,10 +9,13 @@ FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:" > > DESCRIPTION ?= "Custom U-Boot" > > -PROVIDES += "u-boot-${MACHINE} u-boot-${MACHINE}-dev" > -PROVIDES += "${@'u-boot-tools' if d.getVar('U_BOOT_TOOLS_PACKAGE') == '1' else ''}" > +PROVIDES += "u-boot-${MACHINE}" > +PROVIDES += "${@'u-boot-tools' \ > + if bb.utils.contains('DEB_BUILD_PROFILES', 'tools', 1, 0, d) else ''}" > PROVIDES += "${@('u-boot-config u-boot-' + d.getVar('MACHINE') + '-config') \ > - if d.getVar('U_BOOT_CONFIG_PACKAGE') == '1' else ''}" > + if bb.utils.contains('DEB_BUILD_PROFILES', 'config', 1, 0, d) else ''}" > +PROVIDES += "${@('u-boot-' + d.getVar('MACHINE') + '-dev') \ > + if bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 1, 0, d) else ''}" > > inherit dpkg > > @@ -22,6 +25,20 @@ python() { > if d.getVar('BUILD_DEPENDS'): > bb.warn("u-boot-custom: Deprecated use of BUILD_DEPENDS, please switch to DEBIAN_BUILD_DEPENDS") > d.setVar('DEBIAN_BUILD_DEPENDS', d.getVar('BUILD_DEPENDS')) > + > + if d.getVar('U_BOOT_TOOLS_PACKAGE') is not None: > + bb.warn("u-boot-custom: Deprecated use of U_BOOT_TOOLS_PACKAGE, please switch to DEB_BUILD_PROFILES") > + if d.getVar('U_BOOT_TOOLS_PACKAGE') == "1": > + d.appendVar('DEB_BUILD_PROFILES', " tools") > + else: > + d.setVar('DEB_BUILD_PROFILES_remove', "tools") > + > + if d.getVar('U_BOOT_CONFIG_PACKAGE') is not None: > + bb.warn("u-boot-custom: Deprecated use of U_BOOT_CONFIG_PACKAGE, please switch to DEB_BUILD_PROFILES") > + if d.getVar('U_BOOT_CONFIG_PACKAGE') == "1": > + d.appendVar('DEB_BUILD_PROFILES', " config") > + else: > + d.setVar('DEB_BUILD_PROFILES_remove', "config") > } > > DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" > @@ -29,8 +46,8 @@ DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" > TEMPLATE_FILES = "debian/control.tmpl" > TEMPLATE_VARS += "MACHINE DEBIAN_BUILD_DEPENDS" > > -U_BOOT_TOOLS_PACKAGE ?= "0" > -U_BOOT_CONFIG_PACKAGE ?= "0" > + > +DEB_BUILD_PROFILES = "dev" > > do_prepare_build() { > cp -r ${WORKDIR}/debian ${S}/ > @@ -40,31 +57,15 @@ do_prepare_build() { > echo "${U_BOOT_BIN} /usr/lib/u-boot/${MACHINE}" > \ > ${S}/debian/u-boot-${MACHINE}.install > > - echo "tools/env/libubootenv.a usr/lib" > \ > - ${S}/debian/u-boot-${MACHINE}-dev.install > - > - if [ "${U_BOOT_TOOLS_PACKAGE}" = "1" ]; then > - cat <<EOF >>${S}/debian/control > - > -Package: u-boot-tools > -Architecture: linux-any > -Depends: \${shlibs:Depends}, \${misc:Depends} > -Description: ${DESCRIPTION}, companion tools > -EOF > + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 'yes', 'no', d)}" = "yes" ];then > + echo "tools/env/libubootenv.a usr/lib" > \ > + ${S}/debian/u-boot-${MACHINE}-dev.install > fi > > - if [ "${U_BOOT_CONFIG_PACKAGE}" = "1" ]; then > + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'config', 'yes', 'no', d)}" = "yes" ];then > cp ${WORKDIR}/fw_env.config ${S}/ || \ > die "U_BOOT_CONFIG_PACKAGE requires a fw_env.config in SRC_URI" > > - cat <<EOF >>${S}/debian/control > - > -Package: u-boot-${MACHINE}-config > -Provides: u-boot-config > -Architecture: ${DISTRO_ARCH} > -Description: ${DESCRIPTION}, environment configuration > -EOF > - > cat <<EOF >>${S}/debian/u-boot-${MACHINE}-config.install > u-boot-initial-env /etc > fw_env.config /etc -- Siemens AG, Technology Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES 2022-02-18 11:53 ` Jan Kiszka @ 2022-02-18 12:00 ` vijai kumar 2022-06-03 9:35 ` Jan Kiszka 0 siblings, 1 reply; 6+ messages in thread From: vijai kumar @ 2022-02-18 12:00 UTC (permalink / raw) To: Jan Kiszka; +Cc: Vijai Kumar K, isar-users On Fri, Feb 18, 2022 at 5:23 PM Jan Kiszka <jan.kiszka@siemens.com> wrote: > > On 16.02.22 19:01, Vijai Kumar K wrote: > > Use DEB_BUILD_PROFILES to select packages to build. > > > > This patch drops the U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > > variables and uses DEB_BUILD_PROFILES to enable particular packages > > like u-boot-tools, u-boot-dev and u-boot-config. > > > > Also, provide backward compatibility with U_BOOT_*_PACKAGES > > variable and prompt a deprecation warning to user. > > > > Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> > > --- > > RECIPE-API-CHANGELOG.md | 14 ++++- > > .../u-boot/files/debian/control.tmpl | 13 +++++ > > meta/recipes-bsp/u-boot/files/debian/rules | 9 +++- > > meta/recipes-bsp/u-boot/u-boot-custom.inc | 51 ++++++++++--------- > > 4 files changed, 60 insertions(+), 27 deletions(-) > > > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > > index cad15a8..c135bd0 100644 > > --- a/RECIPE-API-CHANGELOG.md > > +++ b/RECIPE-API-CHANGELOG.md > > @@ -342,4 +342,16 @@ The bitbake variable defines the respective environment variable which is availa > > When cross compiling, `cross` is added to the `DEB_BUILD_PROFILES` environment variable. > > Please note, that manually exported versions of the variables are overwritten. > > > > -For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. > > \ No newline at end of file > > +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. > > + > > +### Deprecate U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > > + > > +Use DEB_BUILD_PROFILES instead of U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE > > + > > +U_BOOT_TOOLS_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "tools" > > +U_BOOT_CONFIG_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "config" > > This is actually not an equivalent interface: So far, we also had layers > setting U_BOOT_*_PACKAGE at distro or even layer-level. Now you need to > patch that into the respective U-Boot recipes because the variable is > shared with other recipes. We need to check if that actually addresse > all use cases. Ah. Yes indeed. > > Did you have a look at the usual suspects already, specifically > isar-cip-core? I'm even seeing the SWUpdate package doing things > differently there depending on the availability of U_BOOT_CONFIG_PACKAGE. Let me have a look again into this and get back. Thanks, Vijai Kumar K > > Jan > > > + > > +u-boot-${MACHINE}-dev package build can also be controlled now. Enabled by default > > +in u-boot-custom.inc. To remove use the below code in your recipe. > > + > > +DEB_BUILD_PROFILES_remove = "dev" > > diff --git a/meta/recipes-bsp/u-boot/files/debian/control.tmpl b/meta/recipes-bsp/u-boot/files/debian/control.tmpl > > index 9379be7..7ac11ad 100644 > > --- a/meta/recipes-bsp/u-boot/files/debian/control.tmpl > > +++ b/meta/recipes-bsp/u-boot/files/debian/control.tmpl > > @@ -11,4 +11,17 @@ Description: ${DESCRIPTION}, bootloader binaries > > > > Package: u-boot-${MACHINE}-dev > > Architecture: ${DISTRO_ARCH} > > +Build-Profiles: <dev> > > Description: ${DESCRIPTION}, bootloader libraries > > + > > +Package: u-boot-tools > > +Architecture: linux-any > > +Build-Profiles: <tools> > > +Depends: ${shlibs:Depends}, ${misc:Depends} > > +Description: ${DESCRIPTION}, companion tools > > + > > +Package: u-boot-${MACHINE}-config > > +Build-Profiles: <config> > > +Provides: u-boot-config > > +Architecture: ${DISTRO_ARCH} > > +Description: ${DESCRIPTION}, environment configuration > > diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules > > index 3d66762..121b00e 100755 > > --- a/meta/recipes-bsp/u-boot/files/debian/rules > > +++ b/meta/recipes-bsp/u-boot/files/debian/rules > > @@ -20,10 +20,17 @@ override_dh_auto_build: > > else \ > > ./scripts/get_default_envs.sh >u-boot-initial-env; \ > > fi > > - $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools > > +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) > > + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 envtools > > +endif > > +ifneq (,$(filter tools,$(DEB_BUILD_PROFILES))) > > + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only > > +endif > > > > override_dh_auto_install: > > +ifneq (,$(filter dev,$(DEB_BUILD_PROFILES))) > > mv tools/env/lib.a tools/env/libubootenv.a > > +endif > > > > override_dh_auto_test: > > > > diff --git a/meta/recipes-bsp/u-boot/u-boot-custom.inc b/meta/recipes-bsp/u-boot/u-boot-custom.inc > > index 9984d8c..3d53356 100644 > > --- a/meta/recipes-bsp/u-boot/u-boot-custom.inc > > +++ b/meta/recipes-bsp/u-boot/u-boot-custom.inc > > @@ -9,10 +9,13 @@ FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:" > > > > DESCRIPTION ?= "Custom U-Boot" > > > > -PROVIDES += "u-boot-${MACHINE} u-boot-${MACHINE}-dev" > > -PROVIDES += "${@'u-boot-tools' if d.getVar('U_BOOT_TOOLS_PACKAGE') == '1' else ''}" > > +PROVIDES += "u-boot-${MACHINE}" > > +PROVIDES += "${@'u-boot-tools' \ > > + if bb.utils.contains('DEB_BUILD_PROFILES', 'tools', 1, 0, d) else ''}" > > PROVIDES += "${@('u-boot-config u-boot-' + d.getVar('MACHINE') + '-config') \ > > - if d.getVar('U_BOOT_CONFIG_PACKAGE') == '1' else ''}" > > + if bb.utils.contains('DEB_BUILD_PROFILES', 'config', 1, 0, d) else ''}" > > +PROVIDES += "${@('u-boot-' + d.getVar('MACHINE') + '-dev') \ > > + if bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 1, 0, d) else ''}" > > > > inherit dpkg > > > > @@ -22,6 +25,20 @@ python() { > > if d.getVar('BUILD_DEPENDS'): > > bb.warn("u-boot-custom: Deprecated use of BUILD_DEPENDS, please switch to DEBIAN_BUILD_DEPENDS") > > d.setVar('DEBIAN_BUILD_DEPENDS', d.getVar('BUILD_DEPENDS')) > > + > > + if d.getVar('U_BOOT_TOOLS_PACKAGE') is not None: > > + bb.warn("u-boot-custom: Deprecated use of U_BOOT_TOOLS_PACKAGE, please switch to DEB_BUILD_PROFILES") > > + if d.getVar('U_BOOT_TOOLS_PACKAGE') == "1": > > + d.appendVar('DEB_BUILD_PROFILES', " tools") > > + else: > > + d.setVar('DEB_BUILD_PROFILES_remove', "tools") > > + > > + if d.getVar('U_BOOT_CONFIG_PACKAGE') is not None: > > + bb.warn("u-boot-custom: Deprecated use of U_BOOT_CONFIG_PACKAGE, please switch to DEB_BUILD_PROFILES") > > + if d.getVar('U_BOOT_CONFIG_PACKAGE') == "1": > > + d.appendVar('DEB_BUILD_PROFILES', " config") > > + else: > > + d.setVar('DEB_BUILD_PROFILES_remove', "config") > > } > > > > DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" > > @@ -29,8 +46,8 @@ DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git" > > TEMPLATE_FILES = "debian/control.tmpl" > > TEMPLATE_VARS += "MACHINE DEBIAN_BUILD_DEPENDS" > > > > -U_BOOT_TOOLS_PACKAGE ?= "0" > > -U_BOOT_CONFIG_PACKAGE ?= "0" > > + > > +DEB_BUILD_PROFILES = "dev" > > > > do_prepare_build() { > > cp -r ${WORKDIR}/debian ${S}/ > > @@ -40,31 +57,15 @@ do_prepare_build() { > > echo "${U_BOOT_BIN} /usr/lib/u-boot/${MACHINE}" > \ > > ${S}/debian/u-boot-${MACHINE}.install > > > > - echo "tools/env/libubootenv.a usr/lib" > \ > > - ${S}/debian/u-boot-${MACHINE}-dev.install > > - > > - if [ "${U_BOOT_TOOLS_PACKAGE}" = "1" ]; then > > - cat <<EOF >>${S}/debian/control > > - > > -Package: u-boot-tools > > -Architecture: linux-any > > -Depends: \${shlibs:Depends}, \${misc:Depends} > > -Description: ${DESCRIPTION}, companion tools > > -EOF > > + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'dev', 'yes', 'no', d)}" = "yes" ];then > > + echo "tools/env/libubootenv.a usr/lib" > \ > > + ${S}/debian/u-boot-${MACHINE}-dev.install > > fi > > > > - if [ "${U_BOOT_CONFIG_PACKAGE}" = "1" ]; then > > + if [ "${@bb.utils.contains('DEB_BUILD_PROFILES', 'config', 'yes', 'no', d)}" = "yes" ];then > > cp ${WORKDIR}/fw_env.config ${S}/ || \ > > die "U_BOOT_CONFIG_PACKAGE requires a fw_env.config in SRC_URI" > > > > - cat <<EOF >>${S}/debian/control > > - > > -Package: u-boot-${MACHINE}-config > > -Provides: u-boot-config > > -Architecture: ${DISTRO_ARCH} > > -Description: ${DESCRIPTION}, environment configuration > > -EOF > > - > > cat <<EOF >>${S}/debian/u-boot-${MACHINE}-config.install > > u-boot-initial-env /etc > > fw_env.config /etc > > -- > Siemens AG, Technology > Competence Center Embedded Linux > > -- > You received this message because you are subscribed to the Google Groups "isar-users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/a8eb3b33-a3c5-285a-9fd8-a6b96403662a%40siemens.com. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES 2022-02-18 12:00 ` vijai kumar @ 2022-06-03 9:35 ` Jan Kiszka 0 siblings, 0 replies; 6+ messages in thread From: Jan Kiszka @ 2022-06-03 9:35 UTC (permalink / raw) To: vijai kumar; +Cc: Vijai Kumar K, isar-users On 18.02.22 13:00, vijai kumar wrote: > On Fri, Feb 18, 2022 at 5:23 PM Jan Kiszka <jan.kiszka@siemens.com> wrote: >> >> On 16.02.22 19:01, Vijai Kumar K wrote: >>> Use DEB_BUILD_PROFILES to select packages to build. >>> >>> This patch drops the U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE >>> variables and uses DEB_BUILD_PROFILES to enable particular packages >>> like u-boot-tools, u-boot-dev and u-boot-config. >>> >>> Also, provide backward compatibility with U_BOOT_*_PACKAGES >>> variable and prompt a deprecation warning to user. >>> >>> Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> >>> --- >>> RECIPE-API-CHANGELOG.md | 14 ++++- >>> .../u-boot/files/debian/control.tmpl | 13 +++++ >>> meta/recipes-bsp/u-boot/files/debian/rules | 9 +++- >>> meta/recipes-bsp/u-boot/u-boot-custom.inc | 51 ++++++++++--------- >>> 4 files changed, 60 insertions(+), 27 deletions(-) >>> >>> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md >>> index cad15a8..c135bd0 100644 >>> --- a/RECIPE-API-CHANGELOG.md >>> +++ b/RECIPE-API-CHANGELOG.md >>> @@ -342,4 +342,16 @@ The bitbake variable defines the respective environment variable which is availa >>> When cross compiling, `cross` is added to the `DEB_BUILD_PROFILES` environment variable. >>> Please note, that manually exported versions of the variables are overwritten. >>> >>> -For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. >>> \ No newline at end of file >>> +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. >>> + >>> +### Deprecate U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE >>> + >>> +Use DEB_BUILD_PROFILES instead of U_BOOT_TOOLS_PACKAGE and U_BOOT_CONFIG_PACKAGE >>> + >>> +U_BOOT_TOOLS_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "tools" >>> +U_BOOT_CONFIG_PACKAGE = "1" is achieved by DEB_BUILD_PROFILES += "config" >> >> This is actually not an equivalent interface: So far, we also had layers >> setting U_BOOT_*_PACKAGE at distro or even layer-level. Now you need to >> patch that into the respective U-Boot recipes because the variable is >> shared with other recipes. We need to check if that actually addresse >> all use cases. > > Ah. Yes indeed. > >> >> Did you have a look at the usual suspects already, specifically >> isar-cip-core? I'm even seeing the SWUpdate package doing things >> differently there depending on the availability of U_BOOT_CONFIG_PACKAGE. > > Let me have a look again into this and get back. > What happened to this? Jan -- Siemens AG, Technology Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] meta-isar: u-boot: Migrate to DEB_BUILD_PROFILES 2022-02-16 18:01 [PATCH 0/2] u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K 2022-02-16 18:01 ` [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES Vijai Kumar K @ 2022-02-16 18:01 ` Vijai Kumar K 1 sibling, 0 replies; 6+ messages in thread From: Vijai Kumar K @ 2022-02-16 18:01 UTC (permalink / raw) To: isar-users; +Cc: Vijai Kumar K Migrate u-boot recipe to use DEB_BUILD_PROFILES instead of U_BOOT_TOOLS_PACKAGE variable Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> --- meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb b/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb index dcb76c5..bb67df1 100644 --- a/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb +++ b/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb @@ -6,4 +6,4 @@ require u-boot-${PV}.inc # Just for testing purposes, distro package would be recent enough -U_BOOT_TOOLS_PACKAGE = "1" +DEB_BUILD_PROFILES += "tools" -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-03 9:35 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-16 18:01 [PATCH 0/2] u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K 2022-02-16 18:01 ` [PATCH 1/2] u-boot: Switch to use DEB_BUILD_PROFILES Vijai Kumar K 2022-02-18 11:53 ` Jan Kiszka 2022-02-18 12:00 ` vijai kumar 2022-06-03 9:35 ` Jan Kiszka 2022-02-16 18:01 ` [PATCH 2/2] meta-isar: u-boot: Migrate to DEB_BUILD_PROFILES Vijai Kumar K
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox