From 6c6d80576562f1b02eddc66ceb60f74b300e36b1 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 26 Mar 2013 16:19:00 +0100 Subject: [PATCH] use systemd*dir variables everywhere --- dracut.conf.d/fedora.conf.example | 1 + dracut.sh | 9 +++++++++ modules.d/10i18n/console_init.sh | 4 ++-- modules.d/10i18n/module-setup.sh | 2 +- modules.d/90mdraid/module-setup.sh | 6 ++++-- modules.d/95rootfs-block/block-genrules.sh | 17 ----------------- modules.d/95udev-rules/module-setup.sh | 10 +++++----- modules.d/99base/init.sh | 6 +++--- modules.d/99base/module-setup.sh | 2 +- 9 files changed, 26 insertions(+), 31 deletions(-) diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example index ba7857c89..6389437f5 100644 --- a/dracut.conf.d/fedora.conf.example +++ b/dracut.conf.d/fedora.conf.example @@ -10,6 +10,7 @@ install_items+=" vi /etc/virc ps grep cat rm " prefix="/" systemdutildir=/usr/lib/systemd systemdsystemunitdir=/usr/lib/systemd/system +systemdsystemconfdir=/etc/systemd/system udevdir=/usr/lib/udev add_dracutmodules+=" systemd " hostonly="yes" diff --git a/dracut.sh b/dracut.sh index ecd323741..5e9ea3ee2 100755 --- a/dracut.sh +++ b/dracut.sh @@ -1067,6 +1067,15 @@ if [[ $kernel_only != yes ]]; then cat $f >> "${initdir}/etc/fstab" done + if [ -d ${initdir}/$systemdutildir ]; then + mkdir -p ${initdir}/etc/conf.d + { + echo "systemdutildir=\"$systemdutildir\"" + echo "systemdsystemunitdir=\"$systemdsystemunitdir\"" + echo "systemdsystemconfdir=\"$systemdsystemconfdir\"" + } > ${initdir}/etc/conf.d/systemd.conf + fi + if [[ $DRACUT_RESOLVE_LAZY ]] && [[ $DRACUT_INSTALL ]]; then dinfo "*** Resolving executable dependencies ***" find "$initdir" -type f \ diff --git a/modules.d/10i18n/console_init.sh b/modules.d/10i18n/console_init.sh index 8817f9572..aef608a33 100755 --- a/modules.d/10i18n/console_init.sh +++ b/modules.d/10i18n/console_init.sh @@ -4,8 +4,8 @@ [ -n "$DRACUT_SYSTEMD" ] && exit 0 -if [ -x /lib/systemd/systemd-vconsole-setup ]; then - /lib/systemd/systemd-vconsole-setup "$@" +if [ -x $systemdutildir/systemd-vconsole-setup ]; then + $systemdutildir/systemd-vconsole-setup "$@" fi [ -e /etc/vconsole.conf ] && . /etc/vconsole.conf diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh index 469e45242..fcd828205 100755 --- a/modules.d/10i18n/module-setup.sh +++ b/modules.d/10i18n/module-setup.sh @@ -12,7 +12,7 @@ depends() { } install() { - [ -x /lib/systemd/systemd-vconsole-setup ] && dracut_install /lib/systemd/systemd-vconsole-setup + dracut_install -o $systemdutildir/systemd-vconsole-setup KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps DEFAULT_FONT=LatArCyrHeb-16 I18N_CONF="/etc/locale.conf" diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh index 70c27dd65..8d63028db 100755 --- a/modules.d/90mdraid/module-setup.sh +++ b/modules.d/90mdraid/module-setup.sh @@ -88,8 +88,10 @@ install() { inst_hook shutdown 30 "$moddir/md-shutdown.sh" inst_script "$moddir/mdraid-cleanup.sh" /sbin/mdraid-cleanup inst_script "$moddir/mdraid_start.sh" /sbin/mdraid_start - if [ -e /lib/systemd/system/mdmon@.service ]; then - inst_simple /lib/systemd/system/mdmon@.service + if dracut_module_included "systemd"; then + if [ -e $systemdsystemunitdir/mdmon@.service ]; then + inst_simple $systemdsystemunitdir/mdmon@.service + fi fi inst_hook pre-shutdown 30 "$moddir/mdmon-pre-shutdown.sh" } diff --git a/modules.d/95rootfs-block/block-genrules.sh b/modules.d/95rootfs-block/block-genrules.sh index 7f894ee28..1e6827abf 100755 --- a/modules.d/95rootfs-block/block-genrules.sh +++ b/modules.d/95rootfs-block/block-genrules.sh @@ -13,22 +13,5 @@ if [ "${root%%:*}" = "block" ]; then printf '[ -e "%s" ] && { ln -s "%s" /dev/root 2>/dev/null; rm "$job"; }\n' \ "${root#block:}" "${root#block:}" > $hookdir/initqueue/settled/blocksymlink.sh - # if [ -d /lib/systemd/system/ ]; then - # echo "${root#block:} $NEWROOT ${fstype:-auto} ${rflags:-defaults} 1 1" >> /etc/fstab - # { - # echo '[Unit]' - # echo 'Description=New Root File System' - # echo 'DefaultDependencies=no' - # echo 'Before=initrd-switch-root.service' - # echo '[Mount]' - # echo "What=${root#block:}" - # echo "Where=$NEWROOT" - - # } >/lib/systemd/system/${NEWROOT#/}.mount - - # mkdir -p /lib/systemd/system/initrd-switch-root.target.requires - # ln -s ../${NEWROOT#/}.mount /lib/systemd/system/initrd-switch-root.target.requires/${NEWROOT#/}.mount - # fi - wait_for_dev "${root#block:}" fi diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh index 945964662..1c4820257 100755 --- a/modules.d/95udev-rules/module-setup.sh +++ b/modules.d/95udev-rules/module-setup.sh @@ -11,17 +11,17 @@ install() { dracut_install udevadm cat uname blkid \ /etc/udev/udev.conf - [ -d ${initdir}/lib/systemd ] || mkdir -p ${initdir}/lib/systemd - for _i in ${systemdutildir}/systemd-udevd ${udevdir}/udevd /lib/systemd/systemd-udevd /sbin/udevd; do + [ -d ${initdir}/$systemdutildir ] || mkdir -p ${initdir}/$systemdutildir + for _i in ${systemdutildir}/systemd-udevd ${udevdir}/udevd /sbin/udevd; do [ -x "$_i" ] || continue inst "$_i" - if ! [[ -f ${initdir}/lib/systemd/systemd-udevd ]]; then - ln -fs "$_i" ${initdir}/lib/systemd/systemd-udevd + if ! [[ -f ${initdir}${systemdutildir}/systemd-udevd ]]; then + ln -fs "$_i" ${initdir}${systemdutildir}/systemd-udevd fi break done - if ! [[ -e ${initdir}/lib/systemd/systemd-udevd ]]; then + if ! [[ -e ${initdir}${systemdutildir}/systemd-udevd ]]; then derror "Cannot find [systemd-]udevd binary!" exit 1 fi diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh index a5a544eed..b441a2765 100755 --- a/modules.d/99base/init.sh +++ b/modules.d/99base/init.sh @@ -37,8 +37,8 @@ fi RD_DEBUG="" . /lib/dracut-lib.sh -if [ -x /lib/systemd/systemd-timestamp ]; then - RD_TIMESTAMP=$(/lib/systemd/systemd-timestamp) +if [ -x $systemdutildir/systemd-timestamp ]; then + RD_TIMESTAMP=$($systemdutildir/systemd-timestamp) else read RD_TIMESTAMP _tmp < /proc/uptime unset _tmp @@ -124,7 +124,7 @@ getarg 'rd.break=pre-udev' -d 'rdbreak=pre-udev' && emergency_shell -n pre-udev source_hook pre-udev # start up udev and trigger cold plugs -/lib/systemd/systemd-udevd --daemon --resolve-names=never +$systemdutildir/systemd-udevd --daemon --resolve-names=never UDEV_LOG_PRIO_ARG=--log-priority UDEV_QUEUE_EMPTY="udevadm settle --timeout=0" diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh index 146947b51..7f2940b79 100755 --- a/modules.d/99base/module-setup.sh +++ b/modules.d/99base/module-setup.sh @@ -49,7 +49,7 @@ install() { fi mkdir -p "${initdir}/var" - [ -x /lib/systemd/systemd-timestamp ] && inst /lib/systemd/systemd-timestamp + dracut_install -o $systemdutildir/systemd-timestamp if [[ $realinitpath ]]; then for i in $realinitpath; do echo "rd.distroinit=$i" -- 2.47.3