Re: -= PROPOSAL =- Release sarge with amd64
> > You don't need every package to be biarch to have a biarch
> > system.
On Sun, Jul 18, 2004 at 06:21:54AM +0200, Goswin von Brederlow wrote:
> Lets take an example: libc has to change. Please count the number of
> packages that Depend on libc (as in have it in the Depends line).
That's one possibility.
It's not the only possibility.
Here's another approach:
 modify dpkg, so that it can handle packages providing support for
[a] packages have to list supported architectures in their control
file (what it exports, not what it imports)
[b] unless package specifies otherwise, all its dependencies have
to be satisfied by another package of its own architecture.
 build packages to take advantage of this:
[*] make important shared libs biarch
[*] list amd64 packages which don't export shared library
interfaces as supporting all architectures.
[*] introduce dependencies between important packages, reflecting
the needs of an install onto i386.
The straightforward approach to doing this and complying with LSB means
it would probably be a good idea to supress glibc warnings about both
kinds of libs in /lib and /usr/lib/. So patch gcc to not issue that
warning if a specially named file is in a lib dir, and the archtectures
present are those listed in that specially named file.
By "biarch", by the way, I do not mean "have two instances, one for
amd64 support, one for i386", I mean "have one package which provides
support for both architectures".
You need to make all base packages with shared libraries biarch, but you
don't need to make every package biarch. So the extra space required
to support biarch is relatively low. Non-base packages which provide
down-compatible IA32 support can remain split into two packages.
And, as long as a package's build depends are satisfied, there's no
little danger of configure getting confused, because the dependencies
will be satisfied. [There might be some exceptions, but they should be
rare enough to be fixed on a case-by-case basis.]
And, no, I'm not asking you to do this work. However, I am asking you
to allow that I might do this work. There's not a whole lot left to do,
since you've done most of the porting work already. Here's what I
can see that remains to be done:
1. patch dpkg and apt support for "package satisfies other
packages of these architectures"
2. gcc support for selectively not issuing warnings
3. repackage base packages for biarch support and i386 migration
Once again, I'm not asking you to do this work. But I do appreciate
feedback from you to find out if I've overlooked anything important.