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 via email to