diff --git a/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch b/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch new file mode 100644 index 00000000..312a5616 --- /dev/null +++ b/0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch @@ -0,0 +1,25 @@ +From 7e326fb5b2c1a839bbe7f879c7efa2af2ed33420 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Wed, 2 Oct 2013 13:39:49 +0200 +Subject: [PATCH 01/15] acpi-fptd: fix memory leak in acpi_get_boot_usec + +--- + src/shared/acpi-fpdt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index b094f34..a7c83ed 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { + }; + + int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { +- char *buf; ++ _cleanup_free_ char *buf; + struct acpi_table_header *tbl; + size_t l; + struct acpi_fpdt_header *rec; +-- +1.8.4 + diff --git a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch deleted file mode 100644 index 4883baed..00000000 --- a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 11:17:05 +0800 -Subject: [PATCH 1/7] cgroup: add the missing setting of variable's value - -set the value of variable "r" to the return value -of cg_set_attribute. ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 3eeb475..fba0b2f 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -264,7 +264,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - - sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -- cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); - if (r < 0) - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - } --- -1.8.1.4 - diff --git a/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch new file mode 100644 index 00000000..254212c5 --- /dev/null +++ b/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch @@ -0,0 +1,41 @@ +From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 3 Oct 2013 22:15:08 -0400 +Subject: [PATCH] systemd: order remote mounts from mountinfo before + remote-fs.target + +Usually the network is stopped before filesystems are umounted. +Ordering network filesystems before remote-fs.target means that their +unmounting will be performed earlier, and can terminate sucessfully. + +https://bugs.freedesktop.org/show_bug.cgi?id=70002 +--- + src/core/mount.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3d46557..93bfa99 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1440,6 +1440,9 @@ static int mount_add_one( + + u = manager_get_unit(m, e); + if (!u) { ++ const char* const target = ++ fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; ++ + delete = true; + + u = unit_new(m, sizeof(Mount)); +@@ -1466,7 +1469,7 @@ static int mount_add_one( + goto fail; + } + +- r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true); ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); + if (r < 0) + goto fail; + +-- +1.8.4 + diff --git a/0002-cgroup-correct-the-log-information.patch b/0002-cgroup-correct-the-log-information.patch deleted file mode 100644 index 648b5c67..00000000 --- a/0002-cgroup-correct-the-log-information.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 11:17:06 +0800 -Subject: [PATCH 2/7] cgroup: correct the log information - -it should be memory.soft_limit_in_bytes. ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index fba0b2f..aee93ba 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -266,7 +266,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); - r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); - if (r < 0) -- log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); -+ log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); - } - - if (mask & CGROUP_DEVICE) { --- -1.8.1.4 - diff --git a/0002-fix-lingering-references-to-var-lib-backlight-random.patch b/0002-fix-lingering-references-to-var-lib-backlight-random.patch new file mode 100644 index 00000000..6ce0c230 --- /dev/null +++ b/0002-fix-lingering-references-to-var-lib-backlight-random.patch @@ -0,0 +1,55 @@ +From 6c8c92fef72cf6a7ef7109a424ef82dbdc4f6952 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 2 Oct 2013 07:46:24 -0400 +Subject: [PATCH 02/15] fix lingering references to + /var/lib/{backlight,random-seed} + +This should have been part of ef5bfcf668e6029faa78534dfe. +--- + man/systemd-backlight@.service.xml | 2 +- + man/systemd-random-seed.service.xml | 2 +- + units/systemd-backlight@.service.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/man/systemd-backlight@.service.xml b/man/systemd-backlight@.service.xml +index 2b73625..4318964 100644 +--- a/man/systemd-backlight@.service.xml ++++ b/man/systemd-backlight@.service.xml +@@ -58,7 +58,7 @@ + is a service that restores the display backlight + brightness at early-boot and saves it at shutdown. On + disk, the backlight brightness is stored in +- /var/lib/backlight/. Note that by ++ /var/lib/systemd/backlight/. Note that by + default, only firmware backlight devices are + saved/restored. + +diff --git a/man/systemd-random-seed.service.xml b/man/systemd-random-seed.service.xml +index 8cd14b7..e5cd037 100644 +--- a/man/systemd-random-seed.service.xml ++++ b/man/systemd-random-seed.service.xml +@@ -61,7 +61,7 @@ + for details. Saving/restoring the random seed across + boots increases the amount of available entropy early + at boot. On disk the random seed is stored in +- /var/lib/random-seed. ++ /var/lib/systemd/random-seed. + + + +diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in +index b0e75db..5caa5d5 100644 +--- a/units/systemd-backlight@.service.in ++++ b/units/systemd-backlight@.service.in +@@ -9,7 +9,7 @@ + Description=Load/Save Screen Backlight Brightness of %I + Documentation=man:systemd-backlight@.service(8) + DefaultDependencies=no +-RequiresMountsFor=/var/lib/backlight ++RequiresMountsFor=/var/lib/systemd/backlight + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service + Before=sysinit.target shutdown.target +-- +1.8.4 + diff --git a/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch b/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch new file mode 100644 index 00000000..86e13443 --- /dev/null +++ b/0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch @@ -0,0 +1,25 @@ +From 2c64a8d0caf84254e38f2e76528f2034d37da520 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 14:03:56 +0200 +Subject: [PATCH 03/15] acpi: make sure we never free an uninitialized pointer + +--- + src/shared/acpi-fpdt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index a7c83ed..af58c7c 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -81,7 +81,7 @@ struct acpi_fpdt_boot { + }; + + int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { +- _cleanup_free_ char *buf; ++ _cleanup_free_ char *buf = NULL; + struct acpi_table_header *tbl; + size_t l; + struct acpi_fpdt_header *rec; +-- +1.8.4 + diff --git a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch deleted file mode 100644 index 9b103930..00000000 --- a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +++ /dev/null @@ -1,46 +0,0 @@ -From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001 -From: Gao feng -Date: Fri, 13 Sep 2013 14:43:04 +0800 -Subject: [PATCH 3/7] cgroup: fix incorrectly setting memory cgroup - -If the memory_limit of unit is -1, we should write "-1" -to the file memory.limit_in_bytes. not the (unit64_t) -1. - -otherwise the memory.limit_in_bytes will be set to zero. ---- - src/core/cgroup.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index aee93ba..244baff 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -257,14 +257,21 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha - - if (mask & CGROUP_MEMORY) { - char buf[DECIMAL_STR_MAX(uint64_t) + 1]; -+ if (c->memory_limit != (uint64_t) -1) { -+ sprintf(buf, "%" PRIu64 "\n", c->memory_limit); -+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); -+ } else -+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1"); - -- sprintf(buf, "%" PRIu64 "\n", c->memory_limit); -- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); - if (r < 0) - log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); - -- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ if (c->memory_soft_limit != (uint64_t) -1) { -+ sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); -+ } else -+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", "-1"); -+ - if (r < 0) - log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); - } --- -1.8.1.4 - diff --git a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch deleted file mode 100644 index b90fbadc..00000000 --- a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:12:55 +0200 -Subject: [PATCH 4/7] random-seed: we should return errno of failed loop_write - ---- - src/random-seed/random-seed.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c -index 4776c07..afbd500 100644 ---- a/src/random-seed/random-seed.c -+++ b/src/random-seed/random-seed.c -@@ -157,7 +157,7 @@ int main(int argc, char *argv[]) { - r = loop_write(seed_fd, buf, (size_t) k, false); - if (r <= 0) { - log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write"); -- r = k == 0 ? -EIO : (int) k; -+ r = r == 0 ? -EIO : r; - } - } - --- -1.8.1.4 - diff --git a/0004-systemctl-fix-name-mangling-for-sysv-units.patch b/0004-systemctl-fix-name-mangling-for-sysv-units.patch new file mode 100644 index 00000000..a2531e70 --- /dev/null +++ b/0004-systemctl-fix-name-mangling-for-sysv-units.patch @@ -0,0 +1,134 @@ +From cbb13b2a538ece1c7ec3b210e2b36b47df2a13ea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= +Date: Wed, 2 Oct 2013 16:42:42 +0200 +Subject: [PATCH 04/15] systemctl: fix name mangling for sysv units + +--- + src/systemctl/systemctl.c | 45 ++++++++++++++++++--------------------------- + 1 file changed, 18 insertions(+), 27 deletions(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index bb7ada9..d75281f 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -4218,11 +4218,10 @@ static int set_environment(DBusConnection *bus, char **args) { + return 0; + } + +-static int enable_sysv_units(char **args) { ++static int enable_sysv_units(const char *verb, char **args) { + int r = 0; + + #if defined(HAVE_SYSV_COMPAT) && defined(HAVE_CHKCONFIG) +- const char *verb = args[0]; + unsigned f = 1, t = 1; + LookupPaths paths = {}; + +@@ -4242,7 +4241,7 @@ static int enable_sysv_units(char **args) { + return r; + + r = 0; +- for (f = 1; args[f]; f++) { ++ for (f = 0; args[f]; f++) { + const char *name; + _cleanup_free_ char *p = NULL, *q = NULL; + bool found_native = false, found_sysv; +@@ -4365,7 +4364,7 @@ finish: + lookup_paths_free(&paths); + + /* Drop all SysV units */ +- for (f = 1, t = 1; args[f]; f++) { ++ for (f = 0, t = 0; args[f]; f++) { + + if (isempty(args[f])) + continue; +@@ -4423,16 +4422,16 @@ static int enable_unit(DBusConnection *bus, char **args) { + + dbus_error_init(&error); + +- r = enable_sysv_units(args); +- if (r < 0) +- return r; +- + if (!args[1]) + return 0; + + r = mangle_names(args+1, &mangled_names); + if (r < 0) +- goto finish; ++ return r; ++ ++ r = enable_sysv_units(verb, mangled_names); ++ if (r < 0) ++ return r; + + if (!bus || avoid_bus()) { + if (streq(verb, "enable")) { +@@ -4624,11 +4623,15 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + _cleanup_dbus_message_unref_ DBusMessage *reply = NULL; + bool enabled; + char **name; +- char *n; ++ _cleanup_strv_free_ char **mangled_names = NULL; + + dbus_error_init(&error); + +- r = enable_sysv_units(args); ++ r = mangle_names(args+1, &mangled_names); ++ if (r < 0) ++ return r; ++ ++ r = enable_sysv_units(args[0], mangled_names); + if (r < 0) + return r; + +@@ -4636,16 +4639,10 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + + if (!bus || avoid_bus()) { + +- STRV_FOREACH(name, args+1) { ++ STRV_FOREACH(name, mangled_names) { + UnitFileState state; + +- n = unit_name_mangle(*name); +- if (!n) +- return log_oom(); +- +- state = unit_file_get_state(arg_scope, arg_root, n); +- +- free(n); ++ state = unit_file_get_state(arg_scope, arg_root, *name); + + if (state < 0) + return state; +@@ -4660,13 +4657,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + } + + } else { +- STRV_FOREACH(name, args+1) { ++ STRV_FOREACH(name, mangled_names) { + const char *s; + +- n = unit_name_mangle(*name); +- if (!n) +- return log_oom(); +- + r = bus_method_call_with_reply ( + bus, + "org.freedesktop.systemd1", +@@ -4675,11 +4668,9 @@ static int unit_is_enabled(DBusConnection *bus, char **args) { + "GetUnitFileState", + &reply, + NULL, +- DBUS_TYPE_STRING, &n, ++ DBUS_TYPE_STRING, name, + DBUS_TYPE_INVALID); + +- free(n); +- + if (r) + return r; + +-- +1.8.4 + diff --git a/0005-core-cgroup-first-print-then-free.patch b/0005-core-cgroup-first-print-then-free.patch deleted file mode 100644 index 5aac9a86..00000000 --- a/0005-core-cgroup-first-print-then-free.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:31:17 +0200 -Subject: [PATCH 5/7] core/cgroup: first print then free - ---- - src/core/cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/cgroup.c b/src/core/cgroup.c -index 244baff..1f41efc 100644 ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -402,8 +402,8 @@ static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) { - is_in_hash = true; - - if (r < 0) { -- free(path); - log_error("cgroup %s exists already: %s", path, strerror(-r)); -+ free(path); - return r; - } - --- -1.8.1.4 - diff --git a/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch b/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch new file mode 100644 index 00000000..d46e94d1 --- /dev/null +++ b/0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch @@ -0,0 +1,48 @@ +From 4b93637fd7dddb0a1518f35171998b2c7cd5c5bd Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:36:28 +0200 +Subject: [PATCH 05/15] cryptsetup: fix OOM handling when parsing mount options + +--- + src/cryptsetup/cryptsetup.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index 22b5eea..769c3e4 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -74,7 +74,7 @@ static int parse_one_option(const char *option) { + + t = strdup(option+7); + if (!t) +- return -ENOMEM; ++ return log_oom(); + + free(opt_cipher); + opt_cipher = t; +@@ -89,9 +89,10 @@ static int parse_one_option(const char *option) { + } else if (startswith(option, "tcrypt-keyfile=")) { + + opt_type = CRYPT_TCRYPT; +- if (path_is_absolute(option+15)) +- opt_tcrypt_keyfiles = strv_append(opt_tcrypt_keyfiles, strdup(option+15)); +- else ++ if (path_is_absolute(option+15)) { ++ if (strv_extend(&opt_tcrypt_keyfiles, option + 15) < 0) ++ return log_oom(); ++ } else + log_error("Key file path '%s' is not absolute. Ignoring.", option+15); + + } else if (startswith(option, "keyfile-size=")) { +@@ -113,7 +114,7 @@ static int parse_one_option(const char *option) { + + t = strdup(option+5); + if (!t) +- return -ENOMEM; ++ return log_oom(); + + free(opt_hash); + opt_hash = t; +-- +1.8.4 + diff --git a/0006-journald-add-missing-error-check.patch b/0006-journald-add-missing-error-check.patch new file mode 100644 index 00000000..479c37cc --- /dev/null +++ b/0006-journald-add-missing-error-check.patch @@ -0,0 +1,25 @@ +From 8c92d4bbc7a538ada11d7e85016cce141beb0e6c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:36:43 +0200 +Subject: [PATCH 06/15] journald: add missing error check + +--- + src/journal/journal-file.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index 1236403..81c344f 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -907,6 +907,8 @@ static int journal_file_append_field( + + osize = offsetof(Object, field.payload) + size; + r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); ++ if (r < 0) ++ return r; + + o->field.hash = htole64(hash); + memcpy(o->field.payload, field, size); +-- +1.8.4 + diff --git a/0006-swap-fix-reverse-dependencies.patch b/0006-swap-fix-reverse-dependencies.patch deleted file mode 100644 index 4582c34f..00000000 --- a/0006-swap-fix-reverse-dependencies.patch +++ /dev/null @@ -1,30 +0,0 @@ -From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Fri, 13 Sep 2013 14:46:18 +0200 -Subject: [PATCH 6/7] swap: fix reverse dependencies - -Make sure swap.target correctly requires/wants the swap units. - -This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291. - -Reported-by: Hussam Al-Tayeb ---- - src/core/swap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/swap.c b/src/core/swap.c -index 57d15eb..3950860 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) { - } - - if (!noauto) { -- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY), -+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), - SPECIAL_SWAP_TARGET, NULL, true); - if (r < 0) - return r; --- -1.8.1.4 - diff --git a/0007-bus-fix-potentially-uninitialized-memory-access.patch b/0007-bus-fix-potentially-uninitialized-memory-access.patch new file mode 100644 index 00000000..2f2d2def --- /dev/null +++ b/0007-bus-fix-potentially-uninitialized-memory-access.patch @@ -0,0 +1,34 @@ +From f5f6e41a9ee008e1632f79ab3fa20beef7c2b613 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:11 +0200 +Subject: [PATCH 07/15] bus: fix potentially uninitialized memory access + +--- + src/libsystemd-bus/bus-internal.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c +index 0e66f3d..cac948e 100644 +--- a/src/libsystemd-bus/bus-internal.c ++++ b/src/libsystemd-bus/bus-internal.c +@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) { + + bool interface_name_is_valid(const char *p) { + const char *q; +- bool dot, found_dot; ++ bool dot, found_dot = false; + + if (isempty(p)) + return false; +@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) { + + bool service_name_is_valid(const char *p) { + const char *q; +- bool dot, found_dot, unique; ++ bool dot, found_dot = false, unique; + + if (isempty(p)) + return false; +-- +1.8.4 + diff --git a/0007-libudev-fix-move_later-comparison.patch b/0007-libudev-fix-move_later-comparison.patch deleted file mode 100644 index aa792e0c..00000000 --- a/0007-libudev-fix-move_later-comparison.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001 -From: Lukas Nykryn -Date: Fri, 13 Sep 2013 14:12:54 +0200 -Subject: [PATCH 7/7] libudev: fix move_later comparison - -At the beginning move_later is set to -1, but it is set to different -value only if expression !move_later is true. ---- - src/libudev/libudev-enumerate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-207/src/libudev/libudev-enumerate.c -=================================================================== ---- systemd-207.orig/src/libudev/libudev-enumerate.c -+++ systemd-207/src/libudev/libudev-enumerate.c -@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_en - /* skip to be delayed devices, and move the to - * the point where the prefix changes. We can - * only move one item at a time. */ -- if (!move_later) { -+ if (move_later == -1) { - move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); - - if (move_later_prefix > 0) { diff --git a/0008-dbus-fix-return-value-of-dispatch_rqueue.patch b/0008-dbus-fix-return-value-of-dispatch_rqueue.patch new file mode 100644 index 00000000..3985ab2b --- /dev/null +++ b/0008-dbus-fix-return-value-of-dispatch_rqueue.patch @@ -0,0 +1,30 @@ +From 2e8d788c2f90d062f208f8c57a97e7b33cb29f7d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:30 +0200 +Subject: [PATCH 08/15] dbus: fix return value of dispatch_rqueue() + +--- + src/libsystemd-bus/sd-bus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c +index 3f766fb..db0880f 100644 +--- a/src/libsystemd-bus/sd-bus.c ++++ b/src/libsystemd-bus/sd-bus.c +@@ -1215,11 +1215,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) { + if (r == 0) + return ret; + +- r = 1; ++ ret = 1; + } while (!z); + + *m = z; +- return 1; ++ return ret; + } + + int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { +-- +1.8.4 + diff --git a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch deleted file mode 100644 index a81842b9..00000000 --- a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen -Date: Mon, 16 Sep 2013 01:08:32 +0200 -Subject: [PATCH 8/8] swap: create .wants symlink to 'auto' swap devices - -As we load unit files lazily, we need to make sure something pulls in swap -units that should be started automatically, otherwise the default dependencies -will never be applied. - -This partially reinstates code removed in -commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4. - -Also don't order swap devices after swap.target when they are 'nofail'. ---- - src/core/swap.c | 8 ++++++-- - src/fstab-generator/fstab-generator.c | 18 ++++++++++++++++-- - 2 files changed, 22 insertions(+), 4 deletions(-) - -diff --git a/src/core/swap.c b/src/core/swap.c -index 3950860..76c7d45 100644 ---- a/src/core/swap.c -+++ b/src/core/swap.c -@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) { - } - - if (!noauto) { -- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), -- SPECIAL_SWAP_TARGET, NULL, true); -+ if (nofail) -+ r = unit_add_dependency_by_name_inverse(UNIT(s), -+ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); -+ else -+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), -+ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); - if (r < 0) - return r; - } -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index 6ebe8aa..b73dfa4 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { - static int add_swap(const char *what, struct mntent *me) { - _cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL; - _cleanup_fclose_ FILE *f = NULL; -+ bool noauto; - int r, pri = -1; - - assert(what); -@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) { - return pri; - } - -+ noauto = !!hasmntopt(me, "noauto"); -+ - name = unit_name_from_path(what, ".swap"); - if (!name) - return log_oom(); -@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) { - fprintf(f, - "# Automatically generated by systemd-fstab-generator\n\n" - "[Unit]\n" -- "SourcePath=/etc/fstab\n" -- "\n" -+ "SourcePath=/etc/fstab\n\n" - "[Swap]\n" - "What=%s\n", - what); -@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) { - return -errno; - } - -+ if (!noauto) { -+ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); -+ if (!lnk) -+ return log_oom(); -+ -+ mkdir_parents_label(lnk, 0755); -+ if (symlink(unit, lnk) < 0) { -+ log_error("Failed to create symlink %s: %m", lnk); -+ return -errno; -+ } -+ } -+ - return 0; - } - --- -1.8.1.4 - diff --git a/0009-modules-load-fix-error-handling.patch b/0009-modules-load-fix-error-handling.patch new file mode 100644 index 00000000..df350218 --- /dev/null +++ b/0009-modules-load-fix-error-handling.patch @@ -0,0 +1,27 @@ +From b857193b1def5172e3641ca1d5bc9e08ae81aac4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:37:44 +0200 +Subject: [PATCH 09/15] modules-load: fix error handling + +--- + src/modules-load/modules-load.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c +index 7b19ee0..49ee420 100644 +--- a/src/modules-load/modules-load.c ++++ b/src/modules-load/modules-load.c +@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) { + + STRV_FOREACH(i, arg_proc_cmdline_modules) { + k = load_module(ctx, *i); +- if (k < 0) +- r = EXIT_FAILURE; ++ if (k < 0 && r == 0) ++ r = k; + } + + r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); +-- +1.8.4 + diff --git a/0009-polkit-Avoid-race-condition-in-scraping-proc.patch b/0009-polkit-Avoid-race-condition-in-scraping-proc.patch deleted file mode 100644 index 283c2e7a..00000000 --- a/0009-polkit-Avoid-race-condition-in-scraping-proc.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 851d079d0172539bf904abb58edd80d7cfe487ca Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 22 Aug 2013 13:55:21 -0400 -Subject: [PATCH 9/9] polkit: Avoid race condition in scraping /proc - -If a calling process execve()s a setuid program, it can appear to be -uid 0. Since we're receiving requests over DBus, avoid this by simply -passing system-bus-name as a subject. ---- - src/shared/polkit.c | 31 +++++-------------------------- - 1 file changed, 5 insertions(+), 26 deletions(-) - -diff --git a/src/shared/polkit.c b/src/shared/polkit.c -index cea7074..1c5e9e3 100644 ---- a/src/shared/polkit.c -+++ b/src/shared/polkit.c -@@ -38,12 +38,8 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - DBusMessage *m = NULL, *reply = NULL; -- const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = ""; -+ const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = ""; - uint32_t flags = interactive ? 1 : 0; -- pid_t pid_raw; -- uint32_t pid_u32; -- unsigned long long starttime_raw; -- uint64_t starttime_u64; - DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant; - int r; - dbus_bool_t authorized = FALSE, challenge = FALSE; -@@ -68,14 +64,6 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - -- pid_raw = bus_get_unix_process_id(c, sender, error); -- if (pid_raw == 0) -- return -EINVAL; -- -- r = get_starttime_of_pid(pid_raw, &starttime_raw); -- if (r < 0) -- return r; -- - m = dbus_message_new_method_call( - "org.freedesktop.PolicyKit1", - "/org/freedesktop/PolicyKit1/Authority", -@@ -86,22 +74,13 @@ int verify_polkit( - - dbus_message_iter_init_append(m, &iter_msg); - -- pid_u32 = (uint32_t) pid_raw; -- starttime_u64 = (uint64_t) starttime_raw; -- - if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) || -- !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) || -+ !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) || - !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) || - !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) || -- !dbus_message_iter_close_container(&iter_dict, &iter_variant) || -- !dbus_message_iter_close_container(&iter_array, &iter_dict) || -- !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) || -+ !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) || -+ !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) || -+ !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) || - !dbus_message_iter_close_container(&iter_dict, &iter_variant) || - !dbus_message_iter_close_container(&iter_array, &iter_dict) || - !dbus_message_iter_close_container(&iter_struct, &iter_array) || --- -1.8.1.4 - diff --git a/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch b/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch new file mode 100644 index 00000000..3994d1ee --- /dev/null +++ b/0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch @@ -0,0 +1,26 @@ +From 62678deda2dcd43954bf02f783da01e48c7f8fce Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:09 +0200 +Subject: [PATCH 10/15] efi: never call qsort on potentially NULL arrays + +--- + src/shared/efivars.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/shared/efivars.c b/src/shared/efivars.c +index 1d5b6f9..c015b16 100644 +--- a/src/shared/efivars.c ++++ b/src/shared/efivars.c +@@ -384,7 +384,8 @@ int efi_get_boot_options(uint16_t **options) { + list[count ++] = id; + } + +- qsort(list, count, sizeof(uint16_t), cmp_uint16); ++ if (list) ++ qsort(list, count, sizeof(uint16_t), cmp_uint16); + + *options = list; + return count; +-- +1.8.4 + diff --git a/0011-strv-don-t-access-potentially-NULL-string-arrays.patch b/0011-strv-don-t-access-potentially-NULL-string-arrays.patch new file mode 100644 index 00000000..0ab90504 --- /dev/null +++ b/0011-strv-don-t-access-potentially-NULL-string-arrays.patch @@ -0,0 +1,27 @@ +From 5b4fb02d890d5c9777e9a6e798e0b8922a8a9fd8 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:28 +0200 +Subject: [PATCH 11/15] strv: don't access potentially NULL string arrays + +--- + src/shared/env-util.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/shared/env-util.c b/src/shared/env-util.c +index 5e29629..7976881 100644 +--- a/src/shared/env-util.c ++++ b/src/shared/env-util.c +@@ -405,7 +405,9 @@ char **strv_env_clean_log(char **e, const char *message) { + e[k++] = *p; + } + +- e[k] = NULL; ++ if (e) ++ e[k] = NULL; ++ + return e; + } + +-- +1.8.4 + diff --git a/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch b/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch new file mode 100644 index 00000000..1d91d801 --- /dev/null +++ b/0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch @@ -0,0 +1,26 @@ +From 69c2b6be8fc607412a13cd0ea03a629b4965c816 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 2 Oct 2013 19:38:52 +0200 +Subject: [PATCH 12/15] mkdir: pass a proper function pointer to + mkdir_safe_internal + +--- + src/shared/mkdir.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/mkdir.c b/src/shared/mkdir.c +index b7e5c6e..43c6ea6 100644 +--- a/src/shared/mkdir.c ++++ b/src/shared/mkdir.c +@@ -53,7 +53,7 @@ int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkd + } + + int mkdir_safe(const char *path, mode_t mode, uid_t uid, gid_t gid) { +- return mkdir_safe_internal(path, mode, uid, gid, false); ++ return mkdir_safe_internal(path, mode, uid, gid, mkdir); + } + + static int is_dir(const char* path) { +-- +1.8.4 + diff --git a/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch b/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch new file mode 100644 index 00000000..1ed8f92a --- /dev/null +++ b/0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch @@ -0,0 +1,26 @@ +From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 2 Oct 2013 15:35:16 -0400 +Subject: [PATCH 14/15] tmpfiles.d: include setgid perms for /run/log/journal + +4608af4333d0f7f5 set permissions for journal storage on persistent disk +but not the volatile storage. + +ref: https://bugs.archlinux.org/task/37170 +--- + tmpfiles.d/systemd.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index b630440..a05c657 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -26,3 +26,5 @@ F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" + + m /var/log/journal 2755 root systemd-journal - - + m /var/log/journal/%m 2755 root systemd-journal - - ++m /run/log/journal 2755 root systemd-journal - - ++m /run/log/journal/%m 2755 root systemd-journal - - +-- +1.8.4 + diff --git a/Fix-timeout-when-stopping-Type-notify-service.patch b/Fix-timeout-when-stopping-Type-notify-service.patch deleted file mode 100644 index 3d03d380..00000000 --- a/Fix-timeout-when-stopping-Type-notify-service.patch +++ /dev/null @@ -1,84 +0,0 @@ -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 - -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 | 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; -+ - 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); - } - } - 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/after-local.service b/after-local.service new file mode 100644 index 00000000..a9fb26a7 --- /dev/null +++ b/after-local.service @@ -0,0 +1,18 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=/etc/init.d/after.local Compatibility +ConditionFileIsExecutable=/etc/init.d/after.local +After=getty.target + +[Service] +Type=idle +ExecStart=/etc/init.d/after.local +TimeoutSec=0 +RemainAfterExit=yes +SysVStartPriority=99 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/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 3381072a..9b3defb9 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -44,7 +44,7 @@ Index: systemd-207/units/systemd-sysctl.service.in ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d ConditionDirectoryNotEmpty=|/run/sysctl.d -+ConditionPathExistsGlob=|/boot/sysctl.conf-* ++ConditionPathExistsGlob=|/boot/sysctl.conf-%v +RequiresMountsFor=/boot [Service] 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..12a73a83 --- /dev/null +++ b/systemd-208.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390 +size 2382904 diff --git a/systemd-mini.changes b/systemd-mini.changes index 08f75766..68686869 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,117 @@ +------------------------------------------------------------------- +Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com + +- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: + fix acpi memleak. +- Add + 0002-fix-lingering-references-to-var-lib-backlight-random.patch: + fix invalid path in documentation. +- Add + 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: + fix invalid memory free. +- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix + name mangling for sysv units. +- Add + 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: + fix OOM handling. +- Add 0006-journald-add-missing-error-check.patch: add missing + error check. +- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: + fix uninitialized memory access. +- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix + return value. +- Add 0009-modules-load-fix-error-handling.patch: fix error + handling. +- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: + fix incorrect memory access. +- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: + fix incorrect memory access. +- Add + 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: + fix invalid pointer. +- Add + 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: + fix permission on /run/log/journal. +- Add + 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: + order remote mount points properly before remote-fs.target. + +------------------------------------------------------------------- +Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com + +- Explicitly require pam-config for %post of the main package + +------------------------------------------------------------------- +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. +- Add after-local.service to run after.local late during the boot + process (bnc#778715). + +------------------------------------------------------------------- +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 + +- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto + encrypted mounts survives runlevel changes (bnc#843085). +- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix + logind crash when /run/systemd/sessions was too big (bnc#840055, + initial fix from hpj@suse.com). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + only check for /boot/sysctl.conf- presence. +- Add service wrapper for after.local (bnc#778715). + ------------------------------------------------------------------- Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com @@ -25,14 +139,14 @@ Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com ------------------------------------------------------------------- Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] CVE-2013-4288 ------------------------------------------------------------------- Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org -- Build with --disable-ima as the openSUSE kernel +- Build with --disable-ima as the openSUSE kernel does not support IMA (CONFIG_IMA is not set) ------------------------------------------------------------------- @@ -53,14 +167,14 @@ Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. @@ -70,7 +184,7 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org should fail if write fails. - 0005-core-cgroup-first-print-then-free.patch use-after-free will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in +- 0006-swap-fix-reverse-dependencies.patch reported in opensuse-factory list, topic "swap isn't activated" - 0007-libudev-fix-move_later-comparison.patch libudev invalid usage of "move_later". @@ -79,10 +193,10 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of + is defined to /var/run/dbus/system_bus_socket instead of /run/dbus/system_bus_socket and that does not fly when /var/run is not yet available. (systemd-dbus-system-bus-address.patch) @@ -94,10 +208,10 @@ Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org -- version 207, distribution specific changes follow, for overall +- version 207, distribution specific changes follow, for overall release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted * Fix shutdown hang "a stop job is running for Session 1 of user root" that was reported in opensuse-factory list. @@ -204,7 +318,7 @@ Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org ------------------------------------------------------------------- Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org -- fix broken symlink, service is called systemd-random-seed now. +- fix broken symlink, service is called systemd-random-seed now. ------------------------------------------------------------------- Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com @@ -339,13 +453,13 @@ Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch + add: 1008-physical-hotplug-cpu-and-memory.patch ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility -- Added check for upstream rpm macros changes +- Added check for upstream rpm macros changes ------------------------------------------------------------------- Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com @@ -355,7 +469,7 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org -- 0001-journal-letting-interleaved-seqnums-go.patch and +- 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 @@ -392,8 +506,8 @@ Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, ignoring: Invalid argument - 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch systemctl disable should remove dangling symlinks. @@ -455,7 +569,7 @@ support has been removed from the kernel. fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 - Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in +- no such define TARGET_SUSE exists but it is used in Revert-service-drop-support-for-SysV-scripts-for-the-early.patch use HAVE_SYSV_COMPAT instead. @@ -514,7 +628,7 @@ Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - Rename remaning udev patches (clean-up). - Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). + boot time not from udev (bnc#761109). - Drop unused patches: 1001-Reinstate-TIMEOUT-handling.patch 1005-udev-fix-sg-autoload-regression.patch @@ -542,7 +656,7 @@ Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org -- Fix packaging error, there is no syslog.target anymore +- Fix packaging error, there is no syslog.target anymore do not pretend there is one. ------------------------------------------------------------------- @@ -583,14 +697,14 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com from an indexed database. %udev_hwdb_update macro should be used by packages adding entries to this database. + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. + to link up additional information with journal entries. %journal_catalog_update macro should be used by packages adding %entries to this database. + "age" field for tmpfiles entries can be set to 0, forcing removal of files matching this entry. + coredumpctl gained "gdb" verb to invoke gdb on selected coredump. - + New rpm macros has been added: %udev_rules_update(), + + New rpm macros has been added: %udev_rules_update(), %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, %_tmpfilesdir, %_sysctldir. + In service files, %U can be used for configured user name of @@ -614,7 +728,7 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com (normal clean-up with tmpfiles is still done in addition to this though). + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using + controlled dynamically at runtime for all units, using "systemctl set-cgroup-attr foobar.server cgroup.attribute value". Those settings are stored persistenly on disk. + systemd-vconsole-setup will now copy all fonts settings to all @@ -748,14 +862,14 @@ Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - add: 1027-udev-always-rename-network.patch + add: 1027-udev-always-rename-network.patch ------------------------------------------------------------------- Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - udev: re-add persistent network rules (bnc#809843). add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. +- rebase all patches, ensure that they apply properly. ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com @@ -780,7 +894,7 @@ Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch ------------------------------------------------------------------- Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de @@ -815,7 +929,7 @@ Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com @@ -837,7 +951,7 @@ Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority @@ -846,7 +960,7 @@ Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for +- fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service ------------------------------------------------------------------- @@ -978,7 +1092,7 @@ Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com add: 1014-udev-fix-whitespace.patch - udev: properly handle symlink removal by 'change' event add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of +- udev: builtin - do not fail builtin initialization if one of them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() @@ -990,7 +1104,7 @@ Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and - systemd patches. + systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). ------------------------------------------------------------------- @@ -998,8 +1112,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com @@ -1032,7 +1146,7 @@ Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com -- Fix creation of /dev/root link. +- Fix creation of /dev/root link. ------------------------------------------------------------------- Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com @@ -1191,7 +1305,7 @@ Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + Optional journal gateway daemon (systemd-journal-gatewayd.service) to access journal via HTTP and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and + /var/log/messages compatible format and 'curl -H"Accept: application/json" http://localhost:19531/entries' for JSON formatted content. HTML5 static page is also available as explained on @@ -1421,7 +1535,7 @@ Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com -- apply ppc patch to systemd-gtk too (fixes build) +- apply ppc patch to systemd-gtk too (fixes build) ------------------------------------------------------------------- Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com @@ -1503,7 +1617,7 @@ Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com -- Enable Plymouth integration. +- Enable Plymouth integration. * Bootsplash related files will be moved to the bootsplash package @@ -1554,7 +1668,7 @@ Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. + 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 @@ -1613,7 +1727,7 @@ Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com -- Make the systemd journal persistent by creating the +- Make the systemd journal persistent by creating the /var/log/journal directory ------------------------------------------------------------------- @@ -1623,8 +1737,8 @@ Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - Bugfixes - Implementation of a Journal Utility Library - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure syslog socket goes away early during shutdown. - Add listen.conf for rsyslog. This will ensure that it will still work fine with rsyslog and the new journal. @@ -1902,7 +2016,7 @@ Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de * New PrivateNetwork= service setting which allows you to shut off networking for a specific service (i.e. all routable network interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch + * Merged insserv-parsing.patch and bash-completion-restart.patch patches. ------------------------------------------------------------------- diff --git a/systemd-mini.spec b/systemd-mini.spec index 3cb60d4a..46a37f39 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+ @@ -98,6 +98,9 @@ Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils %endif +%if ! 0%{?bootstrap} +Requires(post): pam-config +%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -112,6 +115,7 @@ Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream +Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule @@ -156,6 +160,7 @@ Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.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 @@ -170,27 +175,36 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin 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 +# 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 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak +Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch +# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation +Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch +# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free +Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch +# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units +Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch +# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling +Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check +Patch53: 0006-journald-add-missing-error-check.patch +# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access +Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value +Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch +# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling +Patch56: 0009-modules-load-fix-error-handling.patch +# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch +# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer +Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch +# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal +Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch +# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target +Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -207,8 +221,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 @@ -447,6 +459,11 @@ cp %{SOURCE7} m4/ %patch54 -p1 %patch55 -p1 %patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 -p1 +%patch60 -p1 +%patch61 -p1 # udev patches %patch1001 -p1 @@ -459,7 +476,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -566,6 +582,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 @@ -590,7 +609,7 @@ rm -f %{buildroot}/var/log/README %endif # legacy links -for f in loginctl journalctl ; do +for f in loginctl journalctl ; do ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 @@ -627,6 +646,10 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +# ensure after.local wrapper is called +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} # packaged in systemd-rpm-macros @@ -637,12 +660,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 @@ -680,9 +709,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 @@ -988,10 +1019,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 08f75766..68686869 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,117 @@ +------------------------------------------------------------------- +Thu Oct 3 08:43:51 UTC 2013 - fcrozat@suse.com + +- Add 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch: + fix acpi memleak. +- Add + 0002-fix-lingering-references-to-var-lib-backlight-random.patch: + fix invalid path in documentation. +- Add + 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch: + fix invalid memory free. +- Add 0004-systemctl-fix-name-mangling-for-sysv-units.patch: fix + name mangling for sysv units. +- Add + 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch: + fix OOM handling. +- Add 0006-journald-add-missing-error-check.patch: add missing + error check. +- Add 0007-bus-fix-potentially-uninitialized-memory-access.patch: + fix uninitialized memory access. +- Add 0008-dbus-fix-return-value-of-dispatch_rqueue.patch: fix + return value. +- Add 0009-modules-load-fix-error-handling.patch: fix error + handling. +- Add 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch: + fix incorrect memory access. +- Add 0011-strv-don-t-access-potentially-NULL-string-arrays.patch: + fix incorrect memory access. +- Add + 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch: + fix invalid pointer. +- Add + 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch: + fix permission on /run/log/journal. +- Add + 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch: + order remote mount points properly before remote-fs.target. + +------------------------------------------------------------------- +Wed Oct 2 14:10:41 UTC 2013 - hrvoje.senjan@gmail.com + +- Explicitly require pam-config for %post of the main package + +------------------------------------------------------------------- +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. +- Add after-local.service to run after.local late during the boot + process (bnc#778715). + +------------------------------------------------------------------- +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 + +- Add set-ignoreonisolate-noauto-cryptsetup.patch: ensure noauto + encrypted mounts survives runlevel changes (bnc#843085). +- Add 0001-Fix-buffer-overrun-when-enumerating-files.patch: fix + logind crash when /run/systemd/sessions was too big (bnc#840055, + initial fix from hpj@suse.com). +- Update sysctl-handle-boot-sysctl.conf-kernel_release.patch to + only check for /boot/sysctl.conf- presence. +- Add service wrapper for after.local (bnc#778715). + ------------------------------------------------------------------- Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com @@ -25,14 +139,14 @@ Thu Sep 19 16:37:03 CEST 2013 - fcrozat@suse.com ------------------------------------------------------------------- Wed Sep 18 23:55:09 UTC 2013 - crrodriguez@opensuse.org -- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch +- 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827] CVE-2013-4288 ------------------------------------------------------------------- Wed Sep 18 23:45:54 UTC 2013 - crrodriguez@opensuse.org -- Build with --disable-ima as the openSUSE kernel +- Build with --disable-ima as the openSUSE kernel does not support IMA (CONFIG_IMA is not set) ------------------------------------------------------------------- @@ -53,14 +167,14 @@ Wed Sep 18 12:05:47 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org -- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch - really fixes the swap unit problem mentioned in previous +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous commit & the opensuse-factory mailing list. ------------------------------------------------------------------- Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org -- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch missing important check on return value. - 0002-cgroup-correct-the-log-information.patch fix misleading log information. @@ -70,7 +184,7 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org should fail if write fails. - 0005-core-cgroup-first-print-then-free.patch use-after-free will trigger if there is an error condition. -- 0006-swap-fix-reverse-dependencies.patch reported in +- 0006-swap-fix-reverse-dependencies.patch reported in opensuse-factory list, topic "swap isn't activated" - 0007-libudev-fix-move_later-comparison.patch libudev invalid usage of "move_later". @@ -79,10 +193,10 @@ Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org - while testing this new release I get in the logs ocassionally - at boot "systemd[1]: Failed to open private bus connection: - Failed to connect to socket /var/run/dbus/system_bus_socket: + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS - is defined to /var/run/dbus/system_bus_socket instead of + is defined to /var/run/dbus/system_bus_socket instead of /run/dbus/system_bus_socket and that does not fly when /var/run is not yet available. (systemd-dbus-system-bus-address.patch) @@ -94,10 +208,10 @@ Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org -- version 207, distribution specific changes follow, for overall +- version 207, distribution specific changes follow, for overall release notes see NEWS. -- Fixed: - * Failed at step PAM spawning /usr/lib/systemd/systemd: +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: Operation not permitted * Fix shutdown hang "a stop job is running for Session 1 of user root" that was reported in opensuse-factory list. @@ -204,7 +318,7 @@ Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org ------------------------------------------------------------------- Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org -- fix broken symlink, service is called systemd-random-seed now. +- fix broken symlink, service is called systemd-random-seed now. ------------------------------------------------------------------- Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com @@ -339,13 +453,13 @@ Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com - Automatically online CPUs/Memory on CPU/Memory hotplug add events (bnc#703100, fate#311831). - add: 1008-physical-hotplug-cpu-and-memory.patch + add: 1008-physical-hotplug-cpu-and-memory.patch ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility -- Added check for upstream rpm macros changes +- Added check for upstream rpm macros changes ------------------------------------------------------------------- Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com @@ -355,7 +469,7 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com ------------------------------------------------------------------- Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org -- 0001-journal-letting-interleaved-seqnums-go.patch and +- 0001-journal-letting-interleaved-seqnums-go.patch and 0002-journal-remember-last-direction-of-search-and-keep-o.patch fix possible infinite loops in the journal code, related to bnc #817778 @@ -392,8 +506,8 @@ Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org - 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch fixes : - * systemd-journald[347]: Failed to set ACL on - /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, ignoring: Invalid argument - 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch systemctl disable should remove dangling symlinks. @@ -455,7 +569,7 @@ support has been removed from the kernel. fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 - Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch only on ARM, patch rejected upstream because is too generic. -- no such define TARGET_SUSE exists but it is used in +- no such define TARGET_SUSE exists but it is used in Revert-service-drop-support-for-SysV-scripts-for-the-early.patch use HAVE_SYSV_COMPAT instead. @@ -514,7 +628,7 @@ Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com - Rename remaning udev patches (clean-up). - Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at - boot time not from udev (bnc#761109). + boot time not from udev (bnc#761109). - Drop unused patches: 1001-Reinstate-TIMEOUT-handling.patch 1005-udev-fix-sg-autoload-regression.patch @@ -542,7 +656,7 @@ Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com ------------------------------------------------------------------- Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org -- Fix packaging error, there is no syslog.target anymore +- Fix packaging error, there is no syslog.target anymore do not pretend there is one. ------------------------------------------------------------------- @@ -583,14 +697,14 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com from an indexed database. %udev_hwdb_update macro should be used by packages adding entries to this database. + Journal gained support for "Message Catalog", indexed database - to link up additional information with journal entries. + to link up additional information with journal entries. %journal_catalog_update macro should be used by packages adding %entries to this database. + "age" field for tmpfiles entries can be set to 0, forcing removal of files matching this entry. + coredumpctl gained "gdb" verb to invoke gdb on selected coredump. - + New rpm macros has been added: %udev_rules_update(), + + New rpm macros has been added: %udev_rules_update(), %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, %_tmpfilesdir, %_sysctldir. + In service files, %U can be used for configured user name of @@ -614,7 +728,7 @@ Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com (normal clean-up with tmpfiles is still done in addition to this though). + Resource limits (as exposed by cgroup controlers) can be - controlled dynamically at runtime for all units, using + controlled dynamically at runtime for all units, using "systemctl set-cgroup-attr foobar.server cgroup.attribute value". Those settings are stored persistenly on disk. + systemd-vconsole-setup will now copy all fonts settings to all @@ -748,14 +862,14 @@ Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com - udev: ensure that the network interfaces are renamed even if they exist (bnc#809843). - add: 1027-udev-always-rename-network.patch + add: 1027-udev-always-rename-network.patch ------------------------------------------------------------------- Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com - udev: re-add persistent network rules (bnc#809843). add: 1026-re-add-persistent-net.patch -- rebase all patches, ensure that they apply properly. +- rebase all patches, ensure that they apply properly. ------------------------------------------------------------------- Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com @@ -780,7 +894,7 @@ Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com - udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch - udev: expose new ISO9660 properties from libblkid - add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch ------------------------------------------------------------------- Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de @@ -815,7 +929,7 @@ Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com - udev: use unique names for temporary files created in /dev. add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch - cdrom_id: add data track count for bad virtual drive. - add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch ------------------------------------------------------------------- Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com @@ -837,7 +951,7 @@ Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com - udev: Fix device matching in the accelerometer - add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch - keymap: add aditional support for some keyboard keys add: 1018-keymap-add-aditional-support.patch - journalctl: require argument for --priority @@ -846,7 +960,7 @@ Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com libudev-validate-argument-udev_enumerate_new.patch kmod-fix-builtin-typo.patch - rename udev-root-symlink.service to systemd-udev-root-symlink.service. -- fix in udev package missing link in basic.target.wants for +- fix in udev package missing link in basic.target.wants for systemd-udev-root-symlink.service ------------------------------------------------------------------- @@ -978,7 +1092,7 @@ Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com add: 1014-udev-fix-whitespace.patch - udev: properly handle symlink removal by 'change' event add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch -- udev: builtin - do not fail builtin initialization if one of +- udev: builtin - do not fail builtin initialization if one of them returns an error add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch - udev: use usec_t and now() @@ -990,7 +1104,7 @@ Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com - udevd: add missing ':' to getopt_long 'e'. add: 1007-udevd-add-missing-to-getopt_long-e.patch - clean up systemd.spec, make it easy to see which are udev and - systemd patches. + systemd patches. - make 'reload' and 'force-reload' LSB compliant (bnc#793936). ------------------------------------------------------------------- @@ -998,8 +1112,8 @@ Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org - detect-btrfs-ssd.patch: Fix btrfs detection on SSD. - timedated-donot-close-bogus-dbus-connection.patch: Avoid - closing an non-existent dbus connection and getting assertion - failures. + closing an non-existent dbus connection and getting assertion + failures. ------------------------------------------------------------------- Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com @@ -1032,7 +1146,7 @@ Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com -- Fix creation of /dev/root link. +- Fix creation of /dev/root link. ------------------------------------------------------------------- Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com @@ -1191,7 +1305,7 @@ Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + Optional journal gateway daemon (systemd-journal-gatewayd.service) to access journal via HTTP and JSON. Use "wget http://localhost:19531/entries" to get - /var/log/messages compatible format and + /var/log/messages compatible format and 'curl -H"Accept: application/json" http://localhost:19531/entries' for JSON formatted content. HTML5 static page is also available as explained on @@ -1421,7 +1535,7 @@ Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com -- apply ppc patch to systemd-gtk too (fixes build) +- apply ppc patch to systemd-gtk too (fixes build) ------------------------------------------------------------------- Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com @@ -1503,7 +1617,7 @@ Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com -- Enable Plymouth integration. +- Enable Plymouth integration. * Bootsplash related files will be moved to the bootsplash package @@ -1554,7 +1668,7 @@ Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com property. + Rudimentary service watchdog support (not complete) + Improve bootcharts, by immediatly changing argv[0] after - forking to to reflect which process will be executed. + 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 @@ -1613,7 +1727,7 @@ Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com ------------------------------------------------------------------- Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com -- Make the systemd journal persistent by creating the +- Make the systemd journal persistent by creating the /var/log/journal directory ------------------------------------------------------------------- @@ -1623,8 +1737,8 @@ Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com - Bugfixes - Implementation of a Journal Utility Library - Implementation of a 128 Bit ID Utility Library -- 11 Patches integrated upstream -- Add systemd-syslog_away_early_on_shutdown.patch: make sure +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure syslog socket goes away early during shutdown. - Add listen.conf for rsyslog. This will ensure that it will still work fine with rsyslog and the new journal. @@ -1902,7 +2016,7 @@ Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de * New PrivateNetwork= service setting which allows you to shut off networking for a specific service (i.e. all routable network interfaces will disappear for that service). - * Merged insserv-parsing.patch and bash-completion-restart.patch + * Merged insserv-parsing.patch and bash-completion-restart.patch patches. ------------------------------------------------------------------- diff --git a/systemd.spec b/systemd.spec index 80890da5..5d4272ce 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+ @@ -93,6 +93,9 @@ Requires: util-linux >= 2.21 Requires(post): coreutils Requires(post): findutils %endif +%if ! 0%{?bootstrap} +Requires(post): pam-config +%endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Obsoletes: systemd-analyze < 201 @@ -107,6 +110,7 @@ Source7: libgcrypt.m4 Source8: systemd-journald.init Source9: nss-myhostname-config Source10: macros.systemd.upstream +Source11: after-local.service Source1060: boot.udev Source1061: write_dev_root_rule @@ -151,6 +155,7 @@ Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch # PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch Patch42: systemd-pam_config.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 @@ -165,27 +170,36 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin 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 +# 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 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch fcrozat@suse.com -- fix acpi memleak +Patch48: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch +# PATCH-FIX-UPSTREAM 0002-fix-lingering-references-to-var-lib-backlight-random.patch fcrozat@suse.com -- fix invalid path in documentation +Patch49: 0002-fix-lingering-references-to-var-lib-backlight-random.patch +# PATCH-FIX-UPSTREAM 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch fcrozat@suse.com -- fix invalid memory free +Patch50: 0003-acpi-make-sure-we-never-free-an-uninitialized-pointe.patch +# PATCH-FIX-UPSTREAM 0004-systemctl-fix-name-mangling-for-sysv-units.patch fcrozat@suse.com -- fix name mangling for sysv units +Patch51: 0004-systemctl-fix-name-mangling-for-sysv-units.patch +# PATCH-FIX-UPSTREAM 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch fcrozat@suse.com -- fix OOM handling +Patch52: 0005-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +# PATCH-FIX-UPSTREAM 0006-journald-add-missing-error-check.patch fcrozat@suse.com -- add missing error check +Patch53: 0006-journald-add-missing-error-check.patch +# PATCH-FIX-UPSTREAM 0007-bus-fix-potentially-uninitialized-memory-access.patch fcrozat@suse.com -- fix uninitialized memory access +Patch54: 0007-bus-fix-potentially-uninitialized-memory-access.patch +# PATCH-FIX-UPSTREAM 0008-dbus-fix-return-value-of-dispatch_rqueue.patch fcrozat@suse.com -- fix return value +Patch55: 0008-dbus-fix-return-value-of-dispatch_rqueue.patch +# PATCH-FIX-UPSTREAM 0009-modules-load-fix-error-handling.patch fcrozat@suse.com -- fix error handling +Patch56: 0009-modules-load-fix-error-handling.patch +# PATCH-FIX-UPSTREAM 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch57: 0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch +# PATCH-FIX-UPSTREAM 0011-strv-don-t-access-potentially-NULL-string-arrays.patch fcrozat@suse.com -- fix incorrect memory access +Patch58: 0011-strv-don-t-access-potentially-NULL-string-arrays.patch +# PATCH-FIX-UPSTREAM 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch fcrozat@suse.com -- fix invalid pointer +Patch59: 0012-mkdir-pass-a-proper-function-pointer-to-mkdir_safe_i.patch +# PATCH-FIX-UPSTREAM 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch fcrozat@suse.com -- fix permission on /run/log/journal +Patch60: 0014-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch +# PATCH-FIX-UPSTREAM 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch fcrozat@suse.com -- order remote mount points properly before remote-fs.target +Patch61: 0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -202,8 +216,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 @@ -442,6 +454,11 @@ cp %{SOURCE7} m4/ %patch54 -p1 %patch55 -p1 %patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 -p1 +%patch60 -p1 +%patch61 -p1 # udev patches %patch1001 -p1 @@ -454,7 +471,6 @@ cp %{SOURCE7} m4/ %patch1007 -p1 %patch1008 -p1 %endif -%patch1009 -p1 # ensure generate files are removed rm -f units/emergency.service @@ -561,6 +577,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 @@ -585,7 +604,7 @@ rm -f %{buildroot}/var/log/README %endif # legacy links -for f in loginctl journalctl ; do +for f in loginctl journalctl ; do ln -s $f %{buildroot}%{_bindir}/systemd-$f %if ! 0%{?bootstrap} ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 @@ -622,6 +641,10 @@ cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/nocl TTYVTDisallocate=no EOF +# ensure after.local wrapper is called +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} # packaged in systemd-rpm-macros @@ -632,12 +655,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 @@ -675,9 +704,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 @@ -983,10 +1014,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,-)