found 591457 0.13.4 severity 591457 grave tag 591457 - unreproducible tag 591457 - moreinfo tag 591457 + wontfix tag 591457 + confirmed quit
Justification: renders package unusable in locales other than C/POSIX > Reporting against apt-cross 0.12.0 this time since that's in a clean > Debian 5.0 32 bit install that I did with debootstrap not three days > ago. In this environment I generated the log below by running the > following command as root: > (set -x; ls -la /etc/apt/sources.list.d && rm -rf /root/.apt-cross && > apt-cross -a amd64 --update && apt-cross -v -v -v -a amd64 -n -i > libpopt-dev && LANG= apt-cross -v -v -v -a amd64 -n -i libpopt-dev) > >/tmp/apt-cross.log 2>&1 -a amd64?? You are trying to install cross-building libraries to cross-build for an amd64 target? Also, running apt-cross as root is not recommended - apt-cross will use sudo when necessary, it is not meant to be called under sudo itself. That's not an issue though, I've now replicated this bug with the more usual user case of -a armel and as a normal user. > The following NEW packages will be built and installed: > gcc-4.3-base libc6 libc6-dev libgcc1 libpopt-dev libpopt0 > linux-libc-dev 0 to be upgraded, 7 to be newly installed. That indicates that apt-cross does work with the locale in the chroot. However, I have now been able to reproduce the failure - when asking for libpopt-dev in LANGUAGE=C, it works. In LANGUAGE=fr it fails to calculate a dependency on libpopt0. It would also fail in any locale where apt has a translation of "Depends". It does not appear to be a problem that apt-cross can solve, unfortunately. The apt perl bindings assert their own locale handling which results in the Depends: field being translated. IMHO that is a bug in apt because that is a label, not a description - a piece of data, not a piece of user-text. i.e. The name of the control field, "Depends" is translated inside the binary apt cache which is used by the apt perl bindings and therefore apt-cross cannot use this control field to calculate the dependencies of any package unless that binary cache file is created and maintained solely under the LC_ALL=C locale. I have so far failed to persuade the apt perl bindings to do this if the external locale is anything other than LC_ALL=C or LC_ALL=en*. xapt does exist in Squeeze, just not as a separate package. It is part of pdebuild-cross (/usr/share/pdebuild-cross/xapt). apt-cross has been RFH for sometime, it is mostly abandoned and doesn't work properly with the version of apt in Squeeze anyway. All current work is on a replacement for apt-cross but xapt might not make it into Squeeze as a separate package. So the options are: 1: live with this bug using the workaround you found. This is not likely to be acceptable to the release team. 2: reassign this bug to apt if there is a chance it can be fixed, bearing in mind that the number of current bugs in apt is over 700 and apt-cross still has issues with apt >= 0.8.x. 3: Remove apt-cross from Squeeze and persuade the release team to allow xapt to migrate out of /usr/share into a new package in /usr/bin/ xapt is *not* a drop-in replacement for apt-cross but the command line options are similar and there would be no reverse dependencies in Squeeze if emdebian-crush 2.2.6 was allowed a freeze exception. The reverse dependencies which do exist in unstable and experimental should be able to migrate in due course. http://packages.qa.debian.org/m/mlton-cross.html http://packages.qa.debian.org/b/buildcross.html -- Neil Williams ============= http://www.data-freedom.org/ http://www.linux.codehelp.co.uk/ http://e-mail.is-not-s.ms/
pgpRvjvB7BWXg.pgp
Description: PGP signature