SHA256
1
0
forked from pool/systemd
systemd/handle-disable_caplock-and-compose_table-and-kbd_rate.patch

217 lines
7.5 KiB
Diff
Raw Normal View History

Original-From: Frederic Crozat <fcrozat@suse.com>
Original-Date: Fri, 19 Aug 2011 15:29:49 +0000
Subject: handle disable_caplock and compose_table and kbd_rate
References: https://bugzilla.opensuse.org/746595
Last-Editor: Jan Engelhardt <jengelh@inai.de>
Date: Fri Jun 19 21:36:27 CEST 2015
---
src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 147 insertions(+), 4 deletions(-)
Index: systemd-228/src/vconsole/vconsole-setup.c
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
===================================================================
--- systemd-228.orig/src/vconsole/vconsole-setup.c
+++ systemd-228/src/vconsole/vconsole-setup.c
@@ -34,6 +34,8 @@
#include "alloc-util.h"
#include "fd-util.h"
#include "fileio.h"
+#include "macro.h"
+#include "strv.h"
#include "io-util.h"
#include "locale-util.h"
#include "log.h"
@@ -104,8 +106,10 @@ static int enable_utf8(int fd) {
return r;
}
-static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) {
- const char *args[8];
+static int keyboard_load_and_wait(const char *vc, const char *map,
+ const char *map_toggle, bool utf8, bool disable_capslock)
+{
+ const char *args[9];
int i = 0, r;
pid_t pid;
@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const
args[i++] = map;
if (map_toggle)
args[i++] = map_toggle;
+ if (disable_capslock)
+ args[i++] = "disable.capslock";
args[i++] = NULL;
pid = fork();
@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd)
}
}
+#ifdef HAVE_SYSV_COMPAT
+static int compose_load_and_wait(const char *vc, const char *compose_table)
+{
+ const char *args[1024];
+ unsigned int i = 0, j = 0;
+ int ret;
+ pid_t pid;
+ char **strv_compose_table = NULL;
Accepting request 96123 from home:fcrozat:systemd - Remove storage-after-cryptsetup.service, add storage-after-cryptsetup.patch instead to prevent dependency cycle (bnc#722539). - Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure fsck/cryptsetup is run after lvm/md/dmraid have landed (bnc#724912). - Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). - Add do_not_warn_pidfile.patch: Fix PID warning in logs (bnc#732912). - Add mount-swap-log.patch: Ensure swap and mount output is redirected to default log target (rhb#750032). - Add color-on-boot.patch: ensure colored status are displayed at boot time. - Update modules_on_boot.patch to fix bnc#732041. - Replace private_tmp_crash.patch with log_on_close.patch, better upstream fix for bnc#699829 and fix bnc#731719. - Update vconsole patch to fix memleaks and crash (bnc#734527). - Add handle-racy-daemon.patch: fix warnings with sendmail (bnc#732912). - Add new-lsb-headers.patch: support PIDFile: and X-Systemd-RemainAfterExit: header in initscript (bnc#727771). - Update bootsplash services to not start if vga= is missing from cmdline (bnc#727771) - Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). - Add garbage_collect_units: ensure error units are correctly garbage collected (rhb#680122). - Add crypt-loop-file.patch: add support for crypt file loop (bnc#730496). OBS-URL: https://build.opensuse.org/request/show/96123 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=228
2011-12-09 15:44:59 +01:00
+ char *to_free[1024];
+
+ if (isempty(compose_table))
+ /* An empty map means no compose table */
+ return 1;
+
+ args[i++] = KBD_LOADKEYS;
+ args[i++] = "-q";
+ args[i++] = "-C";
+ args[i++] = vc;
+
+ strv_compose_table = strv_split(compose_table, WHITESPACE);
+ if (strv_compose_table) {
+ bool compose_loaded = false;
+ bool compose_clear = false;
+ char **name;
+ char *arg;
+
+ STRV_FOREACH(name, strv_compose_table) {
+ if (streq(*name, "-c") || streq(*name, "clear")) {
+ compose_clear = true;
+ continue;
+ }
+ if (!compose_loaded && compose_clear)
+ args[i++] = "-c";
+ asprintf(&arg, "compose.%s", *name);
+ compose_loaded = true;
Accepting request 96123 from home:fcrozat:systemd - Remove storage-after-cryptsetup.service, add storage-after-cryptsetup.patch instead to prevent dependency cycle (bnc#722539). - Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure fsck/cryptsetup is run after lvm/md/dmraid have landed (bnc#724912). - Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). - Add do_not_warn_pidfile.patch: Fix PID warning in logs (bnc#732912). - Add mount-swap-log.patch: Ensure swap and mount output is redirected to default log target (rhb#750032). - Add color-on-boot.patch: ensure colored status are displayed at boot time. - Update modules_on_boot.patch to fix bnc#732041. - Replace private_tmp_crash.patch with log_on_close.patch, better upstream fix for bnc#699829 and fix bnc#731719. - Update vconsole patch to fix memleaks and crash (bnc#734527). - Add handle-racy-daemon.patch: fix warnings with sendmail (bnc#732912). - Add new-lsb-headers.patch: support PIDFile: and X-Systemd-RemainAfterExit: header in initscript (bnc#727771). - Update bootsplash services to not start if vga= is missing from cmdline (bnc#727771) - Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). - Add garbage_collect_units: ensure error units are correctly garbage collected (rhb#680122). - Add crypt-loop-file.patch: add support for crypt file loop (bnc#730496). OBS-URL: https://build.opensuse.org/request/show/96123 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=228
2011-12-09 15:44:59 +01:00
+ args[i++] = to_free[j++] = arg;
+ if (i >= ELEMENTSOF(args) - 1)
+ break;
+ }
+ strv_free(strv_compose_table);
+ }
+ args[i++] = NULL;
+
+ pid = fork();
+ if (pid < 0)
+ return log_error_errno(errno, "Failed to fork: %m");
+ if (pid == 0) {
+ reset_all_signal_handlers();
+ reset_signal_mask();
+ execv(args[0], (char **) args);
+ _exit(EXIT_FAILURE);
+ }
+
+ ret = wait_for_terminate_and_warn(args[0], pid, true);
+ for (i = 0; i < j; ++i)
+ free(to_free[i]);
+ if (ret < 0)
+ return ret;
+ return ret == 0;
+}
+#endif
+
+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate,
+ const char *kbd_delay)
+{
+ const char *args[7];
+ int i = 0, ret;
+ pid_t pid;
+
+ if (isempty(kbd_rate) && isempty(kbd_delay))
+ return 1;
+
+ args[i++] = "/bin/kbdrate";
+ if (!isempty(kbd_rate)) {
+ args[i++] = "-r";
+ args[i++] = kbd_rate;
+ }
+ if (!isempty(kbd_delay)) {
+ args[i++] = "-d";
+ args[i++] = kbd_delay;
+ }
+ args[i++] = "-s";
+ args[i++] = NULL;
+
+ pid = fork();
+ if (pid < 0)
+ return log_error_errno(errno, "Failed to fork: %m");
+ if (pid == 0) {
+ reset_all_signal_handlers();
+ reset_signal_mask();
+ execv(args[0], (char **) args);
+ _exit(EXIT_FAILURE);
+ }
+ ret = wait_for_terminate_and_warn(args[0], pid, true);
+ if (ret < 0)
+ return ret;
+ return ret == 0;
+}
+
int main(int argc, char **argv) {
const char *vc;
_cleanup_free_ char
*vc_keymap = NULL, *vc_keymap_toggle = NULL,
*vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
+#ifdef HAVE_SYSV_COMPAT
+ _cleanup_free_ char
+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
+#endif
+ bool disable_capslock = false;
+ bool comp_ok, rate_ok;
_cleanup_close_ int fd = -1;
bool utf8, font_copy = false, font_ok, keyboard_ok;
int r = EXIT_FAILURE;
@@ -286,6 +398,31 @@ int main(int argc, char **argv) {
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
utf8 = is_locale_utf8();
+#ifdef HAVE_SYSV_COMPAT
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE,
+ "KEYTABLE", &vc_keymap,
+ "KBD_DELAY", &vc_kbd_delay,
+ "KBD_RATE", &vc_kbd_rate,
+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
+ "COMPOSETABLE", &vc_compose_table,
+ NULL);
+ if (r < 0 && r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/keyboard: %s",
+ strerror(-r));
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
+
+ r = parse_env_file("/etc/sysconfig/console", NEWLINE,
+ "CONSOLE_FONT", &vc_font,
+ "CONSOLE_SCREENMAP", &vc_font_map,
+ "CONSOLE_UNICODEMAP", &vc_font_unimap,
+ NULL);
+ if (r < 0 && r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/console: %s",
+ strerror(-r));
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
+
+ disable_capslock = vc_kbd_disable_caps_lock &&
+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
+#endif /* HAVE_SYSV_COMPAT */
+
Accepting request 242209 from home:fcrozat:branches:Base:System - Update handle-disable_caplock-and-compose_table-and-kbd_rate.patch, handle-numlock-value-in-etc-sysconfig-keyboard.patch: read /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) otherwise empty value in /etc/sysconfig/keyboard might override /etc/vconsole.conf values. - Update : 0001-journal-compress-return-early-in-uncompress_startswi.patch 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch 0002-vconsole-setup-run-setfont-before-loadkeys.patch 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch apply-ACL-for-nvidia-device-nodes.patch keep-crypt-password-prompt.patch log-target-null-instead-kmsg.patch parse-crypttab-for-noauto-option.patch set-and-use-default-logconsole.patch: fix all warnings in code - Remove 0001-compress-fix-return-value.patch: not relevant to systemd v210 code. old: Base:System/systemd new: home:fcrozat:branches:Base:System/systemd rev None Index: 0001-core-close-socket-fds-asynchronously.patch =================================================================== --- 0001-core-close-socket-fds-asynchronously.patch (revision 729) +++ 0001-core-close-socket-fds-asynchronously.patch (revision 3) @@ -9,8 +9,10 @@ src/core/service.c | 5 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) ---- src/core/service.c -+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000 +Index: src/core/service.c +=================================================================== +--- src/core/service.c.orig ++++ src/core/service.c @@ -25,6 +25,7 @@ #include <unistd.h> #include <sys/reboot.h> @@ -37,8 +39,10 @@ s->socket_fd = fdset_remove(fds, fd); } } else if (streq(key, "main-exec-status-pid")) { ---- src/core/async.c -+++ src/core/async.c 2014-05-07 09:40:35.000000000 +0000 +Index: src/core/async.c +=================================================================== +--- src/core/async.c.orig ++++ src/core/async.c @@ -24,6 +24,7 @@ #include "async.h" @@ -74,3 +78,12 @@ + + return -1; +} +Index: src/core/async.h +=================================================================== +--- src/core/async.h.orig ++++ src/core/async.h +@@ -23,3 +23,4 @@ + + int asynchronous_job(void* (*func)(void *p), void *arg); + int asynchronous_sync(void); ++int asynchronous_close(int fd); Index: 0001-journal-compress-return-early-in-uncompress_startswi.patch =================================================================== --- 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 729) +++ 0001-journal-compress-return-early-in-uncompress_startswi.patch (revision 3) @@ -11,9 +11,19 @@ src/journal/compress.c | 91 ++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) ---- src/journal/compress.c -+++ src/journal/compress.c 2014-07-09 00:00:00.000000000 +0000 -@@ -69,10 +69,9 @@ fail: +Index: src/journal/compress.c +=================================================================== +--- src/journal/compress.c.orig ++++ src/journal/compress.c +@@ -25,6 +25,7 @@ + #include <lzma.h> + + #include "macro.h" ++#include "util.h" + #include "compress.h" + + bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t *dst_size) { +@@ -69,10 +70,9 @@ fail: bool uncompress_blob(const void *src, uint64_t src_size, void **dst, uint64_t *dst_alloc_size, uint64_t* dst_size, uint64_t dst_max) { @@ -25,7 +35,7 @@ assert(src); assert(src_size > 0); -@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui +@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui if (ret != LZMA_OK) return false; @@ -40,7 +50,7 @@ - *dst_alloc_size = src_size*2; - } + space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; s.next_in = src; @@ -56,7 +66,7 @@ ret = lzma_code(&s, LZMA_FINISH); -@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui +@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui break; if (ret != LZMA_OK) @@ -78,7 +88,7 @@ - space *= 2; + used = space - s.avail_out; + space = MIN(2 * space, dst_max ?: (uint64_t) -1); -+ if (!greedy_realloc(dst, dst_alloc_size, space, 1)) ++ if (!greedy_realloc(dst, dst_alloc_size, space)) + return false; - *dst = p; @@ -98,7 +108,7 @@ } bool uncompress_startswith(const void *src, uint64_t src_size, -@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s +@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s const void *prefix, uint64_t prefix_len, uint8_t extra) { @@ -109,7 +119,7 @@ /* Checks whether the uncompressed blob starts with the * mentioned prefix. The byte extra needs to follow the -@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s +@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s if (ret != LZMA_OK) return false; @@ -123,12 +133,12 @@ - *buffer = p; - *buffer_size = prefix_len*2; - } -+ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1))) + return false; s.next_in = src; s.avail_in = src_size; -@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s +@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s s.avail_out = *buffer_size; for (;;) { @@ -167,7 +177,7 @@ - -fail: - lzma_end(&s); -+ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 1))) ++ if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2))) + return false; - return b; Index: 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch =================================================================== --- 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 729) +++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch (revision 3) @@ -12,11 +12,11 @@ src/shared/util.h | 5 +++-- 5 files changed, 18 insertions(+), 15 deletions(-) -diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c -index 14629dd..514554d 100644 ---- src/hostname/hostnamed.c +Index: src/hostname/hostnamed.c +=================================================================== +--- src/hostname/hostnamed.c.orig +++ src/hostname/hostnamed.c -@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, sd_bus_message *m, int prop +@@ -507,8 +507,7 @@ static int set_machine_info(Context *c, if (prop == PROP_ICON_NAME && !filename_is_safe(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name); @@ -26,9 +26,9 @@ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name); if (prop == PROP_CHASSIS && !valid_chassis(name)) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name); -diff --git src/shared/env-util.c src/shared/env-util.c -index b2e4553..20b208f 100644 ---- src/shared/env-util.c +Index: src/shared/env-util.c +=================================================================== +--- src/shared/env-util.c.orig +++ src/shared/env-util.c @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) { if (!utf8_is_valid(e)) @@ -41,11 +41,11 @@ return false; /* POSIX says the overall size of the environment block cannot -diff --git src/shared/fileio.c src/shared/fileio.c -index fb1c1bc..b1de590 100644 ---- src/shared/fileio.c +Index: src/shared/fileio.c +=================================================================== +--- src/shared/fileio.c.orig +++ src/shared/fileio.c -@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) { +@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const p++; fwrite(v, 1, p-v, f); @@ -54,11 +54,11 @@ fputc('\"', f); for (; *p; p++) { -diff --git src/shared/util.c src/shared/util.c -index d25ee66..d223ecf 100644 ---- src/shared/util.c +Index: src/shared/util.c +=================================================================== +--- src/shared/util.c.orig +++ src/shared/util.c -@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) { +@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) { bool string_is_safe(const char *p) { const char *t; @@ -78,7 +78,7 @@ return false; } -@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) { +@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) { } /** @@ -102,21 +102,11 @@ return true; if (*t == 127) -diff --git src/shared/util.h src/shared/util.h -index e23069c..8544940 100644 ---- src/shared/util.h +Index: src/shared/util.h +=================================================================== +--- src/shared/util.h.orig +++ src/shared/util.h -@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype); - int chvt(int vt); - - int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); --int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_char(char *ret, const char *replies, const char *text, ...) _printf_(3, 4); -+int ask_string(char **ret, const char *text, ...) _printf_(2, 3); - - int reset_terminal_fd(int fd, bool switch_to_text); - int reset_terminal(const char *name); -@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const void *p, size_t a, size_ +@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup bool filename_is_safe(const char *p) _pure_; bool path_is_safe(const char *p) _pure_; bool string_is_safe(const char *p) _pure_; @@ -125,6 +115,3 @@ /** * Check if a string contains any glob patterns. --- -1.7.9.2 - Index: 0002-vconsole-setup-run-setfont-before-loadkeys.patch =================================================================== --- 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 729) +++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch (revision 3) @@ -16,8 +16,10 @@ src/vconsole/vconsole-setup.c | 93 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 46 deletions(-) ---- src/vconsole/vconsole-setup.c -+++ src/vconsole/vconsole-setup.c 2014-07-07 12:30:27.390235226 +0000 +Index: src/vconsole/vconsole-setup.c +=================================================================== +--- src/vconsole/vconsole-setup.c.orig ++++ src/vconsole/vconsole-setup.c @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc, int main(int argc, char **argv) { @@ -66,14 +68,10 @@ } utf8 = is_locale_utf8(); -@@ -464,61 +461,65 @@ int main(int argc, char **argv) { - } else - #endif - numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); -- - #endif +@@ -464,58 +461,62 @@ int main(int argc, char **argv) { + if (r < 0 && r != -ENOENT) + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT +finish: + r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); @@ -81,81 +79,84 @@ + log_error("Failed to start /bin/kbdrate: %s", strerror(-r)); + return EXIT_FAILURE; + } -+#endif + ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif + if (utf8) enable_utf8(fd); else disable_utf8(fd); - r = EXIT_FAILURE; +- +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && +-#ifdef HAVE_SYSV_COMPAT +- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && +- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && +-#endif +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; + r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); + if (r < 0) { + log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); + return EXIT_FAILURE; + } -+ + +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); +- if (numlock) +- touch("/run/numlock-on"); +- else +- unlink("/run/numlock-on"); + if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); -- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && #ifdef HAVE_SYSV_COMPAT -- load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && -- set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && + r = load_compose_table(vc, vc_compose_table, &compose_table_pid); + if (r < 0) { -+ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); -+ return EXIT_FAILURE; -+ } -+ -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - #endif -- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) -- r = EXIT_SUCCESS; - --finish: -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); -+ if (r < 0) { + log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); + return EXIT_FAILURE; + } + - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); -+ -+#ifdef HAVE_SYSV_COMPAT - if (numlock) - touch("/run/numlock-on"); - else - unlink("/run/numlock-on"); - --#ifdef HAVE_SYSV_COMPAT -- if (compose_table_pid > 0) -- wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); + if (compose_table_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); - - if (kbd_rate_pid > 0) - wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); +- if (kbd_rate_pid > 0) +- wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); #endif - if (font_pid > 0) { - wait_for_terminate_and_warn(KBD_SETFONT, font_pid); - if (font_copy) - font_copy_to_all_vcs(fd); -- } -- ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + - free(vc_keymap); - free(vc_font); - free(vc_font_map); - free(vc_font_unimap); - free(vc_kbd_numlock); --#ifdef HAVE_SYSV_COMPAT ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ + #ifdef HAVE_SYSV_COMPAT - free(vc_kbd_delay); - free(vc_kbd_rate); - free(vc_kbd_disable_caps_lock); - free(vc_compose_table); --#endif -- ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + #endif + - if (fd >= 0) - close_nointr_nofail(fd); + /* Only copy the font when we started setfont successfully */ Index: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch =================================================================== --- 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 729) +++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch (revision 3) @@ -9,9 +9,9 @@ src/core/load-dropin.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) -diff --git src/core/load-dropin.c src/core/load-dropin.c -index 546e560..f2ffc97 100644 ---- src/core/load-dropin.c +Index: src/core/load-dropin.c +=================================================================== +--- src/core/load-dropin.c.orig +++ src/core/load-dropin.c @@ -58,6 +58,7 @@ static int iterate_dir( if (errno == ENOENT) @@ -21,16 +21,15 @@ return -errno; } -@@ -101,7 +102,7 @@ static int process_dir( +@@ -101,7 +102,6 @@ static int process_dir( char ***strv) { _cleanup_free_ char *path = NULL; - int r; -+ int r, q; assert(u); assert(unit_path); -@@ -112,11 +113,8 @@ static int process_dir( +@@ -112,11 +112,8 @@ static int process_dir( if (!path) return log_oom(); @@ -44,7 +43,7 @@ if (u->instance) { _cleanup_free_ char *template = NULL, *p = NULL; -@@ -130,11 +128,8 @@ static int process_dir( +@@ -130,11 +127,8 @@ static int process_dir( if (!p) return log_oom(); @@ -58,7 +57,7 @@ } return 0; -@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { +@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) { SET_FOREACH(t, u->names, i) { char **p; @@ -73,7 +72,15 @@ } if (strv_isempty(strv)) -@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { +@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) { + int unit_load_dropin(Unit *u) { + Iterator i; + char *t, **f; +- int r; + + assert(u); + +@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) { char **p; STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { @@ -89,7 +96,7 @@ } } -@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { +@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) { return 0; STRV_FOREACH(f, u->dropin_paths) { @@ -104,6 +111,3 @@ } u->dropin_mtime = now(CLOCK_REALTIME); --- -1.7.9.2 - Index: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch =================================================================== --- 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 729) +++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch (revision 3) @@ -9,9 +9,19 @@ src/shared/path-util.c | 26 +++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) ---- src/fsck/fsck.c -+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000 -@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) { +Index: src/fsck/fsck.c +=================================================================== +--- src/fsck/fsck.c.orig ++++ src/fsck/fsck.c +@@ -37,6 +37,7 @@ + #include "bus-errors.h" + #include "fileio.h" + #include "udev-util.h" ++#include "path-util.h" + + static bool arg_skip = false; + static bool arg_force = false; +@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) { type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); if (type) { @@ -50,8 +60,10 @@ } } ---- src/shared/path-util.c -+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000 +Index: src/shared/path-util.c +=================================================================== +--- src/shared/path-util.c.orig ++++ src/shared/path-util.c @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) { int find_binary(const char *name, char **filename) { Index: apply-ACL-for-nvidia-device-nodes.patch =================================================================== --- apply-ACL-for-nvidia-device-nodes.patch (revision 729) +++ apply-ACL-for-nvidia-device-nodes.patch (revision 3) @@ -7,18 +7,20 @@ logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---- systemd-209/src/login/logind-acl.c -+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000 +Index: systemd-210/src/login/logind-acl.c +=================================================================== +--- systemd-210.orig/src/login/logind-acl.c ++++ systemd-210/src/login/logind-acl.c @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev, r = k; } + /* only apply ACL on nvidia* if /dev/nvidiactl exists */ + if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) >= 0) { -+ int i; -+ for (i = 0; i <= 256 ; i++) { ++ int j; ++ for (j = 0; j <= 256 ; j++) { + _cleanup_free_ char *devname = NULL; -+ if (asprintf(&devname, "/dev/nvidia%d", i) < 0) ++ if (asprintf(&devname, "/dev/nvidia%d", j) < 0) + break; + if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) + break; Index: handle-disable_caplock-and-compose_table-and-kbd_rate.patch =================================================================== --- handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 729) +++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch (revision 3) @@ -7,8 +7,10 @@ src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -156,38 +158,36 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -276,13 +382,43 @@ int main(int argc, char **argv) { - log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); - } +@@ -251,6 +357,28 @@ int main(int argc, char **argv) { + + utf8 = is_locale_utf8(); -+ if (r <= 0) { +#ifdef HAVE_SYSV_COMPAT -+ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, -+ "KEYTABLE", &vc_keymap, -+ "KBD_DELAY", &vc_kbd_delay, -+ "KBD_RATE", &vc_kbd_rate, -+ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "COMPOSETABLE", &vc_compose_table, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); -+ -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLE_FONT", &vc_font, -+ "CONSOLE_SCREENMAP", &vc_font_map, -+ "CONSOLE_UNICODEMAP", &vc_font_unimap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); -+ -+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#endif -+ } + - if (utf8) - enable_utf8(fd); - else + r = parse_env_file("/etc/vconsole.conf", NEWLINE, + "KEYMAP", &vc_keymap, + "KEYMAP_TOGGLE", &vc_keymap_toggle, +@@ -282,7 +410,12 @@ int main(int argc, char **argv) { disable_utf8(fd); r = EXIT_FAILURE; @@ -201,7 +201,7 @@ font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) r = EXIT_SUCCESS; -@@ -290,6 +426,14 @@ finish: +@@ -290,6 +423,14 @@ finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -216,7 +216,7 @@ if (font_pid > 0) { wait_for_terminate_and_warn(KBD_SETFONT, font_pid); if (font_copy) -@@ -300,6 +444,12 @@ finish: +@@ -300,6 +441,12 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); Index: handle-numlock-value-in-etc-sysconfig-keyboard.patch =================================================================== --- handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 729) +++ handle-numlock-value-in-etc-sysconfig-keyboard.patch (revision 3) @@ -6,8 +6,10 @@ Stanislav Brabec <sbrabec@suse.cz> Cristian Rodríguez <crrodriguez@opensuse.org> ---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c -+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c +Index: systemd-210/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-210.orig/src/vconsole/vconsole-setup.c ++++ systemd-210/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -34,18 +36,18 @@ pid_t font_pid = 0, keymap_pid = 0; bool font_copy = false; int r = EXIT_FAILURE; -@@ -389,6 +395,7 @@ int main(int argc, char **argv) { - "KBD_DELAY", &vc_kbd_delay, - "KBD_RATE", &vc_kbd_rate, - "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, -+ "KBD_NUMLOCK", &vc_kbd_numlock, - "COMPOSETABLE", &vc_compose_table, - NULL); - if (r < 0 && r != -ENOENT) -@@ -403,6 +410,36 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -363,6 +369,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -377,6 +384,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; +#if defined(__i386__) || defined(__x86_64__) + if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { + int _cleanup_close_ fdmem; @@ -76,10 +78,10 @@ + } else +#endif + numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif - } -@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + + r = parse_env_file("/etc/vconsole.conf", NEWLINE, +@@ -422,6 +459,10 @@ int main(int argc, char **argv) { finish: if (keymap_pid > 0) wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); @@ -90,7 +92,7 @@ #ifdef HAVE_SYSV_COMPAT if (compose_table_pid > 0) -@@ -444,6 +485,7 @@ finish: +@@ -441,6 +482,7 @@ finish: free(vc_font); free(vc_font_map); free(vc_font_unimap); @@ -98,9 +100,11 @@ #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); ---- systemd-206_git201308300826.orig/Makefile.am -+++ systemd-206_git201308300826/Makefile.am -@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ +Index: systemd-210/Makefile.am +=================================================================== +--- systemd-210.orig/Makefile.am ++++ systemd-210/Makefile.am +@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -120,8 +124,10 @@ if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ +Index: systemd-210/rules/73-seat-numlock.rules +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/rules/73-seat-numlock.rules ++++ systemd-210/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -131,8 +137,10 @@ +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" +Index: systemd-210/src/login/numlock-on.c +=================================================================== --- /dev/null -+++ systemd-206_git201308300826/src/login/numlock-on.c ++++ systemd-210/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -168,8 +176,10 @@ + + exit(0); +} ---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in -+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in +Index: systemd-210/units/systemd-vconsole-setup.service.in +=================================================================== +--- systemd-210.orig/units/systemd-vconsole-setup.service.in ++++ systemd-210/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target Index: keep-crypt-password-prompt.patch =================================================================== --- keep-crypt-password-prompt.patch (revision 729) +++ keep-crypt-password-prompt.patch (revision 3) @@ -1,6 +1,8 @@ ---- systemd-210/src/core/manager.c 2014-05-05 11:46:17.700483956 +0200 -+++ systemd-210/src/core/manager.c 2014-05-05 13:29:13.296503646 +0200 -@@ -152,6 +152,29 @@ +Index: systemd-210/src/core/manager.c +=================================================================== +--- systemd-210.orig/src/core/manager.c ++++ systemd-210/src/core/manager.c +@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m } } @@ -30,13 +32,13 @@ static void manager_print_jobs_in_progress(Manager *m) { static int is_ansi_console = -1; _cleanup_free_ char *job_of_n = NULL; -@@ -195,6 +217,10 @@ +@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre m->jobs_in_progress_iteration++; + //don't overwrite the crypt password prompt with job status messages -+ if (check_for_password_prompt() == 0); -+ return 0; ++ if (check_for_password_prompt() == 0) ++ return; + if (m->n_running_jobs > 1) if (asprintf(&job_of_n, "(%u of %u) ", counter, m->n_running_jobs) < 0) Index: log-target-null-instead-kmsg.patch =================================================================== --- log-target-null-instead-kmsg.patch (revision 729) +++ log-target-null-instead-kmsg.patch (revision 3) @@ -5,15 +5,15 @@ src/shared/util.c | 6 +++++- 4 files changed, 50 insertions(+), 4 deletions(-) ---- systemd-210/src/journal/journald-kmsg.c -+++ systemd-210/src/journal/journald-kmsg.c 2014-05-09 07:35:02.880122386 +0000 -@@ -391,12 +391,26 @@ +Index: systemd-210/src/journal/journald-kmsg.c +=================================================================== +--- systemd-210.orig/src/journal/journald-kmsg.c ++++ systemd-210/src/journal/journald-kmsg.c +@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so return server_read_dev_kmsg(s); } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -35,15 +35,15 @@ if (s->dev_kmsg_fd < 0) { log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, "Failed to open /dev/kmsg, ignoring: %m"); ---- systemd-210/src/libudev/libudev-util.c -+++ systemd-210/src/libudev/libudev-util.c 2014-05-09 07:35:28.304122530 +0000 -@@ -416,6 +416,15 @@ +Index: systemd-210/src/libudev/libudev-util.c +=================================================================== +--- systemd-210.orig/src/libudev/libudev-util.c ++++ systemd-210/src/libudev/libudev-util.c +@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char return bits; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -53,7 +53,7 @@ ssize_t print_kmsg(const char *fmt, ...) { _cleanup_close_ int fd = -1; -@@ -424,7 +433,12 @@ +@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...) ssize_t len; ssize_t ret; @@ -67,15 +67,15 @@ if (fd < 0) return -errno; ---- systemd-210/src/shared/log.c -+++ systemd-210/src/shared/log.c 2014-05-09 07:35:52.900122669 +0000 -@@ -92,12 +92,26 @@ +Index: systemd-210/src/shared/log.c +=================================================================== +--- systemd-210.orig/src/shared/log.c ++++ systemd-210/src/shared/log.c +@@ -92,12 +92,24 @@ void log_close_kmsg(void) { kmsg_fd = -1; } +static int parse_proc_cmdline_word(const char *word) { -+ int r; -+ + if (streq(word, "systemd.log_target=null")) + return -115; + @@ -97,9 +97,11 @@ if (kmsg_fd < 0) return -errno; ---- systemd-210/src/shared/util.c -+++ systemd-210/src/shared/util.c 2014-05-09 08:51:55.436148462 +0000 -@@ -5975,7 +5975,11 @@ +Index: systemd-210/src/shared/util.c +=================================================================== +--- systemd-210.orig/src/shared/util.c ++++ systemd-210/src/shared/util.c +@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word) r = parse_word(word); if (r < 0) { Index: parse-crypttab-for-noauto-option.patch =================================================================== --- parse-crypttab-for-noauto-option.patch (revision 729) +++ parse-crypttab-for-noauto-option.patch (revision 3) @@ -2,23 +2,22 @@ src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) ---- systemd-210/src/fstab-generator/fstab-generator.c -+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000 -@@ -37,6 +37,53 @@ +Index: systemd-210/src/fstab-generator/fstab-generator.c +=================================================================== +--- systemd-210.orig/src/fstab-generator/fstab-generator.c ++++ systemd-210/src/fstab-generator/fstab-generator.c +@@ -37,6 +37,50 @@ static const char *arg_dest = "/tmp"; static bool arg_enabled = true; +static int check_crypttab(const char *what) { + _cleanup_fclose_ FILE *f = NULL; + unsigned n = 0; -+ int r; + + f = fopen("/etc/crypttab", "re"); + if (!f) { -+ if (errno == ENOENT) -+ r = EXIT_SUCCESS; -+ else -+ log_error("Failed to open /etc/crypttab: %m"); ++ if (errno != ENOENT) ++ log_error("Failed to open /etc/crypttab: %m"); + + return 1; + } @@ -58,7 +57,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { char *end, *pri; unsigned long r; -@@ -212,7 +259,7 @@ +@@ -212,7 +256,7 @@ static int add_mount( *name = NULL, *unit = NULL, *lnk = NULL, *automount_name = NULL, *automount_unit = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -67,7 +66,7 @@ assert(what); assert(where); -@@ -286,7 +333,8 @@ +@@ -288,7 +332,8 @@ static int add_mount( return -errno; } Index: set-and-use-default-logconsole.patch =================================================================== --- set-and-use-default-logconsole.patch (revision 729) +++ set-and-use-default-logconsole.patch (revision 3) @@ -6,8 +6,10 @@ src/journal/journald-server.c | 5 ++ 3 files changed, 105 insertions(+) ---- src/journal/journald-console.c -+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000 +Index: src/journal/journald-console.c +=================================================================== +--- src/journal/journald-console.c.orig ++++ src/journal/journald-console.c @@ -23,6 +23,14 @@ #include <fcntl.h> #include <unistd.h> @@ -68,7 +70,7 @@ + return; + + if (access(vc, F_OK) < 0) -+ return false; ++ return; + + fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC); + if (fd < 0) @@ -98,17 +100,17 @@ void server_forward_console( Server *s, int priority, -@@ -63,6 +139,10 @@ void server_forward_console( - +@@ -64,6 +140,10 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; -+ + + /* Do not write security/authorization (private) messages to console */ + if (priority & LOG_AUTHPRIV) + return; - ++ /* First: timestamp */ if (prefix_timestamp()) { + assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); @@ -101,7 +181,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { @@ -133,8 +135,10 @@ } if (writev(fd, iovec, n) < 0) ---- src/journal/journald-console.h -+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000 +Index: src/journal/journald-console.h +=================================================================== +--- src/journal/journald-console.h.orig ++++ src/journal/journald-console.h @@ -24,3 +24,7 @@ #include "journald-server.h" @@ -143,8 +147,10 @@ +void klogconsole(Server *s); +void defaul_tty_path(Server *s); +#endif ---- src/journal/journald-server.c -+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000 +Index: src/journal/journald-server.c +=================================================================== +--- src/journal/journald-server.c.orig ++++ src/journal/journald-server.c @@ -1509,6 +1509,11 @@ int server_init(Server *s) { server_parse_config_file(s); Index: systemd-mini.changes =================================================================== --- systemd-mini.changes (revision 729) +++ systemd-mini.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd-mini.spec =================================================================== --- systemd-mini.spec (revision 729) +++ systemd-mini.spec (revision 3) @@ -709,8 +709,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1340,7 +1338,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: systemd.changes =================================================================== --- systemd.changes (revision 729) +++ systemd.changes (revision 3) @@ -1,4 +1,27 @@ ------------------------------------------------------------------- +Thu Jul 24 13:05:42 UTC 2014 - fcrozat@suse.com + +- Update + handle-disable_caplock-and-compose_table-and-kbd_rate.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch: read + /etc/vconsole.conf after /etc/sysconfig/(keyboard,console) + otherwise empty value in /etc/sysconfig/keyboard might override + /etc/vconsole.conf values. +- Update : + 0001-journal-compress-return-early-in-uncompress_startswi.patch + 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch + 0002-vconsole-setup-run-setfont-before-loadkeys.patch + 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch + 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch + apply-ACL-for-nvidia-device-nodes.patch + keep-crypt-password-prompt.patch + log-target-null-instead-kmsg.patch + parse-crypttab-for-noauto-option.patch + set-and-use-default-logconsole.patch: fix all warnings in code +- Remove 0001-compress-fix-return-value.patch: not relevant to + systemd v210 code. + +------------------------------------------------------------------- Thu Jul 24 10:07:08 UTC 2014 - werner@suse.de - Also change udev-generate-peristent-rule to udev-generate-persistent-rule Index: systemd.spec =================================================================== --- systemd.spec (revision 729) +++ systemd.spec (revision 3) @@ -704,8 +704,6 @@ # PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 -Patch345: 0001-compress-fix-return-value.patch -# PATCH-FIX-UPSTREAM added at 2014/07/21 Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch # PATCH-FIX-UPSTREAM added at 2014/07/21 Patch347: 0003-Add-quotes-to-warning-message.patch @@ -1335,7 +1333,6 @@ %patch342 -p0 %patch343 -p0 %patch344 -p0 -%patch345 -p0 %patch346 -p0 %patch347 -p0 %patch348 -p0 Index: 0001-compress-fix-return-value.patch =================================================================== --- 0001-compress-fix-return-value.patch (revision 729) +++ 0001-compress-fix-return-value.patch (deleted) @@ -1,34 +0,0 @@ -From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Fri, 18 Jul 2014 21:44:36 -0400 -Subject: [PATCH] compress: fix return value - ---- - src/journal/compress.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git src/journal/compress.c src/journal/compress.c -index 316c1a6..ee18bc8 100644 ---- src/journal/compress.c -+++ src/journal/compress.c -@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - - space = MIN(src_size * 2, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.next_in = src; - s.avail_in = src_size; -@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size, - used = space - s.avail_out; - space = MIN(2 * space, dst_max ?: (uint64_t) -1); - if (!greedy_realloc(dst, dst_alloc_size, space, 1)) -- return false; -+ return -ENOMEM; - - s.avail_out = space - used; - s.next_out = *dst + used; --- -1.7.9.2 - OBS-URL: https://build.opensuse.org/request/show/242209 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
r = parse_env_file("/etc/vconsole.conf", NEWLINE,
"KEYMAP", &vc_keymap,
"KEYMAP_TOGGLE", &vc_keymap_toggle,
@@ -317,11 +454,17 @@ int main(int argc, char **argv) {
(void) disable_utf8(fd);
font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0;
- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0;
+ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle,
+ utf8, disable_capslock) > 0;
+#ifdef HAVE_SYSV_COMPAT
+ comp_ok = compose_load_and_wait(vc, vc_compose_table);
+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay);
+#endif
/* Only copy the font when we executed setfont successfully */
if (font_copy && font_ok)
(void) font_copy_to_all_vcs(fd);
Accepting request 96123 from home:fcrozat:systemd - Remove storage-after-cryptsetup.service, add storage-after-cryptsetup.patch instead to prevent dependency cycle (bnc#722539). - Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure fsck/cryptsetup is run after lvm/md/dmraid have landed (bnc#724912). - Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). - Add do_not_warn_pidfile.patch: Fix PID warning in logs (bnc#732912). - Add mount-swap-log.patch: Ensure swap and mount output is redirected to default log target (rhb#750032). - Add color-on-boot.patch: ensure colored status are displayed at boot time. - Update modules_on_boot.patch to fix bnc#732041. - Replace private_tmp_crash.patch with log_on_close.patch, better upstream fix for bnc#699829 and fix bnc#731719. - Update vconsole patch to fix memleaks and crash (bnc#734527). - Add handle-racy-daemon.patch: fix warnings with sendmail (bnc#732912). - Add new-lsb-headers.patch: support PIDFile: and X-Systemd-RemainAfterExit: header in initscript (bnc#727771). - Update bootsplash services to not start if vga= is missing from cmdline (bnc#727771) - Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and change default permissions on /var/lock (bnc#733523). - Add garbage_collect_units: ensure error units are correctly garbage collected (rhb#680122). - Add crypt-loop-file.patch: add support for crypt file loop (bnc#730496). OBS-URL: https://build.opensuse.org/request/show/96123 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=228
2011-12-09 15:44:59 +01:00
- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE;
+ return font_ok && keyboard_ok && comp_ok && rate_ok ?
+ EXIT_SUCCESS : EXIT_FAILURE;
}