combustion/module-setup.sh
Fabian Vogt b49b06245f Accepting request 964647 from home:favogt:combustion
- Bump version to 0.3
- Use the Wiki page as URL (boo#1195383)
- Don't touch /sysroot/etc/ after creating a new snapshot, it ends up
  in the old snapshot's overlay

- Disable ignition-mount.service's ExecStop instead of stopping the
  unit (boo#1197309)

- Be more --quiet with systemctl

OBS-URL: https://build.opensuse.org/request/show/964647
OBS-URL: https://build.opensuse.org/package/show/devel:kubic:ignition/combustion?expand=0&rev=26
2022-03-24 12:31:18 +00:00

26 lines
1.3 KiB
Bash

depends() {
echo bash network systemd url-lib
}
install() {
inst_simple "${moddir}/combustion.service" "${systemdsystemunitdir}/combustion.service"
inst_simple "${moddir}/combustion-prepare.service" "${systemdsystemunitdir}/combustion-prepare.service"
inst_simple "${moddir}/combustion.rules" "/etc/udev/rules.d/70-combustion.rules"
mkdir -p "${initdir}/${systemdsystemunitdir}/initrd.target.requires/"
ln_r "../combustion.service" "${systemdsystemunitdir}/initrd.target.requires/combustion.service"
inst_multiple awk chroot findmnt grep rmdir
inst_simple "${moddir}/combustion" "/usr/bin/combustion"
# ignition-mount.service mounts stuff below /sysroot in ExecStart and umounts
# it on ExecStop, failing if umounting fails. This conflicts with the
# mounts/umounts done by combustion. Just let combustion do it instead.
mkdir -p "${initdir}/${systemdsystemunitdir}/ignition-mount.service.d/"
echo -e "[Service]\nExecStop=" > "${initdir}/${systemdsystemunitdir}/ignition-mount.service.d/noexecstop.conf"
# Wait up to 10s (30s on aarch64) for the config drive
devtimeout=10
[ "$(uname -m)" = "aarch64" ] && devtimeout=30
mkdir -p "${initdir}/${systemdsystemunitdir}/dev-combustion-config.device.d/"
echo -e "[Unit]\nJobTimeoutSec=${devtimeout}" > "${initdir}/${systemdsystemunitdir}/dev-combustion-config.device.d/timeout.conf"
}