From 08d6a9f93dcfeb25086f15255a1b4661ddac208d Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Thu, 24 Nov 2016 09:52:28 +1100 Subject: [PATCH] yum-minimal: add systemd to initial install It seems in the grub cleanup in Iafe3611f4eec3c6357587a6cae6a30a261686ead I managed to unintentionally drop systemd from the yum-minimal builds. By not pre-installing grub we dropped some dependencies; the path is tortured ... grub2 -> os-prober -> udev -> systemd-udev -> systemd (we don't even want os-prober! So this whole thing was working by accident). This manifests in *very* confusing ways. Currently centos-minimal builds are failing late in the build with services unable to enabled. dib-init-system was actually trying to tell us that it didn't know what init was installed (because systemd wasn't actually installed), but unfortunately it was not really failing. This meant the service files were not copied correctly from other elements, and thus fail to be enabled. I have corrected this with I076c08190d40c315ad6a6d96a3823e9fc52630be which would at least alert us earlier. For Fedora 24, due to a bug in dracut dependencies [1], missing the systemd-udev package fails the build of the initrd during the kernel install. This then results in an initrd-less, unbootable system (see also Ibaaa81124098f3c6febe48e455d3e1cd0a5f1761). Add these dependencies explicitly. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1398505 Change-Id: I24ce648485c3d6f3c27ab8f87a638516b3727017 --- elements/yum-minimal/root.d/08-yum-chroot | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/elements/yum-minimal/root.d/08-yum-chroot b/elements/yum-minimal/root.d/08-yum-chroot index 10fe1d25..7760897b 100755 --- a/elements/yum-minimal/root.d/08-yum-chroot +++ b/elements/yum-minimal/root.d/08-yum-chroot @@ -242,7 +242,17 @@ else sudo -E chroot $TARGET_ROOT ${YUM} -y update sudo -E chroot $TARGET_ROOT ${YUM} -y \ --setopt=cachedir=/tmp/yum/$ARCH/$DIB_RELEASE \ - install passwd findutils sudo util-linux-ng + install systemd passwd findutils sudo util-linux-ng + + # This package is split out from systemd on >F24, dracut is + # missing the dependency and will fail to make an initrd without + # it; see + # https://bugzilla.redhat.com/show_bug.cgi?id=1398505 + if [ $DISTRO_NAME = "fedora" -a $DIB_RELEASE -ge 24 ]; then + sudo -E chroot $TARGET_ROOT ${YUM} -y \ + --setopt=cachedir=/tmp/yum/$ARCH/$DIB_RELEASE \ + install systemd-udev + fi # Put in a dummy /etc/resolv.conf over the temporary one we used # to bootstrap. systemd has a bug/feature [1] that it will assume