[OE-core] [PATCH] python3: Use _sysconfigdata.py to initialize distutils.sysconfig

Bruce Ashfield bruce.ashfield at gmail.com
Wed Apr 12 12:51:20 UTC 2017


On Wed, Apr 12, 2017 at 1:15 AM, Li Zhou <li.zhou at windriver.com> wrote:

> Porting patch from
> <https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4
> b23d934159>
> to use _sysconfigdata.py to initialize distutils.sysconfig.
>


But what does this actually do ?  I'm sure it is obvious to the python
hackers, but to me,
this short log just describes what the patch does, not what problem it
solves and why this
is a good thing.

Bruce


>
> Signed-off-by: Li Zhou <li.zhou at windriver.com>
> ---
>  ...-Use-_sysconfigdata.py-to-initialize-dist.patch | 66
> ++++++++++++++++++++++
>  meta/recipes-devtools/python/python3_3.5.2.bb      |  1 +
>  2 files changed, 67 insertions(+)
>  create mode 100644 meta/recipes-devtools/python/
> python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch
>
> diff --git a/meta/recipes-devtools/python/python3/0001-Issue-
> 21272-Use-_sysconfigdata.py-to-initialize-dist.patch
> b/meta/recipes-devtools/python/python3/0001-Issue-
> 21272-Use-_sysconfigdata.py-to-initialize-dist.patch
> new file mode 100644
> index 0000000..d1c92e9
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3/0001-Issue-
> 21272-Use-_sysconfigdata.py-to-initialize-dist.patch
> @@ -0,0 +1,66 @@
> +From bcddbf40c7f1b80336268cdddacc17369fb0ccea Mon Sep 17 00:00:00 2001
> +From: Libin Dang <libin.dang at windriver.com>
> +Date: Tue, 11 Apr 2017 14:12:15 +0800
> +Subject: [PATCH] Issue #21272: Use _sysconfigdata.py to initialize
> + distutils.sysconfig
> +
> +Backport upstream commit
> +https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4
> b23d934159
> +
> +Upstream-Status: Backport
> +
> +Signed-off-by: Li Zhou <li.zhou at windriver.com>
> +---
> + Lib/distutils/sysconfig.py | 35 ++++-------------------------------
> + 1 file changed, 4 insertions(+), 31 deletions(-)
> +
> +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
> +index 6d5cfd0..9925d24 100644
> +--- a/Lib/distutils/sysconfig.py
> ++++ b/Lib/distutils/sysconfig.py
> +@@ -424,38 +424,11 @@ _config_vars = None
> +
> + def _init_posix():
> +     """Initialize the module as appropriate for POSIX systems."""
> +-    g = {}
> +-    # load the installed Makefile:
> +-    try:
> +-        filename = get_makefile_filename()
> +-        parse_makefile(filename, g)
> +-    except OSError as msg:
> +-        my_msg = "invalid Python installation: unable to open %s" %
> filename
> +-        if hasattr(msg, "strerror"):
> +-            my_msg = my_msg + " (%s)" % msg.strerror
> +-
> +-        raise DistutilsPlatformError(my_msg)
> +-
> +-    # load the installed pyconfig.h:
> +-    try:
> +-        filename = get_config_h_filename()
> +-        with open(filename) as file:
> +-            parse_config_h(file, g)
> +-    except OSError as msg:
> +-        my_msg = "invalid Python installation: unable to open %s" %
> filename
> +-        if hasattr(msg, "strerror"):
> +-            my_msg = my_msg + " (%s)" % msg.strerror
> +-
> +-        raise DistutilsPlatformError(my_msg)
> +-
> +-    # On AIX, there are wrong paths to the linker scripts in the Makefile
> +-    # -- these paths are relative to the Python source, but when
> installed
> +-    # the scripts are in another directory.
> +-    if python_build:
> +-        g['LDSHARED'] = g['BLDSHARED']
> +-
> ++    # _sysconfigdata is generated at build time, see the sysconfig module
> ++    from _sysconfigdata import build_time_vars
> +     global _config_vars
> +-    _config_vars = g
> ++    _config_vars = {}
> ++    _config_vars.update(build_time_vars)
> +
> +
> + def _init_nt():
> +--
> +1.8.3.1
> +
> diff --git a/meta/recipes-devtools/python/python3_3.5.2.bb
> b/meta/recipes-devtools/python/python3_3.5.2.bb
> index ca8dfe3..a413da7 100644
> --- a/meta/recipes-devtools/python/python3_3.5.2.bb
> +++ b/meta/recipes-devtools/python/python3_3.5.2.bb
> @@ -37,6 +37,7 @@ SRC_URI += "\
>              file://configure.ac-fix-LIBPL.patch \
>              file://python3-fix-CVE-2016-1000110.patch \
>              file://upstream-random-fixes.patch \
> +            file://0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch
> \
>             "
>  SRC_URI[md5sum] = "8906efbacfcdc7c3c9198aeefafd159e"
>  SRC_URI[sha256sum] = "0010f56100b9b74259ebcd5d4b295a
> 32324b58b517403a10d1a2aa7cb22bca40"
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170412/8f9ee1dc/attachment-0002.html>


More information about the Openembedded-core mailing list