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