From f54de6a28b18e304f3a9dc61b36ba6033bb47037996e7725c8d5c41b35d0366c Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 9 Feb 2012 17:04:56 +0000 Subject: [PATCH 1/3] - Update to version 41: + systemd binary is now installed in /lib/systemd (symlink for /bin/systemd is available now) + kernel modules are now loaded through libkmod + Watchdog support is now useful (not complete) + new kernel command line available to set system wide environment variable: systemd.setenv + journald capabilities set is now limited + SIGPIPE is ignored by default. This can be disabled with IgnoreSIGPIPE=no in unit files. - Add fix-kmod-build.patch: fix build with libkmod - Drop remote-fs-after-network.patch (merged upstream) - Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm /dmraid is started before mounting partitions, if fsck was disabled for them (bnc#733283). - Update lsb-header patch to correctly disable heuristic if X-Systemd-RemainAfterExit is specified (whatever its value) - Add fix-message-after-chkconfig.patch: don't complain if only sysv services are called in systemctl. - Add is-enabled-non-existing-service.patch: fix error message when running is-enabled on non-existing service. OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=242 --- ...ndencies-added-when-parsing-insserv..patch | 12 ++- ...sv-service-with-detected-pid-as-Rema.patch | 15 ++-- dm-lvm-after-local-fs-pre-target.patch | 9 +++ fix-kmod-build.patch | 51 +++++++++++++ fix-message-after-chkconfig.patch | 40 ++++++++++ is-enabled-non-existing-service.patch | 34 +++++++++ modules_on_boot.patch | 75 ++++++++++--------- new-lsb-headers.patch | 37 ++++++--- remote-fs-after-network.patch | 74 ------------------ systemd-40.tar.xz | 3 - systemd-41.tar.xz | 3 + systemd-gtk.changes | 25 +++++++ systemd-gtk.spec | 3 +- systemd.changes | 25 +++++++ systemd.spec | 15 +++- 15 files changed, 275 insertions(+), 146 deletions(-) create mode 100644 dm-lvm-after-local-fs-pre-target.patch create mode 100644 fix-kmod-build.patch create mode 100644 fix-message-after-chkconfig.patch create mode 100644 is-enabled-non-existing-service.patch delete mode 100644 remote-fs-after-network.patch delete mode 100644 systemd-40.tar.xz create mode 100644 systemd-41.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 1a1ef4da..67197942 100644 --- a/0001-service-Fix-dependencies-added-when-parsing-insserv..patch +++ b/0001-service-Fix-dependencies-added-when-parsing-insserv..patch @@ -7,23 +7,21 @@ Subject: [PATCH] service: Fix dependencies added when parsing insserv.conf src/service.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) -Index: systemd-40/src/service.c +Index: systemd-41/src/service.c =================================================================== ---- systemd-40.orig/src/service.c -+++ systemd-40/src/service.c -@@ -3162,23 +3162,32 @@ static void sysv_facility_in_insserv_con +--- systemd-41.orig/src/service.c ++++ systemd-41/src/service.c +@@ -3210,23 +3210,30 @@ 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); ++ 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/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch index a71df5c4..3f1770f1 100644 --- a/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch +++ b/0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch @@ -12,15 +12,13 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/service.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) -diff --git a/src/service.c b/src/service.c -index 6b7064a..eb2699c 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -2012,9 +2012,15 @@ static void service_enter_running(Service *s, bool success) { - main_pid_ok = main_pid_good(s); +Index: systemd-37/src/service.c +=================================================================== +--- systemd-37.orig/src/service.c ++++ systemd-37/src/service.c +@@ -2014,8 +2014,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); -+ if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && - (s->bus_name_good || s->type != SERVICE_DBUS)) + (s->bus_name_good || s->type != SERVICE_DBUS)) { @@ -33,6 +31,3 @@ index 6b7064a..eb2699c 100644 else if (s->remain_after_exit) service_set_state(s, SERVICE_EXITED); else --- -1.7.3.4 - diff --git a/dm-lvm-after-local-fs-pre-target.patch b/dm-lvm-after-local-fs-pre-target.patch new file mode 100644 index 00000000..2e4c0463 --- /dev/null +++ b/dm-lvm-after-local-fs-pre-target.patch @@ -0,0 +1,9 @@ +Index: systemd-37/units/local-fs-pre.target +=================================================================== +--- systemd-37.orig/units/local-fs-pre.target ++++ systemd-37/units/local-fs-pre.target +@@ -9,3 +9,4 @@ + + [Unit] + Description=Local File Systems (Pre) ++After=md.service lvm.service dmraid.service diff --git a/fix-kmod-build.patch b/fix-kmod-build.patch new file mode 100644 index 00000000..e7666cfa --- /dev/null +++ b/fix-kmod-build.patch @@ -0,0 +1,51 @@ +From 0bb96d9971975a42c102d87036c858e1347d6bc5 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Thu, 9 Feb 2012 14:12:10 +0100 +Subject: [PATCH] kmod-setup: fix build with libkmod + +--- + Makefile.am | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index fbf2358..c5b819e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -546,7 +546,8 @@ libsystemd_core_la_CFLAGS = \ + $(UDEV_CFLAGS) \ + $(LIBWRAP_CFLAGS) \ + $(PAM_CFLAGS) \ +- $(AUDIT_CFLAGS) ++ $(AUDIT_CFLAGS) \ ++ $(KMOD_CFLAGS) + + libsystemd_core_la_LIBADD = \ + libsystemd-basic.la \ +@@ -555,7 +556,8 @@ libsystemd_core_la_LIBADD = \ + $(LIBWRAP_LIBS) \ + $(PAM_LIBS) \ + $(AUDIT_LIBS) \ +- $(CAP_LIBS) ++ $(CAP_LIBS) \ ++ $(KMOD_LIBS) + + # This is needed because automake is buggy in how it generates the + # rules for C programs, but not Vala programs. We therefore can't +@@ -728,12 +730,10 @@ systemd_SOURCES = \ + systemd_CFLAGS = \ + $(AM_CFLAGS) \ + $(DBUS_CFLAGS) \ +- $(UDEV_CFLAGS) \ +- $(KMOD_CFLAGS) ++ $(UDEV_CFLAGS) + + systemd_LDADD = \ +- libsystemd-core.la \ +- $(KMOD_LIBS) ++ libsystemd-core.la + + test_engine_SOURCES = \ + src/test-engine.c +-- +1.7.7 + diff --git a/fix-message-after-chkconfig.patch b/fix-message-after-chkconfig.patch new file mode 100644 index 00000000..617dbe81 --- /dev/null +++ b/fix-message-after-chkconfig.patch @@ -0,0 +1,40 @@ +From ab5919fa1af147c2632fdae7bed4504c898a60af Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 9 Feb 2012 10:05:15 +0100 +Subject: [PATCH] systemctl: check for no more work after chkconfig + +Avoid a bogus message from 'systemctl enable ...' when all units given +are SysV services: + Warning: unit files do not carry install information. No operation + executed. + +https://bugzilla.redhat.com/show_bug.cgi?id=787407 +--- + src/systemctl.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/systemctl.c b/src/systemctl.c +index 12264f8..ab6d126 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -3662,12 +3662,15 @@ static int enable_unit(DBusConnection *bus, char **args) { + int r; + DBusError error; + +- dbus_error_init(&error); +- + r = enable_sysv_units(args); + if (r < 0) + return r; + ++ if (!args[1]) ++ return 0; ++ ++ dbus_error_init(&error); ++ + if (!bus || avoid_bus()) { + if (streq(verb, "enable")) { + r = unit_file_enable(arg_scope, arg_runtime, arg_root, args+1, arg_force, &changes, &n_changes); +-- +1.7.7 + diff --git a/is-enabled-non-existing-service.patch b/is-enabled-non-existing-service.patch new file mode 100644 index 00000000..0368b4db --- /dev/null +++ b/is-enabled-non-existing-service.patch @@ -0,0 +1,34 @@ +From 81006b8ad8cfdbfdb418fc99918ee5c33eb5b35a Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Thu, 9 Feb 2012 10:36:56 +0100 +Subject: [PATCH] install: fix incorrect 'Access denied' message with a + non-existent unit + +With "systemctl is-enabled non-existent.service" +_UNIT_FILE_STATE_INVALID (-1) was wrongly interpreted as -errno. +Return -ENOENT in this case. + +https://bugzilla.redhat.com/show_bug.cgi?id=766579 +--- + src/install.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/install.c b/src/install.c +index 1fb1f9d..174d79b 100644 +--- a/src/install.c ++++ b/src/install.c +@@ -1571,10 +1571,10 @@ UnitFileState unit_file_get_state( + } + + if (lstat(path, &st) < 0) { ++ r = -errno; + if (errno == ENOENT) + continue; + +- r = -errno; + goto finish; + } + +-- +1.7.7 + diff --git a/modules_on_boot.patch b/modules_on_boot.patch index 9638b27c..739c2f92 100644 --- a/modules_on_boot.patch +++ b/modules_on_boot.patch @@ -7,25 +7,26 @@ Subject: [PATCH] module-load: handle SUSE /etc/sysconfig/kernel module list src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) -Index: systemd-37/src/modules-load.c +Index: systemd-41/src/modules-load.c =================================================================== ---- systemd-37.orig/src/modules-load.c -+++ systemd-37/src/modules-load.c -@@ -36,6 +36,9 @@ int main(int argc, char *argv[]) { - char **arguments = NULL; - unsigned n_arguments = 0, n_allocated = 0; +--- systemd-41.orig/src/modules-load.c ++++ systemd-41/src/modules-load.c +@@ -44,6 +44,9 @@ static void systemd_kmod_log(void *data, + int main(int argc, char *argv[]) { + int r = EXIT_FAILURE; char **files, **fn; +#if defined(TARGET_SUSE) + char *modules_on_boot = NULL; +#endif + struct kmod_ctx *ctx; + const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST|KMOD_PROBE_IGNORE_LOADED; - if (argc > 1) { - log_error("This program takes no argument."); -@@ -126,6 +129,43 @@ int main(int argc, char *argv[]) { +@@ -141,9 +144,58 @@ int main(int argc, char *argv[]) { + + fclose(f); } - - strv_free(files); +#if defined(TARGET_SUSE) ++ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, + "MODULES_LOADED_ON_BOOT", &modules_on_boot, + NULL)) < 0) { @@ -36,49 +37,53 @@ Index: systemd-37/src/modules-load.c + if (modules_on_boot) { + char **modules = strv_split(modules_on_boot,WHITESPACE); + char **module; ++ struct kmod_list *itr, *modlist = NULL; ++ int err; ++ + if (modules) { + STRV_FOREACH(module, modules) { -+ if (n_arguments >= n_allocated) { -+ char **a; -+ unsigned m; ++ err = kmod_module_new_from_lookup(ctx, *module, &modlist); ++ if (err < 0) { ++ log_error("Failed to lookup alias '%s'", *module); ++ r = EXIT_FAILURE; ++ continue; ++ } ++ kmod_list_foreach(itr, modlist) { ++ struct kmod_module *mod = kmod_module_get_module(itr); ++ err = kmod_module_probe_insert_module(mod, probe_flags, ++ NULL, NULL, NULL, NULL); + -+ m = MAX(16U, n_arguments*2); -+ -+ if (!(a = realloc(arguments, sizeof(char*) * (m+1)))) { -+ log_error("Failed to increase module array size."); -+ free(*module); ++ if (err == 0) ++ log_info("Inserted module '%s'", kmod_module_get_name(mod)); ++ else if (err == KMOD_PROBE_APPLY_BLACKLIST) ++ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod)); ++ else { ++ log_error("Failed to insert '%s': %s", kmod_module_get_name(mod), ++ strerror(-err)); + r = EXIT_FAILURE; -+ continue; + } + -+ arguments = a; -+ n_allocated = m; ++ kmod_module_unref(mod); + } -+ log_debug("adding module: %s\n", *module); -+ arguments[n_arguments++] = strdup(*module); + ++ kmod_module_unref_list(modlist); + } + } + strv_free(modules); + } +#endif -+ finish: - - if (n_arguments > 3) { -@@ -138,6 +178,9 @@ finish: - } - - strv_free(arguments); + strv_free(files); +#if defined(TARGET_SUSE) + free(modules_on_boot); +#endif + kmod_unref(ctx); return r; - } -Index: systemd-37/units/systemd-modules-load.service.in +Index: systemd-41/units/systemd-modules-load.service.in =================================================================== ---- systemd-37.orig/units/systemd-modules-load.service.in -+++ systemd-37/units/systemd-modules-load.service.in +--- systemd-41.orig/units/systemd-modules-load.service.in ++++ systemd-41/units/systemd-modules-load.service.in @@ -11,6 +11,7 @@ DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service diff --git a/new-lsb-headers.patch b/new-lsb-headers.patch index 7565c00f..fbf46ede 100644 --- a/new-lsb-headers.patch +++ b/new-lsb-headers.patch @@ -1,8 +1,8 @@ -Index: systemd-37/src/service.c +Index: systemd-41/src/service.c =================================================================== ---- systemd-37.orig/src/service.c -+++ systemd-37/src/service.c -@@ -116,6 +116,7 @@ static void service_init(Unit *u) { +--- systemd-41.orig/src/service.c ++++ systemd-41/src/service.c +@@ -119,6 +119,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; s->sysv_start_priority_from_rcnd = -1; @@ -10,7 +10,7 @@ Index: systemd-37/src/service.c #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -805,6 +806,31 @@ static int service_load_sysv_path(Servic +@@ -861,6 +862,34 @@ static int service_load_sysv_path(Servic } else state = LSB; @@ -33,16 +33,29 @@ Index: systemd-37/src/service.c + free(s->pid_file); + s->pid_file = fn; + s->sysv_remain_after_exit_heuristic = false; ++ s->remain_after_exit = false; + } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { + char *j; + + state = LSB; -+ if ((j = strstrip(t+26)) && *j) -+ s->sysv_remain_after_exit_heuristic = !parse_boolean(j); ++ if ((j = strstrip(t+26)) && *j) { ++ s->remain_after_exit = parse_boolean(j); ++ s->sysv_remain_after_exit_heuristic = false; ++ } } } } -@@ -2017,7 +2043,7 @@ static void service_enter_running(Servic +@@ -891,7 +920,8 @@ static int service_load_sysv_path(Servic + + /* Special setting for all SysV services */ + s->type = SERVICE_FORKING; +- s->remain_after_exit = !s->pid_file; ++ if (s->sysv_remain_after_exit_heuristic) ++ s->remain_after_exit = !s->pid_file; + s->guess_main_pid = false; + s->restart = SERVICE_RESTART_NO; + s->exec_context.ignore_sigpipe = false; +@@ -2030,7 +2060,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -51,11 +64,11 @@ Index: systemd-37/src/service.c s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -Index: systemd-37/src/service.h +Index: systemd-41/src/service.h =================================================================== ---- systemd-37.orig/src/service.h -+++ systemd-37/src/service.h -@@ -139,6 +139,7 @@ struct Service { +--- systemd-41.orig/src/service.h ++++ systemd-41/src/service.h +@@ -157,6 +157,7 @@ struct Service { #ifdef HAVE_SYSV_COMPAT bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/remote-fs-after-network.patch b/remote-fs-after-network.patch deleted file mode 100644 index e3cbb521..00000000 --- a/remote-fs-after-network.patch +++ /dev/null @@ -1,74 +0,0 @@ -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-40.tar.xz b/systemd-40.tar.xz deleted file mode 100644 index 670d6da4..00000000 --- a/systemd-40.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f0c04e45e593c0903698f3ab3eb3e565d68de26a91858c470675a090a05cab5 -size 896004 diff --git a/systemd-41.tar.xz b/systemd-41.tar.xz new file mode 100644 index 00000000..31c906ae --- /dev/null +++ b/systemd-41.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edeb6d2fc9d55cf3ec0c09817e736238c224c615887ff23e8f314b52abe0468d +size 881864 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index 07d5a062..aebc88c9 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + ------------------------------------------------------------------- Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index 6adbdc19..fb02db3b 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -16,10 +16,9 @@ # - Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 40 +Version: 41 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index 07d5a062..aebc88c9 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + ------------------------------------------------------------------- Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 39a8f560..b0064cc3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 40 +Version: 41 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -36,6 +36,7 @@ BuildRequires: intltool BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libcryptsetup-devel +BuildRequires: libkmod-devel BuildRequires: libselinux-devel BuildRequires: libsepol-devel BuildRequires: libtool @@ -84,13 +85,16 @@ Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch Patch31: lock-opensuse.patch Patch33: crypt-loop-file.patch Patch36: sysctl-modules.patch +Patch38: dm-lvm-after-local-fs-pre-target.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # 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 +Patch37: fix-kmod-build.patch +Patch39: fix-message-after-chkconfig.patch +Patch40: is-enabled-non-existing-service.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -152,6 +156,9 @@ Plymouth integration for systemd %patch33 -p1 %patch36 -p1 %patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 %build autoreconf -fiv @@ -189,7 +196,8 @@ ln -s ../bootsplash-startup.service %{buildroot}/lib/systemd/system/basic.target ln -s ../bootsplash-quit.service %{buildroot}/lib/systemd/system/multi-user.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/shutdown.target.wants/ ln -s ../bootsplash-shutdown.service %{buildroot}/lib/systemd/system/reboot.target.wants/ -ln -s ../bin/systemd %{buildroot}/sbin/init +ln -s ../lib/systemd/systemd %{buildroot}/bin/systemd +ln -s ../lib/systemd/systemd %{buildroot}/sbin/init ln -s ../bin/systemctl %{buildroot}/sbin/reboot ln -s ../bin/systemctl %{buildroot}/sbin/halt ln -s ../bin/systemctl %{buildroot}/sbin/shutdown @@ -388,6 +396,7 @@ rm -rf %{buildroot} %dir /lib/systemd /lib/systemd/system /lib/systemd/system-generators +/lib/systemd/systemd %dir /usr/lib/systemd /usr/lib/systemd/user %dir %{_sysconfdir}/systemd From 6c5289bf6c8072dc6d7251a6ac90f920e450b79baf0e8f0dc8c170f0f6e15501 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 13 Feb 2012 13:17:26 +0000 Subject: [PATCH 2/3] - Update to version 42: + Various bug fixes + Watchdog support for supervising services is now usable + Service start rate limiting is now configurable and can be turned off per service. + New CanReboot(), CanPowerOff() bus calls in systemd-logind - Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, is-enabled-non-existing-service.patch (merged upstream) - Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for manpage generation OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=245 --- fix-kmod-build.patch | 51 --------------------------- fix-message-after-chkconfig.patch | 40 --------------------- is-enabled-non-existing-service.patch | 34 ------------------ systemd-41.tar.xz | 3 -- systemd-42.tar.xz | 3 ++ systemd-gtk.changes | 14 ++++++++ systemd-gtk.spec | 2 +- systemd.changes | 14 ++++++++ systemd.spec | 11 +++--- 9 files changed, 36 insertions(+), 136 deletions(-) delete mode 100644 fix-kmod-build.patch delete mode 100644 fix-message-after-chkconfig.patch delete mode 100644 is-enabled-non-existing-service.patch delete mode 100644 systemd-41.tar.xz create mode 100644 systemd-42.tar.xz diff --git a/fix-kmod-build.patch b/fix-kmod-build.patch deleted file mode 100644 index e7666cfa..00000000 --- a/fix-kmod-build.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0bb96d9971975a42c102d87036c858e1347d6bc5 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 9 Feb 2012 14:12:10 +0100 -Subject: [PATCH] kmod-setup: fix build with libkmod - ---- - Makefile.am | 12 ++++++------ - 1 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index fbf2358..c5b819e 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -546,7 +546,8 @@ libsystemd_core_la_CFLAGS = \ - $(UDEV_CFLAGS) \ - $(LIBWRAP_CFLAGS) \ - $(PAM_CFLAGS) \ -- $(AUDIT_CFLAGS) -+ $(AUDIT_CFLAGS) \ -+ $(KMOD_CFLAGS) - - libsystemd_core_la_LIBADD = \ - libsystemd-basic.la \ -@@ -555,7 +556,8 @@ libsystemd_core_la_LIBADD = \ - $(LIBWRAP_LIBS) \ - $(PAM_LIBS) \ - $(AUDIT_LIBS) \ -- $(CAP_LIBS) -+ $(CAP_LIBS) \ -+ $(KMOD_LIBS) - - # This is needed because automake is buggy in how it generates the - # rules for C programs, but not Vala programs. We therefore can't -@@ -728,12 +730,10 @@ systemd_SOURCES = \ - systemd_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ -- $(UDEV_CFLAGS) \ -- $(KMOD_CFLAGS) -+ $(UDEV_CFLAGS) - - systemd_LDADD = \ -- libsystemd-core.la \ -- $(KMOD_LIBS) -+ libsystemd-core.la - - test_engine_SOURCES = \ - src/test-engine.c --- -1.7.7 - diff --git a/fix-message-after-chkconfig.patch b/fix-message-after-chkconfig.patch deleted file mode 100644 index 617dbe81..00000000 --- a/fix-message-after-chkconfig.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ab5919fa1af147c2632fdae7bed4504c898a60af Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 9 Feb 2012 10:05:15 +0100 -Subject: [PATCH] systemctl: check for no more work after chkconfig - -Avoid a bogus message from 'systemctl enable ...' when all units given -are SysV services: - Warning: unit files do not carry install information. No operation - executed. - -https://bugzilla.redhat.com/show_bug.cgi?id=787407 ---- - src/systemctl.c | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/systemctl.c b/src/systemctl.c -index 12264f8..ab6d126 100644 ---- a/src/systemctl.c -+++ b/src/systemctl.c -@@ -3662,12 +3662,15 @@ static int enable_unit(DBusConnection *bus, char **args) { - int r; - DBusError error; - -- dbus_error_init(&error); -- - r = enable_sysv_units(args); - if (r < 0) - return r; - -+ if (!args[1]) -+ return 0; -+ -+ dbus_error_init(&error); -+ - if (!bus || avoid_bus()) { - if (streq(verb, "enable")) { - r = unit_file_enable(arg_scope, arg_runtime, arg_root, args+1, arg_force, &changes, &n_changes); --- -1.7.7 - diff --git a/is-enabled-non-existing-service.patch b/is-enabled-non-existing-service.patch deleted file mode 100644 index 0368b4db..00000000 --- a/is-enabled-non-existing-service.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 81006b8ad8cfdbfdb418fc99918ee5c33eb5b35a Mon Sep 17 00:00:00 2001 -From: Michal Schmidt -Date: Thu, 9 Feb 2012 10:36:56 +0100 -Subject: [PATCH] install: fix incorrect 'Access denied' message with a - non-existent unit - -With "systemctl is-enabled non-existent.service" -_UNIT_FILE_STATE_INVALID (-1) was wrongly interpreted as -errno. -Return -ENOENT in this case. - -https://bugzilla.redhat.com/show_bug.cgi?id=766579 ---- - src/install.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/install.c b/src/install.c -index 1fb1f9d..174d79b 100644 ---- a/src/install.c -+++ b/src/install.c -@@ -1571,10 +1571,10 @@ UnitFileState unit_file_get_state( - } - - if (lstat(path, &st) < 0) { -+ r = -errno; - if (errno == ENOENT) - continue; - -- r = -errno; - goto finish; - } - --- -1.7.7 - diff --git a/systemd-41.tar.xz b/systemd-41.tar.xz deleted file mode 100644 index 31c906ae..00000000 --- a/systemd-41.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:edeb6d2fc9d55cf3ec0c09817e736238c224c615887ff23e8f314b52abe0468d -size 881864 diff --git a/systemd-42.tar.xz b/systemd-42.tar.xz new file mode 100644 index 00000000..b54e5fff --- /dev/null +++ b/systemd-42.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dc107d488d823eb2203b6f1567096749ea37c1cf9022a6b0507ec07691e0ec2 +size 854808 diff --git a/systemd-gtk.changes b/systemd-gtk.changes index aebc88c9..e1d0ade6 100644 --- a/systemd-gtk.changes +++ b/systemd-gtk.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + ------------------------------------------------------------------- Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com diff --git a/systemd-gtk.spec b/systemd-gtk.spec index fb02db3b..217ce042 100644 --- a/systemd-gtk.spec +++ b/systemd-gtk.spec @@ -18,7 +18,7 @@ Name: systemd-gtk Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 41 +Version: 42 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel diff --git a/systemd.changes b/systemd.changes index aebc88c9..e1d0ade6 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + ------------------------------------------------------------------- Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index b0064cc3..58d5f026 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 41 +Version: 42 Release: 0 Summary: A System and Session Manager License: GPL-2.0+ @@ -30,6 +30,7 @@ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel BuildRequires: dbus-1-devel +BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes BuildRequires: gperf BuildRequires: intltool @@ -41,6 +42,7 @@ BuildRequires: libselinux-devel BuildRequires: libsepol-devel BuildRequires: libtool BuildRequires: libudev-devel +BuildRequires: libxslt1 BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: tcpd-devel @@ -92,9 +94,6 @@ Patch38: dm-lvm-after-local-fs-pre-target.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: fix-kmod-build.patch -Patch39: fix-message-after-chkconfig.patch -Patch40: is-enabled-non-existing-service.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -155,10 +154,7 @@ Plymouth integration for systemd %patch31 -p1 %patch33 -p1 %patch36 -p1 -%patch37 -p1 %patch38 -p1 -%patch39 -p1 -%patch40 -p1 %build autoreconf -fiv @@ -171,6 +167,7 @@ export V=1 --docdir=%{_docdir}/systemd \ --with-rootprefix= \ --with-pamlibdir=/%{_lib}/security \ + --disable-split-usr \ --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags} From 106d0cab6693374f2ffd89fa99c0e34eb3769fd652879f15f5ae7b79caddde82 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 14 Feb 2012 09:17:10 +0000 Subject: [PATCH 3/3] use the right switch about /usr merge (ie enable separe /usr) OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=246 --- systemd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd.spec b/systemd.spec index 58d5f026..2d84f46e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -167,7 +167,7 @@ export V=1 --docdir=%{_docdir}/systemd \ --with-rootprefix= \ --with-pamlibdir=/%{_lib}/security \ - --disable-split-usr \ + --enable-split-usr \ --disable-gtk \ CFLAGS="%{optflags}" make %{?_smp_mflags}