dpkg class set default value for ISAR_CROSS_COMPILE, if missing

Message ID CAJGKYO6XbTz64CMMBDkTT_+b+BSksgVdnXcYv-xdLza0n7dFkA@mail.gmail.com
State Not Applicable, archived
Headers show
Series dpkg class set default value for ISAR_CROSS_COMPILE, if missing | expand

Commit Message

Roberto A. Foglietta Jan. 3, 2023, 9:42 p.m. UTC
The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
class thus the project fails to build. This sets the default, if missing.

Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
---
 meta/classes/dpkg.bbclass | 2 ++
 1 file changed, 2 insertions(+)

+++ b/meta/classes/dpkg.bbclass

https://github.com/ilbers/isar/commit/06916be39eb00e9808674231afb0ead03a526bc1

Comments

Jan Kiszka Jan. 4, 2023, 8:27 a.m. UTC | #1
On 03.01.23 22:42, Roberto A. Foglietta wrote:
> The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
> class thus the project fails to build. This sets the default, if missing.
> 
> Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
> ---
>  meta/classes/dpkg.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> index bf60a5b..230bac9 100644
> --- a/meta/classes/dpkg.bbclass
> +++ b/meta/classes/dpkg.bbclass
> 
> https://github.com/ilbers/isar/commit/06916be39eb00e9808674231afb0ead03a526bc1
> 

You must send patches inline, or we can't review things. Exceptionally
pulling it in here:

> From 06916be39eb00e9808674231afb0ead03a526bc1 Mon Sep 17 00:00:00 2001
> From: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
> Date: Tue, 3 Jan 2023 22:28:05 +0100
> Subject: [PATCH] dpkg class set default value for ISAR_CROSS_COMPILE, if
>  missing
> 
> The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
> class thus the project fail to build. This sets the default, if missing.
> 
> Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
> ---
>  meta/classes/dpkg.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> index bf60a5b..230bac9 100644
> --- a/meta/classes/dpkg.bbclass
> +++ b/meta/classes/dpkg.bbclass
> @@ -3,6 +3,8 @@
>  
>  inherit dpkg-base
>  
> +ISAR_CROSS_COMPILE ?= "0"
> +
>  PACKAGE_ARCH ?= "${DISTRO_ARCH}"
>  
>  DPKG_PREBUILD_ENV_FILE="${WORKDIR}/dpkg_prebuild.env"
> -- 
> 2.34.1

Not sure what saved our ass so far, but the usage of ISAR_CROSS_COMPILE
is way more spread out, so this does not make sense. If we want (and
need) a global default, it should go into isar's bitbake.conf now. That
would also be in line with USE_CCACHE e.g.

Jan
Roberto A. Foglietta Jan. 4, 2023, 10:31 a.m. UTC | #2
On Wed, 4 Jan 2023 at 09:27, Jan Kiszka <jan.kiszka@siemens.com> wrote:
>
> On 03.01.23 22:42, Roberto A. Foglietta wrote:
> > The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
> > class thus the project fails to build. This sets the default, if missing.
> >

In two classes, actually - so two patches.

>
> Not sure what saved our ass so far, but the usage of ISAR_CROSS_COMPILE
> is way more spread out, so this does not make sense. If we want (and
> need) a global default, it should go into isar's bitbake.conf now. That
> would also be in line with USE_CCACHE e.g.
>

A global approach would be wonderful, I am happy that my patches
raised up the issue.
Yes, conf/local.conf.example would be wonderful but we cannot go with
an example for something that is necessary.

Best regards, R-
Uladzimir Bely Jan. 25, 2023, 12:07 p.m. UTC | #3
In mail from среда, 4 января 2023 г. 11:27:36 +03 user Jan Kiszka wrote:
> On 03.01.23 22:42, Roberto A. Foglietta wrote:
> > The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
> > class thus the project fails to build. This sets the default, if missing.
> > 
> > Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
> > ---
> > 
> >  meta/classes/dpkg.bbclass | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> > index bf60a5b..230bac9 100644
> > --- a/meta/classes/dpkg.bbclass
> > +++ b/meta/classes/dpkg.bbclass
> > 
> > https://github.com/ilbers/isar/commit/06916be39eb00e9808674231afb0ead03a52
> > 6bc1
> You must send patches inline, or we can't review things. Exceptionally
> 
> pulling it in here:
> > From 06916be39eb00e9808674231afb0ead03a526bc1 Mon Sep 17 00:00:00 2001
> > From: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
> > Date: Tue, 3 Jan 2023 22:28:05 +0100
> > Subject: [PATCH] dpkg class set default value for ISAR_CROSS_COMPILE, if
> > 
> >  missing
> > 
> > The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
> > class thus the project fail to build. This sets the default, if missing.
> > 
> > Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
> > ---
> > 
> >  meta/classes/dpkg.bbclass | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> > index bf60a5b..230bac9 100644
> > --- a/meta/classes/dpkg.bbclass
> > +++ b/meta/classes/dpkg.bbclass
> > @@ -3,6 +3,8 @@
> > 
> >  inherit dpkg-base
> > 
> > +ISAR_CROSS_COMPILE ?= "0"
> > +
> > 
> >  PACKAGE_ARCH ?= "${DISTRO_ARCH}"
> >  
> >  DPKG_PREBUILD_ENV_FILE="${WORKDIR}/dpkg_prebuild.env"
> 
> Not sure what saved our ass so far, but the usage of ISAR_CROSS_COMPILE
> is way more spread out, so this does not make sense. If we want (and
> need) a global default, it should go into isar's bitbake.conf now. That
> would also be in line with USE_CCACHE e.g.
> 
> Jan

It seems to had worked while `dpkg-base` inherited `buildchroot` which has 
ISAR_CROSS_COMPILE ??= "0"

Now we don't depend on buildchroot in dpkg, so we definitely need this patch. 
But probably, it's better to use weak assignment (??=) here like earlier.

Patch

From 06916be39eb00e9808674231afb0ead03a526bc1 Mon Sep 17 00:00:00 2001
From: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Date: Tue, 3 Jan 2023 22:28:05 +0100
Subject: [PATCH] dpkg class set default value for ISAR_CROSS_COMPILE, if
 missing

The variable ISAR_CROSS_COMPILE might not be initialised in the dpkg
class thus the project fail to build. This sets the default, if missing.

Signed-off-by: Roberto A. Foglietta <roberto.foglietta@gmail.com>
---
 meta/classes/dpkg.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
index bf60a5b..230bac9 100644
--- a/meta/classes/dpkg.bbclass
+++ b/meta/classes/dpkg.bbclass
@@ -3,6 +3,8 @@ 
 
 inherit dpkg-base
 
+ISAR_CROSS_COMPILE ?= "0"
+
 PACKAGE_ARCH ?= "${DISTRO_ARCH}"
 
 DPKG_PREBUILD_ENV_FILE="${WORKDIR}/dpkg_prebuild.env"
-- 
2.34.1