All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] python3: fix PACKAGECONFIG handling
@ 2021-03-20 10:11 Martin Jansa
  0 siblings, 0 replies; only message in thread
From: Martin Jansa @ 2021-03-20 10:11 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, alejandro, Martin Jansa

* it was changed from sysconf_dis to mods_disabled in:
  https://git.openembedded.org/openembedded-core/diff/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch?id=7347556b18b45c5f9afc2cade565a75c95876914

  but unfortunately this doesn't work as mods_disabled set by remove_configured_extensions
  can contain only extensions which were disabled, as this list:
  self.extensions: ['_struct', 'array', '_contextvars', 'math', 'cmath', 'time', '_datetime', '_zoneinfo', '_random', '_bisect', '_heapq', '_pickle', 'atexit', '_json', '_lsprof', 'unicodedata', '_opcode', '_asyncio', '_abc', '_queue', '_statistics', 'fcntl', 'pwd', 'grp', 'spwd', 'select', 'parser', 'mmap', 'syslog', '_xxsubinterpreters', 'audioop', '_csv', '_posixsubprocess', '_testcapi', '_testinternalcapi', '_testbuffer', '_testimportmultiple', '_testmultiphase', '_xxtestfuzz', '_curses', '_curses_panel', '_crypt', '_socket', '_ssl', '_hashlib', '_sha256', '_sha512', '_md5', '_sha1', '_blake2', '_sha3', '_sqlite3', 'termios', 'resource', 'ossaudiodev', 'nis', 'zlib', 'binascii', '_bz2', '_lzma', 'pyexpat', '_elementtree', '_multibytecodec', '_codecs_kr', '_codecs_jp', '_codecs_cn', '_codecs_tw', '_codecs_hk', '_codecs_iso2022', '_decimal', '_ctypes_test', '_posixshmem', '_multiprocessing', '_uuid', 'xxlimited', '_ctypes']

  while PACKAGECONFIG in python3 usually uses this to disable _dbm, _gdbm or runtime modules.

* without this change the do_install will fail (based on check_build_completeness.py log.do_compile) with:
  | ERROR: Execution of '/OE/build/oe-core/tmp-glibc/work/x86_64-linux/python3-native/3.9.0-r0/temp/run.do_install.69743' failed with exit code 1:
  | The necessary bits to build these optional modules were not found:
  | _dbm                  _gdbm                 readline

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...y-do-not-report-missing-dependencies-for-disa.patch | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index 5c620361da..5823273af3 100644
--- a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -10,6 +10,8 @@ build completeness checker which relies on the report.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
 
 ---
  setup.py | 4 ++++
@@ -19,13 +21,17 @@ diff --git a/setup.py b/setup.py
 index 7691258..ec3f2a4 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -408,6 +408,10 @@ class PyBuildExt(build_ext):
+@@ -408,6 +408,14 @@ class PyBuildExt(build_ext):
                  print("%-*s   %-*s   %-*s" % (longest, e, longest, f,
                                                longest, g))
  
 +        # There is no need to report missing module dependencies,
 +        # if the modules have been disabled in the first place.
-+        self.missing = list(set(self.missing) - set(mods_disabled))
++        # cannot use mods_disabled here, because remove_configured_extensions adds
++        # only disabled extensions into it (doesn't cover _dbm, _gdbm, readline
++        # we support disabling through PACKAGECONFIG)
++        sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split()
++        self.missing = list(set(self.missing) - set(sysconf_dis))
 +
          if self.missing:
              print()
-- 
2.30.2


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-20 10:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-20 10:11 [PATCH] python3: fix PACKAGECONFIG handling Martin Jansa

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.