From 2176c3ed9bcf7fbd83e8a6e68ed0c8ffd2d6ac303ecffe8946aaafaa6c6319a1 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 7 Feb 2012 15:49:03 +0000 Subject: [PATCH 1/2] - Update to version 40: + reason why a service failed is now exposed in the"Result" D-Bus property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after forking to to reflect which process will be executed. + Various bug fixes. - Add remote-fs-after-network.patch and update insserv patch: ensure remote-fs-pre.target is enabled and started before network mount points (bnc#744293). - Ensure journald doesn't prevent syslogs to read from /proc/kmsg. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=240 --- ...ndencies-added-when-parsing-insserv..patch | 18 ++++- bootsplash-quit.service | 1 + bootsplash-shutdown.service | 2 + bootsplash-startup.service | 1 + remote-fs-after-network.patch | 74 +++++++++++++++++++ systemd-39.tar.xz | 3 - systemd-40.tar.xz | 3 + systemd-gtk.changes | 15 ++++ systemd-gtk.spec | 2 +- systemd.changes | 15 ++++ systemd.spec | 5 +- 11 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 remote-fs-after-network.patch delete mode 100644 systemd-39.tar.xz create mode 100644 systemd-40.tar.xz diff --git a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch index fd4b2219..1a1ef4da 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -7,13 +7,23 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf src/service.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) -Index: systemd-39/src/service.c +Index: systemd-40/src/service.c =================================================================== ---- systemd-39.orig/src/service.c -+++ systemd-39/src/service.c -@@ -3111,22 +3111,22 @@ static void sysv_facility_in_insserv_con +--- systemd-40.orig/src/service.c ++++ systemd-40/src/service.c +@@ -3162,23 +3162,32 @@ static void sysv_facility_in_insserv_con + Unit *u; if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) continue; ++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { ++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ ++ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); ++ unit_add_dependency_by_name(u, UNIT_WANTS, ++ SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } ++ if ((u = manager_get_unit(mgr, facility)) && (u->type == UNIT_TARGET)) { - UnitDependency e; char *dep = NULL, *name, **j; diff --git a/bootsplash-quit.service b/bootsplash-quit.service index 2cbdf369..6fd9b0a1 100644 --- a/bootsplash-quit.service +++ b/bootsplash-quit.service @@ -4,6 +4,7 @@ After=xdm.service rc-local.service bootsplash-startup.service Before=getty@tty1.service DefaultDependencies=no Names=plymouth-quit-wait.service +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent ConditionKernelCommandLine=vga diff --git a/bootsplash-shutdown.service b/bootsplash-shutdown.service index c1d4ed01..a1a483ec 100644 --- a/bootsplash-shutdown.service +++ b/bootsplash-shutdown.service @@ -2,7 +2,9 @@ Description=Start bootsplash for shutdown/reboot Before=shutdown.service halt.service DefaultDependencies=no +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent +ConditionKernelCommandLine=vga [Service] ExecStartPre=-/bin/kill -SIGRTMIN+20 1 diff --git a/bootsplash-startup.service b/bootsplash-startup.service index 465b8bba..9d94d9ff 100644 --- a/bootsplash-startup.service +++ b/bootsplash-startup.service @@ -1,6 +1,7 @@ [Unit] Description=Start bootsplash DefaultDependencies=no +ConditionFileIsExecutable=/sbin/splash ConditionKernelCommandLine=splash=silent ConditionKernelCommandLine=vga diff --git a/remote-fs-after-network.patch b/remote-fs-after-network.patch new file mode 100644 index 00000000..e3cbb521 --- /dev/null +++ b/remote-fs-after-network.patch @@ -0,0 +1,74 @@ +From db1355b1c181a4b1ac277064918d7c794dfb6edd Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 7 Feb 2012 11:05:18 +0100 +Subject: [PATCH] mount: adjust dependencies for remote filesystems + +Currently remote mounts automatically get: + After=remote-fs-pre.target network.target + +remote-fs-pre.target is already After=network.target. Just make sure +remote-fs-pre.target is pulled in by remote-fs.target if any remote +filesystems are configured. +For the mount units it is then sufficient to get: + After=remote-fs-pre.target + +Later NetworkManager will hook its NM-wait-online.service into +remote-fs-pre.target.wants in order to remove the need for the administrator +to enable the service manually when he has any remote filesystems. + +https://bugzilla.redhat.com/show_bug.cgi?id=787314 +--- + src/mount.c | 20 ++++++++++++-------- + 1 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/src/mount.c b/src/mount.c +index 3411b73..0ae964b 100644 +--- a/src/mount.c ++++ b/src/mount.c +@@ -320,7 +320,7 @@ static bool needs_quota(MountParameters *p) { + } + + static int mount_add_fstab_links(Mount *m) { +- const char *target, *after = NULL, *after2 = NULL; ++ const char *target, *after, *tu_wants = NULL; + MountParameters *p; + Unit *tu; + int r; +@@ -350,23 +350,27 @@ static int mount_add_fstab_links(Mount *m) { + + if (mount_is_network(p)) { + target = SPECIAL_REMOTE_FS_TARGET; +- after = SPECIAL_REMOTE_FS_PRE_TARGET; +- after2 = SPECIAL_NETWORK_TARGET; ++ after = tu_wants = SPECIAL_REMOTE_FS_PRE_TARGET; + } else { + target = SPECIAL_LOCAL_FS_TARGET; + after = SPECIAL_LOCAL_FS_PRE_TARGET; + } + +- if ((r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu)) < 0) ++ r = manager_load_unit(UNIT(m)->manager, target, NULL, NULL, &tu); ++ if (r < 0) + return r; + +- if (after) +- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0) ++ if (tu_wants) { ++ r = unit_add_dependency_by_name(tu, UNIT_WANTS, tu_wants, NULL, true); ++ if (r < 0) + return r; ++ } + +- if (after2) +- if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after2, NULL, true)) < 0) ++ if (after) { ++ r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true); ++ if (r < 0) + return r; ++ } + + if (automount) { + Unit *am; +-- +1.7.7 + diff --git a/systemd-39.tar.xz b/systemd-39.tar.xz deleted file mode 100644 index f8b5c292..00000000 --- a/systemd-39.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd053f97ab0ed4261ec44f247ec582566319339f523dbe79b79c68cfe5ad677f -size 890892 diff --git a/systemd-40.tar.xz b/systemd-40.tar.xz new file mode 100644 index 00000000..670d6da4 --- /dev/null +++ b/systemd-40.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0c04e45e593c0903698f3ab3eb3e565d68de26a91858c470675a090a05cab5 +size 896004 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 6929b332..07d5a062 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + ------------------------------------------------------------------- Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 4a146aeb..6adbdc19 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -19,7 +19,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 39 +Version: 40 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index 6929b332..07d5a062 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + ------------------------------------------------------------------- Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 1aba2128..0aacfcf0 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 39 +Version: 40 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -231,6 +231,9 @@ ln -s systemd-random-seed-load.service %{buildroot}/lib/systemd/system/random.se # journal. rm -f %{buildroot}%{_libdir}/../lib/sysctl.d/coredump.conf +# Let rsyslog read from /proc/kmsg for now +sed -i -e 's/\#ImportKernel=yes/ImportKernel=no/' %{buildroot}%{_sysconfdir}/systemd/systemd-journald.conf + # Install rsyslog fragment mkdir -p %{buildroot}%{_sysconfdir}/rsyslog.d/ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/rsyslog.d/ From 012750d44ef12d4ec35e996542ed4faa44f49101e6be67795d47337afc2a53ac Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 7 Feb 2012 16:49:57 +0000 Subject: [PATCH 2/2] add missing patch OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=241 --- systemd.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/systemd.spec b/systemd.spec index 0aacfcf0..39a8f560 100644 --- a/systemd.spec +++ b/systemd.spec @@ -90,6 +90,7 @@ Patch36: sysctl-modules.patch # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. Patch21: no-tmpfs-fsck.patch +Patch37: remote-fs-after-network.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -150,6 +151,7 @@ Plymouth integration for systemd %patch31 -p1 %patch33 -p1 %patch36 -p1 +%patch37 -p1 %build autoreconf -fiv