summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-09-22 08:36:15 +0000
committerMichał Górny <mgorny@gentoo.org>2013-09-22 08:36:15 +0000
commit4daeb231cff1d8f63abdcd6832f5ebad3731ecc0 (patch)
tree4b99c86abedf78683b69a568ff5c01b23682baa4
parentStable for ia64, wrt bug #459448 (diff)
downloadgentoo-2-4daeb231cff1d8f63abdcd6832f5ebad3731ecc0.tar.gz
gentoo-2-4daeb231cff1d8f63abdcd6832f5ebad3731ecc0.tar.bz2
gentoo-2-4daeb231cff1d8f63abdcd6832f5ebad3731ecc0.zip
Backport the patch for security bug #485546. Backport patches from -207 to to-go-stable -204-r1. Use gentoo-systemd-integration and locale migration in -204-r1. Remove old.
(Portage version: 2.2.6/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
-rw-r--r--sys-apps/systemd/ChangeLog24
-rw-r--r--sys-apps/systemd/files/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch75
-rw-r--r--sys-apps/systemd/files/204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch (renamed from sys-apps/systemd/files/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch)8
-rw-r--r--sys-apps/systemd/files/204-0003-Allow-tabs-in-environment-files.patch (renamed from sys-apps/systemd/files/206-0006-allow-tabs-in-configuration-files.patch)23
-rw-r--r--sys-apps/systemd/files/204-0004-Actually-allow-tabs-in-environment-files.patch26
-rw-r--r--sys-apps/systemd/files/206-0001-logind-update-state-file-after-generating-the-sessio.patch84
-rw-r--r--sys-apps/systemd/files/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch90
-rw-r--r--sys-apps/systemd/files/206-0004-tmpfiles-introduce-exclude-prefix.patch138
-rw-r--r--sys-apps/systemd/files/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch23
-rw-r--r--sys-apps/systemd/files/206-0007-allow-tabs-in-configuration-files2.patch22
-rw-r--r--sys-apps/systemd/systemd-201.ebuild287
-rw-r--r--sys-apps/systemd/systemd-204-r1.ebuild (renamed from sys-apps/systemd/systemd-206-r4.ebuild)188
-rw-r--r--sys-apps/systemd/systemd-206-r3.ebuild378
-rw-r--r--sys-apps/systemd/systemd-206-r5.ebuild374
-rw-r--r--sys-apps/systemd/systemd-207-r2.ebuild (renamed from sys-apps/systemd/systemd-207-r1.ebuild)4
-rw-r--r--sys-apps/systemd/systemd-207.ebuild309
16 files changed, 229 insertions, 1824 deletions
diff --git a/sys-apps/systemd/ChangeLog b/sys-apps/systemd/ChangeLog
index 98217289f41b..8749f95d8a48 100644
--- a/sys-apps/systemd/ChangeLog
+++ b/sys-apps/systemd/ChangeLog
@@ -1,6 +1,28 @@
# ChangeLog for sys-apps/systemd
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.176 2013/09/18 10:51:33 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.177 2013/09/22 08:36:15 mgorny Exp $
+
+*systemd-207-r2 (22 Sep 2013)
+*systemd-204-r1 (22 Sep 2013)
+
+ 22 Sep 2013; Michał Górny <mgorny@gentoo.org>
+ +files/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch,
+ +files/204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch,
+ +files/204-0003-Allow-tabs-in-environment-files.patch,
+ +files/204-0004-Actually-allow-tabs-in-environment-files.patch,
+ +systemd-204-r1.ebuild, +systemd-207-r2.ebuild,
+ -files/206-0001-logind-update-state-file-after-generating-the-sessio.patch,
+ -files/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch,
+ -files/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch,
+ -files/206-0004-tmpfiles-introduce-exclude-prefix.patch,
+ -files/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch,
+ -files/206-0006-allow-tabs-in-configuration-files.patch,
+ -files/206-0007-allow-tabs-in-configuration-files2.patch, -systemd-201.ebuild,
+ -systemd-206-r3.ebuild, -systemd-206-r4.ebuild, -systemd-206-r5.ebuild,
+ -systemd-207-r1.ebuild, -systemd-207.ebuild:
+ Backport the patch for security bug #485546. Backport patches from -207 to to-
+ go-stable -204-r1. Use gentoo-systemd-integration and locale migration in
+ -204-r1. Remove old.
*systemd-207-r1 (18 Sep 2013)
diff --git a/sys-apps/systemd/files/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch b/sys-apps/systemd/files/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch
new file mode 100644
index 000000000000..c7d6bb18940a
--- /dev/null
+++ b/sys-apps/systemd/files/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch
@@ -0,0 +1,75 @@
+From a8a49c004f69220e2c8ed209152a5a570acf49f3 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 22 Aug 2013 13:55:21 -0400
+Subject: [PATCH 1/4] 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.3.2
+
diff --git a/sys-apps/systemd/files/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch b/sys-apps/systemd/files/204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
index 79333e6eed3f..e7c5b7a421de 100644
--- a/sys-apps/systemd/files/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
+++ b/sys-apps/systemd/files/204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
@@ -1,7 +1,7 @@
-From 64fa15a7ca9c276d28413567c74a1d360fbdc975 Mon Sep 17 00:00:00 2001
+From 03b8b6c88f10cfbfc398b206989739b899e6dbd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 31 Jul 2013 23:12:17 +0200
-Subject: [PATCH 2/5] Add /usr/share/keymaps to localectl supported locations.
+Subject: [PATCH 2/4] Add /usr/share/keymaps to localectl supported locations.
This is the standard upstream location where kbd installs keymaps.
---
@@ -9,10 +9,10 @@ This is the standard upstream location where kbd installs keymaps.
1 file changed, 1 insertion(+)
diff --git a/src/locale/localectl.c b/src/locale/localectl.c
-index cd7356a..8259c0a 100644
+index 50250c4..856d9a9 100644
--- a/src/locale/localectl.c
+++ b/src/locale/localectl.c
-@@ -538,6 +538,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
+@@ -537,6 +537,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
if (!keymaps)
return log_oom();
diff --git a/sys-apps/systemd/files/206-0006-allow-tabs-in-configuration-files.patch b/sys-apps/systemd/files/204-0003-Allow-tabs-in-environment-files.patch
index 2e7567ba4ec4..9f277965fc6e 100644
--- a/sys-apps/systemd/files/206-0006-allow-tabs-in-configuration-files.patch
+++ b/sys-apps/systemd/files/204-0003-Allow-tabs-in-environment-files.patch
@@ -1,7 +1,7 @@
-From ac4c8d6da8b5ebc35f02c9c6cb7595be7b134a05 Mon Sep 17 00:00:00 2001
-From: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
-Date: Thu, 12 Sep 2013 01:50:16 +0000
-Subject: Allow tabs in environment files
+From 105804e6bdaa05309937b1a6a1167539545b1774 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Wed, 11 Sep 2013 21:50:16 -0400
+Subject: [PATCH 3/4] Allow tabs in environment files
bash allows them, and so should we.
@@ -12,7 +12,14 @@ the other is changed to check.
https://bugs.freedesktop.org/show_bug.cgi?id=68592
https://bugs.gentoo.org/show_bug.cgi?id=481554
+
+Conflicts:
+ src/test/test-fileio.c
---
+ src/hostname/hostnamed.c | 3 ++-
+ src/shared/util.c | 4 ++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
index 0437e33..6a43aeb 100644
--- a/src/hostname/hostnamed.c
@@ -28,10 +35,10 @@ index 0437e33..6a43aeb 100644
if (k == PROP_CHASSIS && !valid_chassis(name))
return bus_send_error_reply(connection, message, NULL, -EINVAL);
diff --git a/src/shared/util.c b/src/shared/util.c
-index 1dde8af..ad463e8 100644
+index 673e0da..113133f 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
-@@ -5311,6 +5311,10 @@ bool string_is_safe(const char *p) {
+@@ -5264,6 +5264,10 @@ bool string_is_safe(const char *p) {
return true;
}
@@ -41,3 +48,7 @@ index 1dde8af..ad463e8 100644
+ */
bool string_has_cc(const char *p) {
const char *t;
+
+--
+1.8.3.2
+
diff --git a/sys-apps/systemd/files/204-0004-Actually-allow-tabs-in-environment-files.patch b/sys-apps/systemd/files/204-0004-Actually-allow-tabs-in-environment-files.patch
new file mode 100644
index 000000000000..046ea0859ede
--- /dev/null
+++ b/sys-apps/systemd/files/204-0004-Actually-allow-tabs-in-environment-files.patch
@@ -0,0 +1,26 @@
+From 349cfe2fd3d521c474881b486eb56bb07111d1d5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 12 Sep 2013 10:03:16 -0400
+Subject: [PATCH 4/4] Actually allow tabs in environment files
+
+Fixup for ac4c8d6da8b5e.
+---
+ src/shared/util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/util.c b/src/shared/util.c
+index 113133f..c9e9b87 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -5274,7 +5274,7 @@ bool string_has_cc(const char *p) {
+ assert(p);
+
+ for (t = p; *t; t++)
+- if (*t > 0 && *t < ' ')
++ if (*t > 0 && *t < ' ' && *t != '\t')
+ return true;
+
+ return false;
+--
+1.8.3.2
+
diff --git a/sys-apps/systemd/files/206-0001-logind-update-state-file-after-generating-the-sessio.patch b/sys-apps/systemd/files/206-0001-logind-update-state-file-after-generating-the-sessio.patch
deleted file mode 100644
index 2d74b01293a6..000000000000
--- a/sys-apps/systemd/files/206-0001-logind-update-state-file-after-generating-the-sessio.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From a7ca0f06aaa0e0ae3b5eada2cdece8c9766bff1a Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 26 Jul 2013 17:32:19 +0200
-Subject: [PATCH 1/5] logind: update state file after generating the session
- fifo, not before
-
-https://bugs.freedesktop.org/show_bug.cgi?id=67273
----
- src/login/logind-dbus.c | 7 ++++++-
- src/login/logind-session-dbus.c | 4 ++++
- src/machine/machined-dbus.c | 3 ++-
- 3 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 39af637..b5e975a 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -643,6 +643,10 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message) {
-
- session->create_message = dbus_message_ref(message);
-
-+ /* Now, let's wait until the slice unit and stuff got
-+ * created. We send the reply back from
-+ * session_send_create_reply().*/
-+
- return 0;
-
- fail:
-@@ -2356,7 +2360,6 @@ DBusHandlerResult bus_message_filter(
- if (streq_ptr(path, s->scope_job)) {
- free(s->scope_job);
- s->scope_job = NULL;
-- session_save(s);
-
- if (s->started) {
- if (streq(result, "done"))
-@@ -2366,6 +2369,8 @@ DBusHandlerResult bus_message_filter(
- session_send_create_reply(s, &error);
- }
- }
-+
-+ session_save(s);
- }
-
- session_add_to_gc_queue(s);
-diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
-index 62b9ffd..210f756 100644
---- a/src/login/logind-session-dbus.c
-+++ b/src/login/logind-session-dbus.c
-@@ -535,6 +535,10 @@ int session_send_create_reply(Session *s, DBusError *error) {
- if (!s->create_message)
- return 0;
-
-+ /* This is called after the session scope was successfully
-+ * created, and finishes where bus_manager_create_session()
-+ * left off. */
-+
- if (error) {
- DBusError buffer;
-
-diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
-index 1e8bc60..6c4d50b 100644
---- a/src/machine/machined-dbus.c
-+++ b/src/machine/machined-dbus.c
-@@ -543,7 +543,6 @@ DBusHandlerResult bus_message_filter(
- if (streq_ptr(path, mm->scope_job)) {
- free(mm->scope_job);
- mm->scope_job = NULL;
-- machine_save(mm);
-
- if (mm->started) {
- if (streq(result, "done"))
-@@ -553,6 +552,8 @@ DBusHandlerResult bus_message_filter(
- machine_send_create_reply(mm, &error);
- }
- }
-+
-+ machine_save(mm);
- }
-
- machine_add_to_gc_queue(mm);
---
-1.8.3.2
-
diff --git a/sys-apps/systemd/files/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch b/sys-apps/systemd/files/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch
deleted file mode 100644
index 02d2b26af74c..000000000000
--- a/sys-apps/systemd/files/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 9c26db4da7a474b024fcdc97ea490280d86777e1 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Wed, 24 Jul 2013 11:10:05 -0400
-Subject: [PATCH 3/5] tmpfiles: support passing --prefix multiple times
-
----
- man/systemd-tmpfiles.xml | 3 ++-
- src/tmpfiles/tmpfiles.c | 24 +++++++++++++++++++++---
- 2 files changed, 23 insertions(+), 4 deletions(-)
-
-diff --git a/man/systemd-tmpfiles.xml b/man/systemd-tmpfiles.xml
-index 405a9f1..b0f2d9c 100644
---- a/man/systemd-tmpfiles.xml
-+++ b/man/systemd-tmpfiles.xml
-@@ -121,7 +121,8 @@
- <term><option>--prefix=PATH</option></term>
- <listitem><para>Only apply rules that
- apply to paths with the specified
-- prefix.</para></listitem>
-+ prefix. This option can be specified
-+ multiple times.</para></listitem>
- </varlistentry>
-
-
-diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index eae993e..cb15133 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -105,7 +105,7 @@ static bool arg_create = false;
- static bool arg_clean = false;
- static bool arg_remove = false;
-
--static const char *arg_prefix = NULL;
-+static char **include_prefixes = NULL;
-
- static const char conf_file_dirs[] =
- "/etc/tmpfiles.d\0"
-@@ -1018,6 +1018,21 @@ static bool item_equal(Item *a, Item *b) {
- return true;
- }
-
-+static bool should_include_path(const char *path) {
-+ char **prefix;
-+
-+ /* no explicit paths specified for inclusion, so everything is valid */
-+ if (strv_length(include_prefixes) == 0)
-+ return true;
-+
-+ STRV_FOREACH(prefix, include_prefixes) {
-+ if (path_startswith(path, *prefix))
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- static int parse_line(const char *fname, unsigned line, const char *buffer) {
- _cleanup_item_free_ Item *i = NULL;
- Item *existing;
-@@ -1119,7 +1134,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
-
- path_kill_slashes(i->path);
-
-- if (arg_prefix && !path_startswith(i->path, arg_prefix))
-+ if (!should_include_path(i->path))
- return 0;
-
- if (user && !streq(user, "-")) {
-@@ -1258,7 +1273,8 @@ static int parse_argv(int argc, char *argv[]) {
- break;
-
- case ARG_PREFIX:
-- arg_prefix = optarg;
-+ if (strv_extend(&include_prefixes, optarg) < 0)
-+ return log_oom();
- break;
-
- case '?':
-@@ -1423,6 +1439,8 @@ finish:
- hashmap_free(items);
- hashmap_free(globs);
-
-+ strv_free(include_prefixes);
-+
- set_free_free(unix_sockets);
-
- label_finish();
---
-1.8.3.2
-
diff --git a/sys-apps/systemd/files/206-0004-tmpfiles-introduce-exclude-prefix.patch b/sys-apps/systemd/files/206-0004-tmpfiles-introduce-exclude-prefix.patch
deleted file mode 100644
index d314d3e06c67..000000000000
--- a/sys-apps/systemd/files/206-0004-tmpfiles-introduce-exclude-prefix.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 059e02a48e58da81591ebd34e87f928269d77929 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Wed, 24 Jul 2013 11:19:24 -0400
-Subject: [PATCH 4/5] tmpfiles: introduce --exclude-prefix
-
-The opposite of --prefix, allows specifying path prefixes which should
-be skipped when processing rules.
----
- man/systemd-tmpfiles.xml | 7 +++++
- shell-completion/systemd-zsh-completion.zsh | 1 +
- src/tmpfiles/tmpfiles.c | 44 ++++++++++++++++++-----------
- 3 files changed, 36 insertions(+), 16 deletions(-)
-
-diff --git a/man/systemd-tmpfiles.xml b/man/systemd-tmpfiles.xml
-index b0f2d9c..403592d 100644
---- a/man/systemd-tmpfiles.xml
-+++ b/man/systemd-tmpfiles.xml
-@@ -124,6 +124,13 @@
- prefix. This option can be specified
- multiple times.</para></listitem>
- </varlistentry>
-+ <varlistentry>
-+ <term><option>--exclude-prefix=PATH</option></term>
-+ <listitem><para>Ignore rules that
-+ apply to paths with the specified
-+ prefix. This option can be specified
-+ multiple times.</para></listitem>
-+ </varlistentry>
-
-
- <varlistentry>
-diff --git a/shell-completion/systemd-zsh-completion.zsh b/shell-completion/systemd-zsh-completion.zsh
-index c85e00e..7aebbcd 100644
---- a/shell-completion/systemd-zsh-completion.zsh
-+++ b/shell-completion/systemd-zsh-completion.zsh
-@@ -249,6 +249,7 @@ _ctls()
- '--clean[Clean up all files and directories with an age parameter configured.]' \
- '--remove[All files and directories marked with r, R in the configuration files are removed.]' \
- '--prefix=[Only apply rules that apply to paths with the specified prefix.]' \
-+ '--exclude-prefix=[Ignore rules that apply to paths with the specified prefix.]' \
- '--help[Prints a short help text and exits.]' \
- '*::files:_files'
- ;;
-diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index cb15133..5eca82a 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -106,6 +106,7 @@ static bool arg_clean = false;
- static bool arg_remove = false;
-
- static char **include_prefixes = NULL;
-+static char **exclude_prefixes = NULL;
-
- static const char conf_file_dirs[] =
- "/etc/tmpfiles.d\0"
-@@ -1021,16 +1022,19 @@ static bool item_equal(Item *a, Item *b) {
- static bool should_include_path(const char *path) {
- char **prefix;
-
-- /* no explicit paths specified for inclusion, so everything is valid */
-- if (strv_length(include_prefixes) == 0)
-- return true;
-+ STRV_FOREACH(prefix, exclude_prefixes) {
-+ if (path_startswith(path, *prefix))
-+ return false;
-+ }
-
- STRV_FOREACH(prefix, include_prefixes) {
- if (path_startswith(path, *prefix))
- return true;
- }
-
-- return false;
-+ /* no matches, so we should include this path only if we
-+ * have no whitelist at all */
-+ return strv_length(include_prefixes) == 0;
- }
-
- static int parse_line(const char *fname, unsigned line, const char *buffer) {
-@@ -1219,11 +1223,12 @@ static int help(void) {
-
- printf("%s [OPTIONS...] [CONFIGURATION FILE...]\n\n"
- "Creates, deletes and cleans up volatile and temporary files and directories.\n\n"
-- " -h --help Show this help\n"
-- " --create Create marked files/directories\n"
-- " --clean Clean up marked directories\n"
-- " --remove Remove marked files/directories\n"
-- " --prefix=PATH Only apply rules that apply to paths with the specified prefix\n",
-+ " -h --help Show this help\n"
-+ " --create Create marked files/directories\n"
-+ " --clean Clean up marked directories\n"
-+ " --remove Remove marked files/directories\n"
-+ " --prefix=PATH Only apply rules that apply to paths with the specified prefix\n"
-+ " --exclude-prefix=PATH Ignore rules that apply to paths with the specified prefix\n",
- program_invocation_short_name);
-
- return 0;
-@@ -1235,16 +1240,18 @@ static int parse_argv(int argc, char *argv[]) {
- ARG_CREATE,
- ARG_CLEAN,
- ARG_REMOVE,
-- ARG_PREFIX
-+ ARG_PREFIX,
-+ ARG_EXCLUDE_PREFIX,
- };
-
- static const struct option options[] = {
-- { "help", no_argument, NULL, 'h' },
-- { "create", no_argument, NULL, ARG_CREATE },
-- { "clean", no_argument, NULL, ARG_CLEAN },
-- { "remove", no_argument, NULL, ARG_REMOVE },
-- { "prefix", required_argument, NULL, ARG_PREFIX },
-- { NULL, 0, NULL, 0 }
-+ { "help", no_argument, NULL, 'h' },
-+ { "create", no_argument, NULL, ARG_CREATE },
-+ { "clean", no_argument, NULL, ARG_CLEAN },
-+ { "remove", no_argument, NULL, ARG_REMOVE },
-+ { "prefix", required_argument, NULL, ARG_PREFIX },
-+ { "exclude-prefix", required_argument, NULL, ARG_EXCLUDE_PREFIX },
-+ { NULL, 0, NULL, 0 }
- };
-
- int c;
-@@ -1277,6 +1284,11 @@ static int parse_argv(int argc, char *argv[]) {
- return log_oom();
- break;
-
-+ case ARG_EXCLUDE_PREFIX:
-+ if (strv_extend(&exclude_prefixes, optarg) < 0)
-+ return log_oom();
-+ break;
-+
- case '?':
- return -EINVAL;
-
---
-1.8.3.2
-
diff --git a/sys-apps/systemd/files/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch b/sys-apps/systemd/files/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch
deleted file mode 100644
index 9d674b2d4535..000000000000
--- a/sys-apps/systemd/files/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a7b85011f13bf2a90cfcfad1f3d2ca2deebaa2f1 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Wed, 24 Jul 2013 11:58:35 -0400
-Subject: [PATCH 5/5] tmpfiles-setup: exclude /dev prefixes files
-
-Fixes Arch Linux bug: https://bugs.archlinux.org/task/36259
----
- units/systemd-tmpfiles-setup.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in
-index 67c7d4a..6f98063 100644
---- a/units/systemd-tmpfiles-setup.service.in
-+++ b/units/systemd-tmpfiles-setup.service.in
-@@ -21,4 +21,4 @@ ConditionDirectoryNotEmpty=|/run/tmpfiles.d
- [Service]
- Type=oneshot
- RemainAfterExit=yes
--ExecStart=@rootbindir@/systemd-tmpfiles --create --remove
-+ExecStart=@rootbindir@/systemd-tmpfiles --create --remove --exclude-prefix=/dev
---
-1.8.3.2
-
diff --git a/sys-apps/systemd/files/206-0007-allow-tabs-in-configuration-files2.patch b/sys-apps/systemd/files/206-0007-allow-tabs-in-configuration-files2.patch
deleted file mode 100644
index b7f01144210d..000000000000
--- a/sys-apps/systemd/files/206-0007-allow-tabs-in-configuration-files2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From da2620a5f878ad5c8d8d51992528cb3e637c7d1f Mon Sep 17 00:00:00 2001
-From: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
-Date: Thu, 12 Sep 2013 14:03:16 +0000
-Subject: Actually allow tabs in environment files
-
-Fixup for ac4c8d6da8b5e.
----
-diff --git a/src/shared/util.c b/src/shared/util.c
-index ad463e8..9a075fa 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -5321,7 +5321,7 @@ bool string_has_cc(const char *p) {
- assert(p);
-
- for (t = p; *t; t++)
-- if (*t > 0 && *t < ' ')
-+ if (*t > 0 && *t < ' ' && *t != '\t')
- return true;
-
- return false;
---
-cgit v0.9.0.2-2-gbebe
diff --git a/sys-apps/systemd/systemd-201.ebuild b/sys-apps/systemd/systemd-201.ebuild
deleted file mode 100644
index 882fce40099e..000000000000
--- a/sys-apps/systemd/systemd-201.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-201.ebuild,v 1.23 2013/07/16 07:30:08 mgorny Exp $
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-inherit autotools-utils bash-completion-r1 linux-info multilib pam \
- python-single-r1 systemd toolchain-funcs udev user
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT"
-SLOT="0"
-KEYWORDS="amd64 arm ppc64 x86"
-IUSE="acl audit cryptsetup doc +firmware-loader gcrypt gudev http introspection
- keymap +kmod lzma openrc pam policykit python qrcode selinux static-libs
- tcpd vanilla xattr"
-
-MINKV="2.6.39"
-
-COMMON_DEPEND=">=sys-apps/dbus-1.6.8-r1
- >=sys-apps/util-linux-2.20
- sys-libs/libcap
- acl? ( sys-apps/acl )
- audit? ( >=sys-process/audit-2 )
- cryptsetup? ( >=sys-fs/cryptsetup-1.4.2 )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
- gudev? ( >=dev-libs/glib-2 )
- http? ( net-libs/libmicrohttpd )
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
- kmod? ( >=sys-apps/kmod-12 )
- lzma? ( app-arch/xz-utils )
- pam? ( virtual/pam )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode )
- selinux? ( sys-libs/libselinux )
- tcpd? ( sys-apps/tcp-wrappers )
- xattr? ( sys-apps/attr )"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- >=sys-apps/baselayout-2.2
- openrc? ( >=sys-fs/udev-init-scripts-25 )
- policykit? ( sys-auth/polkit )
- || (
- >=sys-apps/util-linux-2.22
- <sys-apps/sysvinit-2.88-r4
- )
- !sys-auth/nss-myhostname
- !<sys-libs/glibc-2.10
- !sys-fs/udev"
-
-PDEPEND=">=sys-apps/hwids-20130326.1[udev]"
-
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-devel/gcc-4.6
- >=sys-kernel/linux-headers-${MINKV}
- virtual/pkgconfig
- doc? ( >=dev-util/gtk-doc-1.18 )"
-
-pkg_pretend() {
- local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS ~DEVTMPFS
- ~FANOTIFY ~HOTPLUG ~INOTIFY_USER ~IPV6 ~NET ~PROC_FS ~SIGNALFD
- ~SYSFS ~!IDE ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2"
-# ~!FW_LOADER_USER_HELPER"
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- if [[ $(gcc-major-version) -lt 4
- || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ) ]]
- then
- eerror "systemd requires at least gcc 4.6 to build. Please switch the active"
- eerror "gcc version using gcc-config."
- die "systemd requires at least gcc 4.6"
- fi
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- if ! use firmware-loader && kernel_is -lt 3 8; then
- ewarn "You seem to be using kernel older than 3.8. Those kernel versions"
- ewarn "require systemd with USE=firmware-loader to support loading"
- ewarn "firmware. Missing this flag may cause some hardware not to work."
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local myeconfargs=(
- --localstatedir=/var
- --with-pamlibdir=$(getpam_mod_dir)
- # avoid bash-completion dep
- --with-bashcompletiondir="$(get_bashcompdir)"
- # make sure we get /bin:/sbin in $PATH
- --enable-split-usr
- # disable sysv compatibility
- --with-sysvinit-path=
- --with-sysvrcnd-path=
- # no deps
- --enable-efi
- --enable-ima
- # optional components/dependencies
- $(use_enable acl)
- $(use_enable audit)
- $(use_enable cryptsetup libcryptsetup)
- $(use_enable doc gtk-doc)
- $(use_enable gcrypt)
- $(use_enable gudev)
- $(use_enable http microhttpd)
- $(use_enable introspection)
- $(use_enable keymap)
- $(use_enable kmod)
- $(use_enable lzma xz)
- $(use_enable pam)
- $(use_enable policykit polkit)
- $(use_with python)
- $(use python && echo PYTHON_CONFIG=/usr/bin/python-config-${EPYTHON#python})
- $(use_enable qrcode qrencode)
- $(use_enable selinux)
- $(use_enable tcpd tcpwrap)
- $(use_enable xattr)
-
- # not supported (avoid automagic deps in the future)
- --disable-chkconfig
-
- # hardcode a few paths to spare some deps
- QUOTAON=/usr/sbin/quotaon
- QUOTACHECK=/usr/sbin/quotacheck
- )
-
- # Keep using the one where the rules were installed.
- MY_UDEVDIR=$(get_udevdir)
-
- if use firmware-loader; then
- myeconfargs+=(
- --with-firmware-path="/lib/firmware/updates:/lib/firmware"
- )
- fi
-
- # Work around bug 463846.
- tc-export CC
-
- autotools-utils_src_configure
-}
-
-src_compile() {
- autotools-utils_src_compile \
- udevlibexecdir="${MY_UDEVDIR}"
-}
-
-src_install() {
- autotools-utils_src_install -j1 \
- udevlibexecdir="${MY_UDEVDIR}" \
- dist_udevhwdb_DATA=
-
- # keep udev working without initramfs, for openrc compat
- dodir /bin /sbin
- mv "${D}"/usr/lib/systemd/systemd-udevd "${D}"/sbin/udevd || die
- mv "${D}"/usr/bin/udevadm "${D}"/bin/udevadm || die
- dosym ../../../sbin/udevd /usr/lib/systemd/systemd-udevd
- dosym ../../bin/udevadm /usr/bin/udevadm
-
- # zsh completion
- insinto /usr/share/zsh/site-functions
- newins shell-completion/systemd-zsh-completion.zsh "_${PN}"
-
- # remove pam.d plugin .la-file
- prune_libtool_files --modules
-
- # compat for init= use
- dosym ../usr/lib/systemd/systemd /bin/systemd
- dosym ../lib/systemd/systemd /usr/bin/systemd
- # rsyslog.service depends on it...
- dosym ../usr/bin/systemctl /bin/systemctl
-
- # we just keep sysvinit tools, so no need for the mans
- rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
- || die
- rm "${D}"/usr/share/man/man1/init.1 || die
-
- if ! use vanilla; then
- # Create /run/lock as required by new baselay/OpenRC compat.
- systemd_dotmpfilesd "${FILESDIR}"/gentoo-run.conf
-
- # Add mount-rules for /var/lock and /var/run, bug #433607
- systemd_dounit "${FILESDIR}"/var-{lock,run}.mount
- systemd_enable_service sysinit.target var-lock.mount
- systemd_enable_service sysinit.target var-run.mount
- fi
-
- # Disable storing coredumps in journald, bug #433457
- mv "${D}"/usr/lib/sysctl.d/50-coredump.conf{,.disabled} || die
-
- # Preserve empty dirs in /etc & /var, bug #437008
- keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
- /etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd
-
- # Check whether we won't break user's system.
- local x
- for x in /bin/systemd /usr/bin/systemd \
- /usr/bin/udevadm /usr/lib/systemd/systemd-udevd
- do
- [[ -x ${D}${x} ]] || die "${x} symlink broken, aborting."
- done
-}
-
-optfeature() {
- local i desc=${1} text
- shift
-
- text=" [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1}"
- shift
-
- for i; do
- elog "${text}"
- text="& [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1}"
- done
- elog "${text} (${desc})"
-}
-
-pkg_postinst() {
- # for udev rules
- enewgroup dialout
-
- enewgroup systemd-journal
- if use http; then
- enewgroup systemd-journal-gateway
- enewuser systemd-journal-gateway -1 -1 -1 systemd-journal-gateway
- fi
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${ROOT%/}"
- fi
-
- if [[ ! -L "${ROOT}"/etc/mtab ]]; then
- ewarn "Upstream suggests that the /etc/mtab file should be a symlink to /proc/mounts."
- ewarn "It is known to cause users being unable to unmount user mounts. If you don't"
- ewarn "require that specific feature, please call:"
- ewarn " $ ln -sf '${ROOT}proc/self/mounts' '${ROOT}etc/mtab'"
- ewarn
- fi
-
- elog "To get additional features, a number of optional runtime dependencies may"
- elog "be installed:"
- optfeature 'for GTK+ systemadm UI and gnome-ask-password-agent' \
- 'sys-apps/systemd-ui'
-
- # read null-terminated argv[0] from PID 1
- # and see which path to systemd was used (if any)
- local init_path
- IFS= read -r -d '' init_path < /proc/1/cmdline
- if [[ ${init_path} == */bin/systemd ]]; then
- ewarn
- ewarn "You are using a compatibility symlink to run systemd. The symlink"
- ewarn "will be removed in near future. Please update your bootloader"
- ewarn "to use:"
- ewarn
- ewarn " init=/usr/lib/systemd/systemd"
- fi
-}
-
-pkg_prerm() {
- # If removing systemd completely, remove the catalog database.
- if [[ ! ${REPLACED_BY_VERSION} ]]; then
- rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
- fi
-}
diff --git a/sys-apps/systemd/systemd-206-r4.ebuild b/sys-apps/systemd/systemd-204-r1.ebuild
index d5a74cd44793..b882a0f16c60 100644
--- a/sys-apps/systemd/systemd-206-r4.ebuild
+++ b/sys-apps/systemd/systemd-204-r1.ebuild
@@ -1,14 +1,12 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-206-r4.ebuild,v 1.1 2013/09/11 11:52:15 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-204-r1.ebuild,v 1.1 2013/09/22 08:36:15 mgorny Exp $
EAPI=5
AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
PYTHON_COMPAT=( python2_7 )
-inherit autotools-utils bash-completion-r1 fcaps linux-info multilib \
- multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \
- user
+inherit autotools-utils bash-completion-r1 linux-info multilib pam python-single-r1 systemd toolchain-funcs udev user
DESCRIPTION="System and service manager for Linux"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
@@ -18,47 +16,45 @@ LICENSE="GPL-2 LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
IUSE="acl audit cryptsetup doc +firmware-loader gcrypt gudev http introspection
- +kmod lzma openrc pam policykit python qrcode selinux tcpd test
- vanilla xattr"
+ keymap +kmod lzma openrc pam policykit python qrcode selinux static-libs
+ tcpd test vanilla xattr"
-MINKV="3.0"
+MINKV="2.6.39"
COMMON_DEPEND=">=sys-apps/dbus-1.6.8-r1
>=sys-apps/util-linux-2.20
sys-libs/libcap
acl? ( sys-apps/acl )
audit? ( >=sys-process/audit-2 )
- cryptsetup? ( >=sys-fs/cryptsetup-1.6 )
+ cryptsetup? ( >=sys-fs/cryptsetup-1.4.2 )
gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
gudev? ( >=dev-libs/glib-2 )
http? ( net-libs/libmicrohttpd )
introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
- kmod? ( >=sys-apps/kmod-14-r1 )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
+ kmod? ( >=sys-apps/kmod-12 )
+ lzma? ( app-arch/xz-utils )
pam? ( virtual/pam )
python? ( ${PYTHON_DEPS} )
qrcode? ( media-gfx/qrencode )
selinux? ( sys-libs/libselinux )
tcpd? ( sys-apps/tcp-wrappers )
- xattr? ( sys-apps/attr )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r8
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+ xattr? ( sys-apps/attr )"
# baselayout-2.2 has /run
RDEPEND="${COMMON_DEPEND}
>=sys-apps/baselayout-2.2
openrc? ( >=sys-fs/udev-init-scripts-25 )
+ policykit? ( sys-auth/polkit )
|| (
>=sys-apps/util-linux-2.22
<sys-apps/sysvinit-2.88-r4
)
- !vanilla? ( sys-apps/gentoo-systemd-integration )
+ !vanilla? ( ~sys-apps/gentoo-systemd-integration-1 )
!sys-auth/nss-myhostname
!<sys-libs/glibc-2.10
!sys-fs/udev"
-PDEPEND=">=sys-apps/hwids-20130717-r1[udev]
- policykit? ( sys-auth/polkit )"
+PDEPEND=">=sys-apps/hwids-20130326.1[udev]"
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
@@ -67,7 +63,6 @@ DEPEND="${COMMON_DEPEND}
dev-libs/libxslt
dev-util/gperf
>=dev-util/intltool-0.50
- >=sys-devel/binutils-2.23.1
>=sys-devel/gcc-4.6
>=sys-kernel/linux-headers-${MINKV}
virtual/pkgconfig
@@ -80,7 +75,6 @@ pkg_pretend() {
# ~!FW_LOADER_USER_HELPER"
use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
- use pam && CONFIG_CHECK+=" ~AUDITSYSCALL"
# read null-terminated argv[0] from PID 1
# and see which path to systemd was used (if any)
@@ -129,20 +123,19 @@ pkg_setup() {
src_prepare() {
local PATCHES=(
- #477954 - gnome-shell-3.8* session unlock broken
- "${FILESDIR}"/206-0001-logind-update-state-file-after-generating-the-sessio.patch
- #474946 - localectl does not find keymaps
- "${FILESDIR}"/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
- #478198 - wrong permission for static-nodes
- "${FILESDIR}"/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch
- "${FILESDIR}"/206-0004-tmpfiles-introduce-exclude-prefix.patch
- "${FILESDIR}"/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch
+ # race condition in polkit use, bug #485546
+ "${FILESDIR}"/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch
+ # localectl does not find keymaps, bug #474946
+ "${FILESDIR}"/204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
+ # tabs do not work in EnvironmentFile=, bug #481554
+ "${FILESDIR}"/204-0003-Allow-tabs-in-environment-files.patch
+ "${FILESDIR}"/204-0004-Actually-allow-tabs-in-environment-files.patch
)
autotools-utils_src_prepare
}
-multilib_src_configure() {
+src_configure() {
local myeconfargs=(
--localstatedir=/var
--with-pamlibdir=$(getpam_mod_dir)
@@ -165,6 +158,7 @@ multilib_src_configure() {
$(use_enable gudev)
$(use_enable http microhttpd)
$(use_enable introspection)
+ $(use_enable keymap)
$(use_enable kmod)
$(use_enable lzma xz)
$(use_enable pam)
@@ -194,94 +188,21 @@ multilib_src_configure() {
)
fi
- if ! multilib_is_native_abi; then
- myeconfargs+=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --disable-acl
- --disable-audit
- --disable-gcrypt
- --disable-gtk-doc
- --disable-gudev
- --disable-introspection
- --disable-kmod
- --disable-libcryptsetup
- --disable-microhttpd
- --disable-pam
- --disable-polkit
- --disable-qrencode
- --disable-selinux
- --disable-tcpwrap
- --disable-tests
- --disable-xattr
- --disable-xz
- --without-python
- )
- fi
-
# Work around bug 463846.
tc-export CC
autotools-utils_src_configure
}
-multilib_src_compile() {
- local mymakeopts=(
+src_compile() {
+ autotools-utils_src_compile \
udevlibexecdir="${MY_UDEVDIR}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}"
- else
- echo 'gentoo: $(lib_LTLIBRARIES) $(pkgconfiglib_DATA)' | \
- emake "${mymakeopts[@]}" -f Makefile -f - gentoo
- fi
}
src_install() {
- MULTILIB_WRAPPED_HEADERS=()
-
- if use gudev; then
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/gudev-1.0/gudev/gudev.h
- /usr/include/gudev-1.0/gudev/gudevclient.h
- /usr/include/gudev-1.0/gudev/gudevdevice.h
- /usr/include/gudev-1.0/gudev/gudevenumerator.h
- /usr/include/gudev-1.0/gudev/gudevenums.h
- /usr/include/gudev-1.0/gudev/gudevenumtypes.h
- /usr/include/gudev-1.0/gudev/gudevtypes.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
+ autotools-utils_src_install -j1 \
+ udevlibexecdir="${MY_UDEVDIR}" \
dist_udevhwdb_DATA=
- DESTDIR="${D}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}" -j1 install
- else
- mymakeopts+=(
- install-libLTLIBRARIES
- install-pkgconfiglibDATA
- install-includeHEADERS
- install-pkgincludeHEADERS
- )
-
- emake "${mymakeopts[@]}"
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files --modules
# keep udev working without initramfs, for openrc compat
dodir /bin /sbin
@@ -321,6 +242,50 @@ multilib_src_install_all() {
done
}
+migrate_locale() {
+ local envd_locale_def="${EROOT%/}/etc/env.d/02locale"
+ local envd_locale=( "${EROOT%/}"/etc/env.d/??locale )
+ local locale_conf="${EROOT%/}/etc/locale.conf"
+
+ if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
+ # if locale.conf does not exist...
+ if [[ -e ${envd_locale} ]]; then
+ # ...either copy env.d/??locale if there's one
+ ebegin "Moving ${envd_locale} to ${locale_conf}"
+ mv "${envd_locale}" "${locale_conf}"
+ eend ${?} || FAIL=1
+ else
+ # ...or create a dummy default
+ ebegin "Creating ${locale_conf}"
+ cat > "${locale_conf}" <<-EOF
+ # This file has been created by the sys-apps/systemd ebuild.
+ # See locale.conf(5) and localectl(1).
+
+ # LANG=${LANG}
+ EOF
+ eend ${?} || FAIL=1
+ fi
+ fi
+
+ if [[ ! -L ${envd_locale} ]]; then
+ # now, if env.d/??locale is not a symlink (to locale.conf)...
+ if [[ -e ${envd_locale} ]]; then
+ # ...warn the user that he has duplicate locale settings
+ ewarn
+ ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
+ ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
+ ewarn "and create the symlink with the following command:"
+ ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
+ ewarn
+ else
+ # ...or just create the symlink if there's nothing here
+ ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
+ ln -n -s ../locale.conf "${envd_locale_def}"
+ eend ${?} || FAIL=1
+ fi
+ fi
+}
+
pkg_postinst() {
# for udev rules
enewgroup dialout
@@ -338,13 +303,22 @@ pkg_postinst() {
udevadm hwdb --update --root="${ROOT%/}"
fi
- if [[ ${ROOT} == "" || ${ROOT} == "/" ]]; then
- udevadm control --reload
- fi
+ udev_reload || FAIL=1
# Bug 468876
fcaps cap_dac_override,cap_sys_ptrace=ep usr/bin/systemd-detect-virt
+ # Bug 465468, make sure locales are respect, and ensure consistency
+ # between OpenRC & systemd
+ migrate_locale
+
+ if [[ ${FAIL} ]]; then
+ eerror "One of the postinst commands failed. Please check the postinst output"
+ eerror "for errors. You may need to clean up your system and/or try installing"
+ eerror "systemd again."
+ eerror
+ fi
+
if [[ ! -L "${ROOT}"/etc/mtab ]]; then
ewarn "Upstream mandates the /etc/mtab file should be a symlink to /proc/mounts."
ewarn "Not having it is not supported by upstream and will cause tools like 'df'"
diff --git a/sys-apps/systemd/systemd-206-r3.ebuild b/sys-apps/systemd/systemd-206-r3.ebuild
deleted file mode 100644
index 14c7d24f708f..000000000000
--- a/sys-apps/systemd/systemd-206-r3.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-206-r3.ebuild,v 1.7 2013/09/06 19:58:12 pacho Exp $
-
-EAPI=5
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
-PYTHON_COMPAT=( python2_7 )
-inherit autotools-utils bash-completion-r1 fcaps linux-info multilib \
- multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \
- user
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-IUSE="acl audit cryptsetup doc +firmware-loader gcrypt gudev http introspection
- +kmod lzma openrc pam policykit python qrcode selinux tcpd test
- vanilla xattr"
-
-MINKV="3.0"
-
-COMMON_DEPEND=">=sys-apps/dbus-1.6.8-r1
- >=sys-apps/util-linux-2.20
- sys-libs/libcap
- acl? ( sys-apps/acl )
- audit? ( >=sys-process/audit-2 )
- cryptsetup? ( >=sys-fs/cryptsetup-1.6 )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
- gudev? ( >=dev-libs/glib-2 )
- http? ( net-libs/libmicrohttpd )
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
- kmod? ( >=sys-apps/kmod-14-r1 )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- pam? ( virtual/pam )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode )
- selinux? ( sys-libs/libselinux )
- tcpd? ( sys-apps/tcp-wrappers )
- xattr? ( sys-apps/attr )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r8
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- >=sys-apps/baselayout-2.2
- openrc? ( >=sys-fs/udev-init-scripts-25 )
- || (
- >=sys-apps/util-linux-2.22
- <sys-apps/sysvinit-2.88-r4
- )
- !sys-apps/gentoo-systemd-integration
- !sys-auth/nss-myhostname
- !<sys-libs/glibc-2.10
- !sys-fs/udev"
-
-PDEPEND=">=sys-apps/hwids-20130717-r1[udev]
- policykit? ( sys-auth/polkit )"
-
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-devel/binutils-2.23.1
- >=sys-devel/gcc-4.6
- >=sys-kernel/linux-headers-${MINKV}
- virtual/pkgconfig
- doc? ( >=dev-util/gtk-doc-1.18 )"
-
-pkg_pretend() {
- local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS ~DEVTMPFS
- ~FANOTIFY ~HOTPLUG ~INOTIFY_USER ~IPV6 ~NET ~PROC_FS ~SIGNALFD
- ~SYSFS ~!IDE ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2"
-# ~!FW_LOADER_USER_HELPER"
-
- use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
- use pam && CONFIG_CHECK+=" ~AUDITSYSCALL"
-
- # read null-terminated argv[0] from PID 1
- # and see which path to systemd was used (if any)
- local init_path
- IFS= read -r -d '' init_path < /proc/1/cmdline
- if [[ ${init_path} == */bin/systemd ]]; then
- eerror "You are using a compatibility symlink to run systemd. The symlink"
- eerror "has been removed. Please update your bootloader to use:"
- eerror
- eerror " init=/usr/lib/systemd/systemd"
- eerror
- eerror "and reboot your system. We are sorry for the inconvenience."
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- die "Compatibility symlink used to boot systemd."
- fi
- fi
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- if [[ $(gcc-major-version) -lt 4
- || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ) ]]
- then
- eerror "systemd requires at least gcc 4.6 to build. Please switch the active"
- eerror "gcc version using gcc-config."
- die "systemd requires at least gcc 4.6"
- fi
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- if ! use firmware-loader && kernel_is -lt 3 8; then
- ewarn "You seem to be using kernel older than 3.8. Those kernel versions"
- ewarn "require systemd with USE=firmware-loader to support loading"
- ewarn "firmware. Missing this flag may cause some hardware not to work."
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- local PATCHES=(
- #477954 - gnome-shell-3.8* session unlock broken
- "${FILESDIR}"/206-0001-logind-update-state-file-after-generating-the-sessio.patch
- #474946 - localectl does not find keymaps
- "${FILESDIR}"/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
- #478198 - wrong permission for static-nodes
- "${FILESDIR}"/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch
- "${FILESDIR}"/206-0004-tmpfiles-introduce-exclude-prefix.patch
- "${FILESDIR}"/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch
- )
-
- autotools-utils_src_prepare
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --localstatedir=/var
- --with-pamlibdir=$(getpam_mod_dir)
- # avoid bash-completion dep
- --with-bashcompletiondir="$(get_bashcompdir)"
- # make sure we get /bin:/sbin in $PATH
- --enable-split-usr
- # disable sysv compatibility
- --with-sysvinit-path=
- --with-sysvrcnd-path=
- # no deps
- --enable-efi
- --enable-ima
- # optional components/dependencies
- $(use_enable acl)
- $(use_enable audit)
- $(use_enable cryptsetup libcryptsetup)
- $(use_enable doc gtk-doc)
- $(use_enable gcrypt)
- $(use_enable gudev)
- $(use_enable http microhttpd)
- $(use_enable introspection)
- $(use_enable kmod)
- $(use_enable lzma xz)
- $(use_enable pam)
- $(use_enable policykit polkit)
- $(use_with python)
- $(use python && echo PYTHON_CONFIG=/usr/bin/python-config-${EPYTHON#python})
- $(use_enable qrcode qrencode)
- $(use_enable selinux)
- $(use_enable tcpd tcpwrap)
- $(use_enable test tests)
- $(use_enable xattr)
-
- # not supported (avoid automagic deps in the future)
- --disable-chkconfig
-
- # hardcode a few paths to spare some deps
- QUOTAON=/usr/sbin/quotaon
- QUOTACHECK=/usr/sbin/quotacheck
- )
-
- # Keep using the one where the rules were installed.
- MY_UDEVDIR=$(get_udevdir)
-
- if use firmware-loader; then
- myeconfargs+=(
- --with-firmware-path="/lib/firmware/updates:/lib/firmware"
- )
- fi
-
- if ! multilib_is_native_abi; then
- myeconfargs+=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --disable-acl
- --disable-audit
- --disable-gcrypt
- --disable-gtk-doc
- --disable-gudev
- --disable-introspection
- --disable-kmod
- --disable-libcryptsetup
- --disable-microhttpd
- --disable-pam
- --disable-polkit
- --disable-qrencode
- --disable-selinux
- --disable-tcpwrap
- --disable-tests
- --disable-xattr
- --disable-xz
- --without-python
- )
- fi
-
- # Work around bug 463846.
- tc-export CC
-
- autotools-utils_src_configure
-}
-
-multilib_src_compile() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}"
- else
- echo 'gentoo: $(lib_LTLIBRARIES) $(pkgconfiglib_DATA)' | \
- emake "${mymakeopts[@]}" -f Makefile -f - gentoo
- fi
-}
-
-src_install() {
- MULTILIB_WRAPPED_HEADERS=()
-
- if use gudev; then
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/gudev-1.0/gudev/gudev.h
- /usr/include/gudev-1.0/gudev/gudevclient.h
- /usr/include/gudev-1.0/gudev/gudevdevice.h
- /usr/include/gudev-1.0/gudev/gudevenumerator.h
- /usr/include/gudev-1.0/gudev/gudevenums.h
- /usr/include/gudev-1.0/gudev/gudevenumtypes.h
- /usr/include/gudev-1.0/gudev/gudevtypes.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- dist_udevhwdb_DATA=
- DESTDIR="${D}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}" -j1 install
- else
- mymakeopts+=(
- install-libLTLIBRARIES
- install-pkgconfiglibDATA
- install-includeHEADERS
- install-pkgincludeHEADERS
- )
-
- emake "${mymakeopts[@]}"
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files --modules
-
- # keep udev working without initramfs, for openrc compat
- dodir /bin /sbin
- mv "${D}"/usr/lib/systemd/systemd-udevd "${D}"/sbin/udevd || die
- mv "${D}"/usr/bin/udevadm "${D}"/bin/udevadm || die
- dosym ../../../sbin/udevd /usr/lib/systemd/systemd-udevd
- dosym ../../bin/udevadm /usr/bin/udevadm
-
- # zsh completion
- insinto /usr/share/zsh/site-functions
- newins shell-completion/systemd-zsh-completion.zsh "_${PN}"
-
- # compat for init= use
- dosym ../usr/lib/systemd/systemd /bin/systemd
- dosym ../lib/systemd/systemd /usr/bin/systemd
- # rsyslog.service depends on it...
- dosym ../usr/bin/systemctl /bin/systemctl
-
- # we just keep sysvinit tools, so no need for the mans
- rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
- || die
- rm "${D}"/usr/share/man/man1/init.1 || die
-
- if ! use vanilla; then
- # Create /run/lock as required by new baselay/OpenRC compat.
- systemd_dotmpfilesd "${FILESDIR}"/gentoo-run.conf
-
- # Add mount-rules for /var/lock and /var/run, bug #433607
- systemd_dounit "${FILESDIR}"/var-{lock,run}.mount
- systemd_enable_service sysinit.target var-lock.mount
- systemd_enable_service sysinit.target var-run.mount
- fi
-
- # Disable storing coredumps in journald, bug #433457
- mv "${D}"/usr/lib/sysctl.d/50-coredump.conf{,.disabled} || die
-
- # Preserve empty dirs in /etc & /var, bug #437008
- keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
- /etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd
-
- # Check whether we won't break user's system.
- local x
- for x in /bin/systemd /usr/bin/systemd \
- /usr/bin/udevadm /usr/lib/systemd/systemd-udevd
- do
- [[ -x ${D}${x} ]] || die "${x} symlink broken, aborting."
- done
-}
-
-pkg_postinst() {
- # for udev rules
- enewgroup dialout
-
- enewgroup systemd-journal
- if use http; then
- enewgroup systemd-journal-gateway
- enewuser systemd-journal-gateway -1 -1 -1 systemd-journal-gateway
- fi
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${ROOT%/}"
- fi
-
- if [[ ${ROOT} == "" || ${ROOT} == "/" ]]; then
- udevadm control --reload
- fi
-
- # Bug 468876
- fcaps cap_dac_override,cap_sys_ptrace=ep usr/bin/systemd-detect-virt
-
- if [[ ! -L "${ROOT}"/etc/mtab ]]; then
- ewarn "Upstream mandates the /etc/mtab file should be a symlink to /proc/mounts."
- ewarn "Not having it is not supported by upstream and will cause tools like 'df'"
- ewarn "and 'mount' to not work properly. Please run:"
- ewarn " # ln -sf '${ROOT}proc/self/mounts' '${ROOT}etc/mtab'"
- ewarn
- fi
-
- if ! has_version sys-apps/systemd-ui; then
- elog "To get additional features, a number of optional runtime dependencies may"
- elog "be installed:"
- elog "- sys-apps/systemd-ui: for GTK+ systemadm UI and gnome-ask-password-agent"
- fi
-}
-
-pkg_prerm() {
- # If removing systemd completely, remove the catalog database.
- if [[ ! ${REPLACED_BY_VERSION} ]]; then
- rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
- fi
-}
diff --git a/sys-apps/systemd/systemd-206-r5.ebuild b/sys-apps/systemd/systemd-206-r5.ebuild
deleted file mode 100644
index 85b1336c7c57..000000000000
--- a/sys-apps/systemd/systemd-206-r5.ebuild
+++ /dev/null
@@ -1,374 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-206-r5.ebuild,v 1.1 2013/09/14 08:47:56 pacho Exp $
-
-EAPI=5
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
-PYTHON_COMPAT=( python2_7 )
-inherit autotools-utils bash-completion-r1 fcaps linux-info multilib \
- multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \
- user
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-IUSE="acl audit cryptsetup doc +firmware-loader gcrypt gudev http introspection
- +kmod lzma openrc pam policykit python qrcode selinux tcpd test
- vanilla xattr"
-
-MINKV="3.0"
-
-COMMON_DEPEND="
- >=sys-apps/dbus-1.6.8-r1
- >=sys-apps/util-linux-2.20
- sys-libs/libcap
- acl? ( sys-apps/acl )
- audit? ( >=sys-process/audit-2 )
- cryptsetup? ( >=sys-fs/cryptsetup-1.6 )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
- gudev? ( >=dev-libs/glib-2 )
- http? ( net-libs/libmicrohttpd )
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
- kmod? ( >=sys-apps/kmod-14-r1 )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- pam? ( virtual/pam )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode )
- selinux? ( sys-libs/libselinux )
- tcpd? ( sys-apps/tcp-wrappers )
- xattr? ( sys-apps/attr )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r8
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
-"
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- >=sys-apps/baselayout-2.2
- openrc? ( >=sys-fs/udev-init-scripts-25 )
- || (
- >=sys-apps/util-linux-2.22
- <sys-apps/sysvinit-2.88-r4
- )
- !vanilla? ( sys-apps/gentoo-systemd-integration )
- !sys-auth/nss-myhostname
- !<sys-libs/glibc-2.10
- !sys-fs/udev
-"
-PDEPEND="
- >=sys-apps/hwids-20130717-r1[udev]
- policykit? ( sys-auth/polkit )
-"
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-devel/binutils-2.23.1
- >=sys-devel/gcc-4.6
- >=sys-kernel/linux-headers-${MINKV}
- virtual/pkgconfig
- doc? ( >=dev-util/gtk-doc-1.18 )
-"
-
-pkg_pretend() {
- local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS ~DEVTMPFS
- ~FANOTIFY ~HOTPLUG ~INOTIFY_USER ~IPV6 ~NET ~PROC_FS ~SIGNALFD
- ~SYSFS ~!IDE ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2"
-# ~!FW_LOADER_USER_HELPER"
-
- use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
- use pam && CONFIG_CHECK+=" ~AUDITSYSCALL"
-
- # read null-terminated argv[0] from PID 1
- # and see which path to systemd was used (if any)
- local init_path
- IFS= read -r -d '' init_path < /proc/1/cmdline
- if [[ ${init_path} == */bin/systemd ]]; then
- eerror "You are using a compatibility symlink to run systemd. The symlink"
- eerror "has been removed. Please update your bootloader to use:"
- eerror
- eerror " init=/usr/lib/systemd/systemd"
- eerror
- eerror "and reboot your system. We are sorry for the inconvenience."
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- die "Compatibility symlink used to boot systemd."
- fi
- fi
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- if [[ $(gcc-major-version) -lt 4
- || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ) ]]
- then
- eerror "systemd requires at least gcc 4.6 to build. Please switch the active"
- eerror "gcc version using gcc-config."
- die "systemd requires at least gcc 4.6"
- fi
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- if ! use firmware-loader && kernel_is -lt 3 8; then
- ewarn "You seem to be using kernel older than 3.8. Those kernel versions"
- ewarn "require systemd with USE=firmware-loader to support loading"
- ewarn "firmware. Missing this flag may cause some hardware not to work."
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- local PATCHES=(
- #477954 - gnome-shell-3.8* session unlock broken
- "${FILESDIR}"/206-0001-logind-update-state-file-after-generating-the-sessio.patch
- #474946 - localectl does not find keymaps
- "${FILESDIR}"/206-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
- #478198 - wrong permission for static-nodes
- "${FILESDIR}"/206-0003-tmpfiles-support-passing-prefix-multiple-times.patch
- "${FILESDIR}"/206-0004-tmpfiles-introduce-exclude-prefix.patch
- "${FILESDIR}"/206-0005-tmpfiles-setup-exclude-dev-prefixes-files.patch
- #481554 - tabs in environment files should be allowed
- "${FILESDIR}"/206-0006-allow-tabs-in-configuration-files.patch
- "${FILESDIR}"/206-0007-allow-tabs-in-configuration-files2.patch
- )
-
- autotools-utils_src_prepare
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --localstatedir=/var
- --with-pamlibdir=$(getpam_mod_dir)
- # avoid bash-completion dep
- --with-bashcompletiondir="$(get_bashcompdir)"
- # make sure we get /bin:/sbin in $PATH
- --enable-split-usr
- # disable sysv compatibility
- --with-sysvinit-path=
- --with-sysvrcnd-path=
- # no deps
- --enable-efi
- --enable-ima
- # optional components/dependencies
- $(use_enable acl)
- $(use_enable audit)
- $(use_enable cryptsetup libcryptsetup)
- $(use_enable doc gtk-doc)
- $(use_enable gcrypt)
- $(use_enable gudev)
- $(use_enable http microhttpd)
- $(use_enable introspection)
- $(use_enable kmod)
- $(use_enable lzma xz)
- $(use_enable pam)
- $(use_enable policykit polkit)
- $(use_with python)
- $(use python && echo PYTHON_CONFIG=/usr/bin/python-config-${EPYTHON#python})
- $(use_enable qrcode qrencode)
- $(use_enable selinux)
- $(use_enable tcpd tcpwrap)
- $(use_enable test tests)
- $(use_enable xattr)
-
- # not supported (avoid automagic deps in the future)
- --disable-chkconfig
-
- # hardcode a few paths to spare some deps
- QUOTAON=/usr/sbin/quotaon
- QUOTACHECK=/usr/sbin/quotacheck
- )
-
- # Keep using the one where the rules were installed.
- MY_UDEVDIR=$(get_udevdir)
-
- if use firmware-loader; then
- myeconfargs+=(
- --with-firmware-path="/lib/firmware/updates:/lib/firmware"
- )
- fi
-
- if ! multilib_is_native_abi; then
- myeconfargs+=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --disable-acl
- --disable-audit
- --disable-gcrypt
- --disable-gtk-doc
- --disable-gudev
- --disable-introspection
- --disable-kmod
- --disable-libcryptsetup
- --disable-microhttpd
- --disable-pam
- --disable-polkit
- --disable-qrencode
- --disable-selinux
- --disable-tcpwrap
- --disable-tests
- --disable-xattr
- --disable-xz
- --without-python
- )
- fi
-
- # Work around bug 463846.
- tc-export CC
-
- autotools-utils_src_configure
-}
-
-multilib_src_compile() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}"
- else
- echo 'gentoo: $(lib_LTLIBRARIES) $(pkgconfiglib_DATA)' | \
- emake "${mymakeopts[@]}" -f Makefile -f - gentoo
- fi
-}
-
-src_install() {
- MULTILIB_WRAPPED_HEADERS=()
-
- if use gudev; then
- MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/gudev-1.0/gudev/gudev.h
- /usr/include/gudev-1.0/gudev/gudevclient.h
- /usr/include/gudev-1.0/gudev/gudevdevice.h
- /usr/include/gudev-1.0/gudev/gudevenumerator.h
- /usr/include/gudev-1.0/gudev/gudevenums.h
- /usr/include/gudev-1.0/gudev/gudevenumtypes.h
- /usr/include/gudev-1.0/gudev/gudevtypes.h
- )
- fi
-
- multilib-minimal_src_install
-}
-
-multilib_src_install() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- dist_udevhwdb_DATA=
- DESTDIR="${D}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}" -j1 install
- else
- mymakeopts+=(
- install-libLTLIBRARIES
- install-pkgconfiglibDATA
- install-includeHEADERS
- install-pkgincludeHEADERS
- )
-
- emake "${mymakeopts[@]}"
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files --modules
-
- # keep udev working without initramfs, for openrc compat
- dodir /bin /sbin
- mv "${D}"/usr/lib/systemd/systemd-udevd "${D}"/sbin/udevd || die
- mv "${D}"/usr/bin/udevadm "${D}"/bin/udevadm || die
- dosym ../../../sbin/udevd /usr/lib/systemd/systemd-udevd
- dosym ../../bin/udevadm /usr/bin/udevadm
-
- # zsh completion
- insinto /usr/share/zsh/site-functions
- newins shell-completion/systemd-zsh-completion.zsh "_${PN}"
-
- # compat for init= use
- dosym ../usr/lib/systemd/systemd /bin/systemd
- dosym ../lib/systemd/systemd /usr/bin/systemd
- # rsyslog.service depends on it...
- dosym ../usr/bin/systemctl /bin/systemctl
-
- # we just keep sysvinit tools, so no need for the mans
- rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
- || die
- rm "${D}"/usr/share/man/man1/init.1 || die
-
- # Disable storing coredumps in journald, bug #433457
- mv "${D}"/usr/lib/sysctl.d/50-coredump.conf{,.disabled} || die
-
- # Preserve empty dirs in /etc & /var, bug #437008
- keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
- /etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd
-
- # Check whether we won't break user's system.
- local x
- for x in /bin/systemd /usr/bin/systemd \
- /usr/bin/udevadm /usr/lib/systemd/systemd-udevd
- do
- [[ -x ${D}${x} ]] || die "${x} symlink broken, aborting."
- done
-}
-
-pkg_postinst() {
- # for udev rules
- enewgroup dialout
-
- enewgroup systemd-journal
- if use http; then
- enewgroup systemd-journal-gateway
- enewuser systemd-journal-gateway -1 -1 -1 systemd-journal-gateway
- fi
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${ROOT%/}"
- fi
-
- if [[ ${ROOT} == "" || ${ROOT} == "/" ]]; then
- udevadm control --reload
- fi
-
- # Bug 468876
- fcaps cap_dac_override,cap_sys_ptrace=ep usr/bin/systemd-detect-virt
-
- if [[ ! -L "${ROOT}"/etc/mtab ]]; then
- ewarn "Upstream mandates the /etc/mtab file should be a symlink to /proc/mounts."
- ewarn "Not having it is not supported by upstream and will cause tools like 'df'"
- ewarn "and 'mount' to not work properly. Please run:"
- ewarn " # ln -sf '${ROOT}proc/self/mounts' '${ROOT}etc/mtab'"
- ewarn
- fi
-
- if ! has_version sys-apps/systemd-ui; then
- elog "To get additional features, a number of optional runtime dependencies may"
- elog "be installed:"
- elog "- sys-apps/systemd-ui: for GTK+ systemadm UI and gnome-ask-password-agent"
- fi
-}
-
-pkg_prerm() {
- # If removing systemd completely, remove the catalog database.
- if [[ ! ${REPLACED_BY_VERSION} ]]; then
- rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
- fi
-}
diff --git a/sys-apps/systemd/systemd-207-r1.ebuild b/sys-apps/systemd/systemd-207-r2.ebuild
index ac1700cdd909..7f3068461ab2 100644
--- a/sys-apps/systemd/systemd-207-r1.ebuild
+++ b/sys-apps/systemd/systemd-207-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-207-r1.ebuild,v 1.1 2013/09/18 10:51:33 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-207-r2.ebuild,v 1.1 2013/09/22 08:36:15 mgorny Exp $
EAPI=5
@@ -118,6 +118,8 @@ src_prepare() {
# failure mounting swap partitions, bug #484998
"${FILESDIR}"/${PV}-0001-swap-fix-reverse-dependencies.patch
"${FILESDIR}"/${PV}-0002-swap-create-.wants-symlink-to-auto-swap-devices.patch
+ # race condition in polkit use, bug #485546
+ "${FILESDIR}"/204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch
)
autotools-utils_src_prepare
diff --git a/sys-apps/systemd/systemd-207.ebuild b/sys-apps/systemd/systemd-207.ebuild
deleted file mode 100644
index 653095261142..000000000000
--- a/sys-apps/systemd/systemd-207.ebuild
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-207.ebuild,v 1.2 2013/09/14 18:44:05 floppym Exp $
-
-EAPI=5
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
-PYTHON_COMPAT=( python2_7 )
-inherit autotools-utils bash-completion-r1 fcaps linux-info multilib \
- multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \
- user
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
-IUSE="acl audit cryptsetup doc +firmware-loader gcrypt gudev http introspection
- +kmod lzma openrc pam policykit python qrcode selinux tcpd test
- vanilla xattr"
-
-MINKV="3.0"
-
-COMMON_DEPEND=">=sys-apps/dbus-1.6.8-r1
- >=sys-apps/util-linux-2.20
- sys-libs/libcap
- acl? ( sys-apps/acl )
- audit? ( >=sys-process/audit-2 )
- cryptsetup? ( >=sys-fs/cryptsetup-1.6 )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
- gudev? ( >=dev-libs/glib-2[${MULTILIB_USEDEP}] )
- http? ( net-libs/libmicrohttpd )
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
- kmod? ( >=sys-apps/kmod-14-r1 )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- pam? ( virtual/pam )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode )
- selinux? ( sys-libs/libselinux )
- tcpd? ( sys-apps/tcp-wrappers )
- xattr? ( sys-apps/attr )
- abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- >=sys-apps/baselayout-2.2
- openrc? ( >=sys-fs/udev-init-scripts-25 )
- || (
- >=sys-apps/util-linux-2.22
- <sys-apps/sysvinit-2.88-r4
- )
- !vanilla? ( sys-apps/gentoo-systemd-integration )
- !sys-auth/nss-myhostname
- !<sys-libs/glibc-2.10
- !sys-fs/udev"
-
-PDEPEND=">=sys-apps/hwids-20130717-r1[udev]
- policykit? ( sys-auth/polkit )"
-
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-devel/binutils-2.23.1
- >=sys-devel/gcc-4.6
- >=sys-kernel/linux-headers-${MINKV}
- virtual/pkgconfig
- doc? ( >=dev-util/gtk-doc-1.18 )"
-
-pkg_pretend() {
- local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS ~DEVTMPFS
- ~EPOLL ~FANOTIFY ~FHANDLE ~INOTIFY_USER ~IPV6 ~NET ~PROC_FS
- ~SECCOMP ~SIGNALFD ~SYSFS ~TIMERFD
- ~!IDE ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2"
-
- use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
- use pam && CONFIG_CHECK+=" ~AUDITSYSCALL"
- kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
- use firmware-loader || CONFIG_CHECK+=" ~!FW_LOADER_USER_HELPER"
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- if [[ $(gcc-major-version) -lt 4
- || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ) ]]
- then
- eerror "systemd requires at least gcc 4.6 to build. Please switch the active"
- eerror "gcc version using gcc-config."
- die "systemd requires at least gcc 4.6"
- fi
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- if ! use firmware-loader && kernel_is -lt 3 8; then
- ewarn "You seem to be using kernel older than 3.8. Those kernel versions"
- ewarn "require systemd with USE=firmware-loader to support loading"
- ewarn "firmware. Missing this flag may cause some hardware not to work."
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --localstatedir=/var
- --with-pamlibdir=$(getpam_mod_dir)
- # avoid bash-completion dep
- --with-bashcompletiondir="$(get_bashcompdir)"
- # make sure we get /bin:/sbin in $PATH
- --enable-split-usr
- # disable sysv compatibility
- --with-sysvinit-path=
- --with-sysvrcnd-path=
- # no deps
- --enable-efi
- --enable-ima
- # optional components/dependencies
- $(use_enable acl)
- $(use_enable audit)
- $(use_enable cryptsetup libcryptsetup)
- $(use_enable doc gtk-doc)
- $(use_enable gcrypt)
- $(use_enable gudev)
- $(use_enable http microhttpd)
- $(use_enable introspection)
- $(use_enable kmod)
- $(use_enable lzma xz)
- $(use_enable pam)
- $(use_enable policykit polkit)
- $(use_enable python python-devel)
- $(use python && echo PYTHON_CONFIG=/usr/bin/python-config-${EPYTHON#python})
- $(use_enable qrcode qrencode)
- $(use_enable selinux)
- $(use_enable tcpd tcpwrap)
- $(use_enable test tests)
- $(use_enable xattr)
-
- # not supported (avoid automagic deps in the future)
- --disable-chkconfig
-
- # hardcode a few paths to spare some deps
- QUOTAON=/usr/sbin/quotaon
- QUOTACHECK=/usr/sbin/quotacheck
- )
-
- # Keep using the one where the rules were installed.
- MY_UDEVDIR=$(get_udevdir)
-
- if use firmware-loader; then
- myeconfargs+=(
- --with-firmware-path="/lib/firmware/updates:/lib/firmware"
- )
- fi
-
- if ! multilib_is_native_abi; then
- myeconfargs+=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --disable-acl
- --disable-audit
- --disable-gcrypt
- --disable-gtk-doc
- --disable-introspection
- --disable-kmod
- --disable-libcryptsetup
- --disable-microhttpd
- --disable-pam
- --disable-polkit
- --disable-qrencode
- --disable-selinux
- --disable-tcpwrap
- --disable-tests
- --disable-xattr
- --disable-xz
- --disable-python-devel
- )
- fi
-
- # Work around bug 463846.
- tc-export CC
-
- autotools-utils_src_configure
-}
-
-multilib_src_compile() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}"
- else
- # prerequisites for gudev
- use gudev && emake src/gudev/gudev{enumtypes,marshal}.{c,h}
-
- echo 'gentoo: $(lib_LTLIBRARIES) $(pkgconfiglib_DATA)' | \
- emake "${mymakeopts[@]}" -f Makefile -f - gentoo
- fi
-}
-
-multilib_src_test() {
- multilib_is_native_abi || continue
-
- default
-}
-
-multilib_src_install() {
- local mymakeopts=(
- udevlibexecdir="${MY_UDEVDIR}"
- dist_udevhwdb_DATA=
- DESTDIR="${D}"
- )
-
- if multilib_is_native_abi; then
- emake "${mymakeopts[@]}" install
- else
- mymakeopts+=(
- install-libLTLIBRARIES
- install-pkgconfiglibDATA
- install-includeHEADERS
- # safe to call unconditionally, 'installs' empty list
- install-libgudev_includeHEADERS
- install-pkgincludeHEADERS
- )
-
- emake "${mymakeopts[@]}"
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files --modules
-
- # we just keep sysvinit tools, so no need for the mans
- rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
- || die
- rm "${D}"/usr/share/man/man1/init.1 || die
-
- # Disable storing coredumps in journald, bug #433457
- mv "${D}"/usr/lib/sysctl.d/50-coredump.conf{,.disabled} || die
-
- # Preserve empty dirs in /etc & /var, bug #437008
- keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
- /etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd
-
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
-}
-
-pkg_postinst() {
- # for udev rules
- enewgroup dialout
-
- enewgroup systemd-journal
- if use http; then
- enewgroup systemd-journal-gateway
- enewuser systemd-journal-gateway -1 -1 -1 systemd-journal-gateway
- fi
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${ROOT%/}"
- fi
-
- if [[ ${ROOT} == "" || ${ROOT} == "/" ]]; then
- udevadm control --reload
- fi
-
- # Bug 468876
- fcaps cap_dac_override,cap_sys_ptrace=ep usr/bin/systemd-detect-virt
-
- if [[ ! -L "${ROOT}"/etc/mtab ]]; then
- ewarn "Upstream mandates the /etc/mtab file should be a symlink to /proc/mounts."
- ewarn "Not having it is not supported by upstream and will cause tools like 'df'"
- ewarn "and 'mount' to not work properly. Please run:"
- ewarn " # ln -sf '${ROOT}proc/self/mounts' '${ROOT}etc/mtab'"
- ewarn
- fi
-
- if ! has_version sys-apps/systemd-ui; then
- elog "To get additional features, a number of optional runtime dependencies may"
- elog "be installed:"
- elog "- sys-apps/systemd-ui: for GTK+ systemadm UI and gnome-ask-password-agent"
- fi
-}
-
-pkg_prerm() {
- # If removing systemd completely, remove the catalog database.
- if [[ ! ${REPLACED_BY_VERSION} ]]; then
- rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
- fi
-}