[isar-cip-core][PATCH] python3-shtab: add export to the DEB_BUILD_PROFILES


Srinuvasan A
 

From: Srinuvasan A <srinuvasan_a@...>

When we build this recipes in downstream layer the DEB_BUILD_PROFILES not
able to find by rule file hence it is not set the required build
profiles.

Here we disable the tests `PYBUILD_DISABLE=test`, but due to this
unavailability of DEB_BUILD_PROFILES in rule file it is building along
with the test hence it's getting failed like "Not able to import module
pytest"

Exported this one to access from rule file.

Signed-off-by: Srinuvasan A <srinuvasan_a@...>
---
recipes-python/shtab/python3-shtab_1.4.2.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-python/shtab/python3-shtab_1.4.2.bb b/recipes-python/shtab/python3-shtab_1.4.2.bb
index ce83d6b..554afd3 100644
--- a/recipes-python/shtab/python3-shtab_1.4.2.bb
+++ b/recipes-python/shtab/python3-shtab_1.4.2.bb
@@ -27,7 +27,7 @@ DEBIAN_BUILD_DEPENDS = " \
python3-setuptools-scm:native, \
"

-DEB_BUILD_PROFILES = "nocheck"
+export DEB_BUILD_PROFILES = "nocheck"

do_prepare_build[cleandirs] += "${S}/debian"
do_prepare_build() {
--
2.25.1


Jan Kiszka
 

On 25.03.22 09:34, Srinuvasan A wrote:
From: Srinuvasan A <srinuvasan_a@...>

When we build this recipes in downstream layer the DEB_BUILD_PROFILES not
able to find by rule file hence it is not set the required build
profiles.

Here we disable the tests `PYBUILD_DISABLE=test`, but due to this
unavailability of DEB_BUILD_PROFILES in rule file it is building along
with the test hence it's getting failed like "Not able to import module
pytest"

Exported this one to access from rule file.

Signed-off-by: Srinuvasan A <srinuvasan_a@...>
---
recipes-python/shtab/python3-shtab_1.4.2.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-python/shtab/python3-shtab_1.4.2.bb b/recipes-python/shtab/python3-shtab_1.4.2.bb
index ce83d6b..554afd3 100644
--- a/recipes-python/shtab/python3-shtab_1.4.2.bb
+++ b/recipes-python/shtab/python3-shtab_1.4.2.bb
@@ -27,7 +27,7 @@ DEBIAN_BUILD_DEPENDS = " \
python3-setuptools-scm:native, \
"

-DEB_BUILD_PROFILES = "nocheck"
+export DEB_BUILD_PROFILES = "nocheck"

do_prepare_build[cleandirs] += "${S}/debian"
do_prepare_build() {
I lost overview: Do we need to export now (but Isar does not)? Will we
have to with upcoming sbuild? If we only had to with past Isar, this
would remain a downstream topic.

Jan

--
Siemens AG, Technology
Competence Center Embedded Linux


Srinuvasan Arjunan
 



On Fri, Mar 25, 2022 at 5:09 PM Jan Kiszka <jan.kiszka@...> wrote:
On 25.03.22 09:34, Srinuvasan A wrote:
> From: Srinuvasan A <srinuvasan_a@...>
>
> When we build this recipes in downstream layer the DEB_BUILD_PROFILES not
> able to find by rule file hence it is not set the required build
> profiles.
>
> Here we disable the tests `PYBUILD_DISABLE=test`, but due to this
> unavailability of DEB_BUILD_PROFILES in rule file it is building along
> with the test hence it's getting failed like "Not able to import module
> pytest"
>
> Exported this one to access from rule file.
>
> Signed-off-by: Srinuvasan A <srinuvasan_a@...>
> ---
>  recipes-python/shtab/python3-shtab_1.4.2.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/recipes-python/shtab/python3-shtab_1.4.2.bb b/recipes-python/shtab/python3-shtab_1.4.2.bb
> index ce83d6b..554afd3 100644
> --- a/recipes-python/shtab/python3-shtab_1.4.2.bb
> +++ b/recipes-python/shtab/python3-shtab_1.4.2.bb
> @@ -27,7 +27,7 @@ DEBIAN_BUILD_DEPENDS = " \
>      python3-setuptools-scm:native, \
>      "

> -DEB_BUILD_PROFILES = "nocheck"
> +export DEB_BUILD_PROFILES = "nocheck"

>  do_prepare_build[cleandirs] += "${S}/debian"
>  do_prepare_build() {

I lost overview: Do we need to export now (but Isar does not)? Will we
have to with upcoming sbuild? If we only had to with past Isar, this
would remain a downstream topic. 

  Thanks jan for the confirmation, yes still we were using old ISAR in our downstream layer, let me create a patch in the downstream layer.  

Jan

--
Siemens AG, Technology
Competence Center Embedded Linux




Moessbauer, Felix <felix.moessbauer@...>
 

-----Original Message-----
From: Kiszka, Jan (T CED) <jan.kiszka@...>
Sent: Friday, March 25, 2022 12:40 PM
To: Srinuvasan A <Srinuvasan_A@...>; cip-dev@...;
Moessbauer, Felix (T CED SES-DE) <felix.moessbauer@...>
Subject: Re: [cip-dev][isar-cip-core][PATCH] python3-shtab: add export to the
DEB_BUILD_PROFILES

On 25.03.22 09:34, Srinuvasan A wrote:
From: Srinuvasan A <srinuvasan_a@...>

When we build this recipes in downstream layer the DEB_BUILD_PROFILES
not able to find by rule file hence it is not set the required build
profiles.

Here we disable the tests `PYBUILD_DISABLE=test`, but due to this
unavailability of DEB_BUILD_PROFILES in rule file it is building along
with the test hence it's getting failed like "Not able to import
module pytest"

Exported this one to access from rule file.

Signed-off-by: Srinuvasan A <srinuvasan_a@...>
---
recipes-python/shtab/python3-shtab_1.4.2.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-python/shtab/python3-shtab_1.4.2.bb
b/recipes-python/shtab/python3-shtab_1.4.2.bb
index ce83d6b..554afd3 100644
--- a/recipes-python/shtab/python3-shtab_1.4.2.bb
+++ b/recipes-python/shtab/python3-shtab_1.4.2.bb
@@ -27,7 +27,7 @@ DEBIAN_BUILD_DEPENDS = " \
python3-setuptools-scm:native, \
"

-DEB_BUILD_PROFILES = "nocheck"
+export DEB_BUILD_PROFILES = "nocheck"

do_prepare_build[cleandirs] += "${S}/debian"
do_prepare_build() {
I lost overview: Do we need to export now (but Isar does not)? Will we have to
with upcoming sbuild? If we only had to with past Isar, this would remain a
downstream topic.
This depends on the ISAR version. With a post "DEB_BUILD_PROFILES" version (post ffdd1b0),
you have to set this via the BB var (not via an export).

For older ISAR versions, you have to export in the do_dpkg_build via do_dpkg_build_prepend (and also in do_install_builddeps, if required).
To support both, you can manually export and set the BB variable.

Exporting at the current location (outside a task) does not look right. IIRC, this exports to the bb environment and by that is visible to all tasks [1].
Please also note, that "nocheck" has to be added to DEB_BUILD_OPTIONS as well (just having it in DEB_BUILD_PROFILES breaks the "Build Profile Spec") [2].

Regarding sbuilder: Currently, manual exports are supported by ISAR sbuilder, but deprecated.
Note, that the DEB_BUILD_PROFILES and DEB_BUILD_OPTIONS infrastructure perfectly works (using the corresponding BB vars, not exports).

[1] https://www.yoctoproject.org/docs/2.3/bitbake-user-manual/bitbake-user-manual.html#exporting-variables-to-the-environment
[2] https://wiki.debian.org/BuildProfileSpec

Felix

Jan

--
Siemens AG, Technology
Competence Center Embedded Linux