[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dpkg-cross 2.0.0 - fragility expected!



OK, changes in dpkg-dev 1.14.7 have forced my hand a little and
dpkg-cross 2.0.0 has now been uploaded to Debian unstable (not
experimental).

apt-cross 0.2.9 has been uploaded to Emdebian unstable - dependent on
dpkg-cross >= 1.99

apt-cross 0.3.0 has been uploaded to Debian unstable but will spend
some time in the NEW queue (hence the 0.2.9 upload to Emdebian).
apt-cross 0.3.0 is functionally identical to 0.2.9

emdebian-tools 0.3.9 has been uploaded to Emdebian unstable - dependent
on apt-cross >= 0.2.9 and dpkg-cross >= 1.99

All three comprise extensive rewrites. apt-cross, in particular, is
barely recognisable. dpkg-cross is a shadow of the former package and
v2.0.0 signals the beginning of the long goodbye to both packages. dpkg
developers expect to be able to merge *all* dpkg-cross functionality
into dpkg *before Lenny*. Once that is done, it should be trivial to
merge apt-cross behaviour into apt.

Only the new libcache-apt-perl package (containing the modified
NorthernCross code from virtuoso) will persist. Once this whole
transition is over, I'll upload Cache::Apt::* to CPAN so that it can
become its own source package in Debian once apt-cross is removed.

IMPORTANT
=========

dpkg cross-building support is HIGHLY EXPERIMENTAL! Significant changes
are still pending, including remapping the build paths during the
dpkg-buildpackage build and utilising the updated dpkg-shlibdeps code
which is a decade ahead of what we had in dpkg-cross 1.39.

1. dpkg 1.14.7 included dpkg-buildpackage as a perl script instead
of shell which breaks dpkg-cross <= 1.39 but the new code to support
dpkg-cross >= 1.99 is not implemented yet.
2. The breakage that Zumbi experienced when using the dpkg version from
experimental will now occur in unstable.
http://lists.debian.org/debian-embedded/2007/09/msg00067.html
Note that this breakage would be severity "critical" if filed as a bug
because it prevents not only cross-builds but normal Debian builds.
3. dpkg-cross 2.0.0 fixes this issue. Hence the urgency in uploading
dpkg-cross 2.0.0
4. dpkg-cross 2.0.0 removes the old diversions of dpkg-buildpackage and
dpkg-shlibdeps.
5. dpkg is set to support the removal of the dpkg-cross diversions and
code to support this is coming this weekend. This means that there will
be a GAP where cross-built packages will fail to find the correct shared
libraries. HOWEVER, installing dpkg-cross 2.0.0 restores the ability to
build normal Debian packages whilst keeping dpkg-cross installed. This
is a far more important gain than a temporary problem in packages that
hardly anyone is using yet (our Emdebian crossbuilt packages).

When dpkg-dev 1.14.8 becomes available, apt-cross, dpkg-cross and
emdebian-tools will be updated to depend on this version.

Everyone: please note - cross-building support in Debian will be
"fragile" for the next week or so. The rewritten packages are being
uploaded against experimental dpkg support I expect bugs. :-( 

The benefits of these changes are:
1. The removal of diversions that are a decade out of date.
2. The implementation of virtuoso's NorthernCross code that transforms
apt-cross and fixes lots of awkward bugs.
3. The incorporation of cross-building support in the heart of dpkg.
4. The beginning of the long goodbye to dpkg-cross and apt-cross.

RESULTS
=======

With the new packages installed, some packages will produce:
 emdebuild: ERROR /usr/bin/ contains files for the wrong architecture!

i.e. the build appears to succeed but until dpkg-dev 1.14.8 includes
support for looking for the correct libraries in /usr/$arch/lib instead
of /usr/lib, we get unusable packages. This at least means that
packages can be test built and the patches updated. 

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgp0GXZJwJswD.pgp
Description: PGP signature


Reply to: