All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps
@ 2022-07-05 13:44 David GOUARIN
  2022-07-05 13:44 ` [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4 David GOUARIN
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: David GOUARIN @ 2022-07-05 13:44 UTC (permalink / raw)
  To: buildroot; +Cc: David GOUARIN, Yann E. MORIN

It might be necessary for some packages to define environment variables when calling waf build and waf install.
This is done the same way as the others package types, by defining $(PKG)_MAKE_ENV in .mk.

Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
---
 package/pkg-waf.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk
index d546b4a817..e090afa9e6 100644
--- a/package/pkg-waf.mk
+++ b/package/pkg-waf.mk
@@ -75,7 +75,7 @@ endif
 ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
 	cd $$($$(PKG)_SRCDIR) && \
-	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
+	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
 		build $$(WAF_OPTS) $$($(2)_BUILD_OPTS) \
 		$$($(2)_WAF_OPTS)
 endef
@@ -88,7 +88,7 @@ endif
 ifndef $(2)_INSTALL_STAGING_CMDS
 define $(2)_INSTALL_STAGING_CMDS
 	cd $$($$(PKG)_SRCDIR) && \
-	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
+	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
 		install --destdir=$$(STAGING_DIR) \
 		$$($(2)_INSTALL_STAGING_OPTS) \
 		$$($(2)_WAF_OPTS)
@@ -102,7 +102,7 @@ endif
 ifndef $(2)_INSTALL_TARGET_CMDS
 define $(2)_INSTALL_TARGET_CMDS
 	cd $$($$(PKG)_SRCDIR) && \
-	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
+	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
 		install --destdir=$$(TARGET_DIR) \
 		$$($(2)_INSTALL_TARGET_OPTS) \
 		$$($(2)_WAF_OPTS)
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-05 13:44 [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps David GOUARIN
@ 2022-07-05 13:44 ` David GOUARIN
  2022-07-23 17:15   ` Romain Naour
  2022-07-23 22:26 ` [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps Yann E. MORIN
  2022-08-16 19:59 ` Peter Korsgaard
  2 siblings, 1 reply; 10+ messages in thread
From: David GOUARIN @ 2022-07-05 13:44 UTC (permalink / raw)
  To: buildroot; +Cc: David GOUARIN, David GOUARIN, Matt Weber

This version needs to define an environment variable in build and install steps.
This requires an upgrade to pkg_waf.mk.

Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
---
 package/libtalloc/libtalloc.hash | 2 +-
 package/libtalloc/libtalloc.mk   | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash
index cbfd11e63b..0bc8edb695 100644
--- a/package/libtalloc/libtalloc.hash
+++ b/package/libtalloc/libtalloc.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256  6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa  talloc-2.3.3.tar.gz
+sha256  179f9ebe265e67e4ab2c26cad2b7de4b6a77c6c212f966903382869f06be6505  talloc-2.3.4.tar.gz
 sha256  f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c  talloc.h
diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk
index 8cba699ea1..6a5e1ef4b6 100644
--- a/package/libtalloc/libtalloc.mk
+++ b/package/libtalloc/libtalloc.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBTALLOC_VERSION = 2.3.3
+LIBTALLOC_VERSION = 2.3.4
 LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
 LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
 LIBTALLOC_LICENSE = LGPL-3.0+
@@ -40,6 +40,9 @@ else
 LIBTALLOC_CONF_OPTS += --disable-python
 endif
 
+LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
+LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1
+
 LIBTALLOC_WAF = ./buildtools/bin/waf
 
 # like samba4, libtalloc uses the waf build system which requires a
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-05 13:44 ` [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4 David GOUARIN
@ 2022-07-23 17:15   ` Romain Naour
  2022-07-24  7:59     ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2022-07-23 17:15 UTC (permalink / raw)
  To: David GOUARIN, buildroot; +Cc: David GOUARIN, Matt Weber

Hello David,

Le 05/07/2022 à 15:44, David GOUARIN a écrit :
> This version needs to define an environment variable in build and install steps.
> This requires an upgrade to pkg_waf.mk.
> 
> Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
> ---
>  package/libtalloc/libtalloc.hash | 2 +-
>  package/libtalloc/libtalloc.mk   | 5 ++++-
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash
> index cbfd11e63b..0bc8edb695 100644
> --- a/package/libtalloc/libtalloc.hash
> +++ b/package/libtalloc/libtalloc.hash
> @@ -1,3 +1,3 @@
>  # Locally calculated
> -sha256  6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa  talloc-2.3.3.tar.gz
> +sha256  179f9ebe265e67e4ab2c26cad2b7de4b6a77c6c212f966903382869f06be6505  talloc-2.3.4.tar.gz
>  sha256  f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c  talloc.h
> diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk
> index 8cba699ea1..6a5e1ef4b6 100644
> --- a/package/libtalloc/libtalloc.mk
> +++ b/package/libtalloc/libtalloc.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LIBTALLOC_VERSION = 2.3.3
> +LIBTALLOC_VERSION = 2.3.4
>  LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
>  LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
>  LIBTALLOC_LICENSE = LGPL-3.0+
> @@ -40,6 +40,9 @@ else
>  LIBTALLOC_CONF_OPTS += --disable-python
>  endif
>  
> +LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
> +LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1

This looks suspicious... PYTHONHASHSEED=1 was added upstream without explanation
by this commit [1] before libtalloc 2.3.0.

About PYTHONHASHSEED [2].

Why it's now needed? Have you tried without it?

[1]
https://salsa.debian.org/samba-team/talloc/-/commit/afb4e22c4cbc15b6b6cf824274b653eaaafe4cc5

[2] https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED

Best regards,
Romain


> +
>  LIBTALLOC_WAF = ./buildtools/bin/waf
>  
>  # like samba4, libtalloc uses the waf build system which requires a

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps
  2022-07-05 13:44 [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps David GOUARIN
  2022-07-05 13:44 ` [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4 David GOUARIN
@ 2022-07-23 22:26 ` Yann E. MORIN
  2022-08-16 19:59 ` Peter Korsgaard
  2 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2022-07-23 22:26 UTC (permalink / raw)
  To: David GOUARIN; +Cc: David GOUARIN, buildroot

David, All,

On 2022-07-05 15:44 +0200, David GOUARIN spake thusly:
> It might be necessary for some packages to define environment variables when calling waf build and waf install.
> This is done the same way as the others package types, by defining $(PKG)_MAKE_ENV in .mk.
> 
> Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/pkg-waf.mk | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk
> index d546b4a817..e090afa9e6 100644
> --- a/package/pkg-waf.mk
> +++ b/package/pkg-waf.mk
> @@ -75,7 +75,7 @@ endif
>  ifndef $(2)_BUILD_CMDS
>  define $(2)_BUILD_CMDS
>  	cd $$($$(PKG)_SRCDIR) && \
> -	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
> +	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
>  		build $$(WAF_OPTS) $$($(2)_BUILD_OPTS) \
>  		$$($(2)_WAF_OPTS)
>  endef
> @@ -88,7 +88,7 @@ endif
>  ifndef $(2)_INSTALL_STAGING_CMDS
>  define $(2)_INSTALL_STAGING_CMDS
>  	cd $$($$(PKG)_SRCDIR) && \
> -	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
> +	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
>  		install --destdir=$$(STAGING_DIR) \
>  		$$($(2)_INSTALL_STAGING_OPTS) \
>  		$$($(2)_WAF_OPTS)
> @@ -102,7 +102,7 @@ endif
>  ifndef $(2)_INSTALL_TARGET_CMDS
>  define $(2)_INSTALL_TARGET_CMDS
>  	cd $$($$(PKG)_SRCDIR) && \
> -	$$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
> +	$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \
>  		install --destdir=$$(TARGET_DIR) \
>  		$$($(2)_INSTALL_TARGET_OPTS) \
>  		$$($(2)_WAF_OPTS)
> -- 
> 2.17.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-23 17:15   ` Romain Naour
@ 2022-07-24  7:59     ` Yann E. MORIN
  2022-07-24  8:19       ` Romain Naour
  0 siblings, 1 reply; 10+ messages in thread
From: Yann E. MORIN @ 2022-07-24  7:59 UTC (permalink / raw)
  To: Romain Naour; +Cc: David GOUARIN, David GOUARIN, Matt Weber, buildroot

Romain, David, All,

On 2022-07-23 19:15 +0200, Romain Naour spake thusly:
> Le 05/07/2022 à 15:44, David GOUARIN a écrit :
> > This version needs to define an environment variable in build and install steps.
> > This requires an upgrade to pkg_waf.mk.
> > 
> > Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
> > ---
> >  package/libtalloc/libtalloc.hash | 2 +-
> >  package/libtalloc/libtalloc.mk   | 5 ++++-
> >  2 files changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash
> > index cbfd11e63b..0bc8edb695 100644
> > --- a/package/libtalloc/libtalloc.hash
> > +++ b/package/libtalloc/libtalloc.hash
> > @@ -1,3 +1,3 @@
> >  # Locally calculated
> > -sha256  6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa  talloc-2.3.3.tar.gz
> > +sha256  179f9ebe265e67e4ab2c26cad2b7de4b6a77c6c212f966903382869f06be6505  talloc-2.3.4.tar.gz
> >  sha256  f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c  talloc.h
> > diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk
> > index 8cba699ea1..6a5e1ef4b6 100644
> > --- a/package/libtalloc/libtalloc.mk
> > +++ b/package/libtalloc/libtalloc.mk
> > @@ -4,7 +4,7 @@
> >  #
> >  ################################################################################
> >  
> > -LIBTALLOC_VERSION = 2.3.3
> > +LIBTALLOC_VERSION = 2.3.4
> >  LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
> >  LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
> >  LIBTALLOC_LICENSE = LGPL-3.0+
> > @@ -40,6 +40,9 @@ else
> >  LIBTALLOC_CONF_OPTS += --disable-python
> >  endif
> >  
> > +LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
> > +LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1
> 
> This looks suspicious... PYTHONHASHSEED=1 was added upstream without explanation
> by this commit [1] before libtalloc 2.3.0.

I agree that this needs more explanations than just "this is needed to
build" (obviously it is needed to build, otherwise t would not be
there).

> About PYTHONHASHSEED [2].
> Why it's now needed? Have you tried without it?
> [1] https://salsa.debian.org/samba-team/talloc/-/commit/afb4e22c4cbc15b6b6cf824274b653eaaafe4cc5
> [2] https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED

The thing is that talloc is extracted out of the samba code, so looking
at the talloc repository does not yield interesting commit logs, just
"New upstream version 2.1.16" for the commit that introduced
PYTHONHASHSEED.

But looking t the samba code yields better results:

    19a4d3ca692e build: Workaround python3 hash order issues (for now)

    This works around python3 having a new hash seed each time it starts to allow
    a second "make" not to rebuild the world.

    This should probably be reverted once we find the hash that is causing
    the issue, but should reduce frustration for now.

So it looks like there is an issue in waf (which is written in python)
where it uses the .hash() of objects to decide whether to rebuild files
or nt, and of course, that changes every run because python uses a
different seed at every run (and rightly so). And so, people that
actively develop on samba do not want to rebuild everything when the
change a single file, obviously.

But in our case, in Buildroot, we do not need to do so. Indeed, we are
building the package just once, so we are not going to hit that
situation.

So, I do not think we need this.

David, can you try to see if the build succeeds without PYTHONHASHSEED?
If it really needs it (e.g. build failure, or runtime failure), then
please extend the commit log with the above information and the failure
reason. If it does not need it, then just respin the bump without.

Thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-24  7:59     ` Yann E. MORIN
@ 2022-07-24  8:19       ` Romain Naour
  2022-07-24  8:46         ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2022-07-24  8:19 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: David GOUARIN, David GOUARIN, Matt Weber, buildroot

Hello Yann, David, All,

Le 24/07/2022 à 09:59, Yann E. MORIN a écrit :
> Romain, David, All,
> 
> On 2022-07-23 19:15 +0200, Romain Naour spake thusly:
>> Le 05/07/2022 à 15:44, David GOUARIN a écrit :
>>> This version needs to define an environment variable in build and install steps.
>>> This requires an upgrade to pkg_waf.mk.
>>>
>>> Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
>>> ---
>>>  package/libtalloc/libtalloc.hash | 2 +-
>>>  package/libtalloc/libtalloc.mk   | 5 ++++-
>>>  2 files changed, 5 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash
>>> index cbfd11e63b..0bc8edb695 100644
>>> --- a/package/libtalloc/libtalloc.hash
>>> +++ b/package/libtalloc/libtalloc.hash
>>> @@ -1,3 +1,3 @@
>>>  # Locally calculated
>>> -sha256  6be95b2368bd0af1c4cd7a88146eb6ceea18e46c3ffc9330bf6262b40d1d8aaa  talloc-2.3.3.tar.gz
>>> +sha256  179f9ebe265e67e4ab2c26cad2b7de4b6a77c6c212f966903382869f06be6505  talloc-2.3.4.tar.gz
>>>  sha256  f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c  talloc.h
>>> diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk
>>> index 8cba699ea1..6a5e1ef4b6 100644
>>> --- a/package/libtalloc/libtalloc.mk
>>> +++ b/package/libtalloc/libtalloc.mk
>>> @@ -4,7 +4,7 @@
>>>  #
>>>  ################################################################################
>>>  
>>> -LIBTALLOC_VERSION = 2.3.3
>>> +LIBTALLOC_VERSION = 2.3.4
>>>  LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
>>>  LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
>>>  LIBTALLOC_LICENSE = LGPL-3.0+
>>> @@ -40,6 +40,9 @@ else
>>>  LIBTALLOC_CONF_OPTS += --disable-python
>>>  endif
>>>  
>>> +LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
>>> +LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1
>>
>> This looks suspicious... PYTHONHASHSEED=1 was added upstream without explanation
>> by this commit [1] before libtalloc 2.3.0.
> 
> I agree that this needs more explanations than just "this is needed to
> build" (obviously it is needed to build, otherwise t would not be
> there).
> 
>> About PYTHONHASHSEED [2].
>> Why it's now needed? Have you tried without it?
>> [1] https://salsa.debian.org/samba-team/talloc/-/commit/afb4e22c4cbc15b6b6cf824274b653eaaafe4cc5
>> [2] https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED
> 
> The thing is that talloc is extracted out of the samba code, so looking
> at the talloc repository does not yield interesting commit logs, just
> "New upstream version 2.1.16" for the commit that introduced
> PYTHONHASHSEED.
> 
> But looking t the samba code yields better results:
> 
>     19a4d3ca692e build: Workaround python3 hash order issues (for now)
> 
>     This works around python3 having a new hash seed each time it starts to allow
>     a second "make" not to rebuild the world.
> 
>     This should probably be reverted once we find the hash that is causing
>     the issue, but should reduce frustration for now.>
> So it looks like there is an issue in waf (which is written in python)
> where it uses the .hash() of objects to decide whether to rebuild files
> or nt, and of course, that changes every run because python uses a
> different seed at every run (and rightly so). And so, people that
> actively develop on samba do not want to rebuild everything when the
> change a single file, obviously.

Thanks for the explanation!

> 
> But in our case, in Buildroot, we do not need to do so. Indeed, we are
> building the package just once, so we are not going to hit that
> situation.
> 
> So, I do not think we need this.
> 
> David, can you try to see if the build succeeds without PYTHONHASHSEED?
> If it really needs it (e.g. build failure, or runtime failure), then
> please extend the commit log with the above information and the failure
> reason. If it does not need it, then just respin the bump without.

I found another commit adding the offending waf check:

https://gitlab.com/samba-team/samba/-/commit/420bbb1d92fd2a28725b53f425ba3d214831b660

because it doesn't work without PYTHONHASHSEED.

Best regards,
Romain


> 
> Thanks!
> 
> Regards,
> Yann E. MORIN.
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-24  8:19       ` Romain Naour
@ 2022-07-24  8:46         ` Yann E. MORIN
  2022-07-24  8:55           ` Romain Naour
  0 siblings, 1 reply; 10+ messages in thread
From: Yann E. MORIN @ 2022-07-24  8:46 UTC (permalink / raw)
  To: Romain Naour; +Cc: David GOUARIN, David GOUARIN, Matt Weber, buildroot

Romain, All,

On 2022-07-24 10:19 +0200, Romain Naour spake thusly:
> Le 24/07/2022 à 09:59, Yann E. MORIN a écrit :
> > On 2022-07-23 19:15 +0200, Romain Naour spake thusly:
> >> Le 05/07/2022 à 15:44, David GOUARIN a écrit :
> >>> This version needs to define an environment variable in build and install steps.
> >>> This requires an upgrade to pkg_waf.mk.
[--SNIP--]
> >>> +LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
> >>> +LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1
> >> This looks suspicious... PYTHONHASHSEED=1 was added upstream without explanation
> >> by this commit [1] before libtalloc 2.3.0.
> > I agree that this needs more explanations than just "this is needed to
> > build" (obviously it is needed to build, otherwise t would not be
> > there).
[--SNIP--]
> > But looking t the samba code yields better results:
> >     19a4d3ca692e build: Workaround python3 hash order issues (for now)
[--SNIP--]
> > David, can you try to see if the build succeeds without PYTHONHASHSEED?
> > If it really needs it (e.g. build failure, or runtime failure), then
> > please extend the commit log with the above information and the failure
> > reason. If it does not need it, then just respin the bump without.
> I found another commit adding the offending waf check:
> https://gitlab.com/samba-team/samba/-/commit/420bbb1d92fd2a28725b53f425ba3d214831b660
> because it doesn't work without PYTHONHASHSEED.

I am not sure "it doesn't work without PYTHONHASHSEED".

As samba developers, they need it to avoid rebuilding with each call to
'make'.

But for us, a waf package is only built once, so we should not have to
care about waf being confused during rebuilds, because we are not doing
rebuilds.

We really want to know that the build actually fails without it.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-24  8:46         ` Yann E. MORIN
@ 2022-07-24  8:55           ` Romain Naour
  2022-07-24 10:54             ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2022-07-24  8:55 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: David GOUARIN, David GOUARIN, Matt Weber, buildroot

Le 24/07/2022 à 10:46, Yann E. MORIN a écrit :
> Romain, All,
> 
> On 2022-07-24 10:19 +0200, Romain Naour spake thusly:
>> Le 24/07/2022 à 09:59, Yann E. MORIN a écrit :
>>> On 2022-07-23 19:15 +0200, Romain Naour spake thusly:
>>>> Le 05/07/2022 à 15:44, David GOUARIN a écrit :
>>>>> This version needs to define an environment variable in build and install steps.
>>>>> This requires an upgrade to pkg_waf.mk.
> [--SNIP--]
>>>>> +LIBTALLOC_CONF_ENV += PYTHONHASHSEED=1
>>>>> +LIBTALLOC_MAKE_ENV += PYTHONHASHSEED=1
>>>> This looks suspicious... PYTHONHASHSEED=1 was added upstream without explanation
>>>> by this commit [1] before libtalloc 2.3.0.
>>> I agree that this needs more explanations than just "this is needed to
>>> build" (obviously it is needed to build, otherwise t would not be
>>> there).
> [--SNIP--]
>>> But looking t the samba code yields better results:
>>>     19a4d3ca692e build: Workaround python3 hash order issues (for now)
> [--SNIP--]
>>> David, can you try to see if the build succeeds without PYTHONHASHSEED?
>>> If it really needs it (e.g. build failure, or runtime failure), then
>>> please extend the commit log with the above information and the failure
>>> reason. If it does not need it, then just respin the bump without.
>> I found another commit adding the offending waf check:
>> https://gitlab.com/samba-team/samba/-/commit/420bbb1d92fd2a28725b53f425ba3d214831b660
>> because it doesn't work without PYTHONHASHSEED.
> 
> I am not sure "it doesn't work without PYTHONHASHSEED".

I mean, I tried locally because I wanted to know :)

The build stop with this error message:
"PYTHONHASHSEED=1 missing! Don't use waf directly, use ./configure and make!"

> 
> As samba developers, they need it to avoid rebuilding with each call to
> 'make'.
> 
> But for us, a waf package is only built once, so we should not have to
> care about waf being confused during rebuilds, because we are not doing
> rebuilds.
> 
> We really want to know that the build actually fails without it.

Sure but samba developers added a check for PYTHONHASHSEED=1 in libtalloc 2.3.4.

Best regards,
Romain

> 
> Regards,
> Yann E. MORIN.
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4
  2022-07-24  8:55           ` Romain Naour
@ 2022-07-24 10:54             ` Yann E. MORIN
  0 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2022-07-24 10:54 UTC (permalink / raw)
  To: Romain Naour; +Cc: David GOUARIN, David GOUARIN, Matt Weber, buildroot

Romain, All,

On 2022-07-24 10:55 +0200, Romain Naour spake thusly:
> Le 24/07/2022 à 10:46, Yann E. MORIN a écrit :
> > On 2022-07-24 10:19 +0200, Romain Naour spake thusly:
[--SNIP--]
> >> I found another commit adding the offending waf check:
> >> https://gitlab.com/samba-team/samba/-/commit/420bbb1d92fd2a28725b53f425ba3d214831b660
> >> because it doesn't work without PYTHONHASHSEED.
> > I am not sure "it doesn't work without PYTHONHASHSEED".
> I mean, I tried locally because I wanted to know :)
> The build stop with this error message:
> "PYTHONHASHSEED=1 missing! Don't use waf directly, use ./configure and make!"

OK, I was looking at the git repository for talloc, and it does not have
that test at all. It never had. Only the release tarball has. Weird...
:-(

Meh. Must be exoplained in the commit log...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps
  2022-07-05 13:44 [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps David GOUARIN
  2022-07-05 13:44 ` [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4 David GOUARIN
  2022-07-23 22:26 ` [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps Yann E. MORIN
@ 2022-08-16 19:59 ` Peter Korsgaard
  2 siblings, 0 replies; 10+ messages in thread
From: Peter Korsgaard @ 2022-08-16 19:59 UTC (permalink / raw)
  To: David GOUARIN; +Cc: David GOUARIN, Yann E. MORIN, buildroot

>>>>> "David" == David GOUARIN <dgouarin@gmail.com> writes:

 > It might be necessary for some packages to define environment
 > variables when calling waf build and waf install.
 > This is done the same way as the others package types, by defining $(PKG)_MAKE_ENV in .mk.

 > Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>

Committed to 2022.05.x and 2022.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-08-16 19:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05 13:44 [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps David GOUARIN
2022-07-05 13:44 ` [Buildroot] [PATCH 2/2] package/libtalloc: bump version to 2.3.4 David GOUARIN
2022-07-23 17:15   ` Romain Naour
2022-07-24  7:59     ` Yann E. MORIN
2022-07-24  8:19       ` Romain Naour
2022-07-24  8:46         ` Yann E. MORIN
2022-07-24  8:55           ` Romain Naour
2022-07-24 10:54             ` Yann E. MORIN
2022-07-23 22:26 ` [Buildroot] [PATCH 1/2] package/pkg-waf.mk: enable definiton of env. variables in every build steps Yann E. MORIN
2022-08-16 19:59 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.