diff --git a/Fix-timeout-when-stopping-Type-notify-service.patch b/Fix-timeout-when-stopping-Type-notify-service.patch index 3d03d380..9bc4275b 100644 --- a/Fix-timeout-when-stopping-Type-notify-service.patch +++ b/Fix-timeout-when-stopping-Type-notify-service.patch @@ -1,84 +1,74 @@ -Delivered-To: arvidjaar@gmail.com -Received: by 10.216.219.133 with SMTP id m5csp322525wep; - Fri, 20 Sep 2013 13:55:10 -0700 (PDT) -X-Received: by 10.66.171.204 with SMTP id aw12mr10856961pac.7.1379710509504; - Fri, 20 Sep 2013 13:55:09 -0700 (PDT) -Return-Path: -Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) - by mx.google.com with ESMTP id mj9si13683512pab.248.1969.12.31.16.00.00; - Fri, 20 Sep 2013 13:55:09 -0700 (PDT) -Received-SPF: pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; -Authentication-Results: mx.google.com; - spf=pass (google.com: domain of systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mail=systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org -Received: from gabe.freedesktop.org (localhost [127.0.0.1]) - by gabe.freedesktop.org (Postfix) with ESMTP id D7BD0E5F24 - for ; Fri, 20 Sep 2013 13:55:06 -0700 (PDT) -X-Original-To: systemd-devel@lists.freedesktop.org -Delivered-To: systemd-devel@lists.freedesktop.org -Received: from mail.jjacky.com (unknown [23.29.69.116]) - by gabe.freedesktop.org (Postfix) with ESMTP id E3B2FE5DF6 - for ; - Fri, 20 Sep 2013 13:54:34 -0700 (PDT) -Received: from arch.local (arch.tks [10.42.0.6]) - by mail.jjacky.com (Postfix) with ESMTP id 2F68E18084A; - Fri, 20 Sep 2013 22:54:11 +0200 (CEST) -From: Olivier Brunel -To: systemd-devel@lists.freedesktop.org -Date: Fri, 20 Sep 2013 22:53:52 +0200 -Message-Id: <1379710432-4195-1-git-send-email-jjk@jjacky.com> -X-Mailer: git-send-email 1.8.4 -Subject: [systemd-devel] [PATCH] Fix timeout when stopping Type=notify - service -X-BeenThere: systemd-devel@lists.freedesktop.org -X-Mailman-Version: 2.1.13 -Precedence: list -List-Id: systemd Development Mailing List -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Content-Transfer-Encoding: 7bit -Sender: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org -Errors-To: systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org +From 7400b9d2e99938d17b281d7df43680eade18666e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 1 Oct 2013 05:06:56 +0200 +Subject: [PATCH] core: whenever a new PID is passed to us, make sure we watch + it -Since 41efeaec a call to service_unwatch_main_pid() is done from -service_set_main_pid(), which is called upon receiving message MAINPID= - -This had the side effect of not watching pid anymore, and would result in a -useless timeout when stopping the service, as the unit wouldn't be identified -from the pid, so not marked stopped which would result in systemd thinking this -was a timeout. --- -I'm not exactly familiar with systemd's internals, so this might not be the -correct way to fix this, please correct me if it isn't. + src/core/service.c | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) - src/core/service.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: systemd-207/src/core/service.c -=================================================================== ---- systemd-207.orig/src/core/service.c -+++ systemd-207/src/core/service.c -@@ -3461,9 +3461,17 @@ static void service_notify_message(Unit - log_warning_unit(u->id, - "Failed to parse notification message %s", e); - else { -+ int r; +diff --git a/src/core/service.c b/src/core/service.c +index 24b7bef..6792024 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -191,7 +191,13 @@ static int service_set_main_pid(Service *s, pid_t pid) { + if (pid == getpid()) + return -EINVAL; + +- service_unwatch_main_pid(s); ++ if (s->main_pid == pid && s->main_pid_known) ++ return 0; + ++ if (s->main_pid != pid) { ++ service_unwatch_main_pid(s); ++ exec_status_start(&s->main_exec_status, pid); ++ } + + s->main_pid = pid; + s->main_pid_known = true; +@@ -205,8 +211,6 @@ static int service_set_main_pid(Service *s, pid_t pid) { + } else + s->main_pid_alien = false; + +- exec_status_start(&s->main_exec_status, pid); +- + return 0; + } + +@@ -2696,8 +2700,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, + + if (parse_pid(value, &pid) < 0) + log_debug_unit(u->id, "Failed to parse main-pid value %s", value); +- else +- service_set_main_pid(s, (pid_t) pid); ++ else { ++ service_set_main_pid(s, pid); ++ unit_watch_pid(UNIT(s), pid); ++ } + } else if (streq(key, "main-pid-known")) { + int b; + +@@ -3389,6 +3395,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { log_debug_unit(u->id, "%s: got %s", u->id, e); service_set_main_pid(s, pid); -+ r = unit_watch_pid(u, pid); -+ if (r < 0) -+ /* FIXME: we need to do something here */ -+ log_warning_unit(u->id, -+ "Failed to watch PID %lu from service %s", -+ (unsigned long) pid, u->id); ++ unit_watch_pid(UNIT(s), pid); } } +@@ -3685,8 +3692,10 @@ static void service_bus_query_pid_done( + (s->state == SERVICE_START || + s->state == SERVICE_START_POST || + s->state == SERVICE_RUNNING || +- s->state == SERVICE_RELOAD)) ++ s->state == SERVICE_RELOAD)){ + service_set_main_pid(s, pid); ++ unit_watch_pid(UNIT(s), pid); ++ } + } + + int service_set_socket_fd(Service *s, int fd, Socket *sock) { +-- +1.8.4 + diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index 137a4824..41d51bfa 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -10,8 +10,10 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) ---- systemd-206.orig/src/core/service.c -+++ systemd-206/src/core/service.c +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -53,7 +55,7 @@ Conflicts: #endif static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -334,6 +347,9 @@ static char *sysv_translate_name(const c +@@ -340,6 +353,9 @@ static char *sysv_translate_name(const c if (endswith(name, ".sh")) /* Drop .sh suffix */ strcpy(stpcpy(r, name) - 3, ".service"); @@ -63,7 +65,7 @@ Conflicts: else /* Normal init script name */ strcpy(stpcpy(r, name), ".service"); -@@ -936,6 +952,13 @@ static int service_load_sysv_path(Servic +@@ -942,6 +958,13 @@ static int service_load_sysv_path(Servic if ((r = sysv_exec_commands(s, supports_reload)) < 0) goto finish; @@ -77,7 +79,7 @@ Conflicts: if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { /* If there a runlevels configured for this service -@@ -1017,6 +1040,9 @@ static int service_load_sysv_name(Servic +@@ -1023,6 +1046,9 @@ static int service_load_sysv_name(Servic if (endswith(name, ".sh.service")) return -ENOENT; @@ -87,7 +89,7 @@ Conflicts: STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { char *path; int r; -@@ -1037,6 +1063,18 @@ static int service_load_sysv_name(Servic +@@ -1043,6 +1069,18 @@ static int service_load_sysv_name(Servic } free(path); @@ -106,7 +108,7 @@ Conflicts: if (r < 0) return r; -@@ -3587,7 +3625,7 @@ static int service_enumerate(Manager *m) +@@ -3574,7 +3612,7 @@ static int service_enumerate(Manager *m) if (de->d_name[0] == 'S') { @@ -115,7 +117,7 @@ Conflicts: SERVICE(service)->sysv_start_priority_from_rcnd = MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); -@@ -3604,7 +3642,8 @@ static int service_enumerate(Manager *m) +@@ -3591,7 +3629,8 @@ static int service_enumerate(Manager *m) goto finish; } else if (de->d_name[0] == 'K' && @@ -125,7 +127,7 @@ Conflicts: r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func); -@@ -3644,7 +3683,9 @@ static int service_enumerate(Manager *m) +@@ -3631,7 +3670,9 @@ static int service_enumerate(Manager *m) * runlevels we assume the stop jobs will be implicitly added * by the core logic. Also, we don't really distinguish here * between the runlevels 0 and 6 and just add them to the diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index f1145b9e..b9ec5122 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -7,18 +7,22 @@ Subject: delay fsck / cryptsetup after md / dmraid are started units/systemd-fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c -+++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c -@@ -160,6 +160,7 @@ static int create_disk( - "Conflicts=umount.target\n" +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); ---- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in -+++ systemd-206_git201308300826/units/systemd-fsck@.service.in +Index: systemd-208/units/systemd-fsck@.service.in +=================================================================== +--- systemd-208.orig/units/systemd-fsck@.service.in ++++ systemd-208/units/systemd-fsck@.service.in @@ -10,7 +10,7 @@ Description=File System Check on %f Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index 79b99a67..577f2685 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,13 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) ---- systemd-206.orig/src/systemctl/systemctl.c -+++ systemd-206/src/systemctl/systemctl.c -@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) { - log_parse_environment(); - log_open(); +Index: systemd-208/src/systemctl/systemctl.c +=================================================================== +--- systemd-208.orig/src/systemctl/systemctl.c ++++ systemd-208/src/systemctl/systemctl.c +@@ -6115,6 +6115,28 @@ int main(int argc, char*argv[]) { + * ellipsized. */ + original_stdout_is_tty = isatty(STDOUT_FILENO); + if (secure_getenv("SYSTEMCTL_OPTIONS") && + (!program_invocation_short_name || diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index 9450a8ea..d7bea39c 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,10 +7,12 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) ---- systemd-206_git201308300826.orig/src/core/locale-setup.c -+++ systemd-206_git201308300826/src/core/locale-setup.c -@@ -72,6 +72,11 @@ int locale_setup(char ***environment) { - char **env; +Index: systemd-208/src/core/locale-setup.c +=================================================================== +--- systemd-208.orig/src/core/locale-setup.c ++++ systemd-208/src/core/locale-setup.c +@@ -73,6 +73,11 @@ int locale_setup(char ***environment) { + char **add; char *variables[_VARIABLE_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT @@ -21,12 +23,12 @@ handle ROOT_USES_LANG=ctype (bnc#792182). if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -118,6 +123,27 @@ int locale_setup(char ***environment) { +@@ -119,6 +124,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } +#ifdef HAVE_SYSV_COMPAT -+ if (r <= 0 && ++ if (r <= 0 && + (r = parse_env_file("/etc/sysconfig/language", NEWLINE, + "ROOT_USES_LANG", &root_uses_lang, + "RC_LANG", &variables[VARIABLE_LANG], @@ -47,5 +49,5 @@ handle ROOT_USES_LANG=ctype (bnc#792182). + +#endif + add = NULL; for (i = 0; i < _VARIABLE_MAX; i++) { - if (!variables[i]) diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 8f953181..f1e0dfcb 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -11,8 +11,10 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. src/core/service.h | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) ---- systemd-206_git201308300826.orig/src/core/service.c -+++ systemd-206_git201308300826/src/core/service.c +Index: systemd-208/src/core/service.c +=================================================================== +--- systemd-208.orig/src/core/service.c ++++ systemd-208/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; @@ -21,7 +23,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic +@@ -883,6 +884,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -56,7 +58,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic +@@ -933,7 +962,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -66,7 +68,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic +@@ -2080,7 +2110,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 @@ -75,9 +77,11 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); ---- systemd-206_git201308300826.orig/src/core/service.h -+++ systemd-206_git201308300826/src/core/service.h -@@ -177,6 +177,7 @@ struct Service { +Index: systemd-208/src/core/service.h +=================================================================== +--- systemd-208.orig/src/core/service.h ++++ systemd-208/src/core/service.h +@@ -178,6 +178,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; bool sysv_enabled:1; diff --git a/systemd-207.tar.xz b/systemd-207.tar.xz deleted file mode 100644 index d97bd0f4..00000000 --- a/systemd-207.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942 -size 2363804 diff --git a/systemd-208.tar.xz b/systemd-208.tar.xz new file mode 100644 index 00000000..d1d79df7 --- /dev/null +++ b/systemd-208.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f6e00ae6642fc0527abc206870a5674a91200661e449c1c27b8978cf1d1b6e7 +size 2382240 diff --git a/systemd-mini.changes b/systemd-mini.changes index 635e2209..955e775a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com + +- Release v208: + + logind gained support for facilitating privileged input and drm + devices access for unprivileged clients (helps Wayland / + kmscon). + + New kernel command line luks.options= allows to specify LUKS + options, when used with luks.uuid= + + tmpfileS.d snippets can uses specifier expansion in path names + (%m, %b, %H, %v). + + New tmpfiles.d command "m" introduced to change + owner/group/access mode of a file/directory only if it exists. + + MemorySoftLimit= cgroup settings is no longer supported + (underlying kernel cgroup attribute will disappear in the + future). + + memeory.use_hierarchy cgroup attribute is enabled for all + cgroups systemd creates in memory cgroup hierarchy. + + New filed _SYSTEMD_SLICE= is logged in journal messages related + to a slice. + + systemd-journald will no longer adjust the group of journal + files it creates to "systemd-journal" group. Permissions and + owernship is adjusted when package is upgraded. + + Backlight and random seed files are now stored in + /var/lib/systemd. + + Boot time performance measurements included ACPI 5.0 FPDT + informations if available. +- Drop merged patches: + 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, + 0002-cgroup-correct-the-log-information.patch, + 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, + 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, + 0005-core-cgroup-first-print-then-free.patch, + 0006-swap-fix-reverse-dependencies.patch, + 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, + 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, + Fix-timeout-when-stopping-Type-notify-service.patch, + set-ignoreonisolate-noauto-cryptsetup.patch, + 0001-Fix-buffer-overrun-when-enumerating-files.patch, + 0007-libudev-fix-move_later-comparison.patch. +- Refresh patches + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. +- Own more ghost files. +- Do not run pam-config in systemd-mini %post. + +------------------------------------------------------------------- +Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com + +- Update Fix-timeout-when-stopping-Type-notify-service.patch with + upstream fix. +- No longer start ask-password-wall, was causing too much spam on + terminals (bnc#747783). + ------------------------------------------------------------------- Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 1badd59d..f40543c5 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 207 +Version: 208 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -174,29 +174,6 @@ Patch46: use-usr-sbin-sulogin-for-emergency-service.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run Patch47: systemd-dbus-system-bus-address.patch -# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. -Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. -Patch49: 0002-cgroup-correct-the-log-information.patch -# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. -Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. -Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free -Patch52: 0005-core-cgroup-first-print-then-free.patch -# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly -Patch53: 0006-swap-fix-reverse-dependencies.patch -# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units -Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch -# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] -Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch -# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] -Patch56: Fix-timeout-when-stopping-Type-notify-service.patch -# PATCH-FIX-UPSTREAM set-ignoreonisolate-noauto-cryptsetup.patch bnc#843085 fcrozat@suse.com -- Ensure noauto crypt mount points survives runlevel change -Patch57: set-ignoreonisolate-noauto-cryptsetup.patch -# PATCH-FIX-UPSTREAM 0001-Fix-buffer-overrun-when-enumerating-files.patch bnc#840055 fdo#69887 fcrozat@suse.com -- Fix crash when /run/systemd/sessions was too big -Patch58: 0001-Fix-buffer-overrun-when-enumerating-files.patch - # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -212,8 +189,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM libudev: fix move_later comparison -Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -443,17 +418,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch46 -p1 %patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 # udev patches %patch1001 -p1 @@ -466,7 +430,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -573,6 +536,9 @@ ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/ran # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# don't enable wall ask password service, it spams every console (bnc#747783) +rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path + # create %{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf @@ -635,7 +601,7 @@ TTYVTDisallocate=no EOF # ensure after.local wrapper is called -install -m 644 %{S:9} %{buildroot}/%{_prefix}/lib/systemd/system/ +install -m 644 %{S:11} %{buildroot}/%{_prefix}/lib/systemd/system/ ln -s ../after-local.service %{buildroot}/%{_prefix}/lib/systemd/system/multi-user.target.wants/ %fdupes -s %{buildroot}%{_mandir} @@ -648,12 +614,18 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post +%if ! 0%{?bootstrap} /usr/sbin/pam-config -a --systemd || : +%endif /sbin/ldconfig +[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +# Make sure new journal files +chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -691,9 +663,11 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi +%if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd || : fi +%endif %preun if [ $1 -eq 0 ]; then @@ -999,10 +973,13 @@ exit 0 %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog +%ghost /var/lib/systemd/catalog/database %dir /var/lib/systemd/coredump %dir /usr/share/zsh %dir /usr/share/zsh/site-functions /usr/share/zsh/site-functions/* +%ghost /var/lib/systemd/backlight +%ghost /var/lib/systemd/random-seed %files devel %defattr(-,root,root,-) diff --git a/systemd.changes b/systemd.changes index 635e2209..955e775a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,60 @@ +------------------------------------------------------------------- +Wed Oct 2 08:03:30 UTC 2013 - fcrozat@suse.com + +- Release v208: + + logind gained support for facilitating privileged input and drm + devices access for unprivileged clients (helps Wayland / + kmscon). + + New kernel command line luks.options= allows to specify LUKS + options, when used with luks.uuid= + + tmpfileS.d snippets can uses specifier expansion in path names + (%m, %b, %H, %v). + + New tmpfiles.d command "m" introduced to change + owner/group/access mode of a file/directory only if it exists. + + MemorySoftLimit= cgroup settings is no longer supported + (underlying kernel cgroup attribute will disappear in the + future). + + memeory.use_hierarchy cgroup attribute is enabled for all + cgroups systemd creates in memory cgroup hierarchy. + + New filed _SYSTEMD_SLICE= is logged in journal messages related + to a slice. + + systemd-journald will no longer adjust the group of journal + files it creates to "systemd-journal" group. Permissions and + owernship is adjusted when package is upgraded. + + Backlight and random seed files are now stored in + /var/lib/systemd. + + Boot time performance measurements included ACPI 5.0 FPDT + informations if available. +- Drop merged patches: + 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch, + 0002-cgroup-correct-the-log-information.patch, + 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch, + 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch, + 0005-core-cgroup-first-print-then-free.patch, + 0006-swap-fix-reverse-dependencies.patch, + 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch, + 0009-polkit-Avoid-race-condition-in-scraping-proc.patch, + Fix-timeout-when-stopping-Type-notify-service.patch, + set-ignoreonisolate-noauto-cryptsetup.patch, + 0001-Fix-buffer-overrun-when-enumerating-files.patch, + 0007-libudev-fix-move_later-comparison.patch. +- Refresh patches + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch, + handle-root_uses_lang-value-in-etc-sysconfig-language.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch. +- Own more ghost files. +- Do not run pam-config in systemd-mini %post. + +------------------------------------------------------------------- +Tue Oct 1 17:09:01 UTC 2013 - fcrozat@suse.com + +- Update Fix-timeout-when-stopping-Type-notify-service.patch with + upstream fix. +- No longer start ask-password-wall, was causing too much spam on + terminals (bnc#747783). + ------------------------------------------------------------------- Mon Sep 30 15:42:45 UTC 2013 - fcrozat@suse.com diff --git a/systemd.spec b/systemd.spec index 7431f5f1..8d68c869 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 207 +Version: 208 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -169,29 +169,6 @@ Patch46: use-usr-sbin-sulogin-for-emergency-service.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run Patch47: systemd-dbus-system-bus-address.patch -# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. -Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. -Patch49: 0002-cgroup-correct-the-log-information.patch -# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. -Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. -Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free -Patch52: 0005-core-cgroup-first-print-then-free.patch -# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly -Patch53: 0006-swap-fix-reverse-dependencies.patch -# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units -Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch -# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] -Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch -# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544] -Patch56: Fix-timeout-when-stopping-Type-notify-service.patch -# PATCH-FIX-UPSTREAM set-ignoreonisolate-noauto-cryptsetup.patch bnc#843085 fcrozat@suse.com -- Ensure noauto crypt mount points survives runlevel change -Patch57: set-ignoreonisolate-noauto-cryptsetup.patch -# PATCH-FIX-UPSTREAM 0001-Fix-buffer-overrun-when-enumerating-files.patch bnc#840055 fdo#69887 fcrozat@suse.com -- Fix crash when /run/systemd/sessions was too big -Patch58: 0001-Fix-buffer-overrun-when-enumerating-files.patch - # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -207,8 +184,6 @@ Patch1006: 1006-udev-always-rename-network.patch Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch Patch1008: 1008-add-msft-compability-rules.patch -# PATCH-FIX-UPSTREAM libudev: fix move_later comparison -Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -438,17 +413,6 @@ cp %{SOURCE7} m4/ %patch42 -p1 %patch46 -p1 %patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 # udev patches %patch1001 -p1 @@ -461,7 +425,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -568,6 +531,9 @@ ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/ran # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount +# don't enable wall ask password service, it spams every console (bnc#747783) +rm %{buildroot}%{_prefix}/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path + # create %{_libexecdir}/modules-load.d mkdir -p %{buildroot}%{_libexecdir}/modules-load.d cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf @@ -643,12 +609,18 @@ getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : exit 0 %post +%if ! 0%{?bootstrap} /usr/sbin/pam-config -a --systemd || : +%endif /sbin/ldconfig +[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : +# Make sure new journal files +chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -686,9 +658,11 @@ if [ $1 -ge 1 ]; then /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : fi +%if ! 0%{?bootstrap} if [ $1 -eq 0 ]; then /usr/sbin/pam-config -d --systemd || : fi +%endif %preun if [ $1 -eq 0 ]; then @@ -994,10 +968,13 @@ exit 0 %dir /var/lib/systemd/sysv-convert %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog +%ghost /var/lib/systemd/catalog/database %dir /var/lib/systemd/coredump %dir /usr/share/zsh %dir /usr/share/zsh/site-functions /usr/share/zsh/site-functions/* +%ghost /var/lib/systemd/backlight +%ghost /var/lib/systemd/random-seed %files devel %defattr(-,root,root,-)