Steve wrote about reconciling debootstrap changes between Debian and Ubuntu, noted that there's a general problem that Sarge's debootstrap cannot install Etch, etc, and pondered splitting the package and uploading the Ubuntu version to Debian.

Actually, if you look at the etch, lenny, and sid scripts, you'll find that they're all the same (symlinked). Barring something unexpected, I don't expect this will change, since debbootstrap now needs to encode little distro-specific info in the Debian scripts. So it should be possible to ship a debootstrap in lenny that will install lenny+1 (and lenny+2 if we have the name decided).

Or perhaps even generalise it so that debootstrap can be asked "please try to install the Debian codename called "foo" even if you don't have explicit support for it".

This is not true of Ubuntu because they have not switched to a priority-based package selection like Debian has. Debootstrap has to be manually changed to change the lists of packages to install for each new version of Ubuntu. This is a great example of the kind of change that I keep ranting about where pulling patches back and forth just isn't good enough. Though running in the opposite direction from the usual for me. They have all our debootstrap patches, and that wasn't good enough; someone needs to tell them about the benefits of priority-based package selection.

[ Update: Colin Watson wrote in to point out that most of what I say above about Ubuntu's debootstrap is wrong. I must really suck at reading patches.. ]

If you look in /usr/lib/debootstrap/scripts/, you'll also see that debootstrap already includes scripts for old versions of Ubuntu. Adding additional scripts is trivial (although you should take care not to bloat the udeb with them). Uploading Ubuntu's package to Debian after the minimal review Steve suggested gives me the shivers (especially after reading the diff), but then I'm one of the lucky ones who gets to deal with the fallout very time debootstrap breaks.

discussion