[meta-python2] distutils-base: stop using distutils-common-base which now triggers warning about distutils removal in Python 3.12

Message ID 20220118083234.2427848-1-Martin.Jansa@gmail.com
State New
Headers show
Series [meta-python2] distutils-base: stop using distutils-common-base which now triggers warning about distutils removal in Python 3.12 | expand

Commit Message

Martin Jansa Jan. 18, 2022, 8:32 a.m. UTC
* distutils removal in Python 3.12 doesn't affect already EOL Python2 recipes

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 classes/distutils-base.bbclass | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

Comments

Tim Orling Jan. 18, 2022, 5 p.m. UTC | #1
Thank you for this JaMa, it will make the move of distutils* classes to
meta-python smoother. And when we drop distutils-common-base from oe-core
it won't impact meta-python2.

Thank you also for maintaining meta-python2. I do appreciate it.

On Tue, Jan 18, 2022 at 12:32 AM Martin Jansa <Martin.Jansa@gmail.com>
wrote:

> * distutils removal in Python 3.12 doesn't affect already EOL Python2
> recipes
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>
Acked-by: Tim Orlnig <tim.orling@konsulko.com>

> ---
>  classes/distutils-base.bbclass | 32 +++++++++++++++++++++++++++++++-
>  1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/classes/distutils-base.bbclass
> b/classes/distutils-base.bbclass
> index 803dc8b..26aadad 100644
> --- a/classes/distutils-base.bbclass
> +++ b/classes/distutils-base.bbclass
> @@ -1,4 +1,34 @@
>  DEPENDS  += "${@["${PYTHON_PN}-native ${PYTHON_PN}",
> ""][(d.getVar('PACKAGES') == '')]}"
>  RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' ==
> 'class-target']}"
>
> -inherit distutils-common-base pythonnative
> +inherit pythonnative
> +
> +# the rest is meta/classes/distutils-common-base.bbclass before the
> bb.warn was added in:
> +#
> https://git.openembedded.org/openembedded-core/commit/?id=54b455049ee94c01c78b31b6c744c8e32b5b7737
> +# as the distutils removal in Python 3.12 doesn't affect already EOL
> Python2 recipes
> +
> +export STAGING_INCDIR
> +export STAGING_LIBDIR
> +
> +# LDSHARED is the ld *command* used to create shared library
> +export LDSHARED  = "${CCLD} -shared"
> +# LDXXSHARED is the ld *command* used to create shared library of C++
> +# objects
> +export LDCXXSHARED  = "${CXX} -shared"
> +# CCSHARED are the C *flags* used to create objects to go into a shared
> +# library (module)
> +export CCSHARED  = "-fPIC -DPIC"
> +# LINKFORSHARED are the flags passed to the $(CC) command that links
> +# the python executable
> +export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic"
> +
> +FILES:${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*"
> +
> +FILES:${PN}-staticdev += "\
> +  ${PYTHON_SITEPACKAGES_DIR}/*.a \
> +"
> +FILES:${PN}-dev += "\
> +  ${datadir}/pkgconfig \
> +  ${libdir}/pkgconfig \
> +  ${PYTHON_SITEPACKAGES_DIR}/*.la \
> +"
> --
> 2.32.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#94910):
> https://lists.openembedded.org/g/openembedded-devel/message/94910
> Mute This Topic: https://lists.openembedded.org/mt/88505319/924729
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> ticotimo@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

Patch

diff --git a/classes/distutils-base.bbclass b/classes/distutils-base.bbclass
index 803dc8b..26aadad 100644
--- a/classes/distutils-base.bbclass
+++ b/classes/distutils-base.bbclass
@@ -1,4 +1,34 @@ 
 DEPENDS  += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES') == '')]}"
 RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
 
-inherit distutils-common-base pythonnative
+inherit pythonnative
+
+# the rest is meta/classes/distutils-common-base.bbclass before the bb.warn was added in:
+# https://git.openembedded.org/openembedded-core/commit/?id=54b455049ee94c01c78b31b6c744c8e32b5b7737
+# as the distutils removal in Python 3.12 doesn't affect already EOL Python2 recipes
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# LDSHARED is the ld *command* used to create shared library
+export LDSHARED  = "${CCLD} -shared"
+# LDXXSHARED is the ld *command* used to create shared library of C++
+# objects
+export LDCXXSHARED  = "${CXX} -shared"
+# CCSHARED are the C *flags* used to create objects to go into a shared
+# library (module)
+export CCSHARED  = "-fPIC -DPIC"
+# LINKFORSHARED are the flags passed to the $(CC) command that links
+# the python executable
+export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic"
+
+FILES:${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*"
+
+FILES:${PN}-staticdev += "\
+  ${PYTHON_SITEPACKAGES_DIR}/*.a \
+"
+FILES:${PN}-dev += "\
+  ${datadir}/pkgconfig \
+  ${libdir}/pkgconfig \
+  ${PYTHON_SITEPACKAGES_DIR}/*.la \
+"