Not sure why there was no info messsages at all in this script, I'm
adding it now to reduce the diff with kali-finish-install, hopefully I'm
not breaking anything by using stdout for informative messages...
Since commit cf029a87c9, I get this error:
```
$ git add --verbose kali-config/common/includes.chroot/usr/lib/live/config/0031-kali-user-setup
add 'kali-config/common/includes.chroot/usr/lib/live/config/0031-kali-user-setup'
The following paths are ignored by one of your .gitignore files:
kali-config/common/includes.chroot/usr/lib/live/config
hint: Use -f if you really want to add them.
hint: Disable this message with "git config advice.addIgnoredFile false"
```
This is because wildcards were dropped, ie `config/* became `config/`
and `chroot/*` became `chroot/`, and I don't really understand *why* it
caused the change in behavior, but let's not go down the rabbit hole.
It seems to me that we want to ignore directories at the root, so be
explicit about that, and that's enough to fix the issue.
Doesn't change anything to the build. It's just that it's easier to spot
scripts when looking at the git repo with eg. `tree`: executable files
are highlighted.
The variants were renamed in 530b22106b,
breaking scripts that used the old name (like, our own build infra that
uses `--variant everything`, for example).
This commit adds compat symlinks so that things keep working.
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/
This should fix:
in-target: E: Unable to locate package eatmydata
eatmydata-udeb/eatmydata-install: error: unable to find /usr/bin/eatmydata after installing the eatmydata package
Cf. 31fb818dec
At the moment it's missing, leading to:
finish-install: info: Running /usr/lib/finish-install.d/06espeakup
[...]
in-target: E: Unable to locate package espeakup
With this version, arm firmware are excluded from x86 isos, and the
other way round. In practice, it means that raspi-firmware won't be
installed on amd64 isos, and that's something we need.