This adds support for enforcing version requirements on installed
packages. See the documentation in ltmpl.installpkg for details.
NOTE: On Fedora 34 grub2-2.06-7 is the first version with unicode.pf2 in
the new location.
grub2-2.06-3 changes where the unicode.pf2 font file is stored.
This changes the efi.tmpl to install it from the new location, which
means that it depends on grub2-2.06-3, but there is no way to express
this in the runtime-install.tmpl so if you see a failure like:
2021-07-08 16:10:05,586: OSError: nothing matching /var/tmp/lorax/lorax.t80f74er/installroot/boot/grub2/fonts/unicode.pf2 in /
it means the new version of grub2 wasn't in the repos you used when
running lorax.
Fixes#1165
dracut needs a reasonable chroot environment in order to run correctly.
This adds the DracutChroot context manager that sets up and tears down
mounts inside the root directory tree.
Switch to using it in creator.rebuild_initrds_for_live() and
TreeBuilder.rebuild_initrds()
(cherry picked from commit 322a810403)
The branding package name doesn't always match the product name. This
saves the branding package names as discovered in the enabled repos and
exposes it to the templates as branding.release and branding.logos --
which could potentially be None so the template needs to take that into
account.
Related: rhbz#1956205
(cherry picked from commit 9cb34c5520)
Fedora has split xorg-x11-font-utils, with bdftopcf, mkfontscale and
fonttosfnt being split out into separate packages. Remove all of those too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 563db6608d)
In f34 and beyond, the old xorg-x11-server-utils package was split up
into seperate packages for each util. This was to allow them to rev at
their own pace instead of requiring all of them to rebuild at once.
See https://bugzilla.redhat.com/show_bug.cgi?id=1932754
and
https://fedoraproject.org/wiki/Changes/XorgUtilityDeaggregation
We need to adjust lorax (in f34+) to not try and remove the
xorg-x11-server-utils package (as it no longer exists) and also to
install the 2 utils that we need from it for installs.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
(cherry picked from commit 55371c9968)
weldr-client has replaced composer-cli so remove all of the code and
tests, adjust various things so they don't expect it to be available,
and rename some things like test/composertest.py to reflect its
exclusive use by lorax.
(cherry picked from commit b75b692607)
anaconda in F34 and Rawhide recently stopped accepting params
without the inst. prefix, so 'rescue' does nothing except print
a warning now. We need to use `inst.rescue`. This has worked for
quite a long time so will be OK at least on all Fedoras and RHEL
8, not sure about RHEL 7.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The difference between the anaconda-install-{env,img}-deps packages is how
they treat dependencies. The -env package leaves some dependencies as weak to
allow less featureful builds. The -img package hard-requires everything
Anaconda could potentially use and ensures everything works.
For boot.iso, the latter is preferable. Its usage moves some things from the
templates to that package.
A post-installation script in fedora-live-base.ks actually modifies
Lorax (not idempotently) with the change in this commit while it is
running. This modification belongs directly in Lorax instead.
Note a subtle distinction in behavior that has been preserved here.
Lorax will copy the livecd-iso-to-disk script from the installroot
(if present). Running livecd-creator will copy it from the existing
root filesystem instead.
Since Fedora 30, license files are missing from the ISO filesystem
of live or installer images (including official builds). The source
path to these files changed when they were moved into a subpackage
named fedora-release-common (or generic-release-common).
Also, copy the license files from the installroot, rather than the
existing root filesystem.
Some of our images, like centos-8-stream, are already built from the
official cloud images instead of virt-install with LVM. More images are
going to do that soon [1][2], so fix vm.install to only do the LVM grow
steps if the image actually uses LVM.
Also adjust the comment, as commit 6ddaa5e0dd fixed this for
RHEL images.
[1] https://github.com/cockpit-project/bots/pull/1518
[2] https://github.com/cockpit-project/bots/pull/1527
This will cause livemedia-creator to terminate anaconda and exit when an
install hits an error that often causes anaconda to get stuck and not
exit.
Resolves: rhbz#1900596
When monitoring log output in livemedia-creator --no-virt it could get
stuck if the output from anaconda stops for some reason.
This changes execReadlines so that it will only read output when it is
available, will monitor the process state, and continue to call the
callback function.
It also adds a final timeout on proc.communicate() so that if Anaconda
becomes stuck and won't exit livemedia-creator will eventually exit.
When the no-virt callback terminates anaconda on an error it now sends a
TERM signal to all of the unshare process' children because just sending
it to unshare doesn't cause anaconda to exit.
There's no reason for it to run, it can't notify anyone. But disabling
the service, or masking it, doesn't work so remove the service files
from the rootfs.
Resolves: rhbz#1888730
mk-s390-cdboot has stopped working because the kernel outgrew the
hard-coded offset it used when creating cdboot.img. IBM now has a script
in s390utils that can do the same thing so use the upstream script
instead.
This drops mk-s390-cdboot script, switches the s390 templates to use
mk-s390image from s390utils.
It adds @ROOT@ to cdboot.prm, and sets inst.stage2 so that the installer
image will be found when booting the iso.
Resolves: rhbz#1891778
Some of the options have been removed, others are now the default.
MOTD still needs to be printed, the boot environment doesn't include the
pam motd module.
Resolves: rhbz#1872892