From d23dfde37d663d2469d2eaefc256e19526ccfa2a55da0acb71316aeee9144e99 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 5 Jun 2014 08:47:12 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=658 --- ...etup-after-md-dmraid-lvm-are-started.patch | 45 ------------------- ...e-started-before-local-fs-pre-target.patch | 17 ------- ...assword-wall-starts-after-getty-tty1.patch | 11 +++-- systemd-mini.changes | 19 ++++++++ systemd-mini.spec | 42 +++++++++++++---- systemd.changes | 19 ++++++++ systemd.spec | 42 +++++++++++++---- 7 files changed, 111 insertions(+), 84 deletions(-) delete mode 100644 delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch delete mode 100644 ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch deleted file mode 100644 index 1bde222f..00000000 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Frederic Crozat -Date: Wed, 9 Nov 2011 11:10:49 +0100 -Subject: delay fsck / cryptsetup after md / dmraid are started - ---- - src/cryptsetup/cryptsetup-generator.c | 1 + - units/systemd-fsck@.service.in | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -Index: systemd-208/src/cryptsetup/cryptsetup-generator.c -=================================================================== ---- systemd-208.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-208/src/cryptsetup/cryptsetup-generator.c -@@ -119,6 +119,7 @@ static int create_disk( - "DefaultDependencies=no\n" - "BindsTo=dev-mapper-%i.device\n" - "IgnoreOnIsolate=true\n" -+ "After=md.service dmraid.service\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", - f); - -Index: systemd-208/units/systemd-fsck@.service.in -=================================================================== ---- systemd-280.orig/units/systemd-fsck@.service.in -+++ systemd-280/units/systemd-fsck@.service.in -@@ -10,7 +10,7 @@ - Documentation=man:systemd-fsck@.service(8) - DefaultDependencies=no - BindsTo=%i.device --After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service md.service dmraid.service - Before=shutdown.target - - [Service] ---- systemd-280.orig/units/systemd-fsck-root.service.in -+++ systemd-280/units/systemd-fsck-root.service.in -@@ -9,7 +9,7 @@ - Description=File System Check on Root Device - Documentation=man:systemd-fsck-root.service(8) - DefaultDependencies=no --After=systemd-readahead-collect.service systemd-readahead-replay.service -+After=systemd-readahead-collect.service systemd-readahead-replay.service md.service dmraid.service - Before=local-fs.target shutdown.target - - ConditionPathIsReadWrite=!/ diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch deleted file mode 100644 index d53eb948..00000000 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ /dev/null @@ -1,17 +0,0 @@ -From: Frederic Crozat -Date: Thu, 9 Feb 2012 16:19:38 +0000 -Subject: ensure DM and dmraid are started before local-fs-pre-target - -ensure md / dmraid is started before mounting partitions, -if fsck was disabled for them (bnc#733283). ---- - units/local-fs-pre.target | 1 + - 1 file changed, 1 insertion(+) - ---- systemd-206_git201308300826.orig/units/local-fs-pre.target -+++ systemd-206_git201308300826/units/local-fs-pre.target -@@ -9,3 +9,4 @@ - Description=Local File Systems (Pre) - Documentation=man:systemd.special(7) - RefuseManualStart=yes -+After=md.service dmraid.service diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index 17d2e05e..ac8dbcfd 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -1,20 +1,23 @@ From: Frederic Crozat +Cc: Werner Fink Date: Wed, 24 Aug 2011 13:02:12 +0000 Subject: ensure ask-password-wall starts after getty@tty1 ensure passphrase is handled before starting getty on tty1. + --- - units/systemd-ask-password-wall.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + units/systemd-ask-password-wall.service.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) --- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in +++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in -@@ -8,7 +8,7 @@ +@@ -8,7 +8,8 @@ [Unit] Description=Forward Password Requests to Wall Documentation=man:systemd-ask-password-console.service(8) -After=systemd-user-sessions.service -+After=systemd-user-sessions.service getty@tty1.service ++Wants=getty.target ++After=systemd-user-sessions.service getty.target [Service] ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/systemd-mini.changes b/systemd-mini.changes index 2b522a98..1cff13ed 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * The patches + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and + ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch + indeed mention unit files which do not exist anymore. +- Make sure that systemd-ask-password-wall.service has a tty as + it is not sure that a tty1 exists +- Avoid broken firmware loading on newer distributions as 13.1 + +------------------------------------------------------------------- +Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de + +- Correct version check for the tcp-devel drop +- Use correct permissions for /var/log/journal +- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) + ------------------------------------------------------------------- Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index c40ae1d6..a0e21503 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -72,7 +72,7 @@ BuildRequires: pam-devel %if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros %endif -%if 0%{?suse_version} > 1315 +%if 0%{?suse_version} <= 1315 BuildRequires: tcpd-devel %endif BuildRequires: xz @@ -138,6 +138,8 @@ Requires(post): findutils %if ! 0%{?bootstrap} Requires(post): pam-config %endif +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -171,10 +173,8 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch -Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -586,6 +586,8 @@ Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch # PATCHFIX-UPSTREAM added at 2014/06/03 Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +%define ul_version %(rpm -q util-linux --qf '%%{VERSION}' | awk -F . '{printf "%2.2d%2.2d%2.2d", $1, $2, $3}') + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -640,12 +642,19 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq +PreReq: /usr/bin/sg_inq +Requires(pre): /usr/bin/stat +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/bin/getent Requires(post): lib%{udevpkgname}%{udev_major} Requires(post): sed -Requires(post): systemd +Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} Requires(post): coreutils +Requires(post): /usr/bin/stat Requires(postun): coreutils Requires(posttrans): suse-module-tools Requires(posttrans): /sbin/mkinitrd @@ -747,6 +756,11 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/systemctl Conflicts: otherproviders(syslog) %description logger @@ -813,10 +827,8 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 @@ -1063,7 +1075,9 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -1111,7 +1125,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif +%if 0%{?suse_version} <= 1310 ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config @@ -1389,7 +1405,7 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -/usr/sbin/groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -1468,7 +1484,13 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%pre logger +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +exit 0 + %post logger +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx /var/log/journal/ || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx /var/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -1761,7 +1783,9 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm +%if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id @@ -1852,7 +1876,7 @@ exit 0 %files logger %defattr(-,root,root) -%dir %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald diff --git a/systemd.changes b/systemd.changes index 2b522a98..1cff13ed 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de + +- Add changes from Cristian Rodríguez: + * The patches + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and + ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch + indeed mention unit files which do not exist anymore. +- Make sure that systemd-ask-password-wall.service has a tty as + it is not sure that a tty1 exists +- Avoid broken firmware loading on newer distributions as 13.1 + +------------------------------------------------------------------- +Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de + +- Correct version check for the tcp-devel drop +- Use correct permissions for /var/log/journal +- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8) + ------------------------------------------------------------------- Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 5310cc46..a0a48baf 100644 --- a/systemd.spec +++ b/systemd.spec @@ -67,7 +67,7 @@ BuildRequires: pam-devel %if 0%{?suse_version} > 1310 BuildRequires: systemd-rpm-macros %endif -%if 0%{?suse_version} > 1315 +%if 0%{?suse_version} <= 1315 BuildRequires: tcpd-devel %endif BuildRequires: xz @@ -133,6 +133,8 @@ Requires(post): findutils %if ! 0%{?bootstrap} Requires(post): pam-config %endif +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -166,10 +168,8 @@ Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch -Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -581,6 +581,8 @@ Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch # PATCHFIX-UPSTREAM added at 2014/06/03 Patch1024: 1024-udev-always-close-lock-file-descriptor.patch +%define ul_version %(rpm -q util-linux --qf '%%{VERSION}' | awk -F . '{printf "%2.2d%2.2d%2.2d", $1, $2, $3}') + %description Systemd is a system and service manager, compatible with SysV and LSB init scripts for Linux. systemd provides aggressive parallelization @@ -635,12 +637,19 @@ Summary: A rule-based device node and kernel event manager License: GPL-2.0 Group: System/Kernel Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +PreReq: /bin/rm +PreReq: %insserv_prereq +PreReq: %fillup_prereq +PreReq: /usr/bin/sg_inq +Requires(pre): /usr/bin/stat +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/bin/getent Requires(post): lib%{udevpkgname}%{udev_major} Requires(post): sed -Requires(post): systemd +Requires(post): /usr/bin/systemctl %if %{defined regenerate_initrd_post} Requires(post): coreutils +Requires(post): /usr/bin/stat Requires(postun): coreutils Requires(posttrans): suse-module-tools Requires(posttrans): /sbin/mkinitrd @@ -742,6 +751,11 @@ License: LGPL-2.1+ Group: System/Base Provides: syslog Provides: sysvinit(syslog) +Requires(pre): /usr/bin/getent +Requires(pre): /usr/sbin/groupadd +Requires(post): /usr/bin/getent +Requires(post): /usr/bin/setfacl +Requires(post): /usr/bin/systemctl Conflicts: otherproviders(syslog) %description logger @@ -808,10 +822,8 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 @@ -1058,7 +1070,9 @@ export V=1 --enable-selinux \ --enable-split-usr \ --disable-static \ +%if 0%{?suse_version} <= 1310 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ +%endif --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ --with-debug-shell=/bin/bash \ @@ -1106,7 +1120,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd %if ! 0%{?bootstrap} ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8 %endif +%if 0%{?suse_version} <= 1310 ln -sf /lib/firmware %{buildroot}/usr/lib/firmware +%endif %if ! 0%{?bootstrap} install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config @@ -1384,7 +1400,7 @@ elif [ ! -e /lib/udev ]; then ln -s /usr/lib/udev /lib/udev fi # Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules -/usr/sbin/groupadd -r tape 2> /dev/null || : +getent group tape >/dev/null || groupadd -r tape 2> /dev/null || : # kill daemon if we are not in a chroot if test -f /proc/1/exe -a -d /proc/1/root ; then if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then @@ -1463,7 +1479,13 @@ fi %postun -n libgudev-1_0-0 -p /sbin/ldconfig +%pre logger +getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : +exit 0 + %post logger +getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx /var/log/journal/ || : +getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx /var/log/journal/ || : if [ "$1" -eq 1 ]; then # tell journal to start logging on disk if directory didn't exist before systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : @@ -1756,7 +1778,9 @@ exit 0 # keep for compatibility %ghost /lib/udev %{_bindir}/udevadm +%if 0%{?suse_version} <= 1310 %{_prefix}/lib/firmware +%endif %dir %{_prefix}/lib/udev/ %{_prefix}/lib/udev/accelerometer %{_prefix}/lib/udev/ata_id @@ -1847,7 +1871,7 @@ exit 0 %files logger %defattr(-,root,root) -%dir %{_localstatedir}/log/journal +%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal %{_localstatedir}/log/README /etc/init.d/systemd-journald