At runtime virtual/ providers make *no* sense at all. They also break debian
packaging since the "/" character is not allowed in debian package names.
This patch removes this runtime provider selection code since it is not
workable and breaks builds.
(From OE-Core rev: 887059e9c0082cb4e7fa8b5d7c9646207acd62a6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In a small number of cases we need to have ${PN} in FILESPATH rather
than ${BPN}. Rather than hurt readability for all other recipes,
set FILESPATH in these recipes so we can prune the default.
(From OE-Core rev: d61ef6ce86abe5b484a2a2602982f4ded54b3f9a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its bad practise to poke into the sysroot without knowledge of sstate.
This adds a patch to python allowing us to account for cross compiling
and allow it to find the Makefile/pyconfig.h files without needing them
in the sysroot for do_compile/do_install to complete.
Tested on two architectures and compared with buildhistory with no
significant delta.
(From OE-Core rev: 16da4f75a75dc8020803df9ea73a2a7ead88cc5a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently smart does not support recommend dependencies. Add the first set
of 'support' for RPMSENSE_MISSINGOK (the flag that makes something a
recommend). This initial support ends up ignoring the recommendation, but is
written in a way that it will be the basis of eventual support.
(From OE-Core rev: 4f1f6d39803c94cf9ff55f0a4616e7a1703bcef6)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the initial integration, basic functionality such as 'smart query'
has been tested. Active use of remote feeds and such has not yet been
verified.
Thanks to Paul Eggleton for corrections and bug fixes for the initial
integration.
(From OE-Core rev: 92182ca88aff9cec04b2af5e9babaf33bf61f0af)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
No functionality change, just a readability improvement
(From OE-Core rev: 7a27f95c2800285d7f97fead616620bfd7dabbe3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
(From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed for the build appliance and Hob also
(From OE-Core rev: e177b0dcf9b39130d4a2a4dd1ea5af72b3cc87a3)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.
By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.
(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On non-gplv3 builds, gdbm gets built different due to the different version
which triggers a different codepath in python's db support and then hence
triggers an invalid RPATH QA issue. This change extends the appropriate patch
to cover the code paths we need it to cover and avoid adding the problematic
RPATH.
(From OE-Core rev: 90540692c40719b757b80bdc6e78e679a3df83a7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
_bsddb module in python 2.7 could be built only with db version
between 4.1 and 4.7. A patch was added to avoid build warning
about this for [YOCTO #1937] but not actually fixed it.
This patch enable _bsddb module be built with db 5.3, and remove
--disable-statistics from the DB5_CONFIG to fix segmentation fault
when using _bsddb module in python.
[YOCTO #2749]
(From OE-Core rev: 11267f8a1ccf65142988b095351a84b0fa0fcbcf)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
--install-lib= is required to be passed via distutils install
otherwise the install location gets set to whatever the python-native
location is.
(From OE-Core rev: d8ca8b21c6959e772fa1b437ce498b7759fae0ab)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
follow Richard's approach, modify bzip2-native recipe to install bzip2 package
binaries to STAGING_BINDIR_NATIVE/bzip2-native to avoid problems when other
package is doing upack to reference bzip2. libbz2.so* still installs to
STAGING_LIBDIR_NATIVE.
change python-native to depends on bzip2-replacement-native instead of
bzip2-full-native and add EXTRANATIVEPATH for bzip2-native.
Didn't add bzip2native.bbclass as python-native is the only user so far.
(From OE-Core rev: 5bf3541836457465aa76577bfb41cdf6316213c9)
Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add pythonnative to the inherits list
(From OE-Core rev: a043a7737da1123df5ff06ede3e9ed1fdcc163f1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add pythonnative to the inherits list
(From OE-Core rev: 7f3105d380370ae1f4fbc2e8295c80f22dfb16cc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add pythonnative onto the list of inherits and update the paths to the binaries
referenced in the recipe to the new paths.
(From OE-Core rev: 284a65d55f0ffad0f4f7f32d72da0f9410578643)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update python-native to install the binaries in the python-native directory,
add pythonnative.bbclass to let recipes that need python-native use the
binaries and update disutils access the new binaries. Update distutils-base
to inherit pythonnative.
(From OE-Core rev: a2e554f731437545e9483a7a73e6847c03f6f48a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, python-nativesdk-crypt can depend on openssl which is incorrect.
(From OE-Core rev: 5740696c81a9143504c1cb93e94c54add27896e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Bump every recipe inheriting distutils or setuptools and
not overriding do_install without calling distutils_do_install.
(From OE-Core rev: 61487342764684cacef765e221609fe16ffc2740)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bin/python2 link is provided by the python install process,
so no need to create it.
rebase these patches to the newer code:
fix_for_using_different_libdir.patch
04-default-is-optimized.patch
remove this patch as it is upstream now:
sys_platform_is_now_always_linux2.patch
Change default python version to 2.7.3 in the distro config
(From OE-Core rev: 5d92a95ea9b480235b7c9ca5949a681376eba725)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sunaudiodev module is sunos specific so we avoid a warning by not.
adding this module to missing variable.
[YOCTO #1937]
(From OE-Core rev: a92847ed7671386225c0738d62780a9f1b043789)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
_tkinter module needs tk module along with tcl. tk is not yet integrated
in yocto so we skip the check for this module.
Avoid a warning by not adding this module to missing variable.
[YOCTO #1937]
(From OE-Core rev: 3f1be431054b3947bee9a2503eea1a3cefb38f4c)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
_bsddb module can be built only with db version between 4.1 and 4.7.
Avoid a warning by not adding this module to missing variable.
[YOCTO #1937]
(From OE-Core rev: d974ad03c58d7a221ebe3d59c57607928fbbd435)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python should search for db.h in inc_dirs and not in a hardcoded path.
If db.h is found but HASHVERSION is not 2 we avoid a warning by not.
adding this module to missing variable.
[YOCTO #1937]
(From OE-Core rev: 79d0332f21769338a9f904308d8a808486e10fea)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch was added for 64bit host machines. In the compile process python
is checking if platform is a 64bit platform using sys.maxint which is the host's
value. The patch fixes this issue so that python would check if TARGET machine
is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
built if HOST machine is 64bit but the target machine is 32bit.
[YOCTO #1937]
(From OE-Core rev: 4993f50744882ee384cb8fb106ad209f0d887b3f)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The move of libcrypto to /lib instead of /usr/lib has broken the _hashlib module
compilation. There were also a number of other failing modules which should
have been building correctly. This turned out partly to be the /lib issue
but also due to a number of native paths creeping into compiler commandlines.
These changes add in /lib as part of the searh directory and remove
a number of host contamination issues within setup.py. Post release we
should really further go through this file and just delete large sections
of it as its hard to be sure what strange paths python is injecting as
search paths.
This patch also fixes issues where re-execution of the compile task
would corrupt the Makefile in various ways, again leading to puzzling
paths within the configuration.
(From OE-Core rev: 20e2761e1da1cb5dcd267e161f2a6b6a429e9f39)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a patch patching both configure and configure.in. Since the recipes
all autoreconf, this is pointless and means subsequent patch tasks fail.
The fix is to only patch configure.in.
[YOCTO #2194]
(From OE-Core rev: 1d8c40d5f2119b4c4ae8a9b2645ae572ea9a54ff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is done because of this change in gdbm:
"gdbm: Package compat libs in gdbm-compat"
(From OE-Core rev: b91d8a07f736b7698650d25609245c89e0ed73d5)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add intercept multilib header for pyconfig.h in python.
This is part of the bug fixing [YOCTO #2216].
(From OE-Core rev: 99591085186c465f2ddfaef08f419ec7584d4522)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python-nativesdk could fail with:
| /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/x86_64-linux/usr/bin/python: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/python-nativesdk-2.7.2-r1.9/Python-2.7.2/libpython2.7.so.1.0)
| make: *** [sharedmods] Error 1
which is caused by the fact LD_LIBRARY_PATH is being set to include WORKDIR
when calling HOSTPYTHON. HOSTPYTHON is from python-native and needs no such
help so the easiest fix here is not to set crazy LD_LIBRARY_PATH values
since we should never be running anything from WORKDIR given the way we build
things.
The patch clears out the RUNSHARED variable which would contain the
LD_LIBRARY_PATH value prior to this patch.
(From OE-Core rev: 546175abbac8a3c7ec4b5a4d014b05378bbb092f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you install the top-level python package only on a minimal
system which has no other python packages installed then python
is not functional at all. Without any extra packages installed
this error is seen:
# python
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 64, in <module>
import traceback
ImportError: No module named traceback
Installing python-lang only partly fixes the problem as this
error still exists:
# python
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 569, in <module>
main()
File "/usr/lib/python2.7/site.py", line 551, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python2.7/site.py", line 278, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python2.7/site.py", line 253, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python2.7/site.py", line 243, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib/python2.7/sysconfig.py", line 520, in get_config_var
return get_config_vars().get(name)
File "/usr/lib/python2.7/sysconfig.py", line 400, in get_config_vars
import re
ImportError: No module named re
(From OE-Core rev: c239564c768d0f305d8707103f4c59cf60431670)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The target dependency DEPENDS_sharprom does not belong in this
core recipe and should be moved to a .bbappend file in the appropriate
layer if still required.
(From OE-Core rev: c82a4b2759cc54b8afa65d545e894d1ac60107fe)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit fixes these packaging warnings:
WARNING: For recipe python-pycurl, the following files/directories were
installed but not shipped in any package:
WARNING: /usr/share/share
PR not bumber because no change in the output packages.
(From OE-Core rev: 4b646d9e9076137e33b7541d249c1dd6351cc62c)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes these packaging warnings:
WARNING: For recipe python-pyrex, the following files/directories were
installed but not shipped in any package:
WARNING: /usr/share
WARNING: /usr/share/lib
WARNING: /usr/share/lib/python2.7
WARNING: /usr/share/lib/python2.7/site-packages
WARNING: /usr/share/lib/python2.7/site-packages/Pyrex
WARNING: /usr/share/lib/python2.7/site-packages/Pyrex/Compiler
WARNING: /usr/share/lib/python2.7/site-packages/Pyrex/Compiler/Lexicon.pickle
(From OE-Core rev: b2703365734b8d1d0c55ca48b20205c1623b9648)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit fixes python's install issue of not finding the
native pythong binray modules.
(From OE-Core rev: bf52e32e09423056c8c78760db22ca7497ec357d)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This makes the following changes:
* Replace the /usr/local/bin/python path in all scripts
* Move RDEPENDS_${PN} to the end (but use += or we lose the python-core
depencency).
* Use PR = "r3" instead of "ml2". (Even without increasing the numeric
part it is recognised as greater alphabetically.)
* Bring in meta-oe version of the path patch which avoids the following
warning:
WARNING: python-imaging: The compile log indicates that host include
and/or library paths were used.
(From OE-Core rev: 9950163c91412eb58c3475354cc7f87a7be33c2b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* only manual change is extra line break in FILES_${PN}-core, because
git send-email doesn't like long lines
fatal: /tmp/0wfyzTvlIf/0001-python-regenerate-python-2.7-manifest.inc.patch: 30: patch contains a line longer than 998 characters
* fixes PROVIDES and it will be easier to review next patch without this
extra changes
(From OE-Core rev: 9cbeae60e892370e50a9dd77ca4a66fb8d102e47)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Coming from OE-classic it was surprising that python-native now
requires 'libdir' to be exported. Otherwise autoconf would fail
to detect python libraries. This happend using a customized
environment setup script to use OE's compiler and libs without
bitbake.
* Use STAGING_LIBDIR instead of libdir.
* While at it, remove redundant 'and' statments.
(From OE-Core rev: 2edc929c47ac90eabad74e3726912fb3a57aaecd)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Python auto-detects libbz2 and there's no way to
force-disable it, so just enable it.
* Adds bz2 support to python-compression.
(From OE-Core rev: 744ff417fc0b4ef3096cf5f687f7e3bda20c694e)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* If plat-linux2/DLFCN.py was present, python was broken in our
image, i.e. it was unable to load many modules. This was due
to changed RTLD_* constants in dlfcn.h
* Python includes a script, plat-linux2/regen, to regenerate
the py source codes in this directory.
* Do what plat-linux2/regen would do, but use files from
STAGING_INCDIR.
(From OE-Core rev: 3bb9d027fff925a40c4dea9109df9464a76853b7)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Fixes many problems with linux2 vs. linux3. At least:
- Detected version was from build-host instead of target-host.
- linuxaudiodev and ossaudiodev were disabled for linux3.
- Files were missing in /usr/lib/python2.7/plat-linux3.
* Imported from upstream HG rev c816479f6aaf
* Bugtracker URL: http://bugs.python.org/issue12326
(From OE-Core rev: accb2b728ab10cae20be59253a56ac6410b8de10)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This python depends is added by rpmdeps every time it finds a python
script. This is not necessary since we handle this in otherways. It
also breaks things like nativesdk since the dependency is not renamed.
The easiest solution is just to ignore this dependency.
(From OE-Core rev: 5c8ad2638baac0501cecf38f8d3e8467d56afb8a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* We have various variables which are either not quoted at all or are half
quoted. This patch fixes the bad exmaples so everything is consistent.
(From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The problem is due to mixing of headers from host system
thusly corrected in setup.py by checkinng if we are cross
compiling
(From OE-Core rev: 25016d158af927e0c9e70c3df4674f53fa54fec8)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the libdir to configure so that path like /usr/libx32 can work.
Also passing parallel make flags to the building process.
(From OE-Core rev: 2f134791ca5db0281af0a71fcab0e832894d412c)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When looking for RDEPENDS to process, bitbake iterates through PACKAGES
*and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless
remapping the list of PACKAGES since this does nothing. There is a problem
since *_${PN} are used by bitbake but not remapped by the native.bbclass
class extension code.
This changes the code to remap _${PN} in both expanded and unexpanded
forms. As a result of this, various surprising dependencies are uncovered
and the patch rectifies those. These are real bugs since they're injecting
unneeded (unremapped) dependencies into the dependency chain.
(From OE-Core rev: 0f485bfd6fc82a109b9da629e464fca1e90faec3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't try to guess a path based on ${HOST_SYS} since this is not where the
files in the sysroot are likely to be. Instead, just use the "plat_specific"
approach of taking STAGING_INCDIR and knocking off the trailing "/include" for
all cases. This is still evidently suboptimal but does at least seem to give
the correct results.
(From OE-Core rev: 3b01b884dac0b31af8f5f2ebd60e5939e0111873)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The internal md5 module is needed for using "waf" to install
other python packages such as pycairo.
(From OE-Core rev: 61620bd56d0696a03ffc94fbbfa2d0e25be950a5)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a quick audit of only the most obviously wrong licenses
found within OECore. These fixes fall into four areas:
- LICENSE field had incorrect format so that the parser choked
- LICENSE field has a license with no version
- LICENSE field was actually incorrect
- LICENSE field has an imaginary license that didn't exist
This fixes most of the LICENSE warnings thrown, along with my prior
commit adding additional licenses to common-licenses and additional
SPDXLICENSEMAP entries.
HOWEVER..... there is much to be done on the license front.
For a list of recipes with licenses that need obvious fixing see:
https://wiki.yoctoproject.org/wiki/License_Audit
That said, I would suggest another license audit as I've found
enough inconsistencies. A good suggestion is when in doubt, look at
how openSuse or Gentoo or Debian license the package.
(From OE-Core rev: 3083dd70b3a9fa01fcc3cf00373b05502505996e)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a patch unixccompiler.patch where we try to throw away
everything except first element of CC string but this does not
work if gcc is prepended with something e.g. CC="ccache gcc"
then the logic fails and it ends up in some modules failing on
you silently (_sqlite3) in my case.
The fix here is to drop basename so we keep the whole
string as it is and then the detection function searches
for gcc string in the whole CC. This works in both cases
one the original intent of the patch and the second described
above. One place where it will fail is if someone has non-gcc
compiler installed in some subdir which has gcc in it e.g.
/usr/gcc/fakecc but for OE this should never happen. Ideally
the the detection logic should have tried to execute gcc
and then parsed --version output or something.
(From OE-Core rev: 9b13b9024d24953dedb35f62d3d8b06a29036992)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit 23d2eaf9 ('skip setup.py 'import check' when cross-compiling')
neglected bumping the PR, this adds it.
(From OE-Core rev: 87f42a7f899ecaba8ca8d11c09752b6019feb9d5)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
build_extension() in setup.py, as part of the build process, does an
'import check' on the built extension. The import check in turn
dlopen()'s the shared library associated with the extension, which
isn't something that makes sense if that library was cross-compiled
for a different architecture.
This was noticed with an x86_64 target that was compiled with avx
support, because it caused 'illegal instruction' exceptions:
| /bin/sh: line 1: 14575 Illegal instruction ... -E ./setup.py -q build
For other target architectures, it doesn't necessarily cause illegal
instruction exceptions, but still fails. For example, on arm, the
failure pathway causes this warning:
*** WARNING: renaming "cmath" since importing it failed: .../cmath.so:
wrong ELF class: ELFCLASS32
This patch to setup.py and the associated recipe changes allow the
whole 'import check' logic to be skipped when cross-compiling.
(From OE-Core rev: 25fae81538a92e15eab3fc169ebce44505f67839)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* move 2to3 to separate package and include lib2to3 (was in python-misc)
* fix pattern for python-unittest (was in python-misc because it's in subdirectory now)
* add pydoc_data to python-pydoc (was in python-misc)
* add more stuff to smtpd, audio, codecs, ctypes, html, io, json, mime,
pickle, stringold, xmlrpc
* move all FILES_ details from python recipe to manifest generator so it's in one place
* added manual line break in FILES_${PN}-core, because git send-email
doesn't like too long lines
$ git send-email -1 dfaae65839f0ab23e5b2ae2a68df0f370bca84d2
fatal: /tmp/k8zbDajUNP/0001-python-improve-packaging.patch: 64: patch contains a line longer than 998 characters
(From OE-Core rev: f17f6b28ed2f62250f8690617e9126a43c3a8020)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* -L. is needed to find right libpython
* -L${STAGING_LIBDIR} is needed ie for python-zlib to find right zlib
(From OE-Core rev: dac48ff1192cd6e4d39aa6e1696e91336d371d97)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it needs to be regenerated to actually package something
(From OE-Core rev: 0a4ac566987950815fc1ae8a0ec0496bd42a46ed)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rebased these patches to the newer code
modified: python-native/nohostlibs.patch
modified: python/01-use-proper-tools-for-cross-build.patch
modified: python/06-avoid_usr_lib_termcap_path_in_linking.patch
modified: python/06-ctypes-libffi-fix-configure.patch
modified: python/multilib.patch
Deleted these patches are the are now upstream
deleted: python/02-remove-test-for-cross.patch
deleted: python/security_issue_2254_fix.patch
Added this patch to python-native
new file: python-native/multilib.patch
Updated site config file for python
modified: ../../site/common-linux : add ac_cv_have_long_long_format for python
avoid this error in python:
Include/pyport.h:243:13: error: #error "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG"
Updated default python version
modified: ../../conf/distro/include/default-versions.inc
(From OE-Core rev: b284e9a512860b8a8380be80f96cebce6b92ff80)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
the LICENSE.txt has added 2011 year to the copyright line he nce the MD5 sum is different.
(From OE-Core rev: bd34ca3f4912cf957fb3b46c31c757d284dfc4c7)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
currently we have allarch type of recipes, which may still have
architecture dependency, like x11-common. So we need to drop the
handling to allarch in multilib case.
Also remove the PV postfix in python-pygobject DEPENDS, since multilib
code will treat a native package multilib capable.
[YOCTO #1497]
[YOCTO #1498]
(From OE-Core rev: 64c0279e6b0d2325a326058476228360898550f3)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By default cgi.py attempts to use /usr/local/bin/python as its
interpreter. However, on my Linux systems, including OE-Core,
python is installed into {bindir}. Adjust this one file based on
the comment at the top of the upstream file.
This resolves an issue where a runtime dependency discovered during
RPM packaging breaks the rootfs construction.
(From OE-Core rev: 1da01664963b9c6a6df171dcd0fbb1406544035b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add link for python2 as some configuration tools search from a python2
and could find the host python instead of the python-native.
(From OE-Core rev: ae4db0bacb9d40489499f77905f26502f3bcaa19)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some place pnum=1 is used which is removed as well since
striplevel=1 is default
(From OE-Core rev: 4e108857e0d40105f7ecbc55e99bd6c367bb7386)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The CC variable sometimes add option information after compiler name, but python can't get the real compiler name if those information added.
Fix this issue by dropping the option information when finding compiler name.
(From OE-Core rev: 461df79fbb655e4c6894d9a9e9ce52656b96303d)
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.
(From OE-Core rev: fbb734e5753655de30c82c0a036c9043820e02cb)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This Fixes bug: [Yocto #1254]
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-1015
Issue #2254: Fix CGIHTTPServer information disclosure. Relative paths are
now collapsed within the url properly before looking in cgi_directories.
(From OE-Core rev: 43e7ec07065e58128819b0bb359358ce42628672)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is dd33ced4b8123600efa1f67f704aec13b0842ad1 in oe.dev and needed
for building in deep paths.
(From OE-Core rev: 339d039a9b2f0e97f25781ccf6937f1050d83989)
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
the get_python_lib() use hard code "lib". when other recipe
building use python-native, the STAGING_LIBDIR is non /usr/lib,
so the hard code "lib" will break the build
This patch replace the hardcoded "lib" with value from libdir
to fix this issue.
(From OE-Core rev: ab4ae436126f20b404375c9ae77cf66cfe31ea34)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python has several place hard code "lib" which breaks build
when libdir=/usr/lib64. SUSE has a patch to fix this issue.
So this patch add the SUSE patch to address this issue
(From OE-Core rev: c97ab268d6a7092a89c8b0051924a2acc2d86d9c)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As discussed on the mailing list, this variable isn't useful and if wanted
would be better implemented by distros using pn-X overrides.
This patch executes:
find . -regex ".*\.\(bb\|inc\)$" | xargs sed -i '/^PRIORITY = ".*"$/d'
against the tree removing the referenced. Thanks to Phil Blundell for
the command.
(From OE-Core rev: d122343362669c683acc4af295971a62cbc823fc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pygobject requires both python and pygobject-native for compilation. Without
python pygobject may fail to compile.. and items that depend on pygobject will
fail to compile.
(From OE-Core rev: 319610d5bf61108f2ecc538c7a5de5b7c85a6684)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Python was missing a lot of debug information. Switch to use the default
-dbg package. Also add some additional debug information to the -dbg package.
(From OE-Core rev: 63f4e1b469046753009d0cef498ef09c87c54912)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I've cleaned up some odd license fields, fixed some license
names and corrected some incorrect licenses. LICENSE really needs
a pass through by the maintainers as some of the licensing is
incorrect.
Also, every license with Artistic should be gone through and noted as
which version of Artistic.
(From OE-Core rev: 4786ecdf7cd427089464dcb62579110d494e7cd7)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* PACKAGEFUNCS ?= "perform_packagecopy \
${PACKAGE_PREPROCESS_FUNCS} \
our py_package_preprocess is called after perform_packagecopy which does copy D to PKGD
so we change it to target version in D (image/) before populating sysroot (sysroot-destdir/)
while keeping Makefile.sysroot version in PKGD which was created before calling
py_package_preprocess, so both package for runtime and sysroot end wrong
* I haven't seen this problem on faster builder, I guess because do_package and do_populate_sysroot
can run in paralell and I was lucky that do_populate_sysroot finished before py_package_preprocess
was started, but if you build python step by step -c package first you should see it every time
* here is proof that with PKGD it works better:
$ bitbake -c cleanall python
$ bitbake -c install python
$ grep LIBDIR= \
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile \
./package/usr/lib/python2.6/config/Makefile \
./sysroot-destdir/usr/lib/python2.6/config/Makefile \
./image/usr/lib/python2.6/config/Makefile \
./Python-2.6.6/Makefile \
~/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile
grep: ./packages-split/python-distutils/usr/lib/python2.6/config/Makefile: No such file or directory
grep: ./package/usr/lib/python2.6/config/Makefile: No such file or directory
grep: ./sysroot-destdir/usr/lib/python2.6/config/Makefile: No such file or directory
./image/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./Python-2.6.6/Makefile:LIBDIR= /usr/lib
/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
$ bitbake -c package python
$ grep LIBDIR= \
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile \
./package/usr/lib/python2.6/config/Makefile \
./sysroot-destdir/usr/lib/python2.6/config/Makefile \
./image/usr/lib/python2.6/config/Makefile \
./Python-2.6.6/Makefile \
~/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
./package/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
grep: ./sysroot-destdir/usr/lib/python2.6/config/Makefile: No such file or directory
./image/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./Python-2.6.6/Makefile:LIBDIR= /usr/lib
/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
$ bitbake -c package python
$ grep LIBDIR= \
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile \
./package/usr/lib/python2.6/config/Makefile \
./sysroot-destdir/usr/lib/python2.6/config/Makefile \
./image/usr/lib/python2.6/config/Makefile \
./Python-2.6.6/Makefile \
~/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
./package/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
./sysroot-destdir/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./image/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./Python-2.6.6/Makefile:LIBDIR= /usr/lib
/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
* without this patch we have /usr/lib/ in image/sysroot-destdir and SYSROOT_LIBDIR in package/packages-split
$ grep LIBDIR= \
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile \
./package/usr/lib/python2.6/config/Makefile \
./sysroot-destdir/usr/lib/python2.6/config/Makefile \
./image/usr/lib/python2.6/config/Makefile \
./Python-2.6.6/Makefile \
~/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile
./packages-split/python-distutils/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./package/usr/lib/python2.6/config/Makefile:LIBDIR= /OE/shr-core/tmp/sysroots/om-gta02/usr/lib
./sysroot-destdir/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
./image/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
./Python-2.6.6/Makefile:LIBDIR= /usr/lib
/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/python2.6/config/Makefile:LIBDIR= /usr/lib
(From OE-Core rev: 2ba5ce85dcc3c6812b10073bfc4ab600ca169df1)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python: update upstream-status for patches
binutils: update upstream-status for patches
gcc 4.5.1 4.6.0: update upstream-status for patches
autoconf: update upstream-status for patches
automake: update upstream-status for patches
bison: update upstream-status for patches
distcc: update upstream-status of patches
fstests: update upstream-status for patches
gdb: update upstream-status of patches
intltool: update upstream-status of patches
libtool: update upstream status of patches
linux-libc-headers: update upstream-status for patches
make: update upstream-status for patches
perl: update upstream-status for patches
python-pycurl: update upstream-status for patches
python-pygobject: update upstream status for patches
python-pyrex: update upstream-status for patches
quilt: update upstream-status of patches
tcl: update upstream-status for patches
gnu-config: update upstream-status for patches
gmp: update upstream-status for patches
(From OE-Core rev: a62fa9b213b09bf48c48499d2e3c66a9ee306deb)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fix makes ctypes build for python-native which may be needed by extensions
that utilize ctypes and use setuptools/distutils as their build system.
Tested building pyudev for beagleboard target using Ângstrom distro.
(From OE-Core rev: 58f8eb15eea892b2694478bbc71e8c907014509b)
Signed-off-by: Michael Lippautz <michael.lippautz@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch fixes compilation/linking of python third-party extensions, i.e.
Extensions that ship with C code.
Problem:
Python uses distutils(-native) to compile third-party extensions. distutils
uses its own sysconfig module to get the options for compiling and linking.
Since third-party extensions have to be linked against this libpython it
important that -L points into staging. This is not the case because
distutils.sysconfig uses a special Makefile that is shipped with python
determine the paths. The Makefile is the same that would be used on the
target to build third-party extensions. It therefore points into /usr/lib
instead of staging.
Solution:
Stage a modified version of the Makefile where the paths (incdir, libdir) have
been replaced by ones that point into staging.
Side-problem:
The recipe actually should not stage files itself in do_compile, but rather
handle everything that needs to be staged in do_install. This is currently not
possible because python compiles itself using distutils-native. Distutils on
the other hand does only allow to add a path, but not to substitute it,
requiring a staged Makefile and libpython.so before the actual python
compilation is triggered.
The second step to solve this would be to either patch distutils, or split
python into python-initial and python. The -initial part could create the
Makefile and the library, while the main part focuses on the target.
For further references see:
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-May/001752.html
(From OE-Core rev: 413e7e5a5d6db45a6fbca5044246d6696d9d5711)
Signed-off-by: Michael Lippautz <michael.lippautz@gmail.com>
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug
replacements (as well as bbplain and bberror) for the oe* equivalents. Use the
new bb* API in preparation to delete the oe* logging API.
This patch was automatically generated by a sed script. The result has been
visually inspected and used to build core-image-sato for qemux86.
(From OE-Core rev: a1f09fce5caba389d0484b169f0cde85d64514fa)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Contributed by Martin Jansa via OE
Fixes [YOCTO #1003]
(From OE-Core rev: 2870697f08c171f455dbba03dd529b8c4cf11937)
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix failues of LSB python-runtime tests.
test_largefile: add "ac_cv_sizeof_off_t=8" option explicitly into configure options in order to enable "LFS".
test_codecs, test_re, test_unicode: "--with-wctype-functions" will cause these tests failed, so remove it for LSB.
test_builtin, test_getargs: "sitecustomize.py" cause default encoding changed from "ascii" into "utf8" and it will cause these tests failed, so remove this file for LSB.
Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
For these recipes the dependencies listed in RDEPENDS and RRECOMMENDS only apply to ${PN}
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Add LICENSE.txt file checksum to bb file and update the "GPL" to "Apache License Version 2.0" according to the License file
Signed-off-by: Mei Lei <lei.mei@intel.com>
Taking out of this code from patch as the newer upstream code has fix,
and this patch is not needed.
cross-compile.patch:
-Index: libtool-2.2.10/libltdl/config/ltmain.m4sh
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
===================================================================
---- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh
-+++ libtool-2.2.10/libltdl/config/ltmain.m4sh
-@@ -5147,8 +5147,14 @@ func_mode_link ()
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-- dir="$libdir"
-- absdir="$libdir"
-+ # Adding 'libdir' from the .la file to our library search
paths
-+ # breaks crosscompilation horribly. We cheat here and don't
add
-+ # it, instead adding the path where we found the .la. -CL
-+ dir="$abs_ladir"
-+ absdir="$abs_ladir"
-+ libdir="$abs_ladir"
-+ #dir="$libdir"
-+ #absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Fixed the acinclude.m4 patch for the py_prefix to correct a host contamination check
Added LIC_FILE_CHKSUM for COPYING
LICENSE Update
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Removed these patch:
python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch
python/00-fix-bindir-libdir-for-cross.patch
The upstream code has changed, and it does not need the above 2 patches
(fixes) anymore.
Patches rebased to the newer code:
python/01-use-proper-tools-for-cross-build.patch
python/04-default-is-optimized.patch
python/06-avoid_usr_lib_termcap_path_in_linking.patch
python/99-ignore-optimization-flag.patch
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Fix the paths in configure.ac to use the target libraries and generators for
building pygtk. Fix taken from OE.
Thanks to Gary Thomas for providing a first stab at this.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.
The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.
Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>