All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] fix .pyc/.pyo buildpaths issue
@ 2018-07-18  0:56 Hongxu Jia
  2018-07-18  0:57 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Hongxu Jia @ 2018-07-18  0:56 UTC (permalink / raw)
  To: openembedded-core, ross.burton

The following changes since commit 26e04b23ba1b6942aa7c7df478d41dfe7b73e6e0:

  oeqa/selftest/wic: Split tests into two class groups (2018-07-15 16:36:09 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib hongxu/pyc-buildpath
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=hongxu/pyc-buildpath

Hongxu Jia (3):
  distutils/setuptools, distutils3/setuptools3: improve reproducibility
  python-setuptools.inc: clean up useless local
    var-DISTUTILS_INSTALL_ARGS
  python3-pip: clean up obsolete

 meta/classes/distutils.bbclass                     |  8 +++++---
 meta/classes/distutils3.bbclass                    |  8 +++++---
 meta/classes/setuptools.bbclass                    |  5 -----
 meta/classes/setuptools3.bbclass                   |  4 ----
 meta/recipes-devtools/python/python-setuptools.inc |  3 ---
 meta/recipes-devtools/python/python3-pip_10.0.1.bb | 18 ------------------
 6 files changed, 10 insertions(+), 36 deletions(-)

-- 
2.7.4



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility
  2018-07-18  0:56 [PATCH 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
@ 2018-07-18  0:57 ` Hongxu Jia
  2018-07-19 13:05   ` Burton, Ross
  2018-07-18  0:57 ` [PATCH 2/3] python-setuptools.inc: clean up useless local var-DISTUTILS_INSTALL_ARGS Hongxu Jia
  2018-07-18  0:57 ` [PATCH 3/3] python3-pip: clean up obsolete Hongxu Jia
  2 siblings, 1 reply; 7+ messages in thread
From: Hongxu Jia @ 2018-07-18  0:57 UTC (permalink / raw)
  To: openembedded-core, ross.burton

- Unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools

- Supply "--root" directory to the "install" command, and use
  it as a prefix to strip off the purported filename encoded
  in bytecode files. (It strips build path prefix from .pyc files)

[YOCTO #8446]
[YOCTO #12084]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/classes/distutils.bbclass   | 8 +++++---
 meta/classes/distutils3.bbclass  | 8 +++++---
 meta/classes/setuptools.bbclass  | 5 -----
 meta/classes/setuptools3.bbclass | 4 ----
 4 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 1930c35..db28767 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -4,8 +4,10 @@ DISTUTILS_BUILD_ARGS ?= ""
 DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
 DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
     --install-data=${STAGING_DATADIR}"
-DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}"
+DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
+    --prefix=${prefix} \
+    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+    --install-data=${datadir}"
 
 distutils_do_compile() {
          STAGING_INCDIR=${STAGING_INCDIR} \
@@ -34,7 +36,7 @@ distutils_do_install() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
         PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
-        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
         bbfatal_log "${PYTHON_PN} setup.py install execution failed."
 
         # support filenames with *spaces*
diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index d4b92a3..9637486 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -5,8 +5,10 @@ DISTUTILS_BUILD_EXT_ARGS ?= ""
 DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
 DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
     --install-data=${STAGING_DATADIR}"
-DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}"
+DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
+    --prefix=${prefix} \
+    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+    --install-data=${datadir}"
 
 distutils3_do_configure() {
 	if [ "${CLEANBROKEN}" != "1" ] ; then
@@ -45,7 +47,7 @@ distutils3_do_install() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
         PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
-        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
         bbfatal_log "${PYTHON_PN} setup.py install execution failed."
 
         # support filenames with *spaces*
diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
index 157ef63..a923ea3 100644
--- a/meta/classes/setuptools.bbclass
+++ b/meta/classes/setuptools.bbclass
@@ -1,8 +1,3 @@
 inherit distutils
 
 DEPENDS += "python-setuptools-native"
-
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
diff --git a/meta/classes/setuptools3.bbclass b/meta/classes/setuptools3.bbclass
index de6dd94..8ca66ee 100644
--- a/meta/classes/setuptools3.bbclass
+++ b/meta/classes/setuptools3.bbclass
@@ -2,7 +2,3 @@ inherit distutils3
 
 DEPENDS += "python3-setuptools-native"
 
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] python-setuptools.inc: clean up useless local var-DISTUTILS_INSTALL_ARGS
  2018-07-18  0:56 [PATCH 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
  2018-07-18  0:57 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia
@ 2018-07-18  0:57 ` Hongxu Jia
  2018-07-18  0:57 ` [PATCH 3/3] python3-pip: clean up obsolete Hongxu Jia
  2 siblings, 0 replies; 7+ messages in thread
From: Hongxu Jia @ 2018-07-18  0:57 UTC (permalink / raw)
  To: openembedded-core, ross.burton

Since unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools,
The local var-DISTUTILS_INSTALL_ARGS broke do_install
...
error: option --script-dir not recognized
ERROR: python3 setup.py install execution failed.
...

[YOCTO #8446]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-devtools/python/python-setuptools.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
index 25be446..512d1ce 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -16,9 +16,6 @@ DEPENDS += "${PYTHON_PN}"
 DEPENDS_class-native += "${PYTHON_PN}-native"
 DEPENDS_class-nativesdk += "nativesdk-${PYTHON_PN}"
 
-DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR} \
-                           --script-dir=${bindir}"
-
 RDEPENDS_${PN}_class-native = "\
   ${PYTHON_PN}-distutils \
   ${PYTHON_PN}-compression \
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] python3-pip: clean up obsolete
  2018-07-18  0:56 [PATCH 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
  2018-07-18  0:57 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia
  2018-07-18  0:57 ` [PATCH 2/3] python-setuptools.inc: clean up useless local var-DISTUTILS_INSTALL_ARGS Hongxu Jia
@ 2018-07-18  0:57 ` Hongxu Jia
  2 siblings, 0 replies; 7+ messages in thread
From: Hongxu Jia @ 2018-07-18  0:57 UTC (permalink / raw)
  To: openembedded-core, ross.burton

Since unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools,
- The local DISTUTILS_INSTALL_ARGS assignment is obsolete;
- The site.py is not be generated any more;
- The layout is in a standard pip dir (such as /usr/lib/python3.5/site-
  packages/pip rather than /lib/python3.5/site-packages/pip-10.0.1-
  py3.5.egg/pip), the pth file is not required;

`#!/usr/bin/env python3' is already used, do not manually sed.

[YOCTO #8446]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-devtools/python/python3-pip_10.0.1.bb | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/meta/recipes-devtools/python/python3-pip_10.0.1.bb b/meta/recipes-devtools/python/python3-pip_10.0.1.bb
index 100d4d0..8deec2b 100644
--- a/meta/recipes-devtools/python/python3-pip_10.0.1.bb
+++ b/meta/recipes-devtools/python/python3-pip_10.0.1.bb
@@ -11,27 +11,9 @@ SRC_URI[sha256sum] = "f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdb
 
 inherit pypi distutils3
 
-DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}"
-
-do_install_prepend() {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-# Use setuptools site.py instead, avoid shared state issue
 do_install_append() {
-    rm ${D}${PYTHON_SITEPACKAGES_DIR}/site.py
-    rm ${D}${PYTHON_SITEPACKAGES_DIR}/__pycache__/site.cpython-*.pyc
-
     # Install as pip3 and leave pip2 as default
     rm ${D}/${bindir}/pip
-
-    # Installed eggs need to be passed directly to the interpreter via a pth file
-    echo "./${PYPI_PACKAGE}-${PV}-py${PYTHON_BASEVERSION}.egg" > ${D}${PYTHON_SITEPACKAGES_DIR}/${PYPI_PACKAGE}-${PV}.pth
-
-    # Make sure we use /usr/bin/env python3
-    for PYTHSCRIPT in `grep -rIl ${bindir} ${D}${bindir}/pip3*`; do
-        sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
-    done
 }
 
 RDEPENDS_${PN} = "\
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility
  2018-07-18  0:57 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia
@ 2018-07-19 13:05   ` Burton, Ross
  2018-07-19 14:26     ` Hongxu Jia
  0 siblings, 1 reply; 7+ messages in thread
From: Burton, Ross @ 2018-07-19 13:05 UTC (permalink / raw)
  To: Hongxu Jia; +Cc: OE-core

Hi Hongxu,

Can you rebase this to current master?

Cheers,
Ross

On 18 July 2018 at 01:57, Hongxu Jia <hongxu.jia@windriver.com> wrote:
> - Unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools
>
> - Supply "--root" directory to the "install" command, and use
>   it as a prefix to strip off the purported filename encoded
>   in bytecode files. (It strips build path prefix from .pyc files)
>
> [YOCTO #8446]
> [YOCTO #12084]
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  meta/classes/distutils.bbclass   | 8 +++++---
>  meta/classes/distutils3.bbclass  | 8 +++++---
>  meta/classes/setuptools.bbclass  | 5 -----
>  meta/classes/setuptools3.bbclass | 4 ----
>  4 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
> index 1930c35..db28767 100644
> --- a/meta/classes/distutils.bbclass
> +++ b/meta/classes/distutils.bbclass
> @@ -4,8 +4,10 @@ DISTUTILS_BUILD_ARGS ?= ""
>  DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
>  DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>      --install-data=${STAGING_DATADIR}"
> -DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
> -    --install-data=${D}/${datadir}"
> +DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
> +    --prefix=${prefix} \
> +    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
> +    --install-data=${datadir}"
>
>  distutils_do_compile() {
>           STAGING_INCDIR=${STAGING_INCDIR} \
> @@ -34,7 +36,7 @@ distutils_do_install() {
>          STAGING_INCDIR=${STAGING_INCDIR} \
>          STAGING_LIBDIR=${STAGING_LIBDIR} \
>          PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
> -        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
> +        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
>          bbfatal_log "${PYTHON_PN} setup.py install execution failed."
>
>          # support filenames with *spaces*
> diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
> index d4b92a3..9637486 100644
> --- a/meta/classes/distutils3.bbclass
> +++ b/meta/classes/distutils3.bbclass
> @@ -5,8 +5,10 @@ DISTUTILS_BUILD_EXT_ARGS ?= ""
>  DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
>  DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>      --install-data=${STAGING_DATADIR}"
> -DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
> -    --install-data=${D}/${datadir}"
> +DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
> +    --prefix=${prefix} \
> +    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
> +    --install-data=${datadir}"
>
>  distutils3_do_configure() {
>         if [ "${CLEANBROKEN}" != "1" ] ; then
> @@ -45,7 +47,7 @@ distutils3_do_install() {
>          STAGING_INCDIR=${STAGING_INCDIR} \
>          STAGING_LIBDIR=${STAGING_LIBDIR} \
>          PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
> -        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
> +        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
>          bbfatal_log "${PYTHON_PN} setup.py install execution failed."
>
>          # support filenames with *spaces*
> diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
> index 157ef63..a923ea3 100644
> --- a/meta/classes/setuptools.bbclass
> +++ b/meta/classes/setuptools.bbclass
> @@ -1,8 +1,3 @@
>  inherit distutils
>
>  DEPENDS += "python-setuptools-native"
> -
> -DISTUTILS_INSTALL_ARGS = "--root=${D} \
> -    --prefix=${prefix} \
> -    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
> -    --install-data=${datadir}"
> diff --git a/meta/classes/setuptools3.bbclass b/meta/classes/setuptools3.bbclass
> index de6dd94..8ca66ee 100644
> --- a/meta/classes/setuptools3.bbclass
> +++ b/meta/classes/setuptools3.bbclass
> @@ -2,7 +2,3 @@ inherit distutils3
>
>  DEPENDS += "python3-setuptools-native"
>
> -DISTUTILS_INSTALL_ARGS = "--root=${D} \
> -    --prefix=${prefix} \
> -    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
> -    --install-data=${datadir}"
> --
> 2.7.4
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility
  2018-07-19 13:05   ` Burton, Ross
@ 2018-07-19 14:26     ` Hongxu Jia
  0 siblings, 0 replies; 7+ messages in thread
From: Hongxu Jia @ 2018-07-19 14:26 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

On 2018年07月19日 21:05, Burton, Ross wrote:
> Hi Hongxu,
>
> Can you rebase this to current master?

No problem, V2 incoming

//Hongxu

> Cheers,
> Ross
>
> On 18 July 2018 at 01:57, Hongxu Jia <hongxu.jia@windriver.com> wrote:
>> - Unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools
>>
>> - Supply "--root" directory to the "install" command, and use
>>    it as a prefix to strip off the purported filename encoded
>>    in bytecode files. (It strips build path prefix from .pyc files)
>>
>> [YOCTO #8446]
>> [YOCTO #12084]
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> ---
>>   meta/classes/distutils.bbclass   | 8 +++++---
>>   meta/classes/distutils3.bbclass  | 8 +++++---
>>   meta/classes/setuptools.bbclass  | 5 -----
>>   meta/classes/setuptools3.bbclass | 4 ----
>>   4 files changed, 10 insertions(+), 15 deletions(-)
>>
>> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
>> index 1930c35..db28767 100644
>> --- a/meta/classes/distutils.bbclass
>> +++ b/meta/classes/distutils.bbclass
>> @@ -4,8 +4,10 @@ DISTUTILS_BUILD_ARGS ?= ""
>>   DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
>>   DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>>       --install-data=${STAGING_DATADIR}"
>> -DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
>> -    --install-data=${D}/${datadir}"
>> +DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
>> +    --prefix=${prefix} \
>> +    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
>> +    --install-data=${datadir}"
>>
>>   distutils_do_compile() {
>>            STAGING_INCDIR=${STAGING_INCDIR} \
>> @@ -34,7 +36,7 @@ distutils_do_install() {
>>           STAGING_INCDIR=${STAGING_INCDIR} \
>>           STAGING_LIBDIR=${STAGING_LIBDIR} \
>>           PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
>> -        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
>> +        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
>>           bbfatal_log "${PYTHON_PN} setup.py install execution failed."
>>
>>           # support filenames with *spaces*
>> diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
>> index d4b92a3..9637486 100644
>> --- a/meta/classes/distutils3.bbclass
>> +++ b/meta/classes/distutils3.bbclass
>> @@ -5,8 +5,10 @@ DISTUTILS_BUILD_EXT_ARGS ?= ""
>>   DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
>>   DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>>       --install-data=${STAGING_DATADIR}"
>> -DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
>> -    --install-data=${D}/${datadir}"
>> +DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
>> +    --prefix=${prefix} \
>> +    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
>> +    --install-data=${datadir}"
>>
>>   distutils3_do_configure() {
>>          if [ "${CLEANBROKEN}" != "1" ] ; then
>> @@ -45,7 +47,7 @@ distutils3_do_install() {
>>           STAGING_INCDIR=${STAGING_INCDIR} \
>>           STAGING_LIBDIR=${STAGING_LIBDIR} \
>>           PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
>> -        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
>> +        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
>>           bbfatal_log "${PYTHON_PN} setup.py install execution failed."
>>
>>           # support filenames with *spaces*
>> diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
>> index 157ef63..a923ea3 100644
>> --- a/meta/classes/setuptools.bbclass
>> +++ b/meta/classes/setuptools.bbclass
>> @@ -1,8 +1,3 @@
>>   inherit distutils
>>
>>   DEPENDS += "python-setuptools-native"
>> -
>> -DISTUTILS_INSTALL_ARGS = "--root=${D} \
>> -    --prefix=${prefix} \
>> -    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
>> -    --install-data=${datadir}"
>> diff --git a/meta/classes/setuptools3.bbclass b/meta/classes/setuptools3.bbclass
>> index de6dd94..8ca66ee 100644
>> --- a/meta/classes/setuptools3.bbclass
>> +++ b/meta/classes/setuptools3.bbclass
>> @@ -2,7 +2,3 @@ inherit distutils3
>>
>>   DEPENDS += "python3-setuptools-native"
>>
>> -DISTUTILS_INSTALL_ARGS = "--root=${D} \
>> -    --prefix=${prefix} \
>> -    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
>> -    --install-data=${datadir}"
>> --
>> 2.7.4
>>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility
  2018-07-19 14:59 [PATCH V2 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
@ 2018-07-19 14:59 ` Hongxu Jia
  0 siblings, 0 replies; 7+ messages in thread
From: Hongxu Jia @ 2018-07-19 14:59 UTC (permalink / raw)
  To: openembedded-core, ross.burton

- Unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools

- Supply "--root" directory to the "install" command, and use
  it as a prefix to strip off the purported filename encoded
  in bytecode files. (It strips build path prefix from .pyc files)

[YOCTO #8446]
[YOCTO #12084]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/classes/distutils.bbclass   | 8 +++++---
 meta/classes/distutils3.bbclass  | 8 +++++---
 meta/classes/setuptools.bbclass  | 5 -----
 meta/classes/setuptools3.bbclass | 4 ----
 4 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 1930c35..db28767 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -4,8 +4,10 @@ DISTUTILS_BUILD_ARGS ?= ""
 DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
 DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
     --install-data=${STAGING_DATADIR}"
-DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}"
+DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
+    --prefix=${prefix} \
+    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+    --install-data=${datadir}"
 
 distutils_do_compile() {
          STAGING_INCDIR=${STAGING_INCDIR} \
@@ -34,7 +36,7 @@ distutils_do_install() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
         PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
-        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
         bbfatal_log "${PYTHON_PN} setup.py install execution failed."
 
         # support filenames with *spaces*
diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index d4b92a3..9637486 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -5,8 +5,10 @@ DISTUTILS_BUILD_EXT_ARGS ?= ""
 DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
 DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
     --install-data=${STAGING_DATADIR}"
-DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}"
+DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
+    --prefix=${prefix} \
+    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+    --install-data=${datadir}"
 
 distutils3_do_configure() {
 	if [ "${CLEANBROKEN}" != "1" ] ; then
@@ -45,7 +47,7 @@ distutils3_do_install() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
         PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
-        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
         bbfatal_log "${PYTHON_PN} setup.py install execution failed."
 
         # support filenames with *spaces*
diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
index 157ef63..a923ea3 100644
--- a/meta/classes/setuptools.bbclass
+++ b/meta/classes/setuptools.bbclass
@@ -1,8 +1,3 @@
 inherit distutils
 
 DEPENDS += "python-setuptools-native"
-
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
diff --git a/meta/classes/setuptools3.bbclass b/meta/classes/setuptools3.bbclass
index de6dd94..8ca66ee 100644
--- a/meta/classes/setuptools3.bbclass
+++ b/meta/classes/setuptools3.bbclass
@@ -2,7 +2,3 @@ inherit distutils3
 
 DEPENDS += "python3-setuptools-native"
 
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-07-19 14:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-18  0:56 [PATCH 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
2018-07-18  0:57 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia
2018-07-19 13:05   ` Burton, Ross
2018-07-19 14:26     ` Hongxu Jia
2018-07-18  0:57 ` [PATCH 2/3] python-setuptools.inc: clean up useless local var-DISTUTILS_INSTALL_ARGS Hongxu Jia
2018-07-18  0:57 ` [PATCH 3/3] python3-pip: clean up obsolete Hongxu Jia
2018-07-19 14:59 [PATCH V2 0/3] fix .pyc/.pyo buildpaths issue Hongxu Jia
2018-07-19 14:59 ` [PATCH 1/3] distutils/setuptools, distutils3/setuptools3: improve reproducibility Hongxu Jia

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.