[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

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.


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.
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
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.


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

Attachment: pgpH6Xs8uUhXA.pgp
Description: PGP signature

Reply to: