Merge lp://staging/~peter-pearse/ubuntu/natty/python2.6/prop003 into lp://staging/ubuntu/natty/python2.6

Proposed by Peter Pearse
Status: Work in progress
Proposed branch: lp://staging/~peter-pearse/ubuntu/natty/python2.6/prop003
Merge into: lp://staging/ubuntu/natty/python2.6
Diff against target: 700 lines (+470/-17) (has conflicts)
4 files modified
debian/changelog (+18/-0)
debian/patches/cross.diff (+318/-0)
debian/patches/series.in (+1/-0)
debian/rules (+133/-17)
Text conflict in debian/changelog
To merge this branch: bzr merge lp://staging/~peter-pearse/ubuntu/natty/python2.6/prop003
Reviewer Review Type Date Requested Status
Steve Langasek Needs Fixing
Review via email: mp+53601@code.staging.launchpad.net

Description of the change

SUPERSEDES https://code.launchpad.net/~peter-pearse/ubuntu/natty/python2.6/prop002
That branch has been left to preserve the review comments.

setup.py:
- Renamed the variable to indicate it's origin
- Set LDFLAGS & CFLAGS for cross builds empty, rather than setting "sysrooted" values
  Cross toolchain ASSUMED to cope with location the required headers & libraries

debian/rules
- Replaced the arm test as per review comment
- Added -fPIC for static armel builds. Otherwise the module builds fail with
  "relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC"

Makefile.pre.in
- dependencies adjusted as per review comments
- unnecessary, e.g. whitespace, changes removed.

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) wrote :

+# For armel static objects which will be linked into shared modules
+# must be built as PIC
+# Note use of CONFIG_CFLAGS to allow CFLAGS entries to be defined elsewhere
+ifeq ($(DEB_HOST_ARCH),armel)
+ CONFIG_EXTRAS_STATIC = CFLAGS="-fPIC $(CONFIG_CFLAGS)"
+endif

This is new - and rather surprising actually, as armel is not unique in having this requirement. Nor has python2.6 failed to build with the natty native toolchain. Please dig deeper to find out why this is failing.

review: Needs Fixing
Revision history for this message
Steve Langasek (vorlon) wrote :

@@ -200,17 +225,58 @@
                --enable-unicode=ucs4 \
                --with-system-expat

-ifeq ($(DEB_HOST_ARCH), avr32)
+ifeq ($(DEB_HOST_ARCH), arm avr32)
   common_configure_args += --without-ffi
 else
   common_configure_args += --with-system-ffi
 endif

@@ -342,7 +436,7 @@
 ifneq (,$(filter $(DEB_HOST_ARCH), hppa))
   TEST_EXCLUDES += test_fork1 test_multiprocessing test_socketserver test_wait3
 test_wait4 test_gdb
 endif
-ifneq (,$(filter $(DEB_HOST_ARCH), arm avr32))
+ifneq (,$(filter $(DEB_HOST_ARCH), avr32))
   TEST_EXCLUDES += test_ctypes
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), m68k avr32))

looks like 'arm' got added back in the wrong section.

review: Needs Fixing
Revision history for this message
Peter Pearse (peter-pearse) wrote :

Yes arm was in the wrong place.

The PIC error arises because the packages, as patched, is trying to build the perl dynamic modules against the static library. Altho linking static code into dynamic objects is theoretically allowed, armel static libraries are not guaranteed to be PIC. In this case they aren't so the linking fails.
I need to stop the cross build trying to do this.......

Revision history for this message
Peter Pearse (peter-pearse) wrote :

PIC error - host build skips building the modules during the static build - they are seen as uptodate

Revision history for this message
Peter Pearse (peter-pearse) wrote :

Fix is to use the correct configuration files during installation...
See https://code.launchpad.net/~peter-pearse/ubuntu/natty/python2.6/prop004.

This branch left so comments can be accessed.

68. By Peter Pearse

  * configure.in - Set buggygetaddrinfo for cross builds
  * - Add py_cv_has_zd_printf for cross builds.
  * Makefile.pre.in - Use BUILDPYTHON where applicable for cross builds.
  * setup.py - For cross builds, pass cross toolchain info in python
               environment.
  * debian/rules - Build a build host python for use during a crossbuild
                   Adjust the configuration files & make environment
                   accordingly
  * Modules/Setup.dist - Drop system paths for zlib.

Revision history for this message
Steve Langasek (vorlon) wrote :

On Tue, Mar 29, 2011 at 02:31:29PM -0000, Peter Pearse wrote:
> Fix is to use the correct configuration files during installation...
> See https://code.launchpad.net/~peter-pearse/ubuntu/natty/python2.6/prop004.

This branch is not available.

> This branch left so comments can be accessed.

You can also commit your further changes on top of the existing branch and
push to it, no need to create a separate branch and merge request each time;
that would probably be easier on your side, and it also makes it easier to
see the change history if it's viewable on a single branch.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
<email address hidden> <email address hidden>

Revision history for this message
Peter Pearse (peter-pearse) wrote :

There now

Pushed before I read your note re pushing on the same branch.

However my bzr knowledge wouldn't be good enough anyway - doko had

changed the lp:ubuntu/python2.6.....

Presumably I could have just merged his changes in, but it was easier to rebase

Peter

> -----Original Message-----
> From: <email address hidden> [mailto:<email address hidden>] On
> Behalf Of Steve Langasek
> Sent: 29 March 2011 19:49
> To: Peter Pearse
> Subject: Re: [Merge]
> lp:~peter-pearse/ubuntu/natty/python2.6/prop003 into
> lp:ubuntu/python2.6
>
> On Tue, Mar 29, 2011 at 02:31:29PM -0000, Peter Pearse wrote:
> > Fix is to use the correct configuration files during installation...
> > See
> https://code.launchpad.net/~peter-pearse/ubuntu/natty/python2.
> 6/prop004.
>
> This branch is not available.
>
> > This branch left so comments can be accessed.
>
> You can also commit your further changes on top of the
> existing branch and push to it, no need to create a separate
> branch and merge request each time; that would probably be
> easier on your side, and it also makes it easier to see the
> change history if it's viewable on a single branch.
>
> --
> Steve Langasek Give me a lever long enough
> and a Free OS
> Debian Developer to set it on, and I can
> move the world.
> Ubuntu Developer
> http://www.debian.org/
> <email address hidden>
> <email address hidden>
>
> https://code.launchpad.net/~peter-pearse/ubuntu/natty/python2.
> 6/prop003/+merge/53601
> You are the owner of lp:~peter-pearse/ubuntu/natty/python2.6/prop003.
>
>

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Unmerged revisions

68. By Peter Pearse

  * configure.in - Set buggygetaddrinfo for cross builds
  * - Add py_cv_has_zd_printf for cross builds.
  * Makefile.pre.in - Use BUILDPYTHON where applicable for cross builds.
  * setup.py - For cross builds, pass cross toolchain info in python
               environment.
  * debian/rules - Build a build host python for use during a crossbuild
                   Adjust the configuration files & make environment
                   accordingly
  * Modules/Setup.dist - Drop system paths for zlib.

67. By Peter Pearse

configure.in - Set buggygetaddrinfo for cross builds
             - Add py_cv_has_zd_printf for cross builds
Makefile.pre.in - Use BUILDPYTHON where applicable for cross builds
setup.py - For cross builds, pass cross toolchain info in python environment
debian/rules - Build a build host python for use during a crossbuild.
             - Adjust the configuration files & make environment accordingly.
             - Compile static armel objects with -fPIC

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: