SHA256
1
0
forked from pool/systemd

Accepting request 202147 from Base:System

- 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: (forwarded request 202117 from fcrozat)

OBS-URL: https://build.opensuse.org/request/show/202147
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=162
This commit is contained in:
Tomáš Chvátal 2013-10-04 14:07:46 +00:00 committed by Git OBS Bridge
parent e05d3e3c6d
commit f037c9430f
37 changed files with 1052 additions and 628 deletions

View File

@ -0,0 +1,25 @@
From 7e326fb5b2c1a839bbe7f879c7efa2af2ed33420 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
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

View File

@ -1,27 +0,0 @@
From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001
From: Gao feng <gaofeng@cn.fujitsu.com>
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

View File

@ -0,0 +1,41 @@
From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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

View File

@ -1,26 +0,0 @@
From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001
From: Gao feng <gaofeng@cn.fujitsu.com>
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

View File

@ -0,0 +1,55 @@
From 6c8c92fef72cf6a7ef7109a424ef82dbdc4f6952 Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
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
- <filename>/var/lib/backlight/</filename>. Note that by
+ <filename>/var/lib/systemd/backlight/</filename>. Note that by
default, only firmware backlight devices are
saved/restored.</para>
</refsect1>
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
- <filename>/var/lib/random-seed</filename>.</para>
+ <filename>/var/lib/systemd/random-seed</filename>.</para>
</refsect1>
<refsect1>
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

View File

@ -0,0 +1,25 @@
From 2c64a8d0caf84254e38f2e76528f2034d37da520 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,46 +0,0 @@
From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001
From: Gao feng <gaofeng@cn.fujitsu.com>
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

View File

@ -1,25 +0,0 @@
From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
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

View File

@ -0,0 +1,134 @@
From cbb13b2a538ece1c7ec3b210e2b36b47df2a13ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= <vpavlin@redhat.com>
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

View File

@ -1,26 +0,0 @@
From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
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

View File

@ -0,0 +1,48 @@
From 4b93637fd7dddb0a1518f35171998b2c7cd5c5bd Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -0,0 +1,25 @@
From 8c92d4bbc7a538ada11d7e85016cce141beb0e6c Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,30 +0,0 @@
From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
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

View File

@ -0,0 +1,34 @@
From f5f6e41a9ee008e1632f79ab3fa20beef7c2b613 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,24 +0,0 @@
From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
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) {

View File

@ -0,0 +1,30 @@
From 2e8d788c2f90d062f208f8c57a97e7b33cb29f7d Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,90 +0,0 @@
From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
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

View File

@ -0,0 +1,27 @@
From b857193b1def5172e3641ca1d5bc9e08ae81aac4 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,75 +0,0 @@
From 851d079d0172539bf904abb58edd80d7cfe487ca Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
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

View File

@ -0,0 +1,26 @@
From 62678deda2dcd43954bf02f783da01e48c7f8fce Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -0,0 +1,27 @@
From 5b4fb02d890d5c9777e9a6e798e0b8922a8a9fd8 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -0,0 +1,26 @@
From 69c2b6be8fc607412a13cd0ea03a629b4965c816 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -0,0 +1,26 @@
From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
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

View File

@ -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: <systemd-devel-bounces+arvidjaar=gmail.com@lists.freedesktop.org>
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 <arvidjaar@gmail.com>; 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 <systemd-devel@lists.freedesktop.org>;
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 <jjk@jjacky.com>
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 <systemd-devel.lists.freedesktop.org>
List-Unsubscribe: <http://lists.freedesktop.org/mailman/options/systemd-devel>,
<mailto:systemd-devel-request@lists.freedesktop.org?subject=unsubscribe>
List-Archive: <http://lists.freedesktop.org/archives/systemd-devel>
List-Post: <mailto:systemd-devel@lists.freedesktop.org>
List-Help: <mailto:systemd-devel-request@lists.freedesktop.org?subject=help>
List-Subscribe: <http://lists.freedesktop.org/mailman/listinfo/systemd-devel>,
<mailto:systemd-devel-request@lists.freedesktop.org?subject=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);
}
}

View File

@ -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

18
after-local.service Normal file
View File

@ -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

View File

@ -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

View File

@ -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 ||

View File

@ -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,7 +23,7 @@ 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));
}
@ -47,5 +49,5 @@ handle ROOT_USES_LANG=ctype (bnc#792182).
+
+#endif
add = NULL;
for (i = 0; i < _VARIABLE_MAX; i++) {
if (!variables[i])

View File

@ -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;

View File

@ -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]

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942
size 2363804

3
systemd-208.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390
size 2382904

View File

@ -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-<uname -r> presence.
- Add service wrapper for after.local (bnc#778715).
-------------------------------------------------------------------
Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com

View File

@ -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
@ -172,25 +177,34 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
Patch47: systemd-dbus-system-bus-address.patch
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
Patch49: 0002-cgroup-correct-the-log-information.patch
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
Patch52: 0005-core-cgroup-first-print-then-free.patch
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
Patch53: 0006-swap-fix-reverse-dependencies.patch
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827]
Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch
# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544]
Patch56: Fix-timeout-when-stopping-Type-notify-service.patch
# PATCH-FIX-UPSTREAM 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
@ -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,-)

View File

@ -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-<uname -r> presence.
- Add service wrapper for after.local (bnc#778715).
-------------------------------------------------------------------
Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com

View File

@ -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
@ -167,25 +172,34 @@ Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
Patch47: systemd-dbus-system-bus-address.patch
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
Patch49: 0002-cgroup-correct-the-log-information.patch
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
Patch52: 0005-core-cgroup-first-print-then-free.patch
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
Patch53: 0006-swap-fix-reverse-dependencies.patch
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
# PATCH-FIX-UPSTREAM 0009-polkit-Avoid-race-condition-in-scraping-proc.patch VUL-0: polkit: process subject race condition [bnc#835827]
Patch55: 0009-polkit-Avoid-race-condition-in-scraping-proc.patch
# PATCH-FIX-UPSTREAM Fix-timeout-when-stopping-Type-notify-service.patch -- watch MAINPID after it becomed known [bnc#841544]
Patch56: Fix-timeout-when-stopping-Type-notify-service.patch
# PATCH-FIX-UPSTREAM 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
@ -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,-)