Date: Friday, September 13, 2013 @ 04:34:52 Author: dreisner Revision: 194279
upgpkg: systemd 207-1 Modified: systemd/trunk/PKGBUILD Deleted: systemd/trunk/0001-journal-fix-parsing-of-facility-in-syslog-messages.patch systemd/trunk/0001-udev-static_node-don-t-touch-permissions-uneccessari.patch systemd/trunk/0002-tmpfiles-support-passing-prefix-multiple-times.patch systemd/trunk/0003-tmpfiles-introduce-exclude-prefix.patch systemd/trunk/0004-tmpfiles-setup-exclude-dev-prefixes-files.patch -----------------------------------------------------------------+ 0001-journal-fix-parsing-of-facility-in-syslog-messages.patch | 89 ------ 0001-udev-static_node-don-t-touch-permissions-uneccessari.patch | 28 -- 0002-tmpfiles-support-passing-prefix-multiple-times.patch | 90 ------ 0003-tmpfiles-introduce-exclude-prefix.patch | 138 ---------- 0004-tmpfiles-setup-exclude-dev-prefixes-files.patch | 23 - PKGBUILD | 30 -- 6 files changed, 5 insertions(+), 393 deletions(-) Deleted: 0001-journal-fix-parsing-of-facility-in-syslog-messages.patch =================================================================== --- 0001-journal-fix-parsing-of-facility-in-syslog-messages.patch 2013-09-12 20:45:23 UTC (rev 194278) +++ 0001-journal-fix-parsing-of-facility-in-syslog-messages.patch 2013-09-13 02:34:52 UTC (rev 194279) @@ -1,89 +0,0 @@ -From ac50788b0f5aeee09e7d45db28ae8ab7f39cd52e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbys...@in.waw.pl> -Date: Fri, 26 Jul 2013 12:57:33 -0400 -Subject: [PATCH] journal: fix parsing of facility in syslog messages - -In 49998b383 (journald: do not overwrite syslog facility when -parsing priority) journald started ignoring facility part when -reading service stderr to convert to syslog messages. In this -case it is fine, because only the priority is allowed. - -But the same codepath is used for syslog messages, where the -facility should be used. Split the two codepaths by explicitly -specyfing whether the facility should be ignored or not. - -https://bugzilla.redhat.com/show_bug.cgi?id=988814 ---- - src/journal/journald-stream.c | 2 +- - src/journal/journald-syslog.c | 12 ++++++++---- - src/journal/journald-syslog.h | 2 +- - 3 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c -index e98fe94..9c4efec 100644 ---- a/src/journal/journald-stream.c -+++ b/src/journal/journald-stream.c -@@ -90,7 +90,7 @@ static int stdout_stream_log(StdoutStream *s, const char *p) { - priority = s->priority; - - if (s->level_prefix) -- syslog_parse_priority((char**) &p, &priority); -+ syslog_parse_priority((char**) &p, &priority, false); - - if (s->forward_to_syslog || s->server->forward_to_syslog) - server_forward_syslog(s->server, syslog_fixup_facility(priority), s->identifier, p, &s->ucred, NULL); -diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c -index 7cbb346..c2770a5 100644 ---- a/src/journal/journald-syslog.c -+++ b/src/journal/journald-syslog.c -@@ -236,7 +236,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid) - return e; - } - --void syslog_parse_priority(char **p, int *priority) { -+void syslog_parse_priority(char **p, int *priority, bool with_facility) { - int a = 0, b = 0, c = 0; - int k; - -@@ -265,10 +265,14 @@ void syslog_parse_priority(char **p, int *priority) { - } else - return; - -- if (a < 0 || b < 0 || c < 0) -+ if (a < 0 || b < 0 || c < 0 || -+ (!with_facility && (a || b || c > 7))) - return; - -- *priority = (*priority & LOG_FACMASK) | (a*100 + b*10 + c); -+ if (with_facility) -+ *priority = a*100 + b*10 + c; -+ else -+ *priority = (*priority & LOG_FACMASK) | c; - *p += k; - } - -@@ -361,7 +365,7 @@ void server_process_syslog_message( - assert(buf); - - orig = buf; -- syslog_parse_priority((char**) &buf, &priority); -+ syslog_parse_priority((char**) &buf, &priority, true); - - if (s->forward_to_syslog) - forward_syslog_raw(s, priority, orig, ucred, tv); -diff --git a/src/journal/journald-syslog.h b/src/journal/journald-syslog.h -index 324b70e..8ccdb77 100644 ---- a/src/journal/journald-syslog.h -+++ b/src/journal/journald-syslog.h -@@ -25,7 +25,7 @@ - - int syslog_fixup_facility(int priority) _const_; - --void syslog_parse_priority(char **p, int *priority); -+void syslog_parse_priority(char **p, int *priority, bool with_facility); - size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid); - - void server_forward_syslog(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred, struct timeval *tv); --- -1.8.4 - Deleted: 0001-udev-static_node-don-t-touch-permissions-uneccessari.patch =================================================================== --- 0001-udev-static_node-don-t-touch-permissions-uneccessari.patch 2013-09-12 20:45:23 UTC (rev 194278) +++ 0001-udev-static_node-don-t-touch-permissions-uneccessari.patch 2013-09-13 02:34:52 UTC (rev 194279) @@ -1,28 +0,0 @@ -From 15a722007dc1d8a9a11934b2ab528cf4d25b6c62 Mon Sep 17 00:00:00 2001 -From: Tom Gundersen <t...@jklm.no> -Date: Wed, 24 Jul 2013 15:05:48 +0200 -Subject: [PATCH] udev: static_node - don't touch permissions uneccessarily - -Don't set default permissions if only TAGS were specified in a rule. ---- - src/udev/udev-rules.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c -index fe4965f..769b670 100644 ---- a/src/udev/udev-rules.c -+++ b/src/udev/udev-rules.c -@@ -2586,6 +2586,10 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules) - } - } - -+ /* don't touch the permissions if only the tags were set */ -+ if (mode == 0 && uid == 0 && gid == 0) -+ goto next; -+ - if (mode == 0) { - if (gid > 0) - mode = 0660; --- -1.8.3.4 - Deleted: 0002-tmpfiles-support-passing-prefix-multiple-times.patch =================================================================== --- 0002-tmpfiles-support-passing-prefix-multiple-times.patch 2013-09-12 20:45:23 UTC (rev 194278) +++ 0002-tmpfiles-support-passing-prefix-multiple-times.patch 2013-09-13 02:34:52 UTC (rev 194279) @@ -1,90 +0,0 @@ -From a2aced4add1964f82cfd250f1fee8de9d974b507 Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Wed, 24 Jul 2013 11:10:05 -0400 -Subject: [PATCH] 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.4 - Deleted: 0003-tmpfiles-introduce-exclude-prefix.patch =================================================================== --- 0003-tmpfiles-introduce-exclude-prefix.patch 2013-09-12 20:45:23 UTC (rev 194278) +++ 0003-tmpfiles-introduce-exclude-prefix.patch 2013-09-13 02:34:52 UTC (rev 194279) @@ -1,138 +0,0 @@ -From 5c7951141fa9f33e1b97de97586cc16bce2776e0 Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Wed, 24 Jul 2013 11:19:24 -0400 -Subject: [PATCH] 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 b62b6df..1ab1311 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.4 - Deleted: 0004-tmpfiles-setup-exclude-dev-prefixes-files.patch =================================================================== --- 0004-tmpfiles-setup-exclude-dev-prefixes-files.patch 2013-09-12 20:45:23 UTC (rev 194278) +++ 0004-tmpfiles-setup-exclude-dev-prefixes-files.patch 2013-09-13 02:34:52 UTC (rev 194279) @@ -1,23 +0,0 @@ -From ec99834cb0e76a9e7096bd42249053712db9c32d Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreis...@archlinux.org> -Date: Wed, 24 Jul 2013 11:58:35 -0400 -Subject: [PATCH] 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.4 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-09-12 20:45:23 UTC (rev 194278) +++ PKGBUILD 2013-09-13 02:34:52 UTC (rev 194279) @@ -3,8 +3,8 @@ pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') -pkgver=206 -pkgrel=3 +pkgver=207 +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,32 +14,12 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' 'initcpio-install-systemd' - 'initcpio-install-udev' - 0001-udev-static_node-don-t-touch-permissions-uneccessari.patch - 0002-tmpfiles-support-passing-prefix-multiple-times.patch - 0003-tmpfiles-introduce-exclude-prefix.patch - 0004-tmpfiles-setup-exclude-dev-prefixes-files.patch - 0001-journal-fix-parsing-of-facility-in-syslog-messages.patch) -md5sums=('89e36f2d3ba963020b72738549954cbc' + 'initcpio-install-udev') +md5sums=('7799f3cc9d289b8db1c1fa56ae7ecd88' '2de72238ed5c0df62a7c3b6bdaf8cb7c' '9027b31a875e74a45623954b3b23d09f' - 'd83d45e67cd75cdbafb81c96a7485319' - '133232cf621ca6333beefa20173e520e' - '948dd905195caafa7e528c3afa4a679a' - '121ea2d14d19548f5e317c925e2e7482' - '81a65872b15d14d7ac8250e029ae0cbe' - 'c9565efc96a3f24effdf907049af6c44') + 'd83d45e67cd75cdbafb81c96a7485319') -prepare() { - cd "$pkgname-$pkgver" - - patch -Np1 <"$srcdir"/0001-udev-static_node-don-t-touch-permissions-uneccessari.patch - patch -Np1 <"$srcdir"/0002-tmpfiles-support-passing-prefix-multiple-times.patch - patch -Np1 <"$srcdir"/0003-tmpfiles-introduce-exclude-prefix.patch - patch -Np1 <"$srcdir"/0004-tmpfiles-setup-exclude-dev-prefixes-files.patch - patch -Np1 <"$srcdir"/0001-journal-fix-parsing-of-facility-in-syslog-messages.patch -} - build() { cd "$pkgname-$pkgver"