[arch-commits] Commit in systemd/trunk (9 files)

Jan Steffens heftig at nymeria.archlinux.org
Wed Oct 2 11:23:29 UTC 2013


    Date: Wednesday, October 2, 2013 @ 13:23:29
  Author: heftig
Revision: 195850

208

Modified:
  systemd/trunk/PKGBUILD
  systemd/trunk/systemd.install
Deleted:
  systemd/trunk/0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch
  systemd/trunk/0001-cryptsetup-generator-allow-specifying-options-in-pro.patch
  systemd/trunk/0001-man-document-luks.options-kernel-commandline.patch
  systemd/trunk/0001-polkit-Avoid-race-condition-in-scraping-proc.patch
  systemd/trunk/0001-swap-fix-reverse-dependencies.patch
  systemd/trunk/0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch
  systemd/trunk/0002-swap-create-.wants-symlink-to-auto-swap-devices.patch

-----------------------------------------------------------------+
 0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch |   74 ---
 0001-cryptsetup-generator-allow-specifying-options-in-pro.patch |  190 ----------
 0001-man-document-luks.options-kernel-commandline.patch         |   28 -
 0001-polkit-Avoid-race-condition-in-scraping-proc.patch         |   75 ---
 0001-swap-fix-reverse-dependencies.patch                        |   30 -
 0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch     |   32 -
 0002-swap-create-.wants-symlink-to-auto-swap-devices.patch      |   90 ----
 PKGBUILD                                                        |   38 --
 systemd.install                                                 |   17 
 9 files changed, 27 insertions(+), 547 deletions(-)

Deleted: 0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch
===================================================================
--- 0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,74 +0,0 @@
-From 7400b9d2e99938d17b281d7df43680eade18666e Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart at poettering.net>
-Date: Tue, 1 Oct 2013 05:06:56 +0200
-Subject: [PATCH] core: whenever a new PID is passed to us, make sure we watch
- it
-
----
- src/core/service.c | 21 +++++++++++++++------
- 1 file changed, 15 insertions(+), 6 deletions(-)
-
-diff --git a/src/core/service.c b/src/core/service.c
-index 24b7bef..6792024 100644
---- a/src/core/service.c
-+++ b/src/core/service.c
-@@ -191,7 +191,13 @@ static int service_set_main_pid(Service *s, pid_t pid) {
-         if (pid == getpid())
-                 return -EINVAL;
- 
--        service_unwatch_main_pid(s);
-+        if (s->main_pid == pid && s->main_pid_known)
-+                return 0;
-+
-+        if (s->main_pid != pid) {
-+                service_unwatch_main_pid(s);
-+                exec_status_start(&s->main_exec_status, pid);
-+        }
- 
-         s->main_pid = pid;
-         s->main_pid_known = true;
-@@ -205,8 +211,6 @@ static int service_set_main_pid(Service *s, pid_t pid) {
-         } else
-                 s->main_pid_alien = false;
- 
--        exec_status_start(&s->main_exec_status, pid);
--
-         return 0;
- }
- 
-@@ -2696,8 +2700,10 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
- 
-                 if (parse_pid(value, &pid) < 0)
-                         log_debug_unit(u->id, "Failed to parse main-pid value %s", value);
--                else
--                        service_set_main_pid(s, (pid_t) pid);
-+                else {
-+                        service_set_main_pid(s, pid);
-+                        unit_watch_pid(UNIT(s), pid);
-+                }
-         } else if (streq(key, "main-pid-known")) {
-                 int b;
- 
-@@ -3389,6 +3395,7 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
-                         log_debug_unit(u->id,
-                                        "%s: got %s", u->id, e);
-                         service_set_main_pid(s, pid);
-+                        unit_watch_pid(UNIT(s), pid);
-                 }
-         }
- 
-@@ -3685,8 +3692,10 @@ static void service_bus_query_pid_done(
-             (s->state == SERVICE_START ||
-              s->state == SERVICE_START_POST ||
-              s->state == SERVICE_RUNNING ||
--             s->state == SERVICE_RELOAD))
-+             s->state == SERVICE_RELOAD)){
-                 service_set_main_pid(s, pid);
-+                unit_watch_pid(UNIT(s), pid);
-+        }
- }
- 
- int service_set_socket_fd(Service *s, int fd, Socket *sock) {
--- 
-1.8.4
-

Deleted: 0001-cryptsetup-generator-allow-specifying-options-in-pro.patch
===================================================================
--- 0001-cryptsetup-generator-allow-specifying-options-in-pro.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-cryptsetup-generator-allow-specifying-options-in-pro.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,190 +0,0 @@
-From 7ab064a6d60cf805765077b67d56c123f9cf3c58 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Sun, 18 Aug 2013 14:59:00 +0800
-Subject: [PATCH] cryptsetup-generator: allow specifying options in
- /proc/cmdline
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The main usecase for this is to make it possible to use cryptsetup in
-the initrd without it having to include a host-specific /etc/crypttab.
-
-Tested-by: Thomas Bächler <thomas at archlinux.org>
----
- man/systemd-cryptsetup-generator.xml  | 23 ++++++++++
- src/cryptsetup/cryptsetup-generator.c | 79 +++++++++++++++++++++++++++++++++--
- 2 files changed, 98 insertions(+), 4 deletions(-)
-
-diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
-index 215ac2d..d6b7e49 100644
---- a/man/systemd-cryptsetup-generator.xml
-+++ b/man/systemd-cryptsetup-generator.xml
-@@ -137,6 +137,29 @@
-                                 will be activated in the initrd or the real root.</para>
-                                 </listitem>
-                         </varlistentry>
-+
-+                        <varlistentry>
-+                                <term><varname>luks.options=</varname></term>
-+                                <term><varname>rd.luks.options=</varname></term>
-+
-+                                <listitem><para>Takes a LUKS super
-+                                block UUID followed by an '=' and a string
-+                                of options separated by commas as argument.
-+                                This will override the options for the given
-+                                UUID.</para>
-+                                <para>If only a list of options, without an
-+                                UUID, is specified, they apply to any UUIDs not
-+                                specified elsewhere, and without an entry in
-+                                /etc/crypttab.</para><para>
-+                                <varname>rd.luks.options=</varname>
-+                                is honored only by initial RAM disk
-+                                (initrd) while
-+                                <varname>luks.options=</varname> is
-+                                honored by both the main system and
-+                                the initrd.</para>
-+                                </listitem>
-+                        </varlistentry>
-+
-                         <varlistentry>
-                                 <term><varname>luks.key=</varname></term>
-                                 <term><varname>rd.luks.key=</varname></term>
-diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
-index 967c5e6..ba6efa6 100644
---- a/src/cryptsetup/cryptsetup-generator.c
-+++ b/src/cryptsetup/cryptsetup-generator.c
-@@ -240,7 +240,7 @@ static int create_disk(
-         return 0;
- }
- 
--static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cmdline_keyfile) {
-+static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char ***arg_proc_cmdline_options, char **arg_proc_cmdline_keyfile) {
-         _cleanup_free_ char *line = NULL;
-         char *w = NULL, *state = NULL;
-         int r;
-@@ -307,7 +307,20 @@ static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cm
-                                         return log_oom();
-                         }
- 
-+                } else if (startswith(word, "luks.options=")) {
-+                        if (strv_extend(arg_proc_cmdline_options, word + 13) < 0)
-+                                return log_oom();
-+
-+                } else if (startswith(word, "rd.luks.options=")) {
-+
-+                        if (in_initrd()) {
-+                                if (strv_extend(arg_proc_cmdline_options, word + 16) < 0)
-+                                        return log_oom();
-+                        }
-+
-                 } else if (startswith(word, "luks.key=")) {
-+                        if (*arg_proc_cmdline_keyfile)
-+                                free(*arg_proc_cmdline_keyfile);
-                         *arg_proc_cmdline_keyfile = strdup(word + 9);
-                         if (!*arg_proc_cmdline_keyfile)
-                                 return log_oom();
-@@ -337,6 +350,7 @@ static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cm
- int main(int argc, char *argv[]) {
-         _cleanup_strv_free_ char **arg_proc_cmdline_disks_done = NULL;
-         _cleanup_strv_free_ char **arg_proc_cmdline_disks = NULL;
-+        _cleanup_strv_free_ char **arg_proc_cmdline_options = NULL;
-         _cleanup_free_ char *arg_proc_cmdline_keyfile = NULL;
-         _cleanup_fclose_ FILE *f = NULL;
-         unsigned n = 0;
-@@ -357,7 +371,7 @@ int main(int argc, char *argv[]) {
- 
-         umask(0022);
- 
--        if (parse_proc_cmdline(&arg_proc_cmdline_disks, &arg_proc_cmdline_keyfile) < 0)
-+        if (parse_proc_cmdline(&arg_proc_cmdline_disks, &arg_proc_cmdline_options, &arg_proc_cmdline_keyfile) < 0)
-                 return EXIT_FAILURE;
- 
-         if (!arg_enabled)
-@@ -412,6 +426,26 @@ int main(int argc, char *argv[]) {
-                                 continue;
-                         }
- 
-+                        if (arg_proc_cmdline_options) {
-+                                /*
-+                                  If options are specified on the kernel commandline, let them override
-+                                  the ones from crypttab.
-+                                */
-+                                STRV_FOREACH(i, arg_proc_cmdline_options) {
-+                                        _cleanup_free_ char *proc_uuid = NULL, *proc_options = NULL;
-+                                        const char *p = *i;
-+
-+                                        k = sscanf(p, "%m[0-9a-fA-F-]=%ms", &proc_uuid, &proc_options);
-+                                        if (k == 2 && streq(proc_uuid, device + 5)) {
-+                                                if (options)
-+                                                        free(options);
-+                                                options = strdup(p);
-+                                                if (!proc_options)
-+                                                        return log_oom();
-+                                        }
-+                                }
-+                        }
-+
-                         if (arg_proc_cmdline_disks) {
-                                 /*
-                                   If luks UUIDs are specified on the kernel command line, use them as a filter
-@@ -452,7 +486,7 @@ next:
-                   on the kernel command line and not yet written.
-                 */
- 
--                _cleanup_free_ char *name = NULL, *device = NULL;
-+                _cleanup_free_ char *name = NULL, *device = NULL, *options = NULL;
-                 const char *p = *i;
- 
-                 if (startswith(p, "luks-"))
-@@ -467,7 +501,44 @@ next:
-                 if (!name || !device)
-                         return log_oom();
- 
--                if (create_disk(name, device, arg_proc_cmdline_keyfile, "timeout=0") < 0)
-+                if (arg_proc_cmdline_options) {
-+                        /*
-+                          If options are specified on the kernel commandline, use them.
-+                        */
-+                        char **j;
-+
-+                        STRV_FOREACH(j, arg_proc_cmdline_options) {
-+                                _cleanup_free_ char *proc_uuid = NULL, *proc_options = NULL;
-+                                const char *s = *j;
-+                                int k;
-+
-+                                k = sscanf(s, "%m[0-9a-fA-F-]=%ms", &proc_uuid, &proc_options);
-+                                if (k == 2) {
-+                                        if (streq(proc_uuid, device + 5)) {
-+                                                if (options)
-+                                                        free(options);
-+                                                options = strdup(proc_options);
-+                                                if (!options)
-+                                                        return log_oom();
-+                                        }
-+                                } else if (!options) {
-+                                        /*
-+                                          Fall back to options without a specified UUID
-+                                        */
-+                                        options = strdup(s);
-+                                        if (!options)
-+                                                return log_oom();
-+                                }
-+                        }
-+                }
-+
-+                if (!options) {
-+                        options = strdup("timeout=0");
-+                        if (!options)
-+                                return log_oom();
-+                }
-+
-+                if (create_disk(name, device, arg_proc_cmdline_keyfile, options) < 0)
-                         r = EXIT_FAILURE;
-         }
- 
--- 
-1.8.4
-

Deleted: 0001-man-document-luks.options-kernel-commandline.patch
===================================================================
--- 0001-man-document-luks.options-kernel-commandline.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-man-document-luks.options-kernel-commandline.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,28 +0,0 @@
-From ecd1e54ca6bf18a6da5f171b1ae24deac0fa7c87 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Fri, 13 Sep 2013 21:03:55 +0200
-Subject: [PATCH] man: document luks.options kernel commandline
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This should have been part of commit 7ab064a6d
----
- man/kernel-command-line.xml | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
-index a4b7d13..cc267a3 100644
---- a/man/kernel-command-line.xml
-+++ b/man/kernel-command-line.xml
-@@ -250,6 +250,8 @@
-                                 <term><varname>rd.luks.crypttab=</varname></term>
-                                 <term><varname>luks.uuid=</varname></term>
-                                 <term><varname>rd.luks.uuid=</varname></term>
-+                                <term><varname>luks.options=</varname></term>
-+                                <term><varname>rd.luks.options=</varname></term>
-                                 <term><varname>luks.key=</varname></term>
-                                 <term><varname>rd.luks.key=</varname></term>
- 
--- 
-1.8.4
-

Deleted: 0001-polkit-Avoid-race-condition-in-scraping-proc.patch
===================================================================
--- 0001-polkit-Avoid-race-condition-in-scraping-proc.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-polkit-Avoid-race-condition-in-scraping-proc.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,75 +0,0 @@
-From 72fd713962ca2c2450e23b01d9e22017a7e28fd4 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters at verbum.org>
-Date: Thu, 22 Aug 2013 13:55:21 -0400
-Subject: [PATCH] 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.4
-

Deleted: 0001-swap-fix-reverse-dependencies.patch
===================================================================
--- 0001-swap-fix-reverse-dependencies.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-swap-fix-reverse-dependencies.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,30 +0,0 @@
-From 90060fa6605446bef7078867423b691e4effa575 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Fri, 13 Sep 2013 14:46:18 +0200
-Subject: [PATCH] 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.4
-

Deleted: 0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch
===================================================================
--- 0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,32 +0,0 @@
-From 3cf0f8f7e0b950b5f6d678f3e8b7f0fc0f52d4bf Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner at archlinux.org>
-Date: Mon, 16 Sep 2013 11:22:35 -0400
-Subject: [PATCH] udev-rules: avoid erroring on trailing whitespace
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-https://bugs.archlinux.org/task/36950
----
- src/udev/udev-rules.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
-index f14158b..6f8b127 100644
---- a/src/udev/udev-rules.c
-+++ b/src/udev/udev-rules.c
-@@ -1068,6 +1068,12 @@ static int add_rule(struct udev_rules *rules, char *line,
-                 enum operation_type op;
- 
-                 if (get_key(rules->udev, &linepos, &key, &op, &value) != 0) {
-+                        /* Avoid erroring on trailing whitespace. This is probably rare
-+                         * so save the work for the error case instead of always trying
-+                         * to strip the trailing whitespace with strstrip(). */
-+                        while (isblank(*linepos))
-+                                linepos++;
-+
-                         /* If we aren't at the end of the line, this is a parsing error.
-                          * Make a best effort to describe where the problem is. */
-                         if (*linepos != '\n') {
--- 
-1.8.4
-

Deleted: 0002-swap-create-.wants-symlink-to-auto-swap-devices.patch
===================================================================
--- 0002-swap-create-.wants-symlink-to-auto-swap-devices.patch	2013-10-02 00:26:48 UTC (rev 195849)
+++ 0002-swap-create-.wants-symlink-to-auto-swap-devices.patch	2013-10-02 11:23:29 UTC (rev 195850)
@@ -1,90 +0,0 @@
-From 4e82fe5213bedcb70e25c0270e516d5f2706d8c8 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Mon, 16 Sep 2013 01:08:32 +0200
-Subject: [PATCH] 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.4
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-10-02 00:26:48 UTC (rev 195849)
+++ PKGBUILD	2013-10-02 11:23:29 UTC (rev 195850)
@@ -3,8 +3,8 @@
 
 pkgbase=systemd
 pkgname=('systemd' 'systemd-sysvcompat')
-pkgver=207
-pkgrel=7
+pkgver=208
+pkgrel=1
 arch=('i686' 'x86_64')
 url="http://www.freedesktop.org/wiki/Software/systemd"
 makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf'
@@ -14,36 +14,14 @@
 source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
         'initcpio-hook-udev'
         'initcpio-install-systemd'
-        'initcpio-install-udev'
-        0001-polkit-Avoid-race-condition-in-scraping-proc.patch
-        0001-swap-fix-reverse-dependencies.patch
-        0002-swap-create-.wants-symlink-to-auto-swap-devices.patch
-        0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch
-        0001-cryptsetup-generator-allow-specifying-options-in-pro.patch
-        0001-man-document-luks.options-kernel-commandline.patch
-        0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch)
-md5sums=('7799f3cc9d289b8db1c1fa56ae7ecd88'
+        'initcpio-install-udev')
+md5sums=('6b30239cbea4cb2c832625f1012dbe03'
          '29245f7a240bfba66e2b1783b63b6b40'
          '8b68b0218a3897d4d37a6ccf47914774'
-         'bde43090d4ac0ef048e3eaee8202a407'
-         '9eb0a46aa2a3a6d74117f9a174dbe168'
-         '182be4c729aaecde249b7b05b48a481f'
-         'b54fbe35e2689ac36cda9ac4a5a86f24'
-         '6067cc4f0565c02484918c3e1b05cbfa'
-         '20e65eefdffe384edc4acebe9e01c873'
-         '9fb76e01f41beb60e331908f7f1e04bc'
-         '1f0bfc22e09b9dfe53f4485fab7af2ee')
+         'bde43090d4ac0ef048e3eaee8202a407')
 
 prepare() {
   cd "$pkgname-$pkgver"
-
-  patch -Np1 <"$srcdir"/0001-swap-fix-reverse-dependencies.patch
-  patch -Np1 <"$srcdir"/0002-swap-create-.wants-symlink-to-auto-swap-devices.patch
-  patch -Np1 <"$srcdir"/0001-polkit-Avoid-race-condition-in-scraping-proc.patch
-  patch -Np1 <"$srcdir"/0001-core-whenever-a-new-PID-is-passed-to-us-make-sure-we.patch
-  patch -Np1 <"$srcdir"/0001-cryptsetup-generator-allow-specifying-options-in-pro.patch
-  patch -Np1 <"$srcdir"/0001-man-document-luks.options-kernel-commandline.patch
-  patch -Np1 <"$srcdir"/0001-udev-rules-avoid-erroring-on-trailing-whitespace.patch
 }
 
 build() {
@@ -114,7 +92,7 @@
   rmdir "$pkgdir/etc/systemd/system/getty.target.wants"
 
   # get rid of RPM macros
-  rm -r "$pkgdir/usr/lib/rpm/macros.d"
+  rm -r "$pkgdir/usr/lib/rpm"
 
   # add back tmpfiles.d/legacy.conf
   install -m644 "systemd-$pkgver/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
@@ -129,6 +107,10 @@
   install -Dm644 "$srcdir/initcpio-install-udev" "$pkgdir/usr/lib/initcpio/install/udev"
   install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev"
 
+  # ensure proper permissions for /var/log/journal
+  chown root:systemd-journal "$pkgdir/var/log/journal"
+  chmod 2755 "$pkgdir/var/log/journal"
+
   ### split out manpages for sysvcompat
   rm -rf "$srcdir/_sysvcompat"
   install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/

Modified: systemd.install
===================================================================
--- systemd.install	2013-10-02 00:26:48 UTC (rev 195849)
+++ systemd.install	2013-10-02 11:23:29 UTC (rev 195850)
@@ -38,6 +38,19 @@
   fi
 }
 
+_208_changes() {
+  chown root:systemd-journal var/log/journal
+  chmod 2755 var/log/journal
+
+  if [ -e var/lib/backlight ] && [ ! -e var/lib/systemd/backlight ]; then
+    mv -T var/lib/backlight var/lib/systemd/backlight
+  fi
+
+  if [ -e var/lib/random-seed ] && [ ! -e var/lib/systemd/random-seed ]; then
+    mv -T var/lib/random-seed var/lib/systemd/random-seed
+  fi
+}
+
 post_install() {
   post_common
 
@@ -98,6 +111,10 @@
     printf '    this hook, you must remove it from /etc/mkinitcpio.conf. A "systemd"\n'
     printf '    hook has been added which provides this functionality, and more.\n'
   fi
+
+  if [ "$(vercmp 208-1 "$2")" -eq 1 ]; then
+    _208_changes
+  fi
 }
 
 # vim:set ts=2 sw=2 et:




More information about the arch-commits mailing list