2015-06-23 14:56:50 +02:00
|
|
|
Original-From: Frederic Crozat <fcrozat@suse.com>
|
|
|
|
Original-Date: Fri, 19 Aug 2011 15:29:49 +0000
|
2013-04-13 13:09:53 +02:00
|
|
|
Subject: handle disable_caplock and compose_table and kbd_rate
|
2015-06-23 14:56:50 +02:00
|
|
|
References: https://bugzilla.opensuse.org/746595
|
|
|
|
Last-Editor: Jan Engelhardt <jengelh@inai.de>
|
|
|
|
Date: Fri Jun 19 21:36:27 CEST 2015
|
2011-08-23 18:14:51 +02:00
|
|
|
|
|
|
|
---
|
2015-06-23 14:56:50 +02:00
|
|
|
src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++--
|
|
|
|
1 file changed, 147 insertions(+), 4 deletions(-)
|
2011-08-23 18:14:51 +02:00
|
|
|
|
2015-12-02 16:45:15 +01:00
|
|
|
Index: systemd-228/src/vconsole/vconsole-setup.c
|
- 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/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
|
|
|
===================================================================
|
2015-12-02 16:45:15 +01: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"
|
2013-04-13 13:09:53 +02:00
|
|
|
#include "fileio.h"
|
2015-06-23 14:56:50 +02:00
|
|
|
+#include "macro.h"
|
2011-08-23 18:14:51 +02:00
|
|
|
+#include "strv.h"
|
2015-12-02 16:45:15 +01:00
|
|
|
#include "io-util.h"
|
|
|
|
#include "locale-util.h"
|
|
|
|
#include "log.h"
|
|
|
|
@@ -104,8 +106,10 @@ static int enable_utf8(int fd) {
|
2011-08-23 18:14:51 +02:00
|
|
|
return r;
|
|
|
|
}
|
|
|
|
|
2015-06-23 14:56:50 +02:00
|
|
|
-static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) {
|
2011-08-23 18:14:51 +02:00
|
|
|
- const char *args[8];
|
2015-06-23 14:56:50 +02:00
|
|
|
+static int keyboard_load_and_wait(const char *vc, const char *map,
|
|
|
|
+ const char *map_toggle, bool utf8, bool disable_capslock)
|
|
|
|
+{
|
2011-08-26 16:11:36 +02:00
|
|
|
+ const char *args[9];
|
2015-06-23 14:56:50 +02:00
|
|
|
int i = 0, r;
|
2011-08-23 18:14:51 +02:00
|
|
|
pid_t pid;
|
|
|
|
|
2015-12-02 16:45:15 +01:00
|
|
|
@@ -122,6 +126,8 @@ static int keyboard_load_and_wait(const
|
2011-08-23 18:14:51 +02:00
|
|
|
args[i++] = map;
|
|
|
|
if (map_toggle)
|
|
|
|
args[i++] = map_toggle;
|
|
|
|
+ if (disable_capslock)
|
|
|
|
+ args[i++] = "disable.capslock";
|
|
|
|
args[i++] = NULL;
|
|
|
|
|
2012-10-26 14:34:44 +02:00
|
|
|
pid = fork();
|
2015-12-02 16:45:15 +01:00
|
|
|
@@ -251,11 +257,117 @@ static void font_copy_to_all_vcs(int fd)
|
2013-04-13 13:09:53 +02:00
|
|
|
}
|
2011-08-23 18:14:51 +02:00
|
|
|
}
|
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
+#ifdef HAVE_SYSV_COMPAT
|
2015-06-23 14:56:50 +02:00
|
|
|
+static int compose_load_and_wait(const char *vc, const char *compose_table)
|
|
|
|
+{
|
2011-08-26 16:11:36 +02:00
|
|
|
+ const char *args[1024];
|
2015-06-23 14:56:50 +02:00
|
|
|
+ unsigned int i = 0, j = 0;
|
|
|
|
+ int ret;
|
2011-08-26 16:11:36 +02:00
|
|
|
+ pid_t pid;
|
|
|
|
+ char **strv_compose_table = NULL;
|
2011-12-09 15:44:59 +01:00
|
|
|
+ char *to_free[1024];
|
2011-08-26 16:11:36 +02:00
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ if (isempty(compose_table))
|
|
|
|
+ /* An empty map means no compose table */
|
|
|
|
+ return 1;
|
2011-08-26 16:11:36 +02:00
|
|
|
+
|
|
|
|
+ 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;
|
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ STRV_FOREACH(name, strv_compose_table) {
|
|
|
|
+ if (streq(*name, "-c") || streq(*name, "clear")) {
|
2011-08-26 16:11:36 +02:00
|
|
|
+ compose_clear = true;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
2015-06-23 14:56:50 +02:00
|
|
|
+ if (!compose_loaded && compose_clear)
|
|
|
|
+ args[i++] = "-c";
|
|
|
|
+ asprintf(&arg, "compose.%s", *name);
|
2011-08-26 16:11:36 +02:00
|
|
|
+ compose_loaded = true;
|
2011-12-09 15:44:59 +01:00
|
|
|
+ args[i++] = to_free[j++] = arg;
|
2015-06-23 14:56:50 +02:00
|
|
|
+ if (i >= ELEMENTSOF(args) - 1)
|
|
|
|
+ break;
|
2011-08-26 16:11:36 +02:00
|
|
|
+ }
|
|
|
|
+ strv_free(strv_compose_table);
|
|
|
|
+ }
|
|
|
|
+ args[i++] = NULL;
|
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ pid = fork();
|
|
|
|
+ if (pid < 0)
|
|
|
|
+ return log_error_errno(errno, "Failed to fork: %m");
|
|
|
|
+ if (pid == 0) {
|
|
|
|
+ reset_all_signal_handlers();
|
|
|
|
+ reset_signal_mask();
|
2011-08-26 16:11:36 +02:00
|
|
|
+ execv(args[0], (char **) args);
|
|
|
|
+ _exit(EXIT_FAILURE);
|
|
|
|
+ }
|
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ 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;
|
2011-08-26 16:11:36 +02:00
|
|
|
+}
|
2013-04-13 13:09:53 +02:00
|
|
|
+#endif
|
2011-08-26 16:11:36 +02:00
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate,
|
|
|
|
+ const char *kbd_delay)
|
|
|
|
+{
|
2011-08-23 18:14:51 +02:00
|
|
|
+ const char *args[7];
|
2015-06-23 14:56:50 +02:00
|
|
|
+ int i = 0, ret;
|
2011-08-23 18:14:51 +02:00
|
|
|
+ pid_t pid;
|
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ if (isempty(kbd_rate) && isempty(kbd_delay))
|
|
|
|
+ return 1;
|
2011-08-23 18:14:51 +02:00
|
|
|
+
|
|
|
|
+ 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;
|
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ pid = fork();
|
|
|
|
+ if (pid < 0)
|
|
|
|
+ return log_error_errno(errno, "Failed to fork: %m");
|
|
|
|
+ if (pid == 0) {
|
|
|
|
+ reset_all_signal_handlers();
|
|
|
|
+ reset_signal_mask();
|
2011-08-23 18:14:51 +02:00
|
|
|
+ execv(args[0], (char **) args);
|
|
|
|
+ _exit(EXIT_FAILURE);
|
|
|
|
+ }
|
2015-06-23 14:56:50 +02:00
|
|
|
+ ret = wait_for_terminate_and_warn(args[0], pid, true);
|
|
|
|
+ if (ret < 0)
|
|
|
|
+ return ret;
|
|
|
|
+ return ret == 0;
|
2011-08-23 18:14:51 +02:00
|
|
|
+}
|
|
|
|
+
|
|
|
|
int main(int argc, char **argv) {
|
|
|
|
const char *vc;
|
2015-02-13 10:43:21 +01:00
|
|
|
_cleanup_free_ char
|
|
|
|
*vc_keymap = NULL, *vc_keymap_toggle = NULL,
|
|
|
|
*vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
|
2013-04-13 13:09:53 +02:00
|
|
|
+#ifdef HAVE_SYSV_COMPAT
|
2015-02-13 10:43:21 +01:00
|
|
|
+ _cleanup_free_ char
|
|
|
|
+ *vc_kbd_delay = NULL, *vc_kbd_rate = NULL,
|
|
|
|
+ *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL;
|
2011-08-23 18:14:51 +02:00
|
|
|
+#endif
|
|
|
|
+ bool disable_capslock = false;
|
2015-06-23 14:56:50 +02:00
|
|
|
+ bool comp_ok, rate_ok;
|
2015-02-13 10:43:21 +01:00
|
|
|
_cleanup_close_ int fd = -1;
|
2015-06-23 14:56:50 +02:00
|
|
|
bool utf8, font_copy = false, font_ok, keyboard_ok;
|
|
|
|
int r = EXIT_FAILURE;
|
2015-12-02 16:45:15 +01:00
|
|
|
@@ -286,6 +398,31 @@ int main(int argc, char **argv) {
|
- 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/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
|
|
|
|
|
|
|
utf8 = is_locale_utf8();
|
2011-08-23 18:14:51 +02:00
|
|
|
|
2013-04-13 13:09:53 +02:00
|
|
|
+#ifdef HAVE_SYSV_COMPAT
|
- 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/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)
|
2015-06-23 14:56:50 +02:00
|
|
|
+ log_warning("Failed to read /etc/sysconfig/keyboard: %s",
|
|
|
|
+ strerror(-r));
|
- 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/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)
|
2015-06-23 14:56:50 +02:00
|
|
|
+ log_warning("Failed to read /etc/sysconfig/console: %s",
|
|
|
|
+ strerror(-r));
|
- 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/package/show/Base:System/systemd?expand=0&rev=730
2014-07-24 15:49:37 +02:00
|
|
|
+
|
2015-06-23 14:56:50 +02:00
|
|
|
+ disable_capslock = vc_kbd_disable_caps_lock &&
|
|
|
|
+ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
|
|
|
|
+#endif /* HAVE_SYSV_COMPAT */
|
2013-04-13 13:09:53 +02:00
|
|
|
+
|
- 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/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,
|
2015-12-02 16:45:15 +01:00
|
|
|
@@ -317,11 +454,17 @@ int main(int argc, char **argv) {
|
2015-06-23 14:56:50 +02:00
|
|
|
(void) disable_utf8(fd);
|
2011-08-23 18:14:51 +02:00
|
|
|
|
2015-06-23 14:56:50 +02:00
|
|
|
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;
|
2013-04-13 13:09:53 +02:00
|
|
|
+#ifdef HAVE_SYSV_COMPAT
|
2015-06-23 14:56:50 +02:00
|
|
|
+ comp_ok = compose_load_and_wait(vc, vc_compose_table);
|
|
|
|
+ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay);
|
2011-08-23 18:14:51 +02:00
|
|
|
+#endif
|
|
|
|
|
2015-06-23 14:56:50 +02:00
|
|
|
/* Only copy the font when we executed setfont successfully */
|
|
|
|
if (font_copy && font_ok)
|
|
|
|
(void) font_copy_to_all_vcs(fd);
|
2011-12-09 15:44:59 +01:00
|
|
|
|
2015-06-23 14:56:50 +02:00
|
|
|
- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
|
|
|
+ return font_ok && keyboard_ok && comp_ok && rate_ok ?
|
|
|
|
+ EXIT_SUCCESS : EXIT_FAILURE;
|
|
|
|
}
|