Commit Graph

7 Commits

Author SHA1 Message Date
Hongxu Jia
896b360746 distutils/setuptools, distutils3/setuptools3: improve reproducibility
- 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]

(From OE-Core rev: 21f0c5a50e00ac34975d79fd48f08730d8f19b15)

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>
2018-07-26 13:16:40 +01:00
Ross Burton
b11fc28a1c setuptools.bbclass: depend on python-setuptools
python-distribute is obsolete and is now simply a PROVIDES of python-setuptools,
so use the right name.

The identical change for setuptools3.bbclass was done in 2015 in 8922e60.

(From OE-Core rev: 87e38f0306400609aeac92bc13fd6f41d61e6271)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-06 22:55:02 +01:00
Khem Raj
9deacd7f9e distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS
gcc can handle PIE in gcc driver

(From OE-Core rev: fcfe6d4ab4460f8358e13023022a5e909941ca93)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-08 13:34:45 +01:00
Khem Raj
d554d90da3 setuptoools.bbclass: Do not use -pie with hardening
Fix build when PIE is turned on. It tries to build
.so file using -pie and -shared flags together because
its doing compile and link in same step CFLAGS and LDFLAGS
are combined and does not work, ending in errors e.g.

| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-musleabi/python-pygpgme/0.3-r0/recipe-sysroot/usr/l
ib/Scrt1.o: In function `_start_c':
| /usr/src/debug/musl/1.1.16+gitAUTOINC+179766aa2e-r0/git/crt/crt1.c:17: undefined reference to `main'
| collect2: error: ld returned 1 exit status

This error while cryptic is due to the fact that we are
building a shared library but also pass -pie flag to the link
step after specify LDHSARED ( which is -shared linker flags )

we can not use -pie when doing shared libs. This is true for all the python
modules inheriting setup tools

Disable the pie flags thusly for all modules using setuptools since
this setting is done in setuptools makefiles which are then used
during module compiles

(From OE-Core rev: dc1c16e9df365871b2c40998f63f304ffa610447)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-06 19:52:26 +01:00
Khem Raj
0221af0f4e classes: Add distutils for python3
In line with python2 add distutils and setuptools
classes for handing python3

Use python-distribute instead of python-setuptools in setuptools bbclass

Remove --single-version-externally-managed since its setuptools
specific and we dont use it anymore

Do build_ext as separate step during compile

Add DISTUTILS_BUILD_EXT_ARGS for modules to pass flags to build_ext step
in setup.py

Add build_ext as sepate step during compile and add
the cross sysrooted library and headers since we are cross
compiling

Use ${PYTHON_PN} in place of hardcoding python name

Remove the /etc/share if its empty

Since OE-Core times we now have machine specific sysroots
for targets unlike before when we used arch specific sysroots
so reflect that here

Use MACHINE for sysroot when not building for build host

Python's machinery replaces directories in sysroot path to match OE's
staging area sysroots. Earlier we use to have HOST_SYS represent sysroot
always but now we use MACHINE to represent target sysroots but HOST_SYS
to represent host sysroot. This patch caters to that difference

(From OE-Core rev: 8bb0206ed67228c88dd5bc2d8b36ce28f48b78f4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-02 22:37:39 +00:00
Richard Purdie
3ea34e035a distutils/steuptools: Fix files layout and unbreak builds
The last two distutils changes progressivly broke the builds. Firstly they
moved things from the site_packages directory to being higher up the tree
which introduced package QA warnings as a side effect. Secondly, it interacts
badly with setuptools which passes in --root=${D} itself.

This patch restores the original directory layout, hence fixing the QA
warnings and also passes extra options to setuptools to deal with the
--root option it passes.

(From OE-Core rev: bed18d5df7915e4127a538be9c7550e185c8c850)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-24 17:25:15 +01:00
Koen Kooi
7cb39ad37f setuptools bbclass: import from OE
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00