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

mlton any->all package transition breakage

Good afternoon.

I am the maintainer for the Standard ML 97 (SML) compiler mlton. This compiler is itself written in SML and is self-hosting. Thus, it needs an older version of the compiler in order to bootstrap itself. Further complicating things, the build needs in the ballpark of 1-2GB of physical memory for 32-64-bit architectures, otherwise the build will cause the host machine to swap-till-death. Over the years I have slowly increased the number of supported architectures in debian via a combination of cross-compilation and binary uploads. At the moment, every major debian architecture is supported.

Recently I had to prepare a new upload due to the gmp transition and took the opportunity now that squeeze is released to split out the arch-independent components of this monolithic package. Unfortunately, this had unforeseen consequences on the buildd system. The problem is that the old 'any' package (20100608-2) got removed from unstable before the new package's (20100608-3) buildd runs completed; only the amd64 buildd was fast enough. I am not entirely clear on the cause, but the consequence is clear enough: the buildds can no longer install the old version of mlton needed to bootstrap the new version.

It has been proposed to me to manually rebuild the package on every debian architecture and then binary upload the result. To that end, I request installation in a sid chroot these packages from unstable: libgmp-dev htmldoc texlive-latex-base procps debhelper cdbs quilt joe. Additionally, please install from squeeze (should still install cleanly in sid chroot) the package: mlton.

I request the above packages to be installed on these machines:
albeniz.debian.org      alpha           8g      y
abel.debian.org         armel           1.5g    y
merulo.debian.org       ia64            8g      y
asdfasdf.debian.net     kfreebsd-amd64  2g      y       admin@asdfasdf.debian.net
io.debian.net           kfreebsd-i386   1.5g    y       admin@io.debian.net
gabrielli.debian.org    mips            1.6g    y
zelenka.debian.org      s390            1g      y
smetana.debian.org      sparc           2g      y

Unfortunately, a look over the currently available porterboxes shows that not every architecture can be fixed this way: paer does not have a sid chroot, strauss has insufficient memory, mipsel has no porterbox at all, and pescetti has insufficient memory. This means that I cannot rebuild the package for: hppa, hurd-i386, mipsel, powerpc. The available buildd machines *can* rebuild the package on these architectures, but will not do so as long as the old version is missing from unstable.

I believe strauss has configurable main memory. If it could be temporarily given 1.5G, then that would solve hurd-i386.
Would it be possible to get a sid dchroot setup on paer? If yes, that's another architecture fixed.

I am looking for a solution to this build problem for mipsel and powerpc. If the old mlton 'any' package (still in squeeze) were re-added to unstable, that would work (and also render the above package installation requests unnecessary). I'm open to any other suggestions.

One option I have considered: by-hand, rip the contents out of the old mlton 'any' package and rebundle the old contents as the "new version" and do a binary upload. This way I could get packages for powerpc and mipsel that would work to properly bootstrap a new upload on the buildds. This is a pretty nasty hack and would mean that the sources do not match the binaries for this one uploaded version, but this might be acceptable as a transitionary step...?

Any help appreciated!

PS. I could not determine which mailing list is haunted by the ftp-masters. If debian-admin is wrong, please forward it.

Reply to: