I've got a thorny problem which I'd like the release team to assess. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591457#35 1. apt-cross was flaky with apt 0.7.2x but it mostly worked. The Debian Embedded team had been working on a replacement for some time but it wasn't ready in time for the freeze. At the time of the freeze, we were reasonably confident that poor old apt-cross could hobble on for another stable release with only a relatively small amount of awkwardness and minor hassle. It was never going to be particularly nice but it would suffice for most cases until a replacement could be created. apt-cross itself has been RFH for some months without any help forthcoming - other than developing a replacement outside apt-cross itself. 2. The replacement is called xapt and it entirely does away with the complexity inherent in the apt-cross approach - this solves many issues at the cost of making the solution a bit inelegant. (It doesn't even try to avoid installing cross versions of packages that are not useful in cross-building as identifying those packages is what breaks apt-cross.) However, within limited current testing, it appears to work acceptably. 3. After the freeze, lots of changes went into apt 0.8.x which added yet more breakage to apt-cross. (It mostly fails to handle the modifications in the apt sources lists supported by apt >= 0.8.x and can try to use the wrong suite as a result.) Development work continued on the xapt replacement. xapt exists in Squeeze currently in the pdebuild-cross binary package as /usr/share/pdebuild-cross/xapt because when that version was uploaded, xapt had only been tested inside pbuilder chroots which had to be mangled by hand to use xapt. 4. Wookey added more fixes to xapt as part of his work with Ubuntu and Linaro. Those changes were due to go into an upload of the emdebian-crush source package today. This version (2.2.6) drops the dependency on apt-cross, moves xapt from /usr/share to /usr/bin as a NEW package, available for use outside chroots, and moves both existing binary packages (emdebian-crush and pdebuild-cross) to depend on xapt. xapt is not perfect but it is an improvement over apt-cross and is less susceptible to breakage via changes in apt. 5. I and the rest of the debian-embedded team have been remiss in not actually filing bugs for the issues we all knew dogged apt-cross, so only two bugs have actually been reported so far. As above, when the release freeze was announced, apt-cross wasn't *that* broken and we were not aware of the l10n issues which have now proved to be RC (see below). Subsequent to the freeze, changes in apt >= 0.8.x have fundamentally undermined the way that apt-cross saw the world and would need a complete rewrite to fix. In effect, that rewrite is xapt. 6. The latest issue to hit apt-cross is that it is completely useless outside the LC_ALL=C locale because the apt perl bindings appear to write translated values for the control fields "Depends" and "Conflicts" into the binary apt-cache files used by apt-cross without apparently preserving any identifiable "tags" which would identify the untranslated field. This is bug #591457 (which I initially misunderstood but have now been able to test and replicate). After a bit of testing, I've found no working fix for this issue and have bumped 591457 to grave, so apt-cross could easily be removed from Squeeze. I would like to get xapt into Squeeze as an update and preferably as a NEW package. xapt dependencies in 2.2.6: Depends: ${perl:Depends}, ${misc:Depends}, apt, dpkg-cross (>= 2.3.8), libconfig-inifiles-perl pdebuild-cross dependencies in 2.2.6: Depends: ${misc:Depends}, multistrap (>= 2.1.6), pbuilder, fakeroot, gettext-base, xapt (= ${source:Version}) emdebian-crush dependencies in 2.2.6 Depends: ${perl:Depends}, ${misc:Depends}, dpkg-dev (>= 1.15.2), emdebian-grip, lintian (>= 2.3.1), libconfig-auto-perl, pdebuild-cross, sudo Adding xapt to either of these packages would needlessly add a lot of dependencies for those users who only need xapt and if apt-cross is removed, there could be a number of those. (apt-cross currently has a popcon of ~300). Would xapt be acceptable as a NEW package which is actually an update of a script already in Squeeze? The problem is that for pdebuild-cross to be able to use xapt, it needs to be able to install xapt within the pbuilder chroot and this is best done by letting apt install xapt as a package when building or updating the pbuilder chroot. Having to install pdebuild-cross inside a pbuilder chroot (and therefore install pbuilder inside a pbuilder chroot) seems sub-optimal. I need to know how best to proceed before I can upload 2.2.6. We do have an alternative which is to put 2.2.6 into Debian experimental (as originally planned) but Emdebian squeeze - in the same repository as the current cross-building toolchains. I reconsidered this when I realised that apt-cross would likely be removed from Squeeze, leaving Squeeze without a way of installing cross dependencies for users using toolchains other than those from Emdebian. -- Neil Williams ============= http://www.data-freedom.org/ http://www.linux.codehelp.co.uk/ http://e-mail.is-not-s.ms/
Attachment:
pgpfFwMWAWCUF.pgp
Description: PGP signature