Re: additions to dpkg-architecture and dpkg-cross
On Mon, Jun 26, 2006 at 11:42:40AM +0200, Pjotr Kourzanov wrote:
> Great that you've put this up to public. Still, for this to be
> accepted, we need to come up with patches for apt that contain an
> algorithm that will pick versions of packages matching user's
> requirements, known architecture hierarchies (i386->i486->...)
> and available sources.
I hoped this would be accepted even without a change in apt, as
there are benefits anyways. Better support for optimized packages
was just one of many examples where more architectures would help.
Other examples were: support for i586-distributions, support for
other i386 based OSes which need something better than i486
(e.g. w32-i586), and a 4th example you'll find later in this mail.
However, if you think we should first improve apt, that's also
fine for me. However, and later
> Currently, apt is quite dumb in that respect
> AFAIK, i.e. it only looks at binary-$DEB_HOST_ARCH while it could
> also look binary-all, binary-$DEB_HOST_ARCH, and
> binary-$DEB_HOST_SUPERARCH (where $DEB_HOST_SUPERARCH=i386 when
> DEB_HOST_ARCH=i686) etc.
> It only has one-level hierarchy, but that's just a home-grown sample...
We surely need a more flexible approach. I proposed some in another
post, please reply to that one.
> Also, dpkg-cross's logic of barfing at conversion between non-equal
> architecture (names) MUST be changed... It really should also look
> at the architecture hierarchy and allow for "down-casting" of
> packages to their cross- counterparts since you really don't want
> to compile the whole distribution with optimizing/cross compilers
> (we are not Gentoo are we?).
As the CPU type is part of the Debian architecture name, I don't see
the problem. When you build a package using dpkg-cross' dpkg-buildpacke
wrapper, this looks like that:
... and thus will build an "i586" optimized package using a (hopefully
installed) i586 cross compiler, while
would create a "i386" optimized package (currently: i486). Thus, I don't
really see your problem.
BTW, did I already mention that I found it a *very* bad idea to define
the "i386" Debian architecture as "i486"? This is another good example for
kludges that result simply on apt's unability to handle multiple
> Furthermore, isn't there a dpkg requirement that all packages
> installed must have either DEB_HOST_ARCH or "all" as Architecture?
I'm not sure, but as already said: Please let's discuss that in the
context of my other proposal that I wrote some days before your mail.
It's a "top-down" proposal starting from the most flexible reasonable
approach down to what we really need. This ensures we can formulate any
assumptions we make on the architectures. That isn't easily possible
in a "buttom-up" approach like yours, i.e. adding one super-architecture,
later maybe another, later maybe a list, always waiting for counter
examples before making it more flexible. Sorry for critizising your work,
but when I read your proposal and your script, my first thought was:
You're repeating the same fault that has been done with dpkg-architecture
and from which we (and dpkg-cross) still suffer.
> Should we somehow coordinate our efforts to make this into official
Whatever proposal we make, it must make apt, dpkg and dpkg-cross work
together. Such an important step like making apt a multi-platform
system will surely need patches for all those 3 packages. Getting the
opinions *and* the support of the maintainers of all 3 packages is very
important for our success.
That's why I'd like to fix dpkg-architecture first, before any multi-