coping with /var/lib/dpkg/available
Add note that Tollef has other ideas that need adding.
|Deletions are marked like this.||Additions are marked like this.|
|Line 39:||Line 39:|
|* Tollef apparently has other ideas on how to deal with this issue, which need adding here.|
Packages affected: casper, live image build process
The live cd file system is currently one big lump which takes a while to generate as well as being inflexible. It should rather be an ordered list of squashfs-es that are mounted on top of each other.
The current method of building the live fs makes customising the live cd harder than it needs to. It also means building another live fs for the DVD images (with additional language packs or similar) will take a long time.
John wants to create a customised live CD. He takes the base livefs and builds a custom squashfs with the packages he wants, then drops that into /casper and burns the whole structure to a CD.
- Ubuntu wants to have a DVD image with more language packs than would typically fit on a CD. The livefs build process therefore creates a separate squashfs with just the language packs in and makes it available to the DVD build process.
Affects casper and to a smaller extent the live filesystem and live ISO image building process.
Design and implementation
casper will look at /casper/*.squashfs in ASCII order and mount all the squashfs-es there with unionfs. The topmost layer will be a persistent device or just a tmpfs in the same way it currently is.
livecd.sh and the live ISO build process is covered by https://launchpad.net/distros/ubuntu/+spec/larger-livefs
The design works well, except for what to do with /var/lib/dpkg/available, which reflects which packages are believed to be installed. The system will work just fine, but the packaging system may be out-of-sync. Either:
Only specific stackings: A, then B, then C. Each filesystem in the stack would contain a copy of dpkg/available that "overwrites" the previous ones.
We regenerate dpkg/available as required. This could either be at boot time, for the first time that any packaging commands take place.
dpkg and APT could be taught to 'merge' multiple files to form the final dpkg/available containing the subset of the installed sets of all packages.
- Tollef apparently has other ideas on how to deal with this issue, which need adding here.