Commit Graph

18 Commits

Author SHA1 Message Date
Gary Thomas
4a0720fd32 python: fix packaging dependencies on minimal systems
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>
2012-03-26 12:13:05 +01:00
Gary Thomas
ada5a0269e python: remove a target dependency
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>
2012-03-23 16:14:42 +00:00
Nitin A Kamble
acc1b66677 python: fix install when libdir is not "lib"
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>
2012-03-19 14:37:39 +00:00
Saul Wold
623da05cb0 python: package static libraries correctly in -staticdev
WARNING: QA Issue: non -staticdev package contains static .a library: python-distutils path '/work/i586-poky-linux/python-2.7.2-r1.7/packages-split/python-distutils/usr/lib/python2.7/config/libpython2.7.a'
(From OE-Core rev: a490aee0e41abc9fb82029fd8b64e78aa2b33a8d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:11 +00:00
Andreas Oberritter
475ecc54db python: depend on bzip2
* 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>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
c7ac3f49cd python: regenerate plat-linux2/*.py
* 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>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
c8f2f585fc python, python-native: always set platform to linux2
* 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>
2012-03-13 11:45:13 +00:00
Richard Purdie
19b38a6486 package.bbclass: Drop python depends from rpmdeps
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>
2012-03-11 18:27:45 +00:00
Martin Jansa
2ede6787ea python: add Makefile to SSTATE_SCAN_FILES
* it contains sysroot specific paths, this is from om-gta04 sysroot and
  notice nokia900
  ./usr/lib/python2.7/config/Makefile:CC=         arm-oe-linux-gnueabi-gcc  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900
  ./usr/lib/python2.7/config/Makefile:CXX=                arm-oe-linux-gnueabi-g++  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900
  ./usr/lib/python2.7/config/Makefile:LDFLAGS=-L. -L/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib     -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
  ./usr/lib/python2.7/config/Makefile:LIBDIR=             /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib
  ./usr/lib/python2.7/config/Makefile:INCLUDEDIR= /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/include
  ./usr/lib/python2.7/config/Makefile:CONFIG_ARGS=         '--build=x86_64-linux' '--host=arm-oe-linux-gnueabi' '--target=arm-oe-linux-gnueabi' '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--libexecdir=/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/libexec' '--datadir=/usr/share' '--sysconfdir=/etc' '--sharedstatedir=/com' '--localstatedir=/var' '--libdir=/usr/lib' '--includedir=/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/include' '--oldincludedir=/usr/include' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--disable-silent-rules' '--disable-dependency-tracking' \
  '--with-libtool-sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900' '--with-threads' '--with-pymalloc' '--with-cyclic-gc' '--without-cxx' '--with-signal-module' '--with-wctype-functions' '--enable-shared' 'build_alias=x86_64-linux' 'host_alias=arm-oe-linux-gnueabi' 'target_alias=arm-oe-linux-gnueabi' 'CC=arm-oe-linux-gnueabi-gcc  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900' 'CFLAGS=-O2 -pipe -g -feliminate-unused-debug-types' 'LDFLAGS=-L. -L/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed' 'CPPFLAGS=' 'CPP=arm-oe-linux-gnueabi-gcc -E --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__'
  ./usr/lib/python2.7/config/Makefile:            $(RUNSHARED) /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS)

(From OE-Core rev: bf1628286987ad6b4a762b0aeb6aece4a51e7255)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:21 +00:00
Khem Raj
fadd554603 python: Fix build failure of python-elementtree on x86_64
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>
2012-02-08 00:50:28 +00:00
Saul Wold
60a8f94c00 python: add md5module support
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>
2012-01-03 12:14:30 +00:00
Martin Jansa
bf2ab7ed63 python: bump PR due to arm OVERRIDES change
(From OE-Core rev: 86a815fe1b2e447e264cb40f6f65e3343d6b6188)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 15:05:52 +00:00
Saul Wold
ebb15d2280 PR Bump for OpenSSL 1.0
(From OE-Core rev: 59923e66e85471acdb70d72082a8906c69b17720)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Tom Zanussi
3e21bb436c python: bump PR
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>
2011-11-10 12:08:57 +00:00
Tom Zanussi
23d2eaf9d2 python: skip setup.py 'import check' when cross-compiling
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>
2011-11-08 21:48:30 +00:00
Martin Jansa
8138eafa31 python: improve packaging
* 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>
2011-11-07 14:05:39 +00:00
Martin Jansa
6e1632946c python-2.7.2: fix build issues when additional modules are linked against host or native libpython instead of target
* -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>
2011-10-31 22:03:21 +00:00
Nitin A Kamble
01103b2f29 python, python-native: upgrade from 2.6.6 to 2.7.2
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>
2011-10-31 22:03:20 +00:00