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

Bug#771496: dpkg-cross follow-up

summary 771496 If anything you are doing would fail after the removal of dpkg-cross,
you're doing it wrong. It's going away, whether you want it to or not.

Just a follow-up on dpkg-cross, for the benefit of anyone reviewing
the list of RC bugs.

> You are missing an important aspect here: dpkg-cross is currently the
> only way to build a cross compiler from src:gcc-4.9.

Sorry, I did not miss that aspect: your statement is incorrect.

Clean pbuilder sid chroot:

# dpkg --add-architecture armhf
# apt-get -qq update
# apt-get build-dep cross-gcc-4.9-armhf
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  autoconf autoconf2.64 autogen autotools-dev
binutils-arm-linux-gnueabihf bison bsdmainutils chrpath cross-gcc-dev
debhelper diffstat expect file flex gawk gcc-4.9-base:armhf
gcc-4.9-source gdb gettext gettext-base groff-base guile-2.0-libs
intltool-debian libasprintf0c2 libbison-dev libc6:armhf libc6-dev:armhf
libcloog-isl-dev libcroco3 libexpat1 libffi6 libfl-dev libgc1c2
libgcc1:armhf libglib2.0-0 libgmp-dev libisl-dev libltdl7 libmagic1
libmpc-dev libmpfr-dev libopts25 libopts25-dev libpipeline1
libpython-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib
libsigsegv2 libssl1.0.0 libtcl8.6 libtool libunistring0 libxml2
linux-libc-dev:armhf m4 man-db mime-support netbase patchutils
po-debconf python python-minimal python2.7 python2.7-minimal quilt
realpath sharutils systemtap-sdt-dev tcl-expect zip zlib1g-dev

dpkg-cross is not mentioned in that list. Not only is it not the only
way to build a cross compiler from src:gcc-4.9, it is not even the
default way to build a cross-compiler from src:gcc-4.9. Nothing about
building a cross-compiler or using a cross-compiler on Debian unstable
has to have anything at all to do with dpkg-cross - except that
some packages need data from those config files. Even that can be
patched in locally if someone has need. Such steps are a lot less work
than has been required to get packages to cross-build previously.

It is a shame that cross-gcc-4.9-armhf couldn't get into Jessie but
then, ever since the Wheezy release, cross-building in Jessie has been
a case of downgrading to Wheezy (or Squeeze) or upgrading to unstable
(or experimental) anyway. In many ways, it is only fitting that
dpkg-cross gets removed from Jessie as it makes it clear about the
status of cross-building in Jessie - absent.

>  You may want to (re)discuss this with the
> > gcc maintainer: He does not seem to be aware of this deprecation and
> > declares dpkg-cross supported.

Matthias is aware of my personal feelings towards dpkg-cross and the
horrors that it spawned (apt-cross and xapt) - I've spoken to him at
length, face-to-face, a couple of times. He knows that I have been
trying to kill dpkg-cross for at least two release cycles already. If
it had been possible, I would have removed dpkg-cross when apt-cross
had to be removed - instead I needed to write xapt, a program I
bitterly regret needing to create.

Yes, there is no formal deprecation notice in the dpkg-cross manpage
but that is due to the following reasons:

0: lack of support & maintenance is one reason for deprecating it - no
upload for 8 months.
1: the replacement toolchains never made it into Jessie, so there was
no time to upload dpkg-cross with such changes and get those changes
into Jessie once the replacements were shown to be working. There is no
way that a deprecation notice in dpkg-cross would meet the Freeze
2: the problems of cross-building on jessie have been well known since
the wheezy release and all the work went into trying to get the correct
methods working.

My personal feeling is that dpkg-cross never deserved to be in the main
archive - it should have stayed in the Emdebian toolchain repositories
- but I was not involved in dpkg-cross at that time, I had to work with
it where was. As I've already said, it was never possible for
dpkg-cross to be Policy compliant. It is designed to break Policy. The
irony is that it will finally be removed from testing for doing
explicitly what it was designed to do. That is fine by me, I wanted it
gone a long time ago.


Neil Williams

Attachment: pgp5zUVnfFgeg.pgp
Description: OpenPGP digital signature

Reply to: