Patchwork [4/4] python, python-native: upgrade from 2.6.6 to 2.7.2

login
register
mail settings
Submitter Nitin A Kamble
Date Sept. 30, 2011, 1:27 a.m.
Message ID <efb11f0fc00b6406194a37db473d25409569ba81.1317344910.git.nitin.a.kamble@intel.com>
Download mbox | patch
Permalink /patch/12439/
State New, archived
Headers show

Comments

Nitin A Kamble - Sept. 30, 2011, 1:27 a.m.
From: Nitin A Kamble <nitin.a.kamble@intel.com>

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 files for python
	modified:   ../../site/arm-common
	modified:   ../../site/mips-common

Updated default python version
	modified:   ../../conf/distro/include/default-versions.inc

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
 meta/conf/distro/include/default-versions.inc      |    6 +-
 ...on-2.6-manifest.inc => python-2.7-manifest.inc} |    0
 .../python/python-native/multilib.patch            |  240 ++++++++++++++++++++
 .../python/python-native/nohostlibs.patch          |   36 ++-
 ...thon-native_2.6.6.bb => python-native_2.7.2.bb} |   13 +-
 meta/recipes-devtools/python/python.inc            |   16 +-
 .../01-use-proper-tools-for-cross-build.patch      |  118 +++++++---
 .../python/python/02-remove-test-for-cross.patch   |  108 ---------
 .../06-avoid_usr_lib_termcap_path_in_linking.patch |   16 +-
 .../python/06-ctypes-libffi-fix-configure.patch    |   42 ++---
 meta/recipes-devtools/python/python/multilib.patch |  126 ++++++-----
 .../python/python/security_issue_2254_fix.patch    |  184 ---------------
 .../python/{python_2.6.6.bb => python_2.7.2.bb}    |   10 +-
 meta/site/arm-common                               |    3 +
 meta/site/mips-common                              |    3 +
 15 files changed, 467 insertions(+), 454 deletions(-)
 rename meta/recipes-devtools/python/{python-2.6-manifest.inc => python-2.7-manifest.inc} (100%)
 create mode 100644 meta/recipes-devtools/python/python-native/multilib.patch
 rename meta/recipes-devtools/python/{python-native_2.6.6.bb => python-native_2.7.2.bb} (74%)
 delete mode 100644 meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
 delete mode 100644 meta/recipes-devtools/python/python/security_issue_2254_fix.patch
 rename meta/recipes-devtools/python/{python_2.6.6.bb => python_2.7.2.bb} (92%)
Martin Jansa - Sept. 30, 2011, 6:37 p.m.
On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com wrote:
> From: Nitin A Kamble <nitin.a.kamble@intel.com>
> 
> 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 files for python
> 	modified:   ../../site/arm-common
> 	modified:   ../../site/mips-common
> 
> Updated default python version
> 	modified:   ../../conf/distro/include/default-versions.inc
> 
> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> ---
>  meta/conf/distro/include/default-versions.inc      |    6 +-
>  ...on-2.6-manifest.inc => python-2.7-manifest.inc} |    0
>  .../python/python-native/multilib.patch            |  240 ++++++++++++++++++++
>  .../python/python-native/nohostlibs.patch          |   36 ++-
>  ...thon-native_2.6.6.bb => python-native_2.7.2.bb} |   13 +-
>  meta/recipes-devtools/python/python.inc            |   16 +-
>  .../01-use-proper-tools-for-cross-build.patch      |  118 +++++++---
>  .../python/python/02-remove-test-for-cross.patch   |  108 ---------
>  .../06-avoid_usr_lib_termcap_path_in_linking.patch |   16 +-
>  .../python/06-ctypes-libffi-fix-configure.patch    |   42 ++---
>  meta/recipes-devtools/python/python/multilib.patch |  126 ++++++-----
>  .../python/python/security_issue_2254_fix.patch    |  184 ---------------
>  .../python/{python_2.6.6.bb => python_2.7.2.bb}    |   10 +-
>  meta/site/arm-common                               |    3 +
>  meta/site/mips-common                              |    3 +
>  15 files changed, 467 insertions(+), 454 deletions(-)
>  rename meta/recipes-devtools/python/{python-2.6-manifest.inc => python-2.7-manifest.inc} (100%)
>  create mode 100644 meta/recipes-devtools/python/python-native/multilib.patch
>  rename meta/recipes-devtools/python/{python-native_2.6.6.bb => python-native_2.7.2.bb} (74%)
>  delete mode 100644 meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
>  delete mode 100644 meta/recipes-devtools/python/python/security_issue_2254_fix.patch
>  rename meta/recipes-devtools/python/{python_2.6.6.bb => python_2.7.2.bb} (92%)
> 
> diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
> index e3ef1e6..90ff005 100644
> --- a/meta/conf/distro/include/default-versions.inc
> +++ b/meta/conf/distro/include/default-versions.inc
> @@ -4,9 +4,9 @@
>  PREFERRED_VERSION_pulseaudio ?= "0.9.23"
>  
>  # Force the python versions in one place
> -PYTHON_BASEVERSION ?= "2.6"
> -PREFERRED_VERSION_python ?= "2.6.6"
> -PREFERRED_VERSION_python-native ?= "2.6.6"
> +PYTHON_BASEVERSION ?= "2.7"
> +PREFERRED_VERSION_python ?= "2.7.2"
> +PREFERRED_VERSION_python-native ?= "2.7.2"
>  
>  # Force the older version of liberation-fonts until we fix the fontforge issue
>  PREFERRED_VERSION_liberation-fonts ?= "1.04"
> diff --git a/meta/recipes-devtools/python/python-2.6-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc
> similarity index 100%
> rename from meta/recipes-devtools/python/python-2.6-manifest.inc
> rename to meta/recipes-devtools/python/python-2.7-manifest.inc

this is wrong.. just to rename it isn't enough

I will send patch which regenerates manifest with right paths to
actually package something..

Regards,
Nitin A Kamble - Sept. 30, 2011, 6:40 p.m.
> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Martin Jansa
> Sent: Friday, September 30, 2011 11:38 AM
> To: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade from
> 2.6.6 to 2.7.2
> 
> On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com
> wrote:
> > From: Nitin A Kamble <nitin.a.kamble@intel.com>
> >
> > rename from meta/recipes-devtools/python/python-2.6-manifest.inc
> > rename to meta/recipes-devtools/python/python-2.7-manifest.inc
> 
> this is wrong.. just to rename it isn't enough
> 
> I will send patch which regenerates manifest with right paths to
> actually package something..
> 
> Regards,

Hi Martin,
  Thanks for catching this. I did not see issue with old manifest. But getting new manifest would be better.
Thanks,
Nitin
Martin Jansa - Sept. 30, 2011, 6:46 p.m.
On Fri, Sep 30, 2011 at 11:40:47AM -0700, Kamble, Nitin A wrote:
> 
> > -----Original Message-----
> > From: openembedded-core-bounces@lists.openembedded.org
> > [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> > Martin Jansa
> > Sent: Friday, September 30, 2011 11:38 AM
> > To: Patches and discussions about the oe-core layer
> > Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade from
> > 2.6.6 to 2.7.2
> > 
> > On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com
> > wrote:
> > > From: Nitin A Kamble <nitin.a.kamble@intel.com>
> > >
> > > rename from meta/recipes-devtools/python/python-2.6-manifest.inc
> > > rename to meta/recipes-devtools/python/python-2.7-manifest.inc
> > 
> > this is wrong.. just to rename it isn't enough
> > 
> > I will send patch which regenerates manifest with right paths to
> > actually package something..
> > 
> > Regards,
> 
> Hi Martin,
>   Thanks for catching this. I did not see issue with old manifest. But getting new manifest would be better.

Maybe you had python2.6 packages still arround, but for me the issue
looked like this (because almost all python-* packages were skipped as
empty) 
-FILES_${PN}-foo="${libdir}/python2.6/foo"
+FILES_${PN}-foo="${libdir}/python2.7/foo"


| Collected errors:
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies
for task-shr-minimal-fso:
|  *    python-textutils *      python-multiprocessing *
python-shell *  python-syslog *         python-threading *
python-xml *    python-io *  python-logging *         python-stringold *
python-ctypes *         python-difflib *        python-datetime *
python-logging *        python-textutils *    python-sqlite3 *
python-subprocess *     python-io *     python-fcntl *  python-stringold
*      python-pprint *         python-shell *  python-datetime *
*      python-codecs *
|  * opkg_install_cmd: Cannot install package task-shr-minimal-fso.
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies
for task-shr-minimal-gtk:
|  *    libpoppler5 (>= 0.12.3) *       libpoppler5 (>= 0.12.3) *
libpoppler5 (>= 0.12.3) *
|  * opkg_install_cmd: Cannot install package task-shr-minimal-gtk.
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies
for task-shr-minimal-apps:
|  *    python-resource *       python-io *     python-terminal *
python-fcntl *  python-shell *  python-lang *   python-lang *
python-lang *   python-lang *         python-codecs *
python-lang *   libpoppler5 (>= 0.12.3) *
|  * opkg_install_cmd: Cannot install package task-shr-minimal-apps.
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies
for task-shr-cli:
|  *    python-compression *    python-netclient *      python-textutils
*      python-image *  python-mime *   python-json *   python-html *
*      python-sqlite3 *      python-netclient *      python-sqlite3 *
*      python-netclient *
|  * opkg_install_cmd: Cannot install package task-shr-cli.
| ERROR: Function 'do_rootfs' failed (see
/OE/shr-core/tmp/work/om_gta02-oe-linux-gnueabi/shr-image-2.0-r18/temp/log.do_rootfs.13435
for further information)
NOTE: package shr-image-2.0-r18: task do_rootfs: Failed
ERROR: Task 8
(/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-image.bb,
do_rootfs) failed with exit code '1'
ERROR:
'/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-image.bb'
failed

> Thanks,
> Nitin
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Martin Jansa - Oct. 1, 2011, 6:33 p.m.
On Fri, Sep 30, 2011 at 8:46 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Fri, Sep 30, 2011 at 11:40:47AM -0700, Kamble, Nitin A wrote:
>>
>> > -----Original Message-----
>> > From: openembedded-core-bounces@lists.openembedded.org
>> > [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
>> > Martin Jansa
>> > Sent: Friday, September 30, 2011 11:38 AM
>> > To: Patches and discussions about the oe-core layer
>> > Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade from
>> > 2.6.6 to 2.7.2
>> >
>> > On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com
>> > wrote:
>> > > From: Nitin A Kamble <nitin.a.kamble@intel.com>
>> > >
>> > > rename from meta/recipes-devtools/python/python-2.6-manifest.inc
>> > > rename to meta/recipes-devtools/python/python-2.7-manifest.inc
>> >
>> > this is wrong.. just to rename it isn't enough
>> >
>> > I will send patch which regenerates manifest with right paths to
>> > actually package something..
>> >
>> > Regards,
>>
>> Hi Martin,
>>   Thanks for catching this. I did not see issue with old manifest. But getting new manifest would be better.
>
> Maybe you had python2.6 packages still arround, but for me the issue
> looked like this (because almost all python-* packages were skipped as
> empty)
> -FILES_${PN}-foo="${libdir}/python2.6/foo"
> +FILES_${PN}-foo="${libdir}/python2.7/foo"
>
>
> | Collected errors:
> |  * satisfy_dependencies_for: Cannot satisfy the following dependencies
> for task-shr-minimal-fso:
> |  *    python-textutils *      python-multiprocessing *
> python-shell *  python-syslog *         python-threading *
> python-xml *    python-io *  python-logging *         python-stringold *
> python-ctypes *         python-difflib *        python-datetime *
> python-logging *        python-textutils *    python-sqlite3 *
> python-subprocess *     python-io *     python-fcntl *  python-stringold
> *      python-pprint *         python-shell *  python-datetime *
> *      python-codecs *
> |  * opkg_install_cmd: Cannot install package task-shr-minimal-fso.
> |  * satisfy_dependencies_for: Cannot satisfy the following dependencies
> for task-shr-minimal-gtk:
> |  *    libpoppler5 (>= 0.12.3) *       libpoppler5 (>= 0.12.3) *
> libpoppler5 (>= 0.12.3) *
> |  * opkg_install_cmd: Cannot install package task-shr-minimal-gtk.
> |  * satisfy_dependencies_for: Cannot satisfy the following dependencies
> for task-shr-minimal-apps:
> |  *    python-resource *       python-io *     python-terminal *
> python-fcntl *  python-shell *  python-lang *   python-lang *
> python-lang *   python-lang *         python-codecs *
> python-lang *   libpoppler5 (>= 0.12.3) *
> |  * opkg_install_cmd: Cannot install package task-shr-minimal-apps.
> |  * satisfy_dependencies_for: Cannot satisfy the following dependencies
> for task-shr-cli:
> |  *    python-compression *    python-netclient *      python-textutils
> *      python-image *  python-mime *   python-json *   python-html *
> *      python-sqlite3 *      python-netclient *      python-sqlite3 *
> *      python-netclient *
> |  * opkg_install_cmd: Cannot install package task-shr-cli.
> | ERROR: Function 'do_rootfs' failed (see
> /OE/shr-core/tmp/work/om_gta02-oe-linux-gnueabi/shr-image-2.0-r18/temp/log.do_rootfs.13435
> for further information)
> NOTE: package shr-image-2.0-r18: task do_rootfs: Failed
> ERROR: Task 8
> (/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-image.bb,
> do_rootfs) failed with exit code '1'
> ERROR:
> '/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-image.bb'
> failed

Even with right manifest few modules which were built fine before are
failing now

At least
python-syslog
python-elementtree
python-zlib
python-fcntl
python-resource

should be built and maybe they are failing because of:
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/cfield.c:
In function 'PyCField_FromDesc':
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/cfield.c:50:29:
warning: variable 'length' set but not u
sed [-Wunused-but-set-variable]
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:
In function 'mmap_resize':
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3193:5:
warning: implicit declarat
ion of function 'mremap' [-Wimplicit-function-declaration]
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:
In function 'sys_trim':
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3612:62:
warning: comparison betwe
en pointer and integer [enabled by default]
"../temp/log.do_compile" [converted] 651L, 90722C

549,1         86%
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:
In function 'sys_trim':
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3612:62:
warning: comparison betwe
en pointer and integer [enabled by default]
/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/arm/ffi.c:204:1:
warning: function declaratio
n isn't a prototype [-Wstrict-prototypes]
/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so: file
not recognized: File format not recognized
collect2: ld returned 1 exit status
Looking in readline for ['/OE/shr-core/tmp/sysroots/nokia900/usr/lib']

where

$ file /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so
/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so:
symbolic link to `libpython2.7.so.1.0'

$ file /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so.1.0
/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so.1.0:
ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically
linked, not stripped

more modules are failing but at least those listed above were building
fine with 2.6, can you check it please?

Python build finished, but the necessary bits to build these modules
were not found:
_bsddb             _tkinter           bsddb185
dbm                dl                 imageop
linuxaudiodev      ossaudiodev        sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for
the module's name.


Failed to build these modules:
_bisect            _codecs_cn         _codecs_hk
_codecs_iso2022    _codecs_jp         _codecs_kr
_codecs_tw         _collections       _csv
_ctypes            _ctypes_test       _curses
_curses_panel      _elementtree       _functools
_hashlib           _heapq             _hotshot
_io                _json              _locale
_lsprof            _multibytecodec    _multiprocessing
_random            _socket            _sqlite3
_ssl               _struct            _testcapi
array              audioop            binascii
bz2                cmath              cPickle
crypt              cStringIO          datetime
fcntl              future_builtins    gdbm
grp                itertools          math
mmap               nis                operator
parser             pyexpat            readline
resource           select             spwd
strop              syslog             termios
time               unicodedata        zlib

Regards,
Nitin A Kamble - Oct. 2, 2011, 1:17 a.m.
Hi Martin,
 Ok, I will reproduce it with your manifest patch and look into fixing it.

Thanks & Regards,
Nitin


> -----Original Message-----

> From: Martin Jansa [mailto:martin.jansa@gmail.com]

> Sent: Saturday, October 01, 2011 11:34 AM

> To: Patches and discussions about the oe-core layer

> Cc: Kamble, Nitin A

> Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade from

> 2.6.6 to 2.7.2

> 

> On Fri, Sep 30, 2011 at 8:46 PM, Martin Jansa <martin.jansa@gmail.com>

> wrote:

> > On Fri, Sep 30, 2011 at 11:40:47AM -0700, Kamble, Nitin A wrote:

> >>

> >> > -----Original Message-----

> >> > From: openembedded-core-bounces@lists.openembedded.org

> >> > [mailto:openembedded-core-bounces@lists.openembedded.org] On

> Behalf Of

> >> > Martin Jansa

> >> > Sent: Friday, September 30, 2011 11:38 AM

> >> > To: Patches and discussions about the oe-core layer

> >> > Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade

> from

> >> > 2.6.6 to 2.7.2

> >> >

> >> > On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com

> >> > wrote:

> >> > > From: Nitin A Kamble <nitin.a.kamble@intel.com>

> >> > >

> >> > > rename from meta/recipes-devtools/python/python-2.6-manifest.inc

> >> > > rename to meta/recipes-devtools/python/python-2.7-manifest.inc

> >> >

> >> > this is wrong.. just to rename it isn't enough

> >> >

> >> > I will send patch which regenerates manifest with right paths to

> >> > actually package something..

> >> >

> >> > Regards,

> >>

> >> Hi Martin,

> >>   Thanks for catching this. I did not see issue with old manifest.

> But getting new manifest would be better.

> >

> > Maybe you had python2.6 packages still arround, but for me the issue

> > looked like this (because almost all python-* packages were skipped

> as

> > empty)

> > -FILES_${PN}-foo="${libdir}/python2.6/foo"

> > +FILES_${PN}-foo="${libdir}/python2.7/foo"

> >

> >

> > | Collected errors:

> > |  * satisfy_dependencies_for: Cannot satisfy the following

> dependencies

> > for task-shr-minimal-fso:

> > |  *    python-textutils *      python-multiprocessing *

> > python-shell *  python-syslog *         python-threading *

> > python-xml *    python-io *  python-logging *         python-

> stringold *

> > python-ctypes *         python-difflib *        python-datetime *

> > python-logging *        python-textutils *    python-sqlite3 *

> > python-subprocess *     python-io *     python-fcntl *  python-

> stringold

> > *      python-pprint *         python-shell *  python-datetime *

> > *      python-codecs *

> > |  * opkg_install_cmd: Cannot install package task-shr-minimal-fso.

> > |  * satisfy_dependencies_for: Cannot satisfy the following

> dependencies

> > for task-shr-minimal-gtk:

> > |  *    libpoppler5 (>= 0.12.3) *       libpoppler5 (>= 0.12.3) *

> > libpoppler5 (>= 0.12.3) *

> > |  * opkg_install_cmd: Cannot install package task-shr-minimal-gtk.

> > |  * satisfy_dependencies_for: Cannot satisfy the following

> dependencies

> > for task-shr-minimal-apps:

> > |  *    python-resource *       python-io *     python-terminal *

> > python-fcntl *  python-shell *  python-lang *   python-lang *

> > python-lang *   python-lang *         python-codecs *

> > python-lang *   libpoppler5 (>= 0.12.3) *

> > |  * opkg_install_cmd: Cannot install package task-shr-minimal-apps.

> > |  * satisfy_dependencies_for: Cannot satisfy the following

> dependencies

> > for task-shr-cli:

> > |  *    python-compression *    python-netclient *      python-

> textutils

> > *      python-image *  python-mime *   python-json *   python-html *

> > *      python-sqlite3 *      python-netclient *      python-sqlite3 *

> > *      python-netclient *

> > |  * opkg_install_cmd: Cannot install package task-shr-cli.

> > | ERROR: Function 'do_rootfs' failed (see

> > /OE/shr-core/tmp/work/om_gta02-oe-linux-gnueabi/shr-image-2.0-

> r18/temp/log.do_rootfs.13435

> > for further information)

> > NOTE: package shr-image-2.0-r18: task do_rootfs: Failed

> > ERROR: Task 8

> > (/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-

> image.bb,

> > do_rootfs) failed with exit code '1'

> > ERROR:

> > '/OE/shr-core/meta-smartphone/meta-shr/recipes-shr/images/shr-

> image.bb'

> > failed

> 

> Even with right manifest few modules which were built fine before are

> failing now

> 

> At least

> python-syslog

> python-elementtree

> python-zlib

> python-fcntl

> python-resource

> 

> should be built and maybe they are failing because of:

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/cfield.c:

> In function 'PyCField_FromDesc':

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/cfield.c:50:29:

> warning: variable 'length' set but not u

> sed [-Wunused-but-set-variable]

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:

> In function 'mmap_resize':

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3193:5:

> warning: implicit declarat

> ion of function 'mremap' [-Wimplicit-function-declaration]

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:

> In function 'sys_trim':

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3612:62:

> warning: comparison betwe

> en pointer and integer [enabled by default]

> "../temp/log.do_compile" [converted] 651L, 90722C

> 

> 549,1         86%

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:

> In function 'sys_trim':

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/dlmalloc.c:3612:62:

> warning: comparison betwe

> en pointer and integer [enabled by default]

> /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/python-2.7.2-

> r0.0/Python-2.7.2/Modules/_ctypes/libffi/src/arm/ffi.c:204:1:

> warning: function declaratio

> n isn't a prototype [-Wstrict-prototypes]

> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so: file

> not recognized: File format not recognized

> collect2: ld returned 1 exit status

> Looking in readline for ['/OE/shr-core/tmp/sysroots/nokia900/usr/lib']

> 

> where

> 

> $ file /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so

> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so:

> symbolic link to `libpython2.7.so.1.0'

> 

> $ file /OE/shr-core/tmp/sysroots/x86_64-

> linux/usr/lib/libpython2.7.so.1.0

> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so.1.0:

> ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically

> linked, not stripped

> 

> more modules are failing but at least those listed above were building

> fine with 2.6, can you check it please?

> 

> Python build finished, but the necessary bits to build these modules

> were not found:

> _bsddb             _tkinter           bsddb185

> dbm                dl                 imageop

> linuxaudiodev      ossaudiodev        sunaudiodev

> To find the necessary bits, look in setup.py in detect_modules() for

> the module's name.

> 

> 

> Failed to build these modules:

> _bisect            _codecs_cn         _codecs_hk

> _codecs_iso2022    _codecs_jp         _codecs_kr

> _codecs_tw         _collections       _csv

> _ctypes            _ctypes_test       _curses

> _curses_panel      _elementtree       _functools

> _hashlib           _heapq             _hotshot

> _io                _json              _locale

> _lsprof            _multibytecodec    _multiprocessing

> _random            _socket            _sqlite3

> _ssl               _struct            _testcapi

> array              audioop            binascii

> bz2                cmath              cPickle

> crypt              cStringIO          datetime

> fcntl              future_builtins    gdbm

> grp                itertools          math

> mmap               nis                operator

> parser             pyexpat            readline

> resource           select             spwd

> strop              syslog             termios

> time               unicodedata        zlib

> 

> Regards,
Koen Kooi - Oct. 4, 2011, 11:03 a.m.
Op 30 sep. 2011 om 13:37 heeft Martin Jansa <martin.jansa@gmail.com> het volgende geschreven:

> On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com wrote:
>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>> 
>> 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 files for python
>>    modified:   ../../site/arm-common
>>    modified:   ../../site/mips-common
>> 
>> Updated default python version
>>    modified:   ../../conf/distro/include/default-versions.inc
>> 
>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>> ---
>> meta/conf/distro/include/default-versions.inc      |    6 +-
>> ...on-2.6-manifest.inc => python-2.7-manifest.inc} |    0
>> .../python/python-native/multilib.patch            |  240 ++++++++++++++++++++
>> .../python/python-native/nohostlibs.patch          |   36 ++-
>> ...thon-native_2.6.6.bb => python-native_2.7.2.bb} |   13 +-
>> meta/recipes-devtools/python/python.inc            |   16 +-
>> .../01-use-proper-tools-for-cross-build.patch      |  118 +++++++---
>> .../python/python/02-remove-test-for-cross.patch   |  108 ---------
>> .../06-avoid_usr_lib_termcap_path_in_linking.patch |   16 +-
>> .../python/06-ctypes-libffi-fix-configure.patch    |   42 ++---
>> meta/recipes-devtools/python/python/multilib.patch |  126 ++++++-----
>> .../python/python/security_issue_2254_fix.patch    |  184 ---------------
>> .../python/{python_2.6.6.bb => python_2.7.2.bb}    |   10 +-
>> meta/site/arm-common                               |    3 +
>> meta/site/mips-common                              |    3 +
>> 15 files changed, 467 insertions(+), 454 deletions(-)
>> rename meta/recipes-devtools/python/{python-2.6-manifest.inc => python-2.7-manifest.inc} (100%)
>> create mode 100644 meta/recipes-devtools/python/python-native/multilib.patch
>> rename meta/recipes-devtools/python/{python-native_2.6.6.bb => python-native_2.7.2.bb} (74%)
>> delete mode 100644 meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
>> delete mode 100644 meta/recipes-devtools/python/python/security_issue_2254_fix.patch
>> rename meta/recipes-devtools/python/{python_2.6.6.bb => python_2.7.2.bb} (92%)
>> 
>> diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
>> index e3ef1e6..90ff005 100644
>> --- a/meta/conf/distro/include/default-versions.inc
>> +++ b/meta/conf/distro/include/default-versions.inc
>> @@ -4,9 +4,9 @@
>> PREFERRED_VERSION_pulseaudio ?= "0.9.23"
>> 
>> # Force the python versions in one place
>> -PYTHON_BASEVERSION ?= "2.6"
>> -PREFERRED_VERSION_python ?= "2.6.6"
>> -PREFERRED_VERSION_python-native ?= "2.6.6"
>> +PYTHON_BASEVERSION ?= "2.7"
>> +PREFERRED_VERSION_python ?= "2.7.2"
>> +PREFERRED_VERSION_python-native ?= "2.7.2"
>> 
>> # Force the older version of liberation-fonts until we fix the fontforge issue
>> PREFERRED_VERSION_liberation-fonts ?= "1.04"
>> diff --git a/meta/recipes-devtools/python/python-2.6-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc
>> similarity index 100%
>> rename from meta/recipes-devtools/python/python-2.6-manifest.inc
>> rename to meta/recipes-devtools/python/python-2.7-manifest.inc
> 
> this is wrong.. just to rename it isn't enough

It also drops the source checksums :(



> 
> I will send patch which regenerates manifest with right paths to
> actually package something..
> 
> Regards,
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Martin Jansa - Oct. 4, 2011, 11:31 a.m.
On Tue, Oct 04, 2011 at 06:03:16AM -0500, Koen Kooi wrote:
> 
> 
> Op 30 sep. 2011 om 13:37 heeft Martin Jansa <martin.jansa@gmail.com> het volgende geschreven:
> 
> > On Thu, Sep 29, 2011 at 06:27:11PM -0700, nitin.a.kamble@intel.com wrote:
> >> From: Nitin A Kamble <nitin.a.kamble@intel.com>
> >> 
> >> 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 files for python
> >>    modified:   ../../site/arm-common
> >>    modified:   ../../site/mips-common
> >> 
> >> Updated default python version
> >>    modified:   ../../conf/distro/include/default-versions.inc
> >> 
> >> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> >> ---
> >> meta/conf/distro/include/default-versions.inc      |    6 +-
> >> ...on-2.6-manifest.inc => python-2.7-manifest.inc} |    0
> >> .../python/python-native/multilib.patch            |  240 ++++++++++++++++++++
> >> .../python/python-native/nohostlibs.patch          |   36 ++-
> >> ...thon-native_2.6.6.bb => python-native_2.7.2.bb} |   13 +-
> >> meta/recipes-devtools/python/python.inc            |   16 +-
> >> .../01-use-proper-tools-for-cross-build.patch      |  118 +++++++---
> >> .../python/python/02-remove-test-for-cross.patch   |  108 ---------
> >> .../06-avoid_usr_lib_termcap_path_in_linking.patch |   16 +-
> >> .../python/06-ctypes-libffi-fix-configure.patch    |   42 ++---
> >> meta/recipes-devtools/python/python/multilib.patch |  126 ++++++-----
> >> .../python/python/security_issue_2254_fix.patch    |  184 ---------------
> >> .../python/{python_2.6.6.bb => python_2.7.2.bb}    |   10 +-
> >> meta/site/arm-common                               |    3 +
> >> meta/site/mips-common                              |    3 +
> >> 15 files changed, 467 insertions(+), 454 deletions(-)
> >> rename meta/recipes-devtools/python/{python-2.6-manifest.inc => python-2.7-manifest.inc} (100%)
> >> create mode 100644 meta/recipes-devtools/python/python-native/multilib.patch
> >> rename meta/recipes-devtools/python/{python-native_2.6.6.bb => python-native_2.7.2.bb} (74%)
> >> delete mode 100644 meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
> >> delete mode 100644 meta/recipes-devtools/python/python/security_issue_2254_fix.patch
> >> rename meta/recipes-devtools/python/{python_2.6.6.bb => python_2.7.2.bb} (92%)
> >> 
> >> diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
> >> index e3ef1e6..90ff005 100644
> >> --- a/meta/conf/distro/include/default-versions.inc
> >> +++ b/meta/conf/distro/include/default-versions.inc
> >> @@ -4,9 +4,9 @@
> >> PREFERRED_VERSION_pulseaudio ?= "0.9.23"
> >> 
> >> # Force the python versions in one place
> >> -PYTHON_BASEVERSION ?= "2.6"
> >> -PREFERRED_VERSION_python ?= "2.6.6"
> >> -PREFERRED_VERSION_python-native ?= "2.6.6"
> >> +PYTHON_BASEVERSION ?= "2.7"
> >> +PREFERRED_VERSION_python ?= "2.7.2"
> >> +PREFERRED_VERSION_python-native ?= "2.7.2"
> >> 
> >> # Force the older version of liberation-fonts until we fix the fontforge issue
> >> PREFERRED_VERSION_liberation-fonts ?= "1.04"
> >> diff --git a/meta/recipes-devtools/python/python-2.6-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc
> >> similarity index 100%
> >> rename from meta/recipes-devtools/python/python-2.6-manifest.inc
> >> rename to meta/recipes-devtools/python/python-2.7-manifest.inc
> > 
> > this is wrong.. just to rename it isn't enough
> 
> It also drops the source checksums :(

They are moved to python.inc which is then included to both python and
python-native recipes.

But maybe we should drop 
DEFAULT_PREFERENCE = "-27"
as there is only one python version anyways

Regards,
Nitin A Kamble - Oct. 13, 2011, 8:09 p.m.
Martin,
  I am fixing the python 2.7.2 recipe, and I need to update the generate-manifest-2.7.py script slightly, to get more files included in the python-core package.

BTW how to run this script ? some documentation of it in the script would be useful.

Thanks,
Nitin
Martin Jansa - Oct. 13, 2011, 9:40 p.m.
On Thu, Oct 13, 2011 at 01:09:15PM -0700, Kamble, Nitin A wrote:
> Martin,
>   I am fixing the python 2.7.2 recipe, and I need to update the generate-manifest-2.7.py script slightly, to get more files included in the python-core package.

great, I was debuging it a bit more today and found out that the problem
seems to be in python-native, because with python-native-2.7.2 when I
try to build old python-2.6.6 it's also tring to link extra modules to
-native libpython2.7 and fails:
/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so: file not recognized: File format not recognized

but even after comparing sysroots/builddirs/logs from 2.6.6 and 2.7.2 
I still don't see why it picked right libpython2.6 before and now it fails.
I've tried it without multilib support and partially reverted 
changes in patches from 2.6.6 and still it fails :/

btw: there seems to be also issue in runtime
SHR root@gjama ~ $ python -v
Could not find platform independent libraries <prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
ImportError: No module named site
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2
# clear sys.exitfunc
# clear sys.exc_type
# clear sys.exc_value
# clear sys.exc_traceback
# clear sys.last_type
# clear sys.last_value
# clear sys.last_traceback
# clear sys.path_hooks
# clear sys.path_importer_cache
# clear sys.meta_path
# clear sys.flags
# clear sys.float_info
# restore sys.stdin
# restore sys.stdout
# restore sys.stderr
# cleanup __main__
# cleanup[1] zipimport
# cleanup[1] signal
# cleanup[1] exceptions
# cleanup[1] _warnings
# cleanup sys
# cleanup __builtin__
# cleanup ints: 5 unfreed ints
# cleanup floats

> BTW how to run this script ? some documentation of it in the script would be useful.

just execute it and it prints manifest, so something like this:
openembedded-core $ scripts/contrib/python/generate-manifest-2.7.py > meta/recipes-devtools/python/python-2.7-manifest.inc

Regards,
Nitin A Kamble - Oct. 13, 2011, 10:16 p.m.
> -----Original Message-----
> From: Martin Jansa [mailto:martin.jansa@gmail.com]
> Sent: Thursday, October 13, 2011 2:41 PM
> To: Kamble, Nitin A
> Cc: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 4/4] python, python-native: upgrade from
> 2.6.6 to 2.7.2
> 
> On Thu, Oct 13, 2011 at 01:09:15PM -0700, Kamble, Nitin A wrote:
> > Martin,
> >   I am fixing the python 2.7.2 recipe, and I need to update the
> generate-manifest-2.7.py script slightly, to get more files included in
> the python-core package.
> 
> great, I was debuging it a bit more today and found out that the
> problem seems to be in python-native, because with python-native-2.7.2
> when I try to build old python-2.6.6 it's also tring to link extra
> modules to -native libpython2.7 and fails:
> /OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib/libpython2.7.so: file
> not recognized: File format not recognized
> 
> but even after comparing sysroots/builddirs/logs from 2.6.6 and 2.7.2 I
> still don't see why it picked right libpython2.6 before and now it
> fails.
> I've tried it without multilib support and partially reverted changes
> in patches from 2.6.6 and still it fails :/
> 
> btw: there seems to be also issue in runtime SHR root@gjama ~ $ python
> -v Could not find platform independent libraries <prefix> Consider
> setting $PYTHONHOME to <prefix>[:<exec_prefix>] # installing zipimport
> hook import zipimport # builtin # installed zipimport hook
> ImportError: No module named site
> # clear __builtin__._
> # clear sys.path
> # clear sys.argv
> # clear sys.ps1
> # clear sys.ps2
> # clear sys.exitfunc
> # clear sys.exc_type
> # clear sys.exc_value
> # clear sys.exc_traceback
> # clear sys.last_type
> # clear sys.last_value
> # clear sys.last_traceback
> # clear sys.path_hooks
> # clear sys.path_importer_cache
> # clear sys.meta_path
> # clear sys.flags
> # clear sys.float_info
> # restore sys.stdin
> # restore sys.stdout
> # restore sys.stderr
> # cleanup __main__
> # cleanup[1] zipimport
> # cleanup[1] signal
> # cleanup[1] exceptions
> # cleanup[1] _warnings
> # cleanup sys
> # cleanup __builtin__
> # cleanup ints: 5 unfreed ints
> # cleanup floats
> 
> > BTW how to run this script ? some documentation of it in the script
> would be useful.

I got python 2.7.2 to work inside the qemux86 machine now. I will send a pull request for review/test today.

Thanks,
Nitin


> 
> just execute it and it prints manifest, so something like this:
> openembedded-core $ scripts/contrib/python/generate-manifest-2.7.py >
> meta/recipes-devtools/python/python-2.7-manifest.inc
> 
> Regards,
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

Patch

diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
index e3ef1e6..90ff005 100644
--- a/meta/conf/distro/include/default-versions.inc
+++ b/meta/conf/distro/include/default-versions.inc
@@ -4,9 +4,9 @@ 
 PREFERRED_VERSION_pulseaudio ?= "0.9.23"
 
 # Force the python versions in one place
-PYTHON_BASEVERSION ?= "2.6"
-PREFERRED_VERSION_python ?= "2.6.6"
-PREFERRED_VERSION_python-native ?= "2.6.6"
+PYTHON_BASEVERSION ?= "2.7"
+PREFERRED_VERSION_python ?= "2.7.2"
+PREFERRED_VERSION_python-native ?= "2.7.2"
 
 # Force the older version of liberation-fonts until we fix the fontforge issue
 PREFERRED_VERSION_liberation-fonts ?= "1.04"
diff --git a/meta/recipes-devtools/python/python-2.6-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc
similarity index 100%
rename from meta/recipes-devtools/python/python-2.6-manifest.inc
rename to meta/recipes-devtools/python/python-2.7-manifest.inc
diff --git a/meta/recipes-devtools/python/python-native/multilib.patch b/meta/recipes-devtools/python/python-native/multilib.patch
new file mode 100644
index 0000000..f8d7aee
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native/multilib.patch
@@ -0,0 +1,240 @@ 
+commit 248279e54467a8cd5cde98fc124d1d1384703513
+Author: Yu Ke <ke.yu@intel.com>
+Date:   Tue Jun 28 21:21:29 2011 +0800
+
+    SUSE patch for the lib64 issue
+    
+    see detail in http://bugs.python.org/issue1294959
+    
+    also rebased a bit for Yocto python 2.6.6
+    
+    Picked-by: Yu Ke <ke.yu@intel.com>
+
+
+2011/09/29
+The python recipe building was failing because python-native 
+could not handle sys.lib var. sys.lib var is defined in the 
+multilib patch hence added this multilib.patch for python-native 
+recipe.
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: Python-2.7.2/Include/pythonrun.h
+===================================================================
+--- Python-2.7.2.orig/Include/pythonrun.h
++++ Python-2.7.2/Include/pythonrun.h
+@@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void);
+ /* In their own files */
+ PyAPI_FUNC(const char *) Py_GetVersion(void);
+ PyAPI_FUNC(const char *) Py_GetPlatform(void);
++PyAPI_FUNC(const char *) Py_GetLib(void);
+ PyAPI_FUNC(const char *) Py_GetCopyright(void);
+ PyAPI_FUNC(const char *) Py_GetCompiler(void);
+ PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
+Index: Python-2.7.2/Lib/distutils/command/install.py
+===================================================================
+--- Python-2.7.2.orig/Lib/distutils/command/install.py
++++ Python-2.7.2/Lib/distutils/command/install.py
+@@ -22,6 +22,8 @@ from site import USER_BASE
+ from site import USER_SITE
+ 
+ 
++libname = sys.lib
++
+ if sys.version < "2.2":
+     WINDOWS_SCHEME = {
+         'purelib': '$base',
+@@ -42,7 +44,7 @@ else:
+ INSTALL_SCHEMES = {
+     'unix_prefix': {
+         'purelib': '$base/lib/python$py_version_short/site-packages',
+-        'platlib': '$platbase/lib/python$py_version_short/site-packages',
++        'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
+         'headers': '$base/include/python$py_version_short/$dist_name',
+         'scripts': '$base/bin',
+         'data'   : '$base',
+Index: Python-2.7.2/Lib/pydoc.py
+===================================================================
+--- Python-2.7.2.orig/Lib/pydoc.py
++++ Python-2.7.2/Lib/pydoc.py
+@@ -352,7 +352,7 @@ class Doc:
+ 
+         docloc = os.environ.get("PYTHONDOCS",
+                                 "http://docs.python.org/library")
+-        basedir = os.path.join(sys.exec_prefix, "lib",
++        basedir = os.path.join(sys.exec_prefix, sys.lib,
+                                "python"+sys.version[0:3])
+         if (isinstance(object, type(os)) and
+             (object.__name__ in ('errno', 'exceptions', 'gc', 'imp',
+Index: Python-2.7.2/Lib/site.py
+===================================================================
+--- Python-2.7.2.orig/Lib/site.py
++++ Python-2.7.2/Lib/site.py
+@@ -300,13 +300,19 @@ def getsitepackages():
+         if sys.platform in ('os2emx', 'riscos'):
+             sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
+         elif os.sep == '/':
+-            sitepackages.append(os.path.join(prefix, "lib",
++            sitepackages.append(os.path.join(prefix, sys.lib,
+                                         "python" + sys.version[:3],
+                                         "site-packages"))
+-            sitepackages.append(os.path.join(prefix, "lib", "site-python"))
++            if sys.lib != "lib":
++                sitepackages.append(os.path.join(prefix, "lib",
++                                        "python" + sys.version[:3],
++                                        "site-packages"))
++            sitepackages.append(os.path.join(prefix, sys.lib, "site-python"))
++            if sys.lib != "lib":
++                sitepackages.append(os.path.join(prefix, "lib", "site-python"))
+         else:
+             sitepackages.append(prefix)
+-            sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
++            sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
+         if sys.platform == "darwin":
+             # for framework builds *only* we add the standard Apple
+             # locations.
+Index: Python-2.7.2/Lib/test/test_dl.py
+===================================================================
+--- Python-2.7.2.orig/Lib/test/test_dl.py
++++ Python-2.7.2/Lib/test/test_dl.py
+@@ -5,10 +5,11 @@
+ import unittest
+ from test.test_support import verbose, import_module
+ dl = import_module('dl', deprecated=True)
++import sys
+ 
+ sharedlibs = [
+-    ('/usr/lib/libc.so', 'getpid'),
+-    ('/lib/libc.so.6', 'getpid'),
++    ('/usr/'+sys.lib+'/libc.so', 'getpid'),
++    ('/'+sys.lib+'/libc.so.6', 'getpid'),
+     ('/usr/bin/cygwin1.dll', 'getpid'),
+     ('/usr/lib/libc.dylib', 'getpid'),
+     ]
+Index: Python-2.7.2/Lib/trace.py
+===================================================================
+--- Python-2.7.2.orig/Lib/trace.py
++++ Python-2.7.2/Lib/trace.py
+@@ -762,10 +762,10 @@ def main(argv=None):
+                 # should I also call expanduser? (after all, could use $HOME)
+ 
+                 s = s.replace("$prefix",
+-                              os.path.join(sys.prefix, "lib",
++                              os.path.join(sys.prefix, sys.lib,
+                                            "python" + sys.version[:3]))
+                 s = s.replace("$exec_prefix",
+-                              os.path.join(sys.exec_prefix, "lib",
++                              os.path.join(sys.exec_prefix, sys.lib,
+                                            "python" + sys.version[:3]))
+                 s = os.path.normpath(s)
+                 ignore_dirs.append(s)
+Index: Python-2.7.2/Makefile.pre.in
+===================================================================
+--- Python-2.7.2.orig/Makefile.pre.in
++++ Python-2.7.2/Makefile.pre.in
+@@ -81,6 +81,7 @@ PY_CFLAGS=	$(CFLAGS) $(CPPFLAGS) $(CFLAG
+ 
+ # Machine-dependent subdirectories
+ MACHDEP=	@MACHDEP@
++LIB=		@LIB@
+ 
+ # Install prefix for architecture-independent files
+ prefix=		@prefix@
+@@ -97,7 +98,7 @@ LIBDIR=		@libdir@
+ MANDIR=		@mandir@
+ INCLUDEDIR=	@includedir@
+ CONFINCLUDEDIR=	$(exec_prefix)/include
+-SCRIPTDIR=	$(prefix)/lib
++SCRIPTDIR=	$(prefix)/@LIB@
+ 
+ # Detailed destination directories
+ BINLIBDEST=	$(LIBDIR)/python$(VERSION)
+@@ -532,6 +533,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
+ 		-DEXEC_PREFIX='"$(exec_prefix)"' \
+ 		-DVERSION='"$(VERSION)"' \
+ 		-DVPATH='"$(VPATH)"' \
++		-DLIB='"$(LIB)"' \
+ 		-o $@ $(srcdir)/Modules/getpath.c
+ 
+ Modules/python.o: $(srcdir)/Modules/python.c
+@@ -566,7 +568,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
+ Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H)
+ 
+ Python/getplatform.o: $(srcdir)/Python/getplatform.c
+-		$(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
++		$(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
+ 
+ Python/importdl.o: $(srcdir)/Python/importdl.c
+ 		$(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
+Index: Python-2.7.2/Modules/getpath.c
+===================================================================
+--- Python-2.7.2.orig/Modules/getpath.c
++++ Python-2.7.2/Modules/getpath.c
+@@ -116,9 +116,11 @@
+ #define EXEC_PREFIX PREFIX
+ #endif
+ 
++#define LIB_PYTHON LIB "/python" VERSION
++
+ #ifndef PYTHONPATH
+-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
+-              EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
++#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \
++              EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload"
+ #endif
+ 
+ #ifndef LANDMARK
+@@ -129,7 +131,7 @@ static char prefix[MAXPATHLEN+1];
+ static char exec_prefix[MAXPATHLEN+1];
+ static char progpath[MAXPATHLEN+1];
+ static char *module_search_path = NULL;
+-static char lib_python[] = "lib/python" VERSION;
++static char lib_python[] = LIB_PYTHON;
+ 
+ static void
+ reduce(char *dir)
+Index: Python-2.7.2/Python/getplatform.c
+===================================================================
+--- Python-2.7.2.orig/Python/getplatform.c
++++ Python-2.7.2/Python/getplatform.c
+@@ -10,3 +10,13 @@ Py_GetPlatform(void)
+ {
+ 	return PLATFORM;
+ }
++
++#ifndef LIB
++#define LIB "lib"
++#endif
++
++const char *
++Py_GetLib(void)
++{
++	return LIB;
++}
+Index: Python-2.7.2/Python/sysmodule.c
+===================================================================
+--- Python-2.7.2.orig/Python/sysmodule.c
++++ Python-2.7.2/Python/sysmodule.c
+@@ -1416,6 +1416,8 @@ _PySys_Init(void)
+                         PyString_FromString(Py_GetCopyright()));
+     SET_SYS_FROM_STRING("platform",
+                         PyString_FromString(Py_GetPlatform()));
++    SET_SYS_FROM_STRING("lib",
++                PyString_FromString(Py_GetLib()));
+     SET_SYS_FROM_STRING("executable",
+                         PyString_FromString(Py_GetProgramFullPath()));
+     SET_SYS_FROM_STRING("prefix",
+Index: Python-2.7.2/configure.in
+===================================================================
+--- Python-2.7.2.orig/configure.in
++++ Python-2.7.2/configure.in
+@@ -629,6 +629,10 @@ SunOS*)
+     ;;
+ esac
+ 
++AC_SUBST(LIB)
++AC_MSG_CHECKING(LIB)
++LIB=`basename ${libdir}`
++AC_MSG_RESULT($LIB)
+ 
+ AC_SUBST(LIBRARY)
+ AC_MSG_CHECKING(LIBRARY)
diff --git a/meta/recipes-devtools/python/python-native/nohostlibs.patch b/meta/recipes-devtools/python/python-native/nohostlibs.patch
index aed45c9..09c3fb8 100644
--- a/meta/recipes-devtools/python/python-native/nohostlibs.patch
+++ b/meta/recipes-devtools/python/python-native/nohostlibs.patch
@@ -1,10 +1,14 @@ 
 Upstream-Status: Inappropriate [embedded specific]
 
-Index: Python-2.6.6/setup.py
+2011/09/29
+rebased for python-2.7.2
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: Python-2.7.2/setup.py
 ===================================================================
---- Python-2.6.6.orig/setup.py
-+++ Python-2.6.6/setup.py
-@@ -356,8 +356,8 @@ class PyBuildExt(build_ext):
+--- Python-2.7.2.orig/setup.py
++++ Python-2.7.2/setup.py
+@@ -369,8 +369,8 @@ class PyBuildExt(build_ext):
  
      def detect_modules(self):
          # Ensure that /usr/local is always used
@@ -12,16 +16,22 @@  Index: Python-2.6.6/setup.py
 -        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
 +        #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
 +        #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+         self.add_multiarch_paths()
  
          # Add paths specified in the environment variables LDFLAGS and
-         # CPPFLAGS for header and library files.
-@@ -393,10 +393,10 @@ class PyBuildExt(build_ext):
+@@ -407,15 +407,15 @@ class PyBuildExt(build_ext):
                      for directory in reversed(options.dirs):
                          add_dir_to_list(dir_list, directory)
  
--        if os.path.normpath(sys.prefix) != '/usr':
+-        if os.path.normpath(sys.prefix) != '/usr' \
+-                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
++        #if os.path.normpath(sys.prefix) != '/usr' \
++                #and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
+             # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
+             # (PYTHONFRAMEWORK is set) to avoid # linking problems when
+             # building a framework with different architectures than
+             # the one that is currently installed (issue #7473)
 -            add_dir_to_list(self.compiler.library_dirs,
-+
 +        add_dir_to_list(self.compiler.library_dirs,
                              sysconfig.get_config_var("LIBDIR"))
 -            add_dir_to_list(self.compiler.include_dirs,
@@ -29,7 +39,7 @@  Index: Python-2.6.6/setup.py
                              sysconfig.get_config_var("INCLUDEDIR"))
  
          try:
-@@ -407,11 +407,8 @@ class PyBuildExt(build_ext):
+@@ -426,11 +426,8 @@ class PyBuildExt(build_ext):
          # lib_dirs and inc_dirs are used to search for files;
          # if a file is found in one of those directories, it can
          # be assumed that no additional -I,-L directives are needed.
@@ -43,13 +53,15 @@  Index: Python-2.6.6/setup.py
          exts = []
          missing = []
  
-@@ -661,8 +658,7 @@ class PyBuildExt(build_ext):
+@@ -676,9 +673,8 @@ class PyBuildExt(build_ext):
                  pass # Issue 7384: Already linked against curses or tinfo.
              elif curses_library:
                  readline_libs.append(curses_library)
 -            elif self.compiler.find_library_file(lib_dirs +
--                                               ['/usr/lib/termcap'],
+-                                                     ['/usr/lib/termcap'],
+-                                                     'termcap'):
 +            elif self.compiler.find_library_file(lib_dirs,
-                                                'termcap'):
++                                                     'termcap'):
                  readline_libs.append('termcap')
              exts.append( Extension('readline', ['readline.c'],
+                                    library_dirs=['/usr/lib/termcap'],
diff --git a/meta/recipes-devtools/python/python-native_2.6.6.bb b/meta/recipes-devtools/python/python-native_2.7.2.bb
similarity index 74%
rename from meta/recipes-devtools/python/python-native_2.6.6.bb
rename to meta/recipes-devtools/python/python-native_2.7.2.bb
index e0a4fb3..6b90d5b 100644
--- a/meta/recipes-devtools/python/python-native_2.6.6.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.2.bb
@@ -1,11 +1,8 @@ 
 require python.inc
 DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native"
-PR = "${INC_PR}.4"
+PR = "${INC_PR}.0"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6"
-
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
-           file://04-default-is-optimized.patch \
+SRC_URI += "file://04-default-is-optimized.patch \
            file://05-enable-ctypes-cross-build.patch \
            file://06-ctypes-libffi-fix-configure.patch \
            file://10-distutils-fix-swig-parameter.patch \
@@ -13,12 +10,10 @@  SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://debug.patch \
            file://unixccompiler.patch \
-           file://nohostlibs.patch"
+           file://nohostlibs.patch \
+           file://multilib.patch "
 S = "${WORKDIR}/Python-${PV}"
 
-SRC_URI[md5sum] = "cf4e6881bb84a7ce6089e4a307f71f14"
-SRC_URI[sha256sum] = "134c5e0736bae2e5570d0b915693374f11108ded63c35a23a35d282737d2ce83"
-
 inherit native
 
 EXTRA_OEMAKE = '\
diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc
index a6cc917..e822c12 100644
--- a/meta/recipes-devtools/python/python.inc
+++ b/meta/recipes-devtools/python/python.inc
@@ -1,13 +1,19 @@ 
 DESCRIPTION = "The Python Programming Language"
 HOMEPAGE = "http://www.python.org"
-LICENSE = "PSF"
+LICENSE = "PSFv2"
 SECTION = "devel/python"
-# bump this on every change in contrib/python/generate-manifest-2.6.py
-INC_PR = "r2"
+# bump this on every change in contrib/python/generate-manifest-2.7.py
+INC_PR = "r0"
 
-DEFAULT_PREFERENCE = "-26"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2dffb81509b47974467ea23409909b1c"
 
-PYTHON_MAJMIN = "2.6"
+SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2"
+ 
+SRC_URI[md5sum] = "ba7b2f11ffdbf195ee0d111b9455a5bd"
+SRC_URI[sha256sum] = "5057eb067eb5b5a6040dbd0e889e06550bde9ec041dadaa855ee9490034cbdab"
+DEFAULT_PREFERENCE = "-27"
+
+PYTHON_MAJMIN = "2.7"
 
 inherit autotools
 
diff --git a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
index 6c769ac..1dbce00 100644
--- a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
+++ b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
@@ -4,11 +4,15 @@  Upstream-Status: Inappropriate [embedded specific]
 # built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN.
 # Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
 
-Index: Python-2.6.6/Makefile.pre.in
+2011/09/29
+Rebased for python 2.7.2
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: Python-2.7.2/Makefile.pre.in
 ===================================================================
---- Python-2.6.6.orig/Makefile.pre.in
-+++ Python-2.6.6/Makefile.pre.in
-@@ -175,6 +175,7 @@ UNICODE_OBJS=   @UNICODE_OBJS@
+--- Python-2.7.2.orig/Makefile.pre.in
++++ Python-2.7.2/Makefile.pre.in
+@@ -182,6 +182,7 @@ UNICODE_OBJS=   @UNICODE_OBJS@
  
  PYTHON=		python$(EXE)
  BUILDPYTHON=	python$(BUILDEXE)
@@ -16,7 +20,7 @@  Index: Python-2.6.6/Makefile.pre.in
  
  # The task to run while instrument when building the profile-opt target
  PROFILE_TASK=	$(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
-@@ -205,7 +206,7 @@ GRAMMAR_INPUT=	$(srcdir)/Grammar/Grammar
+@@ -214,7 +215,7 @@ LIBFFI_INCLUDEDIR=	@LIBFFI_INCLUDEDIR@
  ##########################################################################
  # Parser
  PGEN=		Parser/pgen$(EXE)
@@ -25,39 +29,57 @@  Index: Python-2.6.6/Makefile.pre.in
  POBJS=		\
  		Parser/acceler.o \
  		Parser/grammar1.o \
-@@ -394,8 +395,8 @@ platform: $(BUILDPYTHON)
+@@ -383,7 +384,7 @@ build_all_generate_profile:
+ 	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
+ 
+ run_profile_task:
+-	./$(BUILDPYTHON) $(PROFILE_TASK)
++	$(HOSTPYTHON) $(PROFILE_TASK)
+ 
+ build_all_use_profile:
+ 	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
+@@ -401,14 +402,14 @@ $(BUILDPYTHON):	Modules/python.o $(LIBRA
+ 			$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+ platform: $(BUILDPYTHON)
+-	$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
++	$(RUNSHARED) $(HOSTPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
+ 
+ 
  # Build the shared modules
  sharedmods: $(BUILDPYTHON)
  	@case $$MAKEFLAGS in \
--	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
--	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
-+	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
-+	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
+-	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
+-	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
++	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
++	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
  	esac
  
  # Build static library
-@@ -517,7 +518,7 @@ Modules/python.o: $(srcdir)/Modules/pyth
- 
- $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+@@ -542,7 +543,7 @@ Modules/python.o: $(srcdir)/Modules/pyth
+ $(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
+ Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
  		-@$(INSTALL) -d Include
--		-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-+		-$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+-		$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++		$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ 		-touch Parser/pgen.stamp
  
  $(PGEN):	$(PGENOBJS)
- 		$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-@@ -887,23 +888,23 @@ libinstall:	build_all $(srcdir)/Lib/$(PL
+@@ -926,25 +927,25 @@ libinstall:	build_all $(srcdir)/Lib/$(PL
  	done
  	$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
  	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
 -		./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
 +		$(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
  		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+ 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ 		$(DESTDIR)$(LIBDEST)
  	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
 -		./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
 +		$(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
  		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+ 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ 		$(DESTDIR)$(LIBDEST)
  	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
 -		./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
 +		$(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
@@ -74,20 +96,56 @@  Index: Python-2.6.6/Makefile.pre.in
  
  # Create the PLATDIR source directory, if one wasn't distributed..
  $(srcdir)/Lib/$(PLATDIR):
-@@ -1001,7 +1002,7 @@ libainstall:	all
+@@ -1049,7 +1050,7 @@ libainstall:	all python-config
  # Install the dynamically loadable modules
  # This goes into $(exec_prefix)
- sharedinstall:
+ sharedinstall: sharedmods
 -	$(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
 +	$(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
  	   	--prefix=$(prefix) \
  		--install-scripts=$(BINDIR) \
  		--install-platlib=$(DESTSHARED) \
-Index: Python-2.6.6/setup.py
+@@ -1087,7 +1088,7 @@ frameworkinstallstructure:	$(LDLIBRARY)
+ 		fi; \
+ 	done
+ 	$(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
+-	sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
++	sed 's/%VERSION%/'"`$(RUNSHARED) $(HOSTPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
+ 	$(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
+ 	$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
+ 	$(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
+@@ -1122,7 +1123,7 @@ frameworkinstallextras:
+ # This installs a few of the useful scripts in Tools/scripts
+ scriptsinstall:
+ 	SRCDIR=$(srcdir) $(RUNSHARED) \
+-	./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
++	$(HOSTPYTHON) $(srcdir)/Tools/scripts/setup.py install \
+ 	--prefix=$(prefix) \
+ 	--install-scripts=$(BINDIR) \
+ 	--root=$(DESTDIR)/
+@@ -1144,7 +1145,7 @@ config.status:	$(srcdir)/configure
+ 
+ # Run reindent on the library
+ reindent:
+-	./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
++	$(HOSTPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
+ 
+ # Rerun configure with the same options as it was run last time,
+ # provided the config.status script exists
+@@ -1247,7 +1248,7 @@ funny:
+ 
+ # Perform some verification checks on any modified files.
+ patchcheck:
+-	$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
++	$(RUNSHARED) $(HOSTPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
+ 
+ # Dependencies
+ 
+Index: Python-2.7.2/setup.py
 ===================================================================
---- Python-2.6.6.orig/setup.py
-+++ Python-2.6.6/setup.py
-@@ -322,6 +322,7 @@ class PyBuildExt(build_ext):
+--- Python-2.7.2.orig/setup.py
++++ Python-2.7.2/setup.py
+@@ -313,6 +313,7 @@ class PyBuildExt(build_ext):
              self.failed.append(ext.name)
              self.announce('*** WARNING: renaming "%s" since importing it'
                            ' failed: %s' % (ext.name, why), level=3)
@@ -95,18 +153,18 @@  Index: Python-2.6.6/setup.py
              assert not self.inplace
              basename, tail = os.path.splitext(ext_filename)
              newname = basename + "_failed" + tail
-@@ -356,8 +357,8 @@ class PyBuildExt(build_ext):
+@@ -369,8 +370,8 @@ class PyBuildExt(build_ext):
  
      def detect_modules(self):
          # Ensure that /usr/local is always used
 -        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
 -        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+        # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+        # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++        #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
++        #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+         self.add_multiarch_paths()
  
          # Add paths specified in the environment variables LDFLAGS and
-         # CPPFLAGS for header and library files.
-@@ -456,6 +457,9 @@ class PyBuildExt(build_ext):
+@@ -475,6 +476,9 @@ class PyBuildExt(build_ext):
  
          # XXX Omitted modules: gl, pure, dl, SGI-specific modules
  
diff --git a/meta/recipes-devtools/python/python/02-remove-test-for-cross.patch b/meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
deleted file mode 100644
index 9b164d5..0000000
--- a/meta/recipes-devtools/python/python/02-remove-test-for-cross.patch
+++ /dev/null
@@ -1,108 +0,0 @@ 
-Upstream-Status: Inappropriate [embedded specific]
-
-# OpenEmbedded prepopulates the autotools site cache, so if this
-# would be using AC_TRY_CACHE, we could patch it in a more sane way
-# Alas, I don't have enough autotalent to do that.
-#
-# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-Index: Python-2.6.1/configure.in
-===================================================================
---- Python-2.6.5.orig/configure.in	2010-07-06 04:37:09.000000000 -0700
-+++ Python-2.6.5/configure.in	2010-07-06 04:40:18.000000000 -0700
-@@ -2697,50 +2697,6 @@
-   AC_CHECK_LIB(resolv, inet_aton)
- )
- 
--# On Tru64, chflags seems to be present, but calling it will
--# exit Python
--AC_CACHE_CHECK([for chflags], [ac_cv_have_chflags], [dnl
--AC_TRY_RUN([[
--#include <sys/stat.h>
--#include <unistd.h>
--int main(int argc, char*argv[])
--{
--  if(chflags(argv[0], 0) != 0)
--    return 1;
--  return 0;
--}
--]], ac_cv_have_chflags=yes,
--   ac_cv_have_chflags=no,
--   ac_cv_have_chflags=cross)
--])
--if test "$ac_cv_have_chflags" = cross ; then
--  AC_CHECK_FUNC([chflags], [ac_cv_have_chflags="yes"], [ac_cv_have_chflags="no"])
--fi
--if test "$ac_cv_have_chflags" = yes ; then
--  AC_DEFINE(HAVE_CHFLAGS, 1, Define to 1 if you have the `chflags' function.)
--fi
--
--AC_CACHE_CHECK([for lchflags], [ac_cv_have_lchflags], [dnl
--AC_TRY_RUN([[
--#include <sys/stat.h>
--#include <unistd.h>
--int main(int argc, char*argv[])
--{
--  if(lchflags(argv[0], 0) != 0)
--    return 1;
--  return 0;
--}
--]], ac_cv_have_lchflags=yes,
--   ac_cv_have_lchflags=no,
--   ac_cv_have_lchflags=cross)
--])
--if test "$ac_cv_have_lchflags" = cross ; then
--  AC_CHECK_FUNC([lchflags], [ac_cv_have_lchflags="yes"], [ac_cv_have_lchflags="no"])
--fi
--if test "$ac_cv_have_lchflags" = yes ; then
--  AC_DEFINE(HAVE_LCHFLAGS, 1, Define to 1 if you have the `lchflags' function.)
--fi
--
- dnl Check if system zlib has *Copy() functions
- dnl
- dnl On MacOSX the linker will search for dylibs on the entire linker path
-@@ -3844,45 +3800,6 @@
-   AC_MSG_RESULT(no)
- fi
- 
--AC_MSG_CHECKING(for %zd printf() format support)
--AC_TRY_RUN([#include <stdio.h>
--#include <stddef.h>
--#include <string.h>
--
--#ifdef HAVE_SYS_TYPES_H
--#include <sys/types.h>
--#endif
--
--#ifdef HAVE_SSIZE_T
--typedef ssize_t Py_ssize_t;
--#elif SIZEOF_VOID_P == SIZEOF_LONG
--typedef long Py_ssize_t;
--#else
--typedef int Py_ssize_t;
--#endif
--
--int main()
--{
--    char buffer[256];
--
--    if(sprintf(buffer, "%zd", (size_t)123) < 0)
--       	return 1;
--
--    if (strcmp(buffer, "123"))
--	return 1;
--
--    if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
--       	return 1;
--
--    if (strcmp(buffer, "-123"))
--	return 1;
--
--    return 0;
--}],
--[AC_MSG_RESULT(yes)
-- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
-- AC_MSG_RESULT(no))
--
- AC_CHECK_TYPE(socklen_t,,
-   AC_DEFINE(socklen_t,int,
-             Define to `int' if <sys/socket.h> does not define.),[
diff --git a/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch b/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch
index b39b22f..d6c9652 100644
--- a/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch
+++ b/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch
@@ -9,18 +9,22 @@  This Patch fixes this issue in the python build environment.
 11 Oct 2010
 Nitin A Kamble <nitin.a.kamble@intel.com>
 
-Index: Python-2.6.6/setup.py
+2011/09/29
+Rebased for python 2.7.2
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: Python-2.7.2/setup.py
 ===================================================================
---- Python-2.6.6.orig/setup.py
-+++ Python-2.6.6/setup.py
-@@ -665,12 +665,10 @@ class PyBuildExt(build_ext):
+--- Python-2.7.2.orig/setup.py
++++ Python-2.7.2/setup.py
+@@ -680,12 +680,10 @@ class PyBuildExt(build_ext):
                  pass # Issue 7384: Already linked against curses or tinfo.
              elif curses_library:
                  readline_libs.append(curses_library)
 -            elif self.compiler.find_library_file(lib_dirs +
--                                               ['/usr/lib/termcap'],
+-                                                     ['/usr/lib/termcap'],
 +            elif self.compiler.find_library_file(lib_dirs,
-                                                'termcap'):
+                                                      'termcap'):
                  readline_libs.append('termcap')
              exts.append( Extension('readline', ['readline.c'],
 -                                   library_dirs=['/usr/lib/termcap'],
diff --git a/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch b/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch
index 8de5694..abd63d2 100644
--- a/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch
+++ b/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch
@@ -14,29 +14,16 @@  Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
 
-diff -pruN Python-2.6.4.orig//Modules/_ctypes/libffi/configure.ac Python-2.6.4/Modules/_ctypes/libffi/configure.ac
---- Python-2.6.4.orig//Modules/_ctypes/libffi/configure.ac      2009-04-28 22:01:18.000000000 +0200
-+++ Python-2.6.4/Modules/_ctypes/libffi/configure.ac    2010-04-20 22:46:02.000000000 +0200
-@@ -23,6 +23,7 @@ AM_INIT_AUTOMAKE
- m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
- m4_define([_AC_ARG_VAR_PRECIOUS],[])
- AC_PROG_CC
-+m4_undefine([_AC_ARG_VAR_PRECIOUS])
- m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
- 
- AC_SUBST(CFLAGS)
-@@ -366,7 +367,7 @@ test -d src/$TARGETDIR || mkdir src/$TAR
- 
- AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
- 
--AC_CONFIG_FILES(include/ffi.h)
-+AC_CONFIG_FILES(include/ffi.h include/Makefile Makefile)
- 
- AC_CONFIG_LINKS(include/ffi_common.h:include/ffi_common.h)
- 
-diff -pruN Python-2.6.4.orig//Modules/_ctypes/libffi/Makefile.am Python-2.6.4/Modules/_ctypes/libffi/Makefile.am
---- Python-2.6.4.orig//Modules/_ctypes/libffi/Makefile.am       2008-03-04 21:09:11.000000000 +0100
-+++ Python-2.6.4/Modules/_ctypes/libffi/Makefile.am     2010-04-20 22:54:03.000000000 +0200
+
+2011/09/29
+Rebased for python 2.7.2
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+
+Index: Python-2.7.2/Modules/_ctypes/libffi/Makefile.am
+===================================================================
+--- Python-2.7.2.orig/Modules/_ctypes/libffi/Makefile.am
++++ Python-2.7.2/Modules/_ctypes/libffi/Makefile.am
 @@ -2,7 +2,7 @@
  
  AUTOMAKE_OPTIONS = foreign subdir-objects
@@ -45,14 +32,13 @@  diff -pruN Python-2.6.4.orig//Modules/_ctypes/libffi/Makefile.am Python-2.6.4/Mo
 +SUBDIRS = include
  
  EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-        src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-@@ -32,8 +32,6 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
-        src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-        libtool-version ChangeLog.libffi
+ 	src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+@@ -34,8 +34,6 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+ 	libtool-version ChangeLog.libffi m4/libtool.m4 \
+ 	m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
  
 -info_TEXINFOS = doc/libffi.texi
 -
  ## ################################################################
  
  ##
-
diff --git a/meta/recipes-devtools/python/python/multilib.patch b/meta/recipes-devtools/python/python/multilib.patch
index 33a3341..babff12 100644
--- a/meta/recipes-devtools/python/python/multilib.patch
+++ b/meta/recipes-devtools/python/python/multilib.patch
@@ -10,10 +10,14 @@  Date:   Tue Jun 28 21:21:29 2011 +0800
     
     Picked-by: Yu Ke <ke.yu@intel.com>
 
-Index: Python-2.6.6/Include/pythonrun.h
+2011/09/29
+Rebased for python 2.7.2
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: Python-2.7.2/Include/pythonrun.h
 ===================================================================
---- Python-2.6.6.orig/Include/pythonrun.h
-+++ Python-2.6.6/Include/pythonrun.h
+--- Python-2.7.2.orig/Include/pythonrun.h
++++ Python-2.7.2/Include/pythonrun.h
 @@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void);
  /* In their own files */
  PyAPI_FUNC(const char *) Py_GetVersion(void);
@@ -22,10 +26,10 @@  Index: Python-2.6.6/Include/pythonrun.h
  PyAPI_FUNC(const char *) Py_GetCopyright(void);
  PyAPI_FUNC(const char *) Py_GetCompiler(void);
  PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
-Index: Python-2.6.6/Lib/distutils/command/install.py
+Index: Python-2.7.2/Lib/distutils/command/install.py
 ===================================================================
---- Python-2.6.6.orig/Lib/distutils/command/install.py
-+++ Python-2.6.6/Lib/distutils/command/install.py
+--- Python-2.7.2.orig/Lib/distutils/command/install.py
++++ Python-2.7.2/Lib/distutils/command/install.py
 @@ -22,6 +22,8 @@ from site import USER_BASE
  from site import USER_SITE
  
@@ -44,11 +48,11 @@  Index: Python-2.6.6/Lib/distutils/command/install.py
          'headers': '$base/include/python$py_version_short/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
-Index: Python-2.6.6/Lib/distutils/sysconfig.py
+Index: Python-2.7.2/Lib/distutils/sysconfig.py
 ===================================================================
---- Python-2.6.6.orig/Lib/distutils/sysconfig.py
-+++ Python-2.6.6/Lib/distutils/sysconfig.py
-@@ -119,8 +119,11 @@ def get_python_lib(plat_specific=0, stan
+--- Python-2.7.2.orig/Lib/distutils/sysconfig.py
++++ Python-2.7.2/Lib/distutils/sysconfig.py
+@@ -114,8 +114,11 @@ def get_python_lib(plat_specific=0, stan
          prefix = plat_specific and EXEC_PREFIX or PREFIX
  
      if os.name == "posix":
@@ -62,11 +66,11 @@  Index: Python-2.6.6/Lib/distutils/sysconfig.py
          if standard_lib:
              return libpython
          else:
-Index: Python-2.6.6/Lib/pydoc.py
+Index: Python-2.7.2/Lib/pydoc.py
 ===================================================================
---- Python-2.6.6.orig/Lib/pydoc.py
-+++ Python-2.6.6/Lib/pydoc.py
-@@ -349,7 +349,7 @@ class Doc:
+--- Python-2.7.2.orig/Lib/pydoc.py
++++ Python-2.7.2/Lib/pydoc.py
+@@ -352,7 +352,7 @@ class Doc:
  
          docloc = os.environ.get("PYTHONDOCS",
                                  "http://docs.python.org/library")
@@ -75,40 +79,40 @@  Index: Python-2.6.6/Lib/pydoc.py
                                 "python"+sys.version[0:3])
          if (isinstance(object, type(os)) and
              (object.__name__ in ('errno', 'exceptions', 'gc', 'imp',
-Index: Python-2.6.6/Lib/site.py
+Index: Python-2.7.2/Lib/site.py
 ===================================================================
---- Python-2.6.6.orig/Lib/site.py
-+++ Python-2.6.6/Lib/site.py
-@@ -265,13 +265,19 @@ def addsitepackages(known_paths):
+--- Python-2.7.2.orig/Lib/site.py
++++ Python-2.7.2/Lib/site.py
+@@ -300,13 +300,19 @@ def getsitepackages():
          if sys.platform in ('os2emx', 'riscos'):
-             sitedirs.append(os.path.join(prefix, "Lib", "site-packages"))
+             sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
          elif os.sep == '/':
--            sitedirs.append(os.path.join(prefix, "lib",
-+            sitedirs.append(os.path.join(prefix, sys.lib,
+-            sitepackages.append(os.path.join(prefix, "lib",
++            sitepackages.append(os.path.join(prefix, sys.lib,
                                          "python" + sys.version[:3],
                                          "site-packages"))
--            sitedirs.append(os.path.join(prefix, "lib", "site-python"))
+-            sitepackages.append(os.path.join(prefix, "lib", "site-python"))
 +            if sys.lib != "lib":
-+                sitedirs.append(os.path.join(prefix, "lib",
++                sitepackages.append(os.path.join(prefix, "lib",
 +                                        "python" + sys.version[:3],
 +                                        "site-packages"))
-+            sitedirs.append(os.path.join(prefix, sys.lib, "site-python"))
++            sitepackages.append(os.path.join(prefix, sys.lib, "site-python"))
 +            if sys.lib != "lib":
-+                sitedirs.append(os.path.join(prefix, "lib", "site-python"))
++                sitepackages.append(os.path.join(prefix, "lib", "site-python"))
          else:
-             sitedirs.append(prefix)
--            sitedirs.append(os.path.join(prefix, "lib", "site-packages"))
-+            sitedirs.append(os.path.join(prefix, sys.lib, "site-packages"))
- 
+             sitepackages.append(prefix)
+-            sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
++            sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
          if sys.platform == "darwin":
              # for framework builds *only* we add the standard Apple
-Index: Python-2.6.6/Lib/test/test_dl.py
+             # locations.
+Index: Python-2.7.2/Lib/test/test_dl.py
 ===================================================================
---- Python-2.6.6.orig/Lib/test/test_dl.py
-+++ Python-2.6.6/Lib/test/test_dl.py
-@@ -4,10 +4,11 @@
- """
- from test.test_support import verbose,TestSkipped, import_module
+--- Python-2.7.2.orig/Lib/test/test_dl.py
++++ Python-2.7.2/Lib/test/test_dl.py
+@@ -5,10 +5,11 @@
+ import unittest
+ from test.test_support import verbose, import_module
  dl = import_module('dl', deprecated=True)
 +import sys
  
@@ -120,11 +124,11 @@  Index: Python-2.6.6/Lib/test/test_dl.py
      ('/usr/bin/cygwin1.dll', 'getpid'),
      ('/usr/lib/libc.dylib', 'getpid'),
      ]
-Index: Python-2.6.6/Lib/trace.py
+Index: Python-2.7.2/Lib/trace.py
 ===================================================================
---- Python-2.6.6.orig/Lib/trace.py
-+++ Python-2.6.6/Lib/trace.py
-@@ -759,10 +759,10 @@ def main(argv=None):
+--- Python-2.7.2.orig/Lib/trace.py
++++ Python-2.7.2/Lib/trace.py
+@@ -762,10 +762,10 @@ def main(argv=None):
                  # should I also call expanduser? (after all, could use $HOME)
  
                  s = s.replace("$prefix",
@@ -137,11 +141,11 @@  Index: Python-2.6.6/Lib/trace.py
                                             "python" + sys.version[:3]))
                  s = os.path.normpath(s)
                  ignore_dirs.append(s)
-Index: Python-2.6.6/Makefile.pre.in
+Index: Python-2.7.2/Makefile.pre.in
 ===================================================================
---- Python-2.6.6.orig/Makefile.pre.in
-+++ Python-2.6.6/Makefile.pre.in
-@@ -75,6 +75,7 @@ PY_CFLAGS=	$(CFLAGS) $(CPPFLAGS) $(CFLAG
+--- Python-2.7.2.orig/Makefile.pre.in
++++ Python-2.7.2/Makefile.pre.in
+@@ -81,6 +81,7 @@ PY_CFLAGS=	$(CFLAGS) $(CPPFLAGS) $(CFLAG
  
  # Machine-dependent subdirectories
  MACHDEP=	@MACHDEP@
@@ -149,7 +153,7 @@  Index: Python-2.6.6/Makefile.pre.in
  
  # Install prefix for architecture-independent files
  prefix=		@prefix@
-@@ -91,7 +92,7 @@ LIBDIR=		@libdir@
+@@ -97,7 +98,7 @@ LIBDIR=		@libdir@
  MANDIR=		@mandir@
  INCLUDEDIR=	@includedir@
  CONFINCLUDEDIR=	$(exec_prefix)/include
@@ -158,7 +162,7 @@  Index: Python-2.6.6/Makefile.pre.in
  
  # Detailed destination directories
  BINLIBDEST=	$(LIBDIR)/python$(VERSION)
-@@ -509,6 +510,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
+@@ -533,6 +534,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
  		-DEXEC_PREFIX='"$(exec_prefix)"' \
  		-DVERSION='"$(VERSION)"' \
  		-DVPATH='"$(VPATH)"' \
@@ -166,8 +170,8 @@  Index: Python-2.6.6/Makefile.pre.in
  		-o $@ $(srcdir)/Modules/getpath.c
  
  Modules/python.o: $(srcdir)/Modules/python.c
-@@ -540,7 +542,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
- Python/compile.o Python/symtable.o: $(GRAMMAR_H) $(AST_H)
+@@ -567,7 +569,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
+ Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H)
  
  Python/getplatform.o: $(srcdir)/Python/getplatform.c
 -		$(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
@@ -175,10 +179,10 @@  Index: Python-2.6.6/Makefile.pre.in
  
  Python/importdl.o: $(srcdir)/Python/importdl.c
  		$(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-Index: Python-2.6.6/Modules/getpath.c
+Index: Python-2.7.2/Modules/getpath.c
 ===================================================================
---- Python-2.6.6.orig/Modules/getpath.c
-+++ Python-2.6.6/Modules/getpath.c
+--- Python-2.7.2.orig/Modules/getpath.c
++++ Python-2.7.2/Modules/getpath.c
 @@ -116,9 +116,11 @@
  #define EXEC_PREFIX PREFIX
  #endif
@@ -202,10 +206,10 @@  Index: Python-2.6.6/Modules/getpath.c
  
  static void
  reduce(char *dir)
-Index: Python-2.6.6/Python/getplatform.c
+Index: Python-2.7.2/Python/getplatform.c
 ===================================================================
---- Python-2.6.6.orig/Python/getplatform.c
-+++ Python-2.6.6/Python/getplatform.c
+--- Python-2.7.2.orig/Python/getplatform.c
++++ Python-2.7.2/Python/getplatform.c
 @@ -10,3 +10,13 @@ Py_GetPlatform(void)
  {
  	return PLATFORM;
@@ -220,11 +224,11 @@  Index: Python-2.6.6/Python/getplatform.c
 +{
 +	return LIB;
 +}
-Index: Python-2.6.6/Python/sysmodule.c
+Index: Python-2.7.2/Python/sysmodule.c
 ===================================================================
---- Python-2.6.6.orig/Python/sysmodule.c
-+++ Python-2.6.6/Python/sysmodule.c
-@@ -1379,6 +1379,8 @@ _PySys_Init(void)
+--- Python-2.7.2.orig/Python/sysmodule.c
++++ Python-2.7.2/Python/sysmodule.c
+@@ -1416,6 +1416,8 @@ _PySys_Init(void)
                          PyString_FromString(Py_GetCopyright()));
      SET_SYS_FROM_STRING("platform",
                          PyString_FromString(Py_GetPlatform()));
@@ -233,11 +237,11 @@  Index: Python-2.6.6/Python/sysmodule.c
      SET_SYS_FROM_STRING("executable",
                          PyString_FromString(Py_GetProgramFullPath()));
      SET_SYS_FROM_STRING("prefix",
-Index: Python-2.6.6/configure.in
+Index: Python-2.7.2/configure.in
 ===================================================================
---- Python-2.6.6.orig/configure.in
-+++ Python-2.6.6/configure.in
-@@ -613,6 +613,10 @@ SunOS*)
+--- Python-2.7.2.orig/configure.in
++++ Python-2.7.2/configure.in
+@@ -629,6 +629,10 @@ SunOS*)
      ;;
  esac
  
diff --git a/meta/recipes-devtools/python/python/security_issue_2254_fix.patch b/meta/recipes-devtools/python/python/security_issue_2254_fix.patch
deleted file mode 100644
index f032858..0000000
--- a/meta/recipes-devtools/python/python/security_issue_2254_fix.patch
+++ /dev/null
@@ -1,184 +0,0 @@ 
-Upstream-Status: Backport
-http://svn.python.org/view?view=revision&revision=71303
-
-Issue #2254: Fix CGIHTTPServer information disclosure.  Relative paths are
-  now collapsed within the url properly before looking in cgi_directories.
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 
-2011/07/19
-
-Index: Python-2.6.6/Lib/CGIHTTPServer.py
-===================================================================
---- Python-2.6.6.orig/Lib/CGIHTTPServer.py
-+++ Python-2.6.6/Lib/CGIHTTPServer.py
-@@ -70,27 +70,20 @@ class CGIHTTPRequestHandler(SimpleHTTPSe
-             return SimpleHTTPServer.SimpleHTTPRequestHandler.send_head(self)
- 
-     def is_cgi(self):
--        """Test whether self.path corresponds to a CGI script,
--        and return a boolean.
-+        """Test whether self.path corresponds to a CGI script.
- 
--        This function sets self.cgi_info to a tuple (dir, rest)
--        when it returns True, where dir is the directory part before
--        the CGI script name.  Note that rest begins with a
--        slash if it is not empty.
--
--        The default implementation tests whether the path
--        begins with one of the strings in the list
--        self.cgi_directories (and the next character is a '/'
--        or the end of the string).
-+        Returns True and updates the cgi_info attribute to the tuple
-+        (dir, rest) if self.path requires running a CGI script.
-+        Returns False otherwise.
-+
-+        The default implementation tests whether the normalized url
-+        path begins with one of the strings in self.cgi_directories
-+        (and the next character is a '/' or the end of the string).
-         """
--
--        path = self.path
--
--        for x in self.cgi_directories:
--            i = len(x)
--            if path[:i] == x and (not path[i:] or path[i] == '/'):
--                self.cgi_info = path[:i], path[i+1:]
--                return True
-+        splitpath = _url_collapse_path_split(self.path)
-+        if splitpath[0] in self.cgi_directories:
-+            self.cgi_info = splitpath
-+            return True
-         return False
- 
-     cgi_directories = ['/cgi-bin', '/htbin']
-@@ -299,6 +292,46 @@ class CGIHTTPRequestHandler(SimpleHTTPSe
-                 self.log_message("CGI script exited OK")
- 
- 
-+# TODO(gregory.p.smith): Move this into an appropriate library.
-+def _url_collapse_path_split(path):
-+    """
-+    Given a URL path, remove extra '/'s and '.' path elements and collapse
-+    any '..' references.
-+
-+    Implements something akin to RFC-2396 5.2 step 6 to parse relative paths.
-+
-+    Returns: A tuple of (head, tail) where tail is everything after the final /
-+    and head is everything before it.  Head will always start with a '/' and,
-+    if it contains anything else, never have a trailing '/'.
-+
-+    Raises: IndexError if too many '..' occur within the path.
-+    """
-+    # Similar to os.path.split(os.path.normpath(path)) but specific to URL
-+    # path semantics rather than local operating system semantics.
-+    path_parts = []
-+    for part in path.split('/'):
-+        if part == '.':
-+            path_parts.append('')
-+        else:
-+            path_parts.append(part)
-+    # Filter out blank non trailing parts before consuming the '..'.
-+    path_parts = [part for part in path_parts[:-1] if part] + path_parts[-1:]
-+    if path_parts:
-+        tail_part = path_parts.pop()
-+    else:
-+        tail_part = ''
-+    head_parts = []
-+    for part in path_parts:
-+        if part == '..':
-+            head_parts.pop()
-+        else:
-+            head_parts.append(part)
-+    if tail_part and tail_part == '..':
-+        head_parts.pop()
-+        tail_part = ''
-+    return ('/' + '/'.join(head_parts), tail_part)
-+
-+
- nobody = None
- 
- def nobody_uid():
-Index: Python-2.6.6/Lib/test/test_httpservers.py
-===================================================================
---- Python-2.6.6.orig/Lib/test/test_httpservers.py
-+++ Python-2.6.6/Lib/test/test_httpservers.py
-@@ -7,6 +7,7 @@ Josip Dzolonga, and Michael Otteneder fo
- from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
- from SimpleHTTPServer import SimpleHTTPRequestHandler
- from CGIHTTPServer import CGIHTTPRequestHandler
-+import CGIHTTPServer
- 
- import os
- import sys
-@@ -324,6 +325,45 @@ class CGIHTTPServerTestCase(BaseTestCase
-         finally:
-             BaseTestCase.tearDown(self)
- 
-+    def test_url_collapse_path_split(self):
-+        test_vectors = {
-+            '': ('/', ''),
-+            '..': IndexError,
-+            '/.//..': IndexError,
-+            '/': ('/', ''),
-+            '//': ('/', ''),
-+            '/\\': ('/', '\\'),
-+            '/.//': ('/', ''),
-+            'cgi-bin/file1.py': ('/cgi-bin', 'file1.py'),
-+            '/cgi-bin/file1.py': ('/cgi-bin', 'file1.py'),
-+            'a': ('/', 'a'),
-+            '/a': ('/', 'a'),
-+            '//a': ('/', 'a'),
-+            './a': ('/', 'a'),
-+            './C:/': ('/C:', ''),
-+            '/a/b': ('/a', 'b'),
-+            '/a/b/': ('/a/b', ''),
-+            '/a/b/c/..': ('/a/b', ''),
-+            '/a/b/c/../d': ('/a/b', 'd'),
-+            '/a/b/c/../d/e/../f': ('/a/b/d', 'f'),
-+            '/a/b/c/../d/e/../../f': ('/a/b', 'f'),
-+            '/a/b/c/../d/e/.././././..//f': ('/a/b', 'f'),
-+            '../a/b/c/../d/e/.././././..//f': IndexError,
-+            '/a/b/c/../d/e/../../../f': ('/a', 'f'),
-+            '/a/b/c/../d/e/../../../../f': ('/', 'f'),
-+            '/a/b/c/../d/e/../../../../../f': IndexError,
-+            '/a/b/c/../d/e/../../../../f/..': ('/', ''),
-+        }
-+        for path, expected in test_vectors.iteritems():
-+            if isinstance(expected, type) and issubclass(expected, Exception):
-+                self.assertRaises(expected,
-+                                  CGIHTTPServer._url_collapse_path_split, path)
-+            else:
-+                actual = CGIHTTPServer._url_collapse_path_split(path)
-+                self.assertEquals(expected, actual,
-+                                  msg='path = %r\nGot:    %r\nWanted: %r' % (
-+                                  path, actual, expected))
-+
-     def test_headers_and_content(self):
-         res = self.request('/cgi-bin/file1.py')
-         self.assertEquals(('Hello World\n', 'text/html', 200), \
-@@ -348,6 +388,12 @@ class CGIHTTPServerTestCase(BaseTestCase
-         self.assertEquals(('Hello World\n', 'text/html', 200), \
-              (res.read(), res.getheader('Content-type'), res.status))
- 
-+    def test_no_leading_slash(self):
-+        # http://bugs.python.org/issue2254
-+        res = self.request('cgi-bin/file1.py')
-+        self.assertEquals(('Hello World\n', 'text/html', 200),
-+             (res.read(), res.getheader('Content-type'), res.status))
-+
- 
- def test_main(verbose=None):
-     cwd = os.getcwd()
-Index: Python-2.6.6/Misc/NEWS
-===================================================================
---- Python-2.6.6.orig/Misc/NEWS
-+++ Python-2.6.6/Misc/NEWS
-@@ -137,6 +137,9 @@ C-API
- Library
- -------
- 
-+- Issue #2254: Fix CGIHTTPServer information disclosure.  Relative paths are
-+  now collapsed within the url properly before looking in cgi_directories.
-+
- - Issue #8447: Make distutils.sysconfig follow symlinks in the path to
-   the interpreter executable.  This fixes a failure of test_httpservers
-   on OS X.
diff --git a/meta/recipes-devtools/python/python_2.6.6.bb b/meta/recipes-devtools/python/python_2.7.2.bb
similarity index 92%
rename from meta/recipes-devtools/python/python_2.6.6.bb
rename to meta/recipes-devtools/python/python_2.7.2.bb
index 77c0ff4..af14adb 100644
--- a/meta/recipes-devtools/python/python_2.6.6.bb
+++ b/meta/recipes-devtools/python/python_2.7.2.bb
@@ -1,15 +1,12 @@ 
 require python.inc
 DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
 DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
-PR = "${INC_PR}.11"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6"
+PR = "${INC_PR}.0"
 
 DISTRO_SRC_URI ?= "file://sitecustomize.py"
 DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI = "\
-  http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
+SRC_URI += "\
   file://01-use-proper-tools-for-cross-build.patch \
-  file://02-remove-test-for-cross.patch \
   file://03-fix-tkinter-detection.patch \
   file://04-default-is-optimized.patch \
   file://05-enable-ctypes-cross-build.patch \
@@ -19,13 +16,10 @@  SRC_URI = "\
   file://99-ignore-optimization-flag.patch \
   ${DISTRO_SRC_URI} \
   file://multilib.patch \
-  file://security_issue_2254_fix.patch \
   file://cgi_py.patch \
   file://remove_sqlite_rpath.patch \
 "
 
-SRC_URI[md5sum] = "cf4e6881bb84a7ce6089e4a307f71f14"
-SRC_URI[sha256sum] = "134c5e0736bae2e5570d0b915693374f11108ded63c35a23a35d282737d2ce83"
 S = "${WORKDIR}/Python-${PV}"
 
 inherit autotools
diff --git a/meta/site/arm-common b/meta/site/arm-common
index d5a55b6..35ff7d5 100644
--- a/meta/site/arm-common
+++ b/meta/site/arm-common
@@ -182,3 +182,6 @@  jm_cv_func_working_readdir=yes
 
 # eds-dbus
 ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}
+
+# python
+ac_cv_have_long_long_format=yes
diff --git a/meta/site/mips-common b/meta/site/mips-common
index df8da05..4dd8bf0 100644
--- a/meta/site/mips-common
+++ b/meta/site/mips-common
@@ -40,3 +40,6 @@  glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
 
 # slrn
 slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+
+#python
+ac_cv_have_long_long_format=yes