Remove various caches not really needed.
Sort group files and packages list.
Strip timestamps from gconf file.
Clamp mtime in fontconfig cache to SOURCE_DATE_EPOCH.
Package root filesystem directly as squashfs image. The most important
gain is getting rid of greatly unreproducible ext4 image creation. But
also it makes the output image slightly smaller, and the build faster.
Also, dmsquash-live dracut module is not needed anymore, which reduce
initramfs size.
This isn't exactly "last modification time of source", as the source for
the final ISO include also all rpm packages from other components (and
from Fedora), which may be newer than installer-qubes-os itself. But in
practice it shouldn't be a problem as most of them will be only included
as files without relying on any specific timestamps inside.
Defaults set during package installation do not apply, as booloader
configuration doesn't exist at that stage yet.
Reported by @rustybird
QubesOS/qubes-issues#4252
Use '*' in package name. This require using rpm -qa (instead of rpm -q).
In this case, checking exit code doesn't work, we need to check if any
package was actually listed.
This enables use of different mirrors. Specifify fastestmirror=1
explicitly for templates repository, as it has the biggest impact there.
QubesOS/qubes-issues#3935
'qubes' group is used internally, but useradd want to create a new group
named as new user, so 'qubes' user name should also be avoided.
FixesQubesOS/qubes-issues#3777
Xorg loads keyboard layout for new devices (or existing one re-detected)
only from its config, ignoring runtime changes done in the meantime
(setxkbmap etc). Since installation process calls udevadm trigger
somewhere, all input devices are re-discovered and reverted to default
keyboard layout (us). Avoid this by configuring current keyboard layout
also as udev rules, which are loaded by Xorg while discovering device.
FixesQubesOS/qubes-issues#3352
It isn't possible to import rpm signing keys during update, because
rpm itself holds a lock. Schedule the operation after update using
systemd-run.
FixesQubesOS/qubes-issues#3756
List kernel versions without duplicates, even when there are multiple
files related to the same kernel version.
Duplicated kernel versions here caused regenerating initramfs multiple
times and duplicated entries in xen.cfg.
QubesOS/qubes-issues#3624
Try to update microcode as early as possible if provided.
This option will scan all multiboot modules besides dom0 kernel. In our
case this is perfect - there is only one other module and it is
initramfs which have microcode early cpio prepended.
QubesOS/qubes-issues#3703
This may have performance impact on some older SSD, but on the other
hand, without this option it's pretty easy to fill the whole LVM thin
pool even if there is plenty free space in dom0.
Note that this doesn't enable it on LUKS layer, this is still disabled
by default.
FixesQubesOS/qubes-issues#3226
* travis-full:
travis: disable unit tests during full ISO build
travis: switch to ukfast mirror
travis: ignore groups from online repositories
travis: build full ISO, including templates
Add config with templates repositories included
Kernel command line in legacy mode is constructed by grub scripts and
properly handle btrfs subvolumes. For EFI, it is built directly by
anaconda and 'rootflags=subvol=...' argument need to be added manually.
FixesQubesOS/qubes-issues#1871
Save some time - especially those in pykickstart are time consuming. And
we need to fit in 50min available on Travis-CI - currently the build is
very close to that limit (most times on the wrong side of it).