From: "akuster" <akuster808@gmail.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>,
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 1/5] python3: split python target configuration into own class
Date: Sun, 15 Nov 2020 11:17:24 -0800 [thread overview]
Message-ID: <4ddd847d-1dba-6845-6c66-917cb3e7dc41@gmail.com> (raw)
In-Reply-To: <20201113194854.21266-1-alex.kanavin@gmail.com>
On 11/13/20 11:48 AM, Alexander Kanavin wrote:
> Setting _PYTHON_SYSCONFIGDATA_NAME in python3native class globally was
> problematic as it was leaking into host python environment, which
> was causing tracebacks depending on host distro and action
> (typically anything involving importing sysconfig module).
>
> The new class sets the variable only in specific tasks where it is needed,
> and should be inherited explicitly:
> - use python3native to run scripts with native python
> - use python3targetconfig to run scripts with native python
> if those scripts need to access target config data (such
> as correct installation directories). This also adds a dependency
> on target python, so should be used carefully to avoid lengthening builds.
cool. I wonder if this fixes this open defect.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14076
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> meta/classes/python3native.bbclass | 2 --
> meta/classes/python3targetconfig.bbclass | 15 +++++++++++++++
> 2 files changed, 15 insertions(+), 2 deletions(-)
> create mode 100644 meta/classes/python3targetconfig.bbclass
>
> diff --git a/meta/classes/python3native.bbclass b/meta/classes/python3native.bbclass
> index d98fb4c758..2e3a88c126 100644
> --- a/meta/classes/python3native.bbclass
> +++ b/meta/classes/python3native.bbclass
> @@ -17,8 +17,6 @@ export STAGING_LIBDIR
> export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
> export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
>
> -export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> -
> # suppress host user's site-packages dirs.
> export PYTHONNOUSERSITE = "1"
>
> diff --git a/meta/classes/python3targetconfig.bbclass b/meta/classes/python3targetconfig.bbclass
> new file mode 100644
> index 0000000000..640d0c97b6
> --- /dev/null
> +++ b/meta/classes/python3targetconfig.bbclass
> @@ -0,0 +1,15 @@
> +inherit python3native
> +
> +DEPENDS_append = " python3"
> +
> +do_configure_prepend() {
> + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> +}
> +
> +do_compile_prepend() {
> + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> +}
> +
> +do_install_prepend() {
> + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
> +}
>
>
>
prev parent reply other threads:[~2020-11-15 19:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-13 19:48 [PATCH 1/5] python3: split python target configuration into own class Alexander Kanavin
2020-11-13 19:48 ` [PATCH 2/5] python3-pycairo: use python3targetconfig Alexander Kanavin
2020-11-13 19:48 ` [PATCH 3/5] distutils3-base.bbclass: " Alexander Kanavin
2020-11-17 6:58 ` [OE-core] " Khem Raj
2020-11-13 19:48 ` [PATCH 4/5] meta: drop _PYTHON_SYSCONFIGDATA_NAME hacks Alexander Kanavin
2020-11-13 19:48 ` [PATCH 5/5] gpgme: use python3targetconfig Alexander Kanavin
2020-11-14 16:41 ` [OE-core] [PATCH 1/5] python3: split python target configuration into own class Alistair Francis
2020-11-15 19:17 ` akuster [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ddd847d-1dba-6845-6c66-917cb3e7dc41@gmail.com \
--to=akuster808@gmail.com \
--cc=alex.kanavin@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox