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:
parent
e05d3e3c6d
commit
f037c9430f
25
0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch
Normal file
25
0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
134
0004-systemctl-fix-name-mangling-for-sysv-units.patch
Normal file
134
0004-systemctl-fix-name-mangling-for-sysv-units.patch
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
25
0006-journald-add-missing-error-check.patch
Normal file
25
0006-journald-add-missing-error-check.patch
Normal 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
|
||||
|
@ -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
|
||||
|
34
0007-bus-fix-potentially-uninitialized-memory-access.patch
Normal file
34
0007-bus-fix-potentially-uninitialized-memory-access.patch
Normal 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
|
||||
|
@ -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) {
|
30
0008-dbus-fix-return-value-of-dispatch_rqueue.patch
Normal file
30
0008-dbus-fix-return-value-of-dispatch_rqueue.patch
Normal 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
|
||||
|
@ -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
|
||||
|
27
0009-modules-load-fix-error-handling.patch
Normal file
27
0009-modules-load-fix-error-handling.patch
Normal 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
|
||||
|
@ -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
|
||||
|
26
0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch
Normal file
26
0010-efi-never-call-qsort-on-potentially-NULL-arrays.patch
Normal 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
|
||||
|
27
0011-strv-don-t-access-potentially-NULL-string-arrays.patch
Normal file
27
0011-strv-don-t-access-potentially-NULL-string-arrays.patch
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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
18
after-local.service
Normal 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
|
@ -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
|
||||
|
@ -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 ||
|
||||
|
@ -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])
|
||||
|
@ -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;
|
||||
|
@ -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]
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942
|
||||
size 2363804
|
3
systemd-208.tar.xz
Normal file
3
systemd-208.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390
|
||||
size 2382904
|
@ -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
|
||||
|
||||
|
@ -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,-)
|
||||
|
114
systemd.changes
114
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-<uname -r> presence.
|
||||
- Add service wrapper for after.local (bnc#778715).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 27 15:47:15 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
|
80
systemd.spec
80
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
|
||||
@ -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,-)
|
||||
|
Loading…
Reference in New Issue
Block a user