Bootstrapping the archive for multiarch
This page documents the order in which certain steps need to happen when converting the Debian archive over to multiarch. The information is based on the experience with bootstrapping multiarch in Ubuntu natty.
Upload dpkg support for DEB_HOST_MULTIARCH (dpkg 1.16.0)
- Upload multiarch-aware versions of build tools:
make-dfsg (Bug 618840)
freebsd-buildutils (fixed in 8.2-1, but LIBDIR not switched yet).
debhelper (Bug 617761)
lintian warns about the unknown control field (Bug 617816) (lintian 2.5.0~rc2)
- Fix package management bugs:
apt (Bug 618288)
Upload a "stage1" multiarch build of gcc-4.5, the default compiler *on i386* (not needed on other archs, where dpkg 1.16.0 does not change the multiarch path; so no additional upload is needed of other versions of gcc that are the default on other architectures)
Upload libffi to install headers to the right path on i386.
- Upload multiarch-enabled eglibc (uploaded, but failed to build on hurd-i386).
- Upload freebsd-buildutils with switched LIBDIR to multiarch path.
- Upload libhwloc, liblouis, liblouisxml to install libs to the multiarch path on i386 to fix FTBFS of reverse-build-deps.
- Upload gnat-4.4 for full multiarch. (Must be uploaded before uploading gcc-4.4 because gnat-4.4 self-build-depends, and needs the symlinks from gcc-4.4-base to be functional). The new gnat-4.4 will not be usable until gcc-4.4 is updated. Uploaded, but waits on eglibc for ia64.
- Upload gcc-4.6 (providing the runtime libraries). Keep symlinks for the original locations of the runtime libraries? Would be better to have not yet updated gcc-4.5 and gcc-4.4 packages working, or do live with shorten brokeness of the default compiler.
- Upload ecj for multiarch. (Must also be uploaded before gcc-4.4/gcj-4.4 because of a similar self-build-depends on those archs that use ecj1.)
- Upload gcc-4.5 and gcc-4.4 for full multiarch.
- Rebuild asis with the new gnat-4.4
- Upload gcj-4.6, gcj-4.4, and any other gcc frontends that don't self-build-depend, for full multiarch.
Upload everything else