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.

  1. (./) Upload dpkg support for DEB_HOST_MULTIARCH (dpkg 1.16.0)

  2. Upload multiarch-aware versions of build tools:
    • pkg-config (Bug 590992, Bug 482884)

      • Maintainer plans to upload by 2011-04-16
    • (./) make-dfsg (Bug 618840)

    • pmake
    • (./) debhelper (Bug 617761)

    • cmake (Bug 618932 = Ubuntu bug 737137)

    • openjdk-6 (Bug 620122, Ubuntu bug 737603)

    • (./) lintian warns about the unknown control field (Bug 617816) (lintian 2.5.0~rc2)

  3. (./) 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)

  4. Upload libffi to install headers to the right path on i386.
  5. Upload multiarch-enabled eglibc.
  6. Upload libhwloc, liblouis, liblouisxml to install libs to the multiarch path on i386 to fix FTBFS of reverse-build-deps.
  7. 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.
  8. 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.
  9. 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.)
  10. Upload gcc-4.5 and gcc-4.4 for full multiarch.
  11. Rebuild asis with the new gnat-4.4
  12. Upload gcj-4.6, gcj-4.4, and any other gcc frontends that don't self-build-depend, for full multiarch.
  13. Upload everything else :-)