mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 00:49:33 +02:00
distutils/setuptools-native, distutils3/setuptools3-native: do not try to fetch code during do_compile
If a python recipe is using setuptools and the setup_requires argument, where setuptools will use easy_install to fetch the module if it isn't present. The build failed on a machine where a proxy was required, but succeeded on a machine which had direct access to the internet Add var-NO_FETCH_BUILD, and set it in distutils_do_compile which does not allow to fetch code from internet during do_compile. Example result: ... ERROR: Do not try to fetch `pytest-runner1' for building. Please add its native recipe to DEPENDS. Traceback (most recent call last): File "setup.py", line 56, in <module> ... The improvement is flexible for test_requirements argument (used at `setup.py test'), where use easy_install also. [YOCTO #12084] (From OE-Core rev: 57414f4a1c549e6faaa110e6e95ff601b05b7361) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
206f8102a4
commit
8fdbb0381d
@@ -8,6 +8,7 @@ DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
|
|||||||
--install-data=${D}/${datadir}"
|
--install-data=${D}/${datadir}"
|
||||||
|
|
||||||
distutils_do_compile() {
|
distutils_do_compile() {
|
||||||
|
NO_FETCH_BUILD=1 \
|
||||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS} || \
|
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS} || \
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ distutils3_do_configure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
distutils3_do_compile() {
|
distutils3_do_compile() {
|
||||||
|
NO_FETCH_BUILD=1 \
|
||||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
|
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
From 019422d19c6401fa8f45b1311ecd31bb087c809d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
Date: Tue, 17 Jul 2018 10:13:38 +0800
|
||||||
|
Subject: [PATCH] conditionally do not fetch code by easy_install
|
||||||
|
|
||||||
|
If var-NO_FETCH_BUILD is set, do not allow to fetch code from
|
||||||
|
internet by easy_install.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [oe specific]
|
||||||
|
|
||||||
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
---
|
||||||
|
setuptools/command/easy_install.py | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
|
||||||
|
index 85ee40f..7eb9d2a 100755
|
||||||
|
--- a/setuptools/command/easy_install.py
|
||||||
|
+++ b/setuptools/command/easy_install.py
|
||||||
|
@@ -637,6 +637,11 @@ class easy_install(Command):
|
||||||
|
os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
|
||||||
|
|
||||||
|
def easy_install(self, spec, deps=False):
|
||||||
|
+ if os.environ.get('NO_FETCH_BUILD', None):
|
||||||
|
+ log.error("ERROR: Do not try to fetch `%s' for building. "
|
||||||
|
+ "Please add its native recipe to DEPENDS." % spec)
|
||||||
|
+ return None
|
||||||
|
+
|
||||||
|
if not self.editable:
|
||||||
|
self.install_site_py()
|
||||||
|
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
@@ -8,6 +8,8 @@ PYPI_PACKAGE_EXT = "zip"
|
|||||||
|
|
||||||
inherit pypi
|
inherit pypi
|
||||||
|
|
||||||
|
SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "260630ae1a64bafa39dcc53404d63829"
|
SRC_URI[md5sum] = "260630ae1a64bafa39dcc53404d63829"
|
||||||
SRC_URI[sha256sum] = "012adb8e25fbfd64c652e99e7bab58799a3aaf05d39ab38561f69190a909015f"
|
SRC_URI[sha256sum] = "012adb8e25fbfd64c652e99e7bab58799a3aaf05d39ab38561f69190a909015f"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user