From 02eb487c8145e0f3d957c39cf16f6f805e95e536 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 10 Oct 2019 13:18:41 +0200 Subject: [PATCH] python3: make gdbm optional The use case is building a gpl3-free image, without having to rely on outdated recipes from meta-gplv2 layer. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...fig-append-STAGING_LIBDIR-python-sys.patch | 10 +++--- ...ON3HOME-is-set-use-instead-of-PYTHON.patch | 10 +++--- ...report-missing-dependencies-for-disa.patch | 31 +++++++++++++++++++ ...tutils-prefix-is-inside-staging-area.patch | 2 +- meta/recipes-devtools/python/python3_3.7.4.bb | 22 +++++++++---- 5 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch diff --git a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch index 1741f5753b..1709011be8 100644 --- a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch +++ b/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch @@ -1,4 +1,4 @@ -From 17796e353acf08acd604610f34840a4a9d2f4b54 Mon Sep 17 00:00:00 2001 +From eff903c600f4c40f5753e95ab1557126fc6e0c9c Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 31 Jan 2019 16:46:30 +0100 Subject: [PATCH] distutils/sysconfig: append @@ -15,10 +15,10 @@ Signed-off-by: Alexander Kanavin 2 files changed, 4 insertions(+) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index e07a6c8..6b8c129 100644 +index 0a034ee..3dfd0a3 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -421,6 +421,8 @@ def _init_posix(): +@@ -439,6 +439,8 @@ def _init_posix(): platform=sys.platform, multiarch=getattr(sys.implementation, '_multiarch', ''), )) @@ -28,10 +28,10 @@ index e07a6c8..6b8c129 100644 build_time_vars = _temp.build_time_vars global _config_vars diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index 9ee4d31..e586abd 100644 +index 87fa5e6..756a41c 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -412,6 +412,8 @@ def _init_posix(vars): +@@ -419,6 +419,8 @@ def _init_posix(vars): """Initialize the module as appropriate for POSIX systems.""" # _sysconfigdata is generated at build time, see _generate_posix_vars() name = _get_sysconfigdata_name() diff --git a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch index a0ed7cc830..a146c747f8 100644 --- a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch +++ b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch @@ -1,4 +1,4 @@ -From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001 +From 5ce3ac59531828ff682646fbba59b2126b28a8aa Mon Sep 17 00:00:00 2001 From: Jaewon Lee Date: Thu, 25 Apr 2019 15:34:26 -0700 Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME @@ -12,15 +12,16 @@ to set a different path for python3 Signed-off-by: Jaewon Lee Upstream-Status: Inappropriate [OE specific configuration] + --- Modules/main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Modules/main.c b/Modules/main.c -index a745381..b553e30 100644 +index acc59c6..407085a 100644 --- a/Modules/main.c +++ b/Modules/main.c -@@ -1855,10 +1855,19 @@ config_init_home(_PyCoreConfig *config) +@@ -1834,10 +1834,19 @@ config_init_home(_PyCoreConfig *config) } return _Py_INIT_OK(); } @@ -44,6 +45,3 @@ index a745381..b553e30 100644 } config->home = home; return _Py_INIT_OK(); --- -2.7.4 - 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 new file mode 100644 index 0000000000..c15295c034 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch @@ -0,0 +1,31 @@ +From e3b59cb9658e1d3efa3535840939a0fa92a70a5a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 7 Oct 2019 13:22:14 +0200 +Subject: [PATCH] setup.py: do not report missing dependencies for disabled + modules + +Reporting those missing dependencies is misleading as the modules would not +have been built anyway. This particularly matters in oe-core's automated +build completeness checker which relies on the report. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + setup.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/setup.py b/setup.py +index 4b53668..0097643 100644 +--- a/setup.py ++++ b/setup.py +@@ -365,6 +365,10 @@ 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. ++ missing = list(set(missing) - set(sysconf_dis)) ++ + if missing: + print() + print("Python build finished successfully!") diff --git a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch index 0bafec73c0..d49604ba4d 100644 --- a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch @@ -1,4 +1,4 @@ -From 6229502e5ae6cbb22240594f002638e9ef78f831 Mon Sep 17 00:00:00 2001 +From a274ba778838824efcacaba57c415b7262f779ec Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 14 May 2013 15:00:26 -0700 Subject: [PATCH] python3: Add target and native recipes diff --git a/meta/recipes-devtools/python/python3_3.7.4.bb b/meta/recipes-devtools/python/python3_3.7.4.bb index 8693c446c2..58e2fa5abf 100644 --- a/meta/recipes-devtools/python/python3_3.7.4.bb +++ b/meta/recipes-devtools/python/python3_3.7.4.bb @@ -23,11 +23,12 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ - file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ - file://crosspythonpath.patch \ + file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ + file://crosspythonpath.patch \ file://reformat_sysconfig.py \ file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ file://0001-test_locale.py-correct-the-test-output-format.patch \ + file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ " SRC_URI_append_class-native = " \ @@ -62,7 +63,7 @@ ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config" ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}" -DEPENDS = "bzip2-replacement-native libffi bzip2 gdbm openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2" +DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2" DEPENDS_append_class-target = " python3-native" DEPENDS_append_class-nativesdk = " python3-native" @@ -87,13 +88,22 @@ python() { d.setVar('PACKAGECONFIG_PGO', '') } -PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO}" -PACKAGECONFIG_class-native ??= "readline" -PACKAGECONFIG_class-nativesdk ??= "readline" +PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm" +PACKAGECONFIG_class-native ??= "readline gdbm" +PACKAGECONFIG_class-nativesdk ??= "readline gdbm" PACKAGECONFIG[readline] = ",,readline" # Use profile guided optimisation by running PyBench inside qemu-user PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" +PACKAGECONFIG[gdbm] = ",,gdbm" + +do_configure_prepend () { + mkdir -p ${B}/Modules + cat > ${B}/Modules/Setup.local << EOF +*disabled* +${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} +EOF +} CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" -- 2.40.1