From d1d93fafb9ef98fdd0c9a5a486c179c03cbbfb33 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Apr 2013 01:16:16 -0700 Subject: Tue Apr 23 01:16:16 PDT 2013 --- ...nvfiles-do-not-skip-lines-following-empty.patch | 167 --------------------- ...-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch | 35 ----- ...-avoid-creating-stale-session-state-files.patch | 48 ------ ...stname-ensure-that-glibc-s-assert-is-used.patch | 36 +++++ core/systemd/PKGBUILD | 20 +-- 5 files changed, 44 insertions(+), 262 deletions(-) delete mode 100644 core/systemd/0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch delete mode 100644 core/systemd/0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch delete mode 100644 core/systemd/0001-logind-avoid-creating-stale-session-state-files.patch create mode 100644 core/systemd/0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch (limited to 'core/systemd') diff --git a/core/systemd/0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch b/core/systemd/0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch deleted file mode 100644 index c245ce1e2..000000000 --- a/core/systemd/0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch +++ /dev/null @@ -1,167 +0,0 @@ -From d3b6d0c21ea5a0d15ec6dbd8b8d179138b7463bc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 13 Apr 2013 20:22:53 -0400 -Subject: [PATCH] fileio: in envfiles, do not skip lines following empty lines - -https://bugs.freedesktop.org/show_bug.cgi?id=63477 ---- - src/binfmt/binfmt.c | 2 +- - src/journal/catalog.c | 2 +- - src/modules-load/modules-load.c | 2 +- - src/shared/conf-parser.c | 2 +- - src/shared/install.c | 2 +- - src/shared/util.h | 2 +- - src/sysctl/sysctl.c | 2 +- - src/test/test-unit-file.c | 31 +++++++++++++++++++++++++++++++ - 8 files changed, 38 insertions(+), 7 deletions(-) - -diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c -index 9ca1e60..5a42b3d 100644 ---- a/src/binfmt/binfmt.c -+++ b/src/binfmt/binfmt.c -@@ -110,7 +110,7 @@ static int apply_file(const char *path, bool ignore_enoent) { - p = strstrip(l); - if (!*p) - continue; -- if (strchr(COMMENTS, *p)) -+ if (strchr(COMMENTS "\n", *p)) - continue; - - k = apply_rule(p); -diff --git a/src/journal/catalog.c b/src/journal/catalog.c -index ebf0622..7681af6 100644 ---- a/src/journal/catalog.c -+++ b/src/journal/catalog.c -@@ -180,7 +180,7 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) { - continue; - } - -- if (strchr(COMMENTS, line[0])) -+ if (strchr(COMMENTS "\n", line[0])) - continue; - - if (empty_line && -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 9ee2603..b3f7af0 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -206,7 +206,7 @@ static int apply_file(struct kmod_ctx *ctx, const char *path, bool ignore_enoent - l = strstrip(line); - if (!*l) - continue; -- if (strchr(COMMENTS, *l)) -+ if (strchr(COMMENTS "\n", *l)) - continue; - - k = load_module(ctx, l); -diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c -index fbacf98..fea2e56 100644 ---- a/src/shared/conf-parser.c -+++ b/src/shared/conf-parser.c -@@ -174,7 +174,7 @@ static int parse_line( - if (!*l) - return 0; - -- if (strchr(COMMENTS, *l)) -+ if (strchr(COMMENTS "\n", *l)) - return 0; - - if (startswith(l, ".include ")) { -diff --git a/src/shared/install.c b/src/shared/install.c -index f9d223e..71e0433 100644 ---- a/src/shared/install.c -+++ b/src/shared/install.c -@@ -1699,7 +1699,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) { - if (!*l) - continue; - -- if (strchr(COMMENTS, *l)) -+ if (strchr(COMMENTS "\n", *l)) - continue; - - if (first_word(l, "enable")) { -diff --git a/src/shared/util.h b/src/shared/util.h -index 99ec0a3..ad97536 100644 ---- a/src/shared/util.h -+++ b/src/shared/util.h -@@ -52,7 +52,7 @@ union dirent_storage { - #define WHITESPACE " \t\n\r" - #define NEWLINE "\n\r" - #define QUOTES "\"\'" --#define COMMENTS "#;\n" -+#define COMMENTS "#;" - - #define FORMAT_BYTES_MAX 8 - -diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c -index e0ba78a..db18dd9 100644 ---- a/src/sysctl/sysctl.c -+++ b/src/sysctl/sysctl.c -@@ -149,7 +149,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno - if (!*p) - continue; - -- if (strchr(COMMENTS, *p)) -+ if (strchr(COMMENTS "\n", *p)) - continue; - - value = strchr(p, '='); -diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c -index 3cf8463..1bf11e6 100644 ---- a/src/test/test-unit-file.c -+++ b/src/test/test-unit-file.c -@@ -199,6 +199,17 @@ static void test_config_parse_exec(void) { - "#--nouser-config \\\n" \ - "normal=line" - -+#define env_file_4 \ -+ "# Generated\n" \ -+ "\n" \ -+ "HWMON_MODULES=\"coretemp f71882fg\"\n" \ -+ "\n" \ -+ "# For compatibility reasons\n" \ -+ "\n" \ -+ "MODULE_0=coretemp\n" \ -+ "MODULE_1=f71882fg" -+ -+ - static void test_load_env_file_1(void) { - char _cleanup_strv_free_ **data = NULL; - int r; -@@ -251,6 +262,25 @@ static void test_load_env_file_3(void) { - unlink(name); - } - -+static void test_load_env_file_4(void) { -+ char _cleanup_strv_free_ **data = NULL; -+ int r; -+ -+ char name[] = "/tmp/test-load-env-file.XXXXXX"; -+ int _cleanup_close_ fd = mkstemp(name); -+ assert(fd >= 0); -+ assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4)); -+ -+ r = load_env_file(name, NULL, &data); -+ assert(r == 0); -+ assert(streq(data[0], "HWMON_MODULES=coretemp f71882fg")); -+ assert(streq(data[1], "MODULE_0=coretemp")); -+ assert(streq(data[2], "MODULE_1=f71882fg")); -+ assert(data[3] == NULL); -+ unlink(name); -+} -+ -+ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wnonnull" - -@@ -327,6 +357,7 @@ int main(int argc, char *argv[]) { - test_load_env_file_1(); - test_load_env_file_2(); - test_load_env_file_3(); -+ test_load_env_file_4(); - test_install_printf(); - - return 0; --- -1.8.2.1 - diff --git a/core/systemd/0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch b/core/systemd/0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch deleted file mode 100644 index 19edce5f4..000000000 --- a/core/systemd/0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d378991747d67fff1d4dc39e7fb2bc8f49f1b561 Mon Sep 17 00:00:00 2001 -From: Mirco Tischler -Date: Sat, 13 Apr 2013 01:03:49 +0200 -Subject: [PATCH] journal: fix broken tags _SOURCE_REALTIME_TIMESTAMP and - _MACHINE_ID - ---- - src/journal/journald-server.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 53e3830..be84323 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -538,7 +538,7 @@ static void dispatch_message_real( - char pid[sizeof("_PID=") + DECIMAL_STR_MAX(ucred->pid)], - uid[sizeof("_UID=") + DECIMAL_STR_MAX(ucred->uid)], - gid[sizeof("_GID=") + DECIMAL_STR_MAX(ucred->gid)], -- source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=" + DECIMAL_STR_MAX(usec_t))], -+ source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)], - boot_id[sizeof("_BOOT_ID=") + 32] = "_BOOT_ID=", - machine_id[sizeof("_MACHINE_ID=") + 32] = "_MACHINE_ID="; - -@@ -699,7 +699,7 @@ static void dispatch_message_real( - - r = sd_id128_get_machine(&id); - if (r >= 0) { -- sd_id128_to_string(id, machine_id + sizeof("_MACHINE_ID") - 1); -+ sd_id128_to_string(id, machine_id + sizeof("_MACHINE_ID=") - 1); - IOVEC_SET_STRING(iovec[n++], machine_id); - } - --- -1.8.2.1 - diff --git a/core/systemd/0001-logind-avoid-creating-stale-session-state-files.patch b/core/systemd/0001-logind-avoid-creating-stale-session-state-files.patch deleted file mode 100644 index 9cac29b77..000000000 --- a/core/systemd/0001-logind-avoid-creating-stale-session-state-files.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 50fb97935d689a520251b2d543599be14bdfd0ed Mon Sep 17 00:00:00 2001 -From: Fedora systemd team -Date: Wed, 10 Apr 2013 09:49:24 +0200 -Subject: [PATCH] logind: avoid creating stale session state files - -There were old session state files accumulating in /run/systemd/session. -They confused e.g. "reboot", which thought there were still users logged -in. The files got created like this: - -session_stop(Session *s) -> - ... - unlink(s->state_file); - ... - seat_set_active(s->seat, NULL) -> - session_save(...); /* re-creates the state file we just - unlinked */ - -Fix it simply by clearing the s->started flag earlier to prevent -any further writes of the state file (session_save() checks the flag). ---- - src/login/logind-session.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/login/logind-session.c b/src/login/logind-session.c -index 508336d..e2f41d3 100644 ---- a/src/login/logind-session.c -+++ b/src/login/logind-session.c -@@ -710,6 +710,8 @@ int session_stop(Session *s) { - if (s->started) - session_send_signal(s, false); - -+ s->started = false; -+ - if (s->seat) { - if (s->seat->active == s) - seat_set_active(s->seat, NULL); -@@ -721,8 +723,6 @@ int session_stop(Session *s) { - user_send_changed(s->user, "Sessions\0"); - user_save(s->user); - -- s->started = false; -- - return r; - } - --- -1.8.2.1 - diff --git a/core/systemd/0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch b/core/systemd/0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch new file mode 100644 index 000000000..24dd6d766 --- /dev/null +++ b/core/systemd/0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch @@ -0,0 +1,36 @@ +From 1e335af70f29d1a1e9c132338aa35b8971934441 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Fri, 19 Apr 2013 16:31:25 -0400 +Subject: [PATCH] nss-myhostname: ensure that glibc's assert is used + +--- + src/nss-myhostname/nss-myhostname.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c +index 16ccb3e..8699098 100644 +--- a/src/nss-myhostname/nss-myhostname.c ++++ b/src/nss-myhostname/nss-myhostname.c +@@ -25,7 +25,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -35,6 +34,11 @@ + #include "macro.h" + #include "util.h" + ++/* Ensure that glibc's assert is used. We cannot use assert from macro.h, as ++ * libnss_myhostname will be linked into arbitrary programs which will, in turn ++ * attempt to write to the journal via log_dispatch() */ ++#include ++ + /* We use 127.0.0.2 as IPv4 address. This has the advantage over + * 127.0.0.1 that it can be translated back to the local hostname. For + * IPv6 we use ::1 which unfortunately will not translate back to the +-- +1.8.2.1 + diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index 360aec4fd..9ba7c9f71 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -3,7 +3,7 @@ pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') -pkgver=201 +pkgver=202 pkgrel=2 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" @@ -16,17 +16,13 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' 'initcpio-install-udev' 'initcpio-install-timestamp' - '0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch' - '0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch' - '0001-logind-avoid-creating-stale-session-state-files.patch' + '0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch' 'use-split-usr-path.patch') -md5sums=('3e758392ff0e9206b3f7ee252b4a654b' +md5sums=('3136c6912d3ee1f6d4deb16234783731' 'e99e9189aa2f6084ac28b8ddf605aeb8' 'fb37e34ea006c79be1c54cbb0f803414' 'df69615503ad293c9ddf9d8b7755282d' - 'd575a29ca735944aa45126ab9d3087a5' - '8170482f10bb0420770a64dce23975bc' - 'b1355aae98071e83fca27549a0ac3def' + '3090c0b9b19b76731b4cf9c01c10c534' '76bf83fe34c5b40533abc5dc940576a6') prepare() { @@ -35,9 +31,7 @@ prepare() { # hang onto this until we do the /{,s}bin merge patch -Np1 <"$srcdir/use-split-usr-path.patch" - patch -Np1 <"$srcdir/0001-fileio-in-envfiles-do-not-skip-lines-following-empty.patch" - patch -Np1 <"$srcdir/0001-journal-fix-broken-tags-_SOURCE_REALTIME_TIMESTAMP-a.patch" - patch -Np1 <"$srcdir/0001-logind-avoid-creating-stale-session-state-files.patch" + patch -Np1 <"$srcdir/0001-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch" } build() { @@ -67,7 +61,9 @@ package_systemd() { pkgdesc="system and service manager" depends=('acl' 'bash' 'dbus-core' 'glib2' 'kbd' 'kmod' 'hwids' 'libcap' 'libgcrypt' 'pam' 'util-linux' 'xz') - provides=("libsystemd=$pkgver" 'nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver") + provides=("libsystemd=$pkgver" 'nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver" + 'libgudev-1.0.so' 'libsystemd-daemon.so' 'libsystemd-id128.so' + 'libsystemd-journal.so' 'libsystemd-login.so' 'libudev.so') replaces=('libsystemd' 'nss-myhostname' 'systemd-tools' 'udev') conflicts=('libsystemd' 'nss-myhostname' 'systemd-tools' 'udev') optdepends=('cryptsetup: required for encrypted block devices' -- cgit v1.2.3-54-g00ecf