diff mbox series

[4/7] python3-native: further tweak to sysconfig.py to find python includes correctly

Message ID 20221224165943.1324800-4-alex@linutronix.de
State Accepted, archived
Commit df8303ab2f0ca4b694b845016c8d7e0279a48fe7
Headers show
Series [1/7] llvm: update 15.0.4 -> 15.0.6 | expand

Commit Message

Alexander Kanavin Dec. 24, 2022, 4:59 p.m. UTC
Without this, sysconfig would report the target location, which is not
what we want in cross-builds. This is used in particular by
latest autoconf-archive m4 macros, which have migrated from
(removed in py 3.12) distutils to setuptools.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...py-use-prefix-value-from-build-configu.patch | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

Comments

Khem Raj Dec. 27, 2022, 6:41 p.m. UTC | #1
This is regressing following recipes from meta-openembedded

python3-uefi-firmware
https://errors.yoctoproject.org/Errors/Details/685605/

python3-greenlet
https://errors.yoctoproject.org/Errors/Details/685600/

its installing the headers in wrong place

On Sat, Dec 24, 2022 at 9:00 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Without this, sysconfig would report the target location, which is not
> what we want in cross-builds. This is used in particular by
> latest autoconf-archive m4 macros, which have migrated from
> (removed in py 3.12) distutils to setuptools.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...py-use-prefix-value-from-build-configu.patch | 17 +++++++++--------
>  1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> index 2f519e4917..5ca855e7ed 100644
> --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> +++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> @@ -1,24 +1,23 @@
> -From 05d676ddf675d9c8229b723e64717aa485d6809e Mon Sep 17 00:00:00 2001
> +From 45548f40668d429adcb7532d35db1ac16fe74562 Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex@linutronix.de>
>  Date: Fri, 10 Sep 2021 12:28:31 +0200
> -Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
> - file
> +Subject: [PATCH] Lib/sysconfig.py: use values from build configuration file
>
> -This allows correctly substituting them for target installs using
> +This allows correctly substituting them for target builds using
>  native python.
>
>  Upstream-Status: Inappropriate [oe-core cross builds]
>  Signed-off-by: Alexander Kanavin <alex@linutronix.de>
>
>  ---
> - Lib/sysconfig.py | 5 +++++
> - 1 file changed, 5 insertions(+)
> + Lib/sysconfig.py | 7 +++++++
> + 1 file changed, 7 insertions(+)
>
>  diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
> -index 93c6f73..ff399e2 100644
> +index 93c6f73..a87870f 100644
>  --- a/Lib/sysconfig.py
>  +++ b/Lib/sysconfig.py
> -@@ -668,6 +668,11 @@ def get_config_vars(*args):
> +@@ -668,6 +668,13 @@ def get_config_vars(*args):
>               _CONFIG_VARS['VPATH'] = sys._vpath
>           if os.name == 'posix':
>               _init_posix(_CONFIG_VARS)
> @@ -27,6 +26,8 @@ index 93c6f73..ff399e2 100644
>  +        _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
>  +        _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
>  +        _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
> ++        _INSTALL_SCHEMES['posix_prefix']['include'] = _CONFIG_VARS['INCLUDEPY']
> ++        _INSTALL_SCHEMES['posix_prefix']['platinclude'] = _CONFIG_VARS['INCLUDEPY']
>           if _HAS_USER_BASE:
>               # Setting 'userbase' is done below the call to the
>               # init function to enable using 'get_config_var' in
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174986): https://lists.openembedded.org/g/openembedded-core/message/174986
> Mute This Topic: https://lists.openembedded.org/mt/95864507/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Dec. 27, 2022, 10 p.m. UTC | #2
That's annoying. The case I was fixing was for *finding* headers in a
sysroot, but if installing them needs to work too, then there's no
option that works. I'll take a look a bit later.

Alex

On Tue, 27 Dec 2022 at 19:41, Khem Raj <raj.khem@gmail.com> wrote:
>
> This is regressing following recipes from meta-openembedded
>
> python3-uefi-firmware
> https://errors.yoctoproject.org/Errors/Details/685605/
>
> python3-greenlet
> https://errors.yoctoproject.org/Errors/Details/685600/
>
> its installing the headers in wrong place
>
> On Sat, Dec 24, 2022 at 9:00 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Without this, sysconfig would report the target location, which is not
> > what we want in cross-builds. This is used in particular by
> > latest autoconf-archive m4 macros, which have migrated from
> > (removed in py 3.12) distutils to setuptools.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  ...py-use-prefix-value-from-build-configu.patch | 17 +++++++++--------
> >  1 file changed, 9 insertions(+), 8 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > index 2f519e4917..5ca855e7ed 100644
> > --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > +++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > @@ -1,24 +1,23 @@
> > -From 05d676ddf675d9c8229b723e64717aa485d6809e Mon Sep 17 00:00:00 2001
> > +From 45548f40668d429adcb7532d35db1ac16fe74562 Mon Sep 17 00:00:00 2001
> >  From: Alexander Kanavin <alex@linutronix.de>
> >  Date: Fri, 10 Sep 2021 12:28:31 +0200
> > -Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
> > - file
> > +Subject: [PATCH] Lib/sysconfig.py: use values from build configuration file
> >
> > -This allows correctly substituting them for target installs using
> > +This allows correctly substituting them for target builds using
> >  native python.
> >
> >  Upstream-Status: Inappropriate [oe-core cross builds]
> >  Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >
> >  ---
> > - Lib/sysconfig.py | 5 +++++
> > - 1 file changed, 5 insertions(+)
> > + Lib/sysconfig.py | 7 +++++++
> > + 1 file changed, 7 insertions(+)
> >
> >  diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
> > -index 93c6f73..ff399e2 100644
> > +index 93c6f73..a87870f 100644
> >  --- a/Lib/sysconfig.py
> >  +++ b/Lib/sysconfig.py
> > -@@ -668,6 +668,11 @@ def get_config_vars(*args):
> > +@@ -668,6 +668,13 @@ def get_config_vars(*args):
> >               _CONFIG_VARS['VPATH'] = sys._vpath
> >           if os.name == 'posix':
> >               _init_posix(_CONFIG_VARS)
> > @@ -27,6 +26,8 @@ index 93c6f73..ff399e2 100644
> >  +        _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
> >  +        _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
> >  +        _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
> > ++        _INSTALL_SCHEMES['posix_prefix']['include'] = _CONFIG_VARS['INCLUDEPY']
> > ++        _INSTALL_SCHEMES['posix_prefix']['platinclude'] = _CONFIG_VARS['INCLUDEPY']
> >           if _HAS_USER_BASE:
> >               # Setting 'userbase' is done below the call to the
> >               # init function to enable using 'get_config_var' in
> > --
> > 2.30.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#174986): https://lists.openembedded.org/g/openembedded-core/message/174986
> > Mute This Topic: https://lists.openembedded.org/mt/95864507/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Alexander Kanavin Dec. 27, 2022, 10:48 p.m. UTC | #3
I'll be submitting a revert, for now. There's no case of using latest
autoconf-archive in the wild yet (where the problem is), so let's
stick to default behavior which does not break setuptools.

Alex

On Tue, 27 Dec 2022 at 23:00, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> That's annoying. The case I was fixing was for *finding* headers in a
> sysroot, but if installing them needs to work too, then there's no
> option that works. I'll take a look a bit later.
>
> Alex
>
> On Tue, 27 Dec 2022 at 19:41, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > This is regressing following recipes from meta-openembedded
> >
> > python3-uefi-firmware
> > https://errors.yoctoproject.org/Errors/Details/685605/
> >
> > python3-greenlet
> > https://errors.yoctoproject.org/Errors/Details/685600/
> >
> > its installing the headers in wrong place
> >
> > On Sat, Dec 24, 2022 at 9:00 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Without this, sysconfig would report the target location, which is not
> > > what we want in cross-builds. This is used in particular by
> > > latest autoconf-archive m4 macros, which have migrated from
> > > (removed in py 3.12) distutils to setuptools.
> > >
> > > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > ---
> > >  ...py-use-prefix-value-from-build-configu.patch | 17 +++++++++--------
> > >  1 file changed, 9 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > > index 2f519e4917..5ca855e7ed 100644
> > > --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > > +++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
> > > @@ -1,24 +1,23 @@
> > > -From 05d676ddf675d9c8229b723e64717aa485d6809e Mon Sep 17 00:00:00 2001
> > > +From 45548f40668d429adcb7532d35db1ac16fe74562 Mon Sep 17 00:00:00 2001
> > >  From: Alexander Kanavin <alex@linutronix.de>
> > >  Date: Fri, 10 Sep 2021 12:28:31 +0200
> > > -Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
> > > - file
> > > +Subject: [PATCH] Lib/sysconfig.py: use values from build configuration file
> > >
> > > -This allows correctly substituting them for target installs using
> > > +This allows correctly substituting them for target builds using
> > >  native python.
> > >
> > >  Upstream-Status: Inappropriate [oe-core cross builds]
> > >  Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > >
> > >  ---
> > > - Lib/sysconfig.py | 5 +++++
> > > - 1 file changed, 5 insertions(+)
> > > + Lib/sysconfig.py | 7 +++++++
> > > + 1 file changed, 7 insertions(+)
> > >
> > >  diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
> > > -index 93c6f73..ff399e2 100644
> > > +index 93c6f73..a87870f 100644
> > >  --- a/Lib/sysconfig.py
> > >  +++ b/Lib/sysconfig.py
> > > -@@ -668,6 +668,11 @@ def get_config_vars(*args):
> > > +@@ -668,6 +668,13 @@ def get_config_vars(*args):
> > >               _CONFIG_VARS['VPATH'] = sys._vpath
> > >           if os.name == 'posix':
> > >               _init_posix(_CONFIG_VARS)
> > > @@ -27,6 +26,8 @@ index 93c6f73..ff399e2 100644
> > >  +        _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
> > >  +        _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
> > >  +        _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
> > > ++        _INSTALL_SCHEMES['posix_prefix']['include'] = _CONFIG_VARS['INCLUDEPY']
> > > ++        _INSTALL_SCHEMES['posix_prefix']['platinclude'] = _CONFIG_VARS['INCLUDEPY']
> > >           if _HAS_USER_BASE:
> > >               # Setting 'userbase' is done below the call to the
> > >               # init function to enable using 'get_config_var' in
> > > --
> > > 2.30.2
> > >
> > >
> > >
> > >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#175035): https://lists.openembedded.org/g/openembedded-core/message/175035
> Mute This Topic: https://lists.openembedded.org/mt/95864507/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
index 2f519e4917..5ca855e7ed 100644
--- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
+++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
@@ -1,24 +1,23 @@ 
-From 05d676ddf675d9c8229b723e64717aa485d6809e Mon Sep 17 00:00:00 2001
+From 45548f40668d429adcb7532d35db1ac16fe74562 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Fri, 10 Sep 2021 12:28:31 +0200
-Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
- file
+Subject: [PATCH] Lib/sysconfig.py: use values from build configuration file
 
-This allows correctly substituting them for target installs using
+This allows correctly substituting them for target builds using
 native python.
 
 Upstream-Status: Inappropriate [oe-core cross builds]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
 
 ---
- Lib/sysconfig.py | 5 +++++
- 1 file changed, 5 insertions(+)
+ Lib/sysconfig.py | 7 +++++++
+ 1 file changed, 7 insertions(+)
 
 diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 93c6f73..ff399e2 100644
+index 93c6f73..a87870f 100644
 --- a/Lib/sysconfig.py
 +++ b/Lib/sysconfig.py
-@@ -668,6 +668,11 @@ def get_config_vars(*args):
+@@ -668,6 +668,13 @@ def get_config_vars(*args):
              _CONFIG_VARS['VPATH'] = sys._vpath
          if os.name == 'posix':
              _init_posix(_CONFIG_VARS)
@@ -27,6 +26,8 @@  index 93c6f73..ff399e2 100644
 +        _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
 +        _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
 +        _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
++        _INSTALL_SCHEMES['posix_prefix']['include'] = _CONFIG_VARS['INCLUDEPY']
++        _INSTALL_SCHEMES['posix_prefix']['platinclude'] = _CONFIG_VARS['INCLUDEPY']
          if _HAS_USER_BASE:
              # Setting 'userbase' is done below the call to the
              # init function to enable using 'get_config_var' in