Skip to content
Snippets Groups Projects
live-build-config

live-build-config

Project ID: 11906637
Arnaud Rebillout's avatar
Arnaud Rebillout authored
This is necessary in case more than one terminal is installed, and they
both have the same alternative priority.

For example, while installing all packages at once, sometimes apt will
resolve a dependency "x-terminal-emulator" to one of the many packages
that provide it, for example "zutty". And then it will also install the
terminal listed in the "kali-desktop-${desktop}" metapackage that is
selected, eg. "qterminal" for "kali-desktop-xfce".

Both zutty and qterminal have a alternative priority of 40 at the
moment, so if zutty gets unpacked first, it will have precendence and be
the default terminal.

It's a long-standing issue. By the past, We tried to make sure that the
default desktop terminal is installed first, by listing it early in the
dependencies of the "kali-desktop-{desktop}" metapackage, and it kind of
works with the debian-installer, but it was hard to make it work (we had
to do some changes in tasksel), and it's still brittle as it relies on
apt's dependency solving, which is apt's internal sauce and might change
(hint, apt will get a new solver soon, cf [1]).

As it turns out, it doesn't work for the live iso, somehow we still get
zutty taking precedence over qterminal, I didn't check why, it probably
has to do with how live-build constructs the apt command-line in order
to install everything.

In any case: I think our approach so far didn't work, so with this
commit, we take another approach: we set the default terminal from the
finish-install script, for both the installer iso and the live iso. That
should solve the issue for good.

[1]: https://blog.jak-linux.org/2024/05/14/solver3/
796bb626
History
Name Last commit Last update