m68k: back from the dead
It's been a few years coming, but the day has finally arrived.
Contrary to some rumours which I've had to debunk over the years, the m68k port did not go into limbo because it was kicked out of the archive; instead, it did because recent versions of glibc require support for thread-local storage, a feature that wasn't available on m68k, and nobody with the required time, willingness, and skill set could be found to implement it.
This changed a few years back, when some people wrote the required support, because they were paid to do so in order to make recent Linux run on ColdFire processors again. Since ColdFire and m68k processors are sufficiently similar, that meant the technical problem was solved. However, by that time we'd fallen so far behind that essentially, we needed to rebootstrap the port all over again. Doing that is nontrivial, and most of the m68k porters team just didn't have the time or willingness anymore to work on this; and for a while, it seemed like the m68k port was well and truly dead.
But then, two things happened.
The first thing that happened was called "ARAnyM", short for "Atari Running on Any Machine". An atari emulator, it started supporting running Linux at some point, allowing us to work on the port while on the road, using a laptop—something not possible beforehand. While there were some bugs in the emulation of early versions of aranym, these were all fairly quickly fixed, and before long we could run Debian/m68k in the emulator. However, that was still the etch-m68k port on debian-ports.org, some time after Debian etch wasn't even supported anymore; this still required work.
The second "thing" that happened was called "Thorsten Glaser". A fresh DD and maintainer of the "mksh" shell, he wanted to make sure his shell would work on all Debian architectures, including the ones on debian-ports.org. When he found out that the m68k port was in a pretty bad shape, he did not, like many before him, shrug and move on; instead, he took it upon himself to start compiling things, just so he could compile his shell. How's that for dedication.
Anyway, fast-forward two years, and we're now, finally, at a point where I spent most of today getting buildd up and running on arrakis, one of our oldest buildd hosts. There were some issues while trying that, but it looks like everything is in working order now; and the first package to start building on the first functioning buildd host since a long time (the build of which is still ongoing at the time of this writing) is "babl".
Of course, with only one buildd, we'll have no hope whatsoever of ever catching up. But that can be remedied easily by using more than one buildd host...
Update: It built! Party!
Actually, I could compile the shell. I think, even with dpkg-buildpackage, after installing locales-all… but there was no cowbuilder, no clean chroots in which to build policy-conforming packages and, worst of all, no autobuilders. (I wanted bragging rights that my shell works on all Debian platforms! By the way, what’s the leading distro for Linux on cris (ETRAX)?)
Actually, my shell was the first thing I built, so that Debian became usable (my editor quickly followed). Then, everything needed to get cowbuilder working. Then… it got difficult but reliable.
Of course, thanks to the people who actually wrote most of the patches. Andreas Schwab and Mikael Pettersson, as well as the Linux maintainers like Geert Uytterhoeven, among others. I think most everyone on debian-68k@ can be thanked And thanks to those maintainers who accepted patches!