[dracut] dracut-019-62.git20120621

Harald Hoyer harald at fedoraproject.org
Thu Jun 21 09:04:48 UTC 2012


commit 5414ff20d668aba1fe2bb333715344ee120d8090
Author: Harald Hoyer <harald at redhat.com>
Date:   Thu Jun 21 11:04:17 2012 +0200

    dracut-019-62.git20120621
    
    - do not require pkg-config for systemd
    - i18n fixes
    - less systemd services in the initramfs

 ...tions.sh-use-ln-r-instead-of-shell-functi.patch |   54 +++++++++++++
 ...-systemd-remove-unneeded-systemd-services.patch |   74 ++++++++++++++++++
 ...for-systemd-and-include-more-config-files.patch |   79 ++++++++++++++++++++
 0060-systemd-remove-old-udev-services.patch        |   79 ++++++++++++++++++++
 ...cut-pre-pivot.sh-copy-service-files-to-ru.patch |   24 ++++++
 dracut.spec                                        |   12 +++-
 6 files changed, 321 insertions(+), 1 deletions(-)
---
diff --git a/0057-dracut-functions.sh-use-ln-r-instead-of-shell-functi.patch b/0057-dracut-functions.sh-use-ln-r-instead-of-shell-functi.patch
new file mode 100644
index 0000000..40af261
--- /dev/null
+++ b/0057-dracut-functions.sh-use-ln-r-instead-of-shell-functi.patch
@@ -0,0 +1,54 @@
+From a20d24ded292bfcf96f4fdab78ec20b92a07bbf1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 21 Jun 2012 01:57:11 +0200
+Subject: [PATCH] dracut-functions.sh: use "ln -r" instead of shell functions
+
+---
+ dracut-functions.sh |   20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 1137919..d4a766b 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -188,6 +188,19 @@ convert_abs_rel() {
+     echo "$__newpath"
+ }
+ 
++if strstr "$(ln --help)" "relative"; then
++    ln_r() {
++        ln -sfnr "${initdir}/$1" "${initdir}/$2"
++    }
++else
++    ln_r() {
++        local _source=$1
++        local _dest=$2
++        [[ -d "${_dest%/*}" ]] && _dest=$(readlink -f "${_dest%/*}")/${_dest##*/}
++        ln -sfn $(convert_abs_rel "${_dest}" "${_source}") "${initdir}/${_dest}"
++    }
++fi
++
+ # get_fs_env <device>
+ # Get and set the ID_FS_TYPE and ID_FS_UUID variable from udev for a device.
+ # Example:
+@@ -465,8 +478,7 @@ inst_library() {
+         _reallib=$(readlink -f "$_src")
+         inst_simple "$_reallib" "$_reallib"
+         inst_dir "${_dest%/*}"
+-        [[ -d "${_dest%/*}" ]] && _dest=$(readlink -f "${_dest%/*}")/${_dest##*/}
+-        ln -sfn $(convert_abs_rel "${_dest}" "${_reallib}") "${initdir}/${_dest}"
++        ln_r "${_reallib}" "${_dest}"
+     else
+         inst_simple "$_src" "$_dest"
+     fi
+@@ -555,8 +567,8 @@ inst_symlink() {
+         fi
+     fi
+     [[ ! -e $initdir/${_target%/*} ]] && inst_dir "${_target%/*}"
+-    [[ -d ${_target%/*} ]] && _target=$(readlink -f ${_target%/*})/${_target##*/}
+-    ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target"
++
++    ln_r "${_realsrc}" "${_target}"
+ }
+ 
+ # attempt to install any programs specified in a udev rule
diff --git a/0058-systemd-remove-unneeded-systemd-services.patch b/0058-systemd-remove-unneeded-systemd-services.patch
new file mode 100644
index 0000000..254aecb
--- /dev/null
+++ b/0058-systemd-remove-unneeded-systemd-services.patch
@@ -0,0 +1,74 @@
+From 579ca216b426923ea312ebd46582e38a683b5531 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 21 Jun 2012 03:36:58 +0200
+Subject: [PATCH] systemd: remove unneeded systemd services
+
+---
+ modules.d/98systemd/module-setup.sh |   17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index adef939..d11aa8a 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -21,15 +21,10 @@ install() {
+         $systemdutildir/systemd-cgroups-agent \
+         $systemdutildir/systemd-initctl \
+         $systemdutildir/systemd-shutdown \
+-        $systemdutildir/systemd-modules-load \
+-        $systemdutildir/systemd-remount-fs \
+         $systemdutildir/systemd-reply-password \
+         $systemdutildir/systemd-fsck \
+-        $systemdutildir/systemd-sysctl \
+         $systemdutildir/systemd-udevd \
+         $systemdutildir/systemd-journald \
+-        $systemdutildir/systemd-vconsole-setup \
+-        $systemdutildir/systemd-cryptsetup \
+         $systemdsystemunitdir/emergency.target \
+         $systemdsystemunitdir/sysinit.target \
+         $systemdsystemunitdir/basic.target \
+@@ -53,19 +48,13 @@ install() {
+         $systemdsystemunitdir/swap.target \
+         $systemdsystemunitdir/systemd-initctl.socket \
+         $systemdsystemunitdir/systemd-shutdownd.socket \
+-        $systemdsystemunitdir/bluetooth.target \
+         $systemdsystemunitdir/systemd-ask-password-console.path \
+         $systemdsystemunitdir/systemd-udev-control.socket \
+         $systemdsystemunitdir/systemd-udev-kernel.socket \
+         $systemdsystemunitdir/systemd-ask-password-plymouth.path \
+         $systemdsystemunitdir/systemd-journald.socket \
+-        $systemdsystemunitdir/cryptsetup.target \
+-        $systemdsystemunitdir/console-shell.service \
+-        $systemdsystemunitdir/console-getty.service \
+         $systemdsystemunitdir/systemd-initctl.service \
+         $systemdsystemunitdir/systemd-shutdownd.service \
+-        $systemdsystemunitdir/systemd-modules-load.service \
+-        $systemdsystemunitdir/systemd-remount-fs.service \
+         $systemdsystemunitdir/systemd-ask-password-console.service \
+         $systemdsystemunitdir/halt.service \
+         $systemdsystemunitdir/poweroff.service \
+@@ -78,12 +67,9 @@ install() {
+         $systemdsystemunitdir/systemd-ask-password-plymouth.service \
+         $systemdsystemunitdir/systemd-journald.service \
+         $systemdsystemunitdir/systemd-vconsole-setup.service \
+-        $systemdsystemunitdir/systemd-localed.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-modules-load.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-ask-password-console.path \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-journald.service \
+-        $systemdsystemunitdir/sysinit.target.wants/systemd-vconsole-setup.service \
+-        $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
+         $systemdsystemunitdir/sockets.target.wants/systemd-initctl.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-shutdownd.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-udev-control.socket \
+@@ -91,11 +77,8 @@ install() {
+         $systemdsystemunitdir/sockets.target.wants/systemd-journald.socket \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev-trigger.service \
+-        $systemdsystemunitdir/local-fs.target.wants/systemd-remount-fs.service \
+-        $systemdsystemunitdir/local-fs.target.wants/fsck-root.service \
+         $systemdsystemunitdir/local-fs.target.wants/tmp.mount \
+         $systemdsystemunitdir/ctrl-alt-del.target \
+-        $systemdsystemunitdir/autovt at .service \
+         $systemdsystemunitdir/single.service \
+         $systemdsystemunitdir/syslog.socket \
+         $systemdsystemunitdir/syslog.target \
diff --git a/0059-fixed-i18n-for-systemd-and-include-more-config-files.patch b/0059-fixed-i18n-for-systemd-and-include-more-config-files.patch
new file mode 100644
index 0000000..54ff460
--- /dev/null
+++ b/0059-fixed-i18n-for-systemd-and-include-more-config-files.patch
@@ -0,0 +1,79 @@
+From ee876e03b9c88bed7fb3d2a337b2361e07bbb0e3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 21 Jun 2012 09:24:44 +0200
+Subject: [PATCH] fixed i18n for systemd and include more config files in
+ host-only
+
+---
+ modules.d/10i18n/console_init.sh    |    2 ++
+ modules.d/98systemd/module-setup.sh |   17 ++++++++++++++---
+ 2 files changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/10i18n/console_init.sh b/modules.d/10i18n/console_init.sh
+index b46046b..37efdd1 100755
+--- a/modules.d/10i18n/console_init.sh
++++ b/modules.d/10i18n/console_init.sh
+@@ -2,6 +2,8 @@
+ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
++[ -x /lib/systemd/systemd-vconsole-setup ] && exit 0
++
+ [ -e /etc/vconsole.conf ] && . /etc/vconsole.conf
+ 
+ DEFAULT_FONT=LatArCyrHeb-16
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index d11aa8a..4c68a9a 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -7,7 +7,8 @@ check() {
+     if [[ -x /lib/systemd/systemd ]] || [[ -x /usr/lib/systemd/systemd ]]; then
+         return 255
+     fi
+-    pkg-config systemd --variable=systemdutildir >/dev/null && return 255
++    [[ $systemdutildir ]] && return 255
++
+     return 1
+ }
+ 
+@@ -69,6 +70,7 @@ install() {
+         $systemdsystemunitdir/systemd-vconsole-setup.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-modules-load.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-ask-password-console.path \
++        $systemdsystemunitdir/sysinit.target.wants/systemd-vconsole-setup.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-journald.service \
+         $systemdsystemunitdir/sockets.target.wants/systemd-initctl.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-shutdownd.socket \
+@@ -77,7 +79,6 @@ install() {
+         $systemdsystemunitdir/sockets.target.wants/systemd-journald.socket \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev-trigger.service \
+-        $systemdsystemunitdir/local-fs.target.wants/tmp.mount \
+         $systemdsystemunitdir/ctrl-alt-del.target \
+         $systemdsystemunitdir/single.service \
+         $systemdsystemunitdir/syslog.socket \
+@@ -101,6 +102,17 @@ install() {
+ 
+     dracut_install journalctl systemctl echo
+ 
++    if [[ $hostonly ]]; then
++        dracut_install -o /etc/systemd/journald.conf \
++            /etc/systemd/system.conf \
++            /etc/hostname \
++            /etc/machine-id \
++            /etc/vconsole.conf \
++            /etc/locale.conf
++    else
++        > "$initdir/etc/machine-id"
++    fi
++
+     ln -fs $systemdutildir/systemd "$initdir/init"
+ 
+     rm -f "${initdir}${systemdsystemunitdir}/emergency.service"
+@@ -136,6 +148,5 @@ install() {
+     mkdir -p "${initdir}${systemdsystemunitdir}/initrd-switch-root.target.wants"
+     ln -s ../dracut-pre-pivot.service "${initdir}${systemdsystemunitdir}/initrd-switch-root.target.wants/dracut-pre-pivot.service"
+ 
+-    > "$initdir/etc/machine-id"
+ }
+ 
diff --git a/0060-systemd-remove-old-udev-services.patch b/0060-systemd-remove-old-udev-services.patch
new file mode 100644
index 0000000..70e3351
--- /dev/null
+++ b/0060-systemd-remove-old-udev-services.patch
@@ -0,0 +1,79 @@
+From 55cb17c677d6e4658b4356cf5a594acfec01366b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 21 Jun 2012 10:50:01 +0200
+Subject: [PATCH] systemd: remove old udev services
+
+---
+ modules.d/98systemd/dracut-initqueue.service   |    4 ++--
+ modules.d/98systemd/dracut-pre-trigger.service |    6 +++---
+ modules.d/98systemd/dracut-pre-udev.service    |    2 +-
+ modules.d/98systemd/module-setup.sh            |   11 +----------
+ 4 files changed, 7 insertions(+), 16 deletions(-)
+
+diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service
+index 4f86eaf..31fe9e4 100644
+--- a/modules.d/98systemd/dracut-initqueue.service
++++ b/modules.d/98systemd/dracut-initqueue.service
+@@ -10,8 +10,8 @@
+ [Unit]
+ Description=Dracut initqueue hook
+ DefaultDependencies=no
+-After=systemd-udev-trigger.service udev-trigger.service
+-Wants=systemd-udev-trigger.service udev-trigger.service
++After=systemd-udev-trigger.service
++Wants=systemd-udev-trigger.service
+ 
+ [Service]
+ Environment=HOME=/
+diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service
+index 234839c..b06d17f 100644
+--- a/modules.d/98systemd/dracut-pre-trigger.service
++++ b/modules.d/98systemd/dracut-pre-trigger.service
+@@ -10,9 +10,9 @@
+ [Unit]
+ Description=Dracut pre-trigger hook
+ DefaultDependencies=no
+-Before=systemd-udev-trigger.service udev-trigger.service dracut-initqueue.service
+-After=dracut-pre-udev.service systemd-udev.service udev.service
+-Wants=dracut-pre-udev.service systemd-udev.service udev.service
++Before=systemd-udev-trigger.service dracut-initqueue.service
++After=dracut-pre-udev.service systemd-udev.service
++Wants=dracut-pre-udev.service systemd-udev.service
+ 
+ [Service]
+ Environment=HOME=/
+diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service
+index 11be61b..d867b38 100644
+--- a/modules.d/98systemd/dracut-pre-udev.service
++++ b/modules.d/98systemd/dracut-pre-udev.service
+@@ -10,7 +10,7 @@
+ [Unit]
+ Description=Dracut pre-udev hook
+ DefaultDependencies=no
+-Before=systemd-udev.service udev.service dracut-pre-trigger.service
++Before=systemd-udev.service dracut-pre-trigger.service
+ After=dracut-cmdline.service
+ Wants=dracut-cmdline.service
+ 
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index 4c68a9a..a6e2365 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -85,16 +85,7 @@ install() {
+         $systemdsystemunitdir/syslog.target \
+         $systemdsystemunitdir/initrd-switch-root.target \
+         $systemdsystemunitdir/initrd-switch-root.service \
+-        $systemdsystemunitdir/umount.target \
+-        $systemdsystemunitdir/udev-control.socket \
+-        $systemdsystemunitdir/udev-kernel.socket \
+-        $systemdsystemunitdir/udev.service \
+-        $systemdsystemunitdir/udev-settle.service \
+-        $systemdsystemunitdir/udev-trigger.service \
+-        $systemdsystemunitdir/basic.target.wants/udev.service \
+-        $systemdsystemunitdir/basic.target.wants/udev-trigger.service \
+-        $systemdsystemunitdir/sockets.target.wants/udev-control.socket \
+-        $systemdsystemunitdir/sockets.target.wants/udev-kernel.socket
++        $systemdsystemunitdir/umount.target
+ 
+     for i in /etc/systemd/*.conf; do
+         dracut_install "$i"
diff --git a/0061-systemd-dracut-pre-pivot.sh-copy-service-files-to-ru.patch b/0061-systemd-dracut-pre-pivot.sh-copy-service-files-to-ru.patch
new file mode 100644
index 0000000..b0463f7
--- /dev/null
+++ b/0061-systemd-dracut-pre-pivot.sh-copy-service-files-to-ru.patch
@@ -0,0 +1,24 @@
+From cc51bc6fdbe3962d5ca81808ed685ddc41770935 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 21 Jun 2012 10:50:36 +0200
+Subject: [PATCH] systemd/dracut-pre-pivot.sh: copy service files to
+ /run/systemd/system
+
+and remove the last info, so that the journal is not restarted again.
+---
+ modules.d/98systemd/dracut-pre-pivot.sh |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
+index 38e9c3c..89d7e6d 100755
+--- a/modules.d/98systemd/dracut-pre-pivot.sh
++++ b/modules.d/98systemd/dracut-pre-pivot.sh
+@@ -45,6 +45,7 @@ udevadm info --cleanup-db
+ [ -h /dev/root ] && rm -f /dev/root
+ 
+ getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root"
+-info "Switching root"
++
++cp -avr /lib/systemd/system/dracut*.service /run/systemd/system/
+ 
+ export -p > /dracut-state.sh
diff --git a/dracut.spec b/dracut.spec
index 1941d7f..fec0b4b 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 019
-Release: 57.git20120620%{?dist}
+Release: 62.git20120621%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -80,6 +80,11 @@ Patch53: 0053-base-dracut-lib.sh-change-output-of-info-and-warn-fo.patch
 Patch54: 0054-base-dracut-lib.sh-for-systemd-start-emergency.servi.patch
 Patch55: 0055-dracut.conf.d-fedora.conf.example-make-systemd-defau.patch
 Patch56: 0056-dracut.spec-require-systemd-44-15.patch
+Patch57: 0057-dracut-functions.sh-use-ln-r-instead-of-shell-functi.patch
+Patch58: 0058-systemd-remove-unneeded-systemd-services.patch
+Patch59: 0059-fixed-i18n-for-systemd-and-include-more-config-files.patch
+Patch60: 0060-systemd-remove-old-udev-services.patch
+Patch61: 0061-systemd-dracut-pre-pivot.sh-copy-service-files-to-ru.patch
 
 
 BuildArch: noarch
@@ -401,6 +406,11 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Thu Jun 21 2012 Harald Hoyer <harald at redhat.com> 019-62.git20120621
+- do not require pkg-config for systemd
+- i18n fixes
+- less systemd services in the initramfs
+
 * Thu Jun 21 2012 Harald Hoyer <harald at redhat.com> 019-57.git20120620
 - systemd is now the default init in the initramfs
 


More information about the scm-commits mailing list