Live-build's handling of live packages
Live-build installs several packages intended for live systems only, eg live-boot, live-configs, and allows custom live-only packages to be listed in config/package-lists/*list.chroot_live
If there are no custom live packages, then the live-* packages are removed at installation time by
live-installer/finish-install.d/14remove-live-packages[1]
Unfortunately, if there are custom packages listed in some list with the _live suffix, then they are added to live/filesystem.packages-remove created on the iso, and correctly removed by [1], but the live-* packages are left on the installed system, because the installer drops its manual removal mode if it finds filesystem.packages-remove.
This is because the live-* packages, defined in config/package-lists/live.list.chroot, are being treated as ordinary files to be installed on the system. No distinction is made between live.list.chroot and any other *list.chroot file. Up till now, they were being successfully removed only by default.
There is a simple fix though. In scripts/build/config[2] around line 1373 find the line:
LIVE_PKG_LIST="config/package-lists/live.list.chroot"
and rename live.list.chroot:
LIVE_PKG_LIST="config/package-lists/live.list.chroot_live"
(or possibly change the initial 'live.' in the filename)
If this is done, filesystem.packages-remove is always created and the unwanted live-* packages are removed on install.
Should this be considered a bug? If so, should I file a bug report, or just - since the edit is so simple - send in an MR?
[1] https://salsa.debian.org/installer-team/live-installer/-/blob/master/finish-install.d/14remove-live-packages
[2] https://salsa.debian.org/live-team/live-build/-/blob/master/scripts/build/config
--
John
Reply to: