Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2, 1/1] package/cracklib: python needs autoreconf
@ 2024-02-12 17:52 Fabrice Fontaine
  2024-07-13 13:02 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2024-02-12 17:52 UTC (permalink / raw)
  To: buildroot; +Cc: Fabrice Fontaine, Stefan Sørensen

Set CRACKLIB_AUTORECONF when building python to regenerate py-compile
and avoid the following build failure with python 3.12 (which removed
imp module) raised since commit
36e635d2d5c0166476858aa239ccbe78e8f2af14:

Traceback (most recent call last):
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'imp'
make[3]: *** [Makefile:485: install-pythonPYTHON] Error 1

Indeed, after autoreconf, py-compile will contain:

if test "$python_major" -le 2; then
  import_lib=imp
  import_test="hasattr(imp, 'get_tag')"
  import_call=imp.cache_from_source
  import_arg2=', False' # needed in one call and not the other
else
  import_lib=importlib
  import_test="hasattr(sys.implementation, 'cache_tag')"
  import_call=importlib.util.cache_from_source
  import_arg2=
fi

$PYTHON -c "
import sys, os, py_compile, $import_lib

instead of:

import sys, os, py_compile, imp

Fixes: 36e635d2d5c0166476858aa239ccbe78e8f2af14
 - http://autobuild.buildroot.org/results/aec4c19fdf8087c76c1d5f472e855e0f84fcf7fd

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2 (after review of Thomas Petazzoni):
 - Give more details in commit message

 package/cracklib/cracklib.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/cracklib/cracklib.mk b/package/cracklib/cracklib.mk
index c5226b3326..9f5f32c87a 100644
--- a/package/cracklib/cracklib.mk
+++ b/package/cracklib/cracklib.mk
@@ -22,6 +22,8 @@ CRACKLIB_CONF_OPTS += --without-zlib
 endif
 
 ifeq ($(BR2_PACKAGE_PYTHON3),y)
+# py-compile must be rebuilt because python 3.12 removed imp module
+CRACKLIB_AUTORECONF = YES
 CRACKLIB_CONF_OPTS += --with-python
 CRACKLIB_CONF_ENV += \
 	ac_cv_path_PYTHON=$(HOST_DIR)/bin/python3 \
-- 
2.43.0

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

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

* Re: [Buildroot] [PATCH v2, 1/1] package/cracklib: python needs autoreconf
  2024-02-12 17:52 [Buildroot] [PATCH v2, 1/1] package/cracklib: python needs autoreconf Fabrice Fontaine
@ 2024-07-13 13:02 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-13 13:02 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Stefan Sørensen, buildroot

On Mon, 12 Feb 2024 18:52:51 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Set CRACKLIB_AUTORECONF when building python to regenerate py-compile
> and avoid the following build failure with python 3.12 (which removed
> imp module) raised since commit
> 36e635d2d5c0166476858aa239ccbe78e8f2af14:
> 
> Traceback (most recent call last):
>   File "<string>", line 2, in <module>
> ModuleNotFoundError: No module named 'imp'
> make[3]: *** [Makefile:485: install-pythonPYTHON] Error 1
> 
> Indeed, after autoreconf, py-compile will contain:
> 
> if test "$python_major" -le 2; then
>   import_lib=imp
>   import_test="hasattr(imp, 'get_tag')"
>   import_call=imp.cache_from_source
>   import_arg2=', False' # needed in one call and not the other
> else
>   import_lib=importlib
>   import_test="hasattr(sys.implementation, 'cache_tag')"
>   import_call=importlib.util.cache_from_source
>   import_arg2=
> fi
> 
> $PYTHON -c "
> import sys, os, py_compile, $import_lib
> 
> instead of:
> 
> import sys, os, py_compile, imp
> 
> Fixes: 36e635d2d5c0166476858aa239ccbe78e8f2af14
>  - http://autobuild.buildroot.org/results/aec4c19fdf8087c76c1d5f472e855e0f84fcf7fd
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> Changes v1 -> v2 (after review of Thomas Petazzoni):
>  - Give more details in commit message

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2024-07-13 13:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-12 17:52 [Buildroot] [PATCH v2, 1/1] package/cracklib: python needs autoreconf Fabrice Fontaine
2024-07-13 13:02 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox