base-images/minimal/systemd-presets.yaml
jcapitao-rh 6493dc2601
fix(postprocess): fix shell crash in bootloader preset logic
The use of the `&&` operator combined with `set -e` caused the
postprocess script to exit with code 1 when `$VERSION_ID` was
less than 43.

Fixes: https://gitlab.com/fedora/bootc/base-images/-/merge_requests/456
Closes: https://gitlab.com/fedora/bootc/base-images/-/work_items/79
2026-04-28 18:56:51 +02:00

43 lines
1.5 KiB
YAML

# Postprocessing relating to systemd presets on the system.
postprocess:
- |
#!/bin/bash
set -xeuo pipefail
# Override some of the default presets.
cat <<EOF > usr/lib/systemd/system-preset/85-bootc.preset
# Disable dnf-makecache.timer on bootc/image mode systems
# https://github.com/coreos/fedora-coreos-tracker/issues/1896#issuecomment-2848251507
disable dnf-makecache.timer
EOF
# Enable bootloader-update.service on F43+ and CentOS9+
# https://github.com/coreos/fedora-coreos-tracker/issues/1468#issuecomment-2996654547
# https://fedoraproject.org/wiki/Changes/AutomaticBootloaderUpdatesBootc
- |
#!/bin/bash
set -xeuo pipefail
source /usr/lib/os-release
preset_file_name=/usr/lib/systemd/system-preset/85-bootc-bootloader-update.preset
case "$ID" in
fedora)
if [ "$VERSION_ID" -ge 43 ]; then
echo "enable bootloader-update.service" >> "$preset_file_name"
fi
;;
centos)
if [ "$VERSION_ID" -ge 9 ]; then
echo "enable bootloader-update.service" >> "$preset_file_name"
fi
;;
*) ;;
esac
# Undo RPM scripts enabling units; we want the presets to be canonical
# https://github.com/projectatomic/rpm-ostree/issues/1803
- |
#!/bin/bash
set -xeuo pipefail
rm -rf /etc/systemd/system/*
systemctl preset-all
rm -rf /etc/systemd/user/*
systemctl --user --global preset-all