Accepting request 242359 from Base:System

- Disable blkrrpart for SLES12 and below

- Add upstream patch
  1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
  1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
  which uses the BLKRRPART ioctl for e.g. synthesize change events
  which may interfere with other tools like parted.

- 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.

- Also change udev-generate-peristent-rule to udev-generate-persistent-rule

OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
This commit is contained in:
Stephan Kulow 2014-07-26 10:19:44 +00:00 committed by Git OBS Bridge
parent bc05a7952f
commit c14a1e98d3
20 changed files with 467 additions and 268 deletions

View File

@ -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

View File

@ -9,8 +9,10 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html
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 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html
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 @@ http://lists.freedesktop.org/archives/systemd-devel/2014-April/018928.html
+
+ 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);

View File

@ -11,9 +11,19 @@ Reallocation policy was also strange.
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 @@ Reallocation policy was also strange.
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 @@ Reallocation policy was also strange.
- *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 @@ Reallocation policy was also strange.
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 @@ Reallocation policy was also strange.
- 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 @@ Reallocation policy was also strange.
}
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 @@ Reallocation policy was also strange.
/* 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 @@ Reallocation policy was also strange.
- *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 @@ Reallocation policy was also strange.
-
-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;

View File

@ -12,11 +12,11 @@ Instead, take a list of exceptions to our usual CC check
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 @@ index 14629dd..514554d 100644
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 @@ index b2e4553..20b208f 100644
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 @@ index fb1c1bc..b1de590 100644
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 @@ index d25ee66..d223ecf 100644
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 @@ index d25ee66..d223ecf 100644
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 @@ index e23069c..8544940 100644
/**
* Check if a string contains any glob patterns.
--
1.7.9.2

View File

@ -16,8 +16,10 @@ in the original commit the keymap_load() follows.
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 @@ in the original commit the keymap_load() follows.
}
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 @@ in the original commit the keymap_load() follows.
+ 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 */

View File

@ -9,9 +9,9 @@ if we can't, complain if we cannot, but don't fail.
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 @@ index 546e560..f2ffc97 100644
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 @@ index 546e560..f2ffc97 100644
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 @@ index 546e560..f2ffc97 100644
}
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 @@ index 546e560..f2ffc97 100644
}
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 @@ index 546e560..f2ffc97 100644
}
}
@@ -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 @@ index 546e560..f2ffc97 100644
}
u->dropin_mtime = now(CLOCK_REALTIME);
--
1.7.9.2

View File

@ -9,9 +9,19 @@ Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true
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 @@ Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true
}
}
--- 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) {

View File

@ -0,0 +1,53 @@
From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Thu, 24 Jul 2014 23:37:35 +0200
Subject: [PATCH] udev: exclude MD from block device ownership event locking
MD instantiates devices at open(). This is incomptible with the
locking logic, as the "change" event emitted when stopping a
device will bring it back.
---
src/udev/udevd.c | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)
diff --git src/udev/udevd.c src/udev/udevd.c
index a45d324..db935d6 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -285,26 +285,17 @@ static void worker_new(struct event *event)
udev_event->exec_delay = exec_delay;
/*
- * Take a "read lock" on the device node; this establishes
+ * Take a shared lock on the device node; this establishes
* a concept of device "ownership" to serialize device
- * access. External processes holding a "write lock" will
+ * access. External processes holding an exclusive lock will
* cause udev to skip the event handling; in the case udev
- * acquired the lock, the external process will block until
+ * acquired the lock, the external process can block until
* udev has finished its event handling.
*/
-
- /*
- * <kabi_> since we make check - device seems unused - we try
- * ioctl to deactivate - and device is found to be opened
- * <kay> sure, you try to take a write lock
- * <kay> if you get it udev is out
- * <kay> if you can't get it, udev is busy
- * <kabi_> we cannot deactivate openned device (as it is in-use)
- * <kay> maybe we should just exclude dm from that thing entirely
- * <kabi_> IMHO this sounds like a good plan for this moment
- */
- if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
- !startswith(udev_device_get_sysname(dev), "dm-")) {
+ if (!streq_ptr(udev_device_get_action(dev), "remove") &&
+ streq_ptr("block", udev_device_get_subsystem(dev)) &&
+ !startswith(udev_device_get_sysname(dev), "dm-") &&
+ !startswith(udev_device_get_sysname(dev), "md")) {
struct udev_device *d = dev;
if (streq_ptr("partition", udev_device_get_devtype(d)))
--
1.7.9.2

View File

@ -7,18 +7,20 @@ set ACL on nvidia devices (bnc#808319).
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;

View File

@ -7,8 +7,10 @@ Subject: handle disable_caplock and compose_table and kbd_rate
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 @@ Subject: handle disable_caplock and compose_table and kbd_rate
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/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/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 @@ Subject: handle disable_caplock and compose_table and kbd_rate
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 @@ Subject: handle disable_caplock and compose_table and kbd_rate
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);

View File

@ -6,8 +6,10 @@ Authors:
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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
+ } 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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
#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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
#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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
+# (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 @@ Cristian Rodríguez <crrodriguez@opensuse.org>
+
+ 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

View File

@ -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)

View File

@ -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) {

View File

@ -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;
}

View File

@ -6,8 +6,10 @@ Use and set default logging console for both journald and kernel messages
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 @@ Use and set default logging console for both journald and kernel messages
+ 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 @@ Use and set default logging console for both journald and kernel messages
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 @@ Use and set default logging console for both journald and kernel messages
}
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 @@ Use and set default logging console for both journald and kernel messages
+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);

View File

@ -1,3 +1,53 @@
-------------------------------------------------------------------
Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de
- Disable blkrrpart for SLES12 and below
-------------------------------------------------------------------
Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
-------------------------------------------------------------------
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
in file list
-------------------------------------------------------------------
Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com
- Rename (fix typo in script name):
udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh
-------------------------------------------------------------------
Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com
@ -296,7 +346,7 @@ Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de
- Add upstream patch
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it
fixes udevadm settle exit code which may had roken dracut scripts
fixes udevadm settle exit code which may had broken dracut scripts
(bnc#884271 comment#18)
-------------------------------------------------------------------

View File

@ -31,8 +31,14 @@
%else
%define has_efi 0
%endif
%bcond_with udevsettle
%bcond_with permission
%if 0%{?suse_version} > 1315
%bcond_without blkrrpart
%bcond_without udevsettle
%else
%bcond_with blkrrpart
%bcond_with udevsettle
%endif
Name: systemd-mini
Url: http://www.freedesktop.org/wiki/Software/systemd
@ -182,7 +188,7 @@ Source11: after-local.service
Source1060: boot.udev
Source1061: write_dev_root_rule
Source1062: systemd-udev-root-symlink
Source1063: udev-generate-peristent-rule.sh
Source1063: udev-generate-persistent-rule.sh
Source1064: systemd-sleep-grub
Source1065: systemd-remount-tmpfs
@ -709,8 +715,6 @@ Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
# 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
@ -837,6 +841,8 @@ Patch1051: 1051-check-if-NAME-has-a-value.patch
Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
Patch1053: 1053-better-checks-in-write_net_rules.patch
# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -1340,7 +1346,6 @@ cp %{SOURCE7} m4/
%patch342 -p0
%patch343 -p0
%patch344 -p0
%patch345 -p0
%patch346 -p0
%patch347 -p0
%patch348 -p0
@ -1377,19 +1382,27 @@ cp %{SOURCE7} m4/
%endif
%patch1023 -p0
%patch1024 -p0
%if %{with blkrrpart}
%patch1025 -p1
%endif
%patch1026 -p1
%if %{with blkrrpart}
%patch1027 -p1
%endif
%patch1028 -p1
%if %{with blkrrpart}
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
%patch1033 -p1
%patch1034 -p1
%endif
%patch1035 -p1
%patch1036 -p1
%if %{with blkrrpart}
%patch1037 -p1
%endif
%patch1038 -p0
%if %{with udevsettle}
%patch1039 -p0
@ -1410,6 +1423,9 @@ cp %{SOURCE7} m4/
%patch1051 -p1
%patch1052 -p0
%patch1053 -p1
%if %{with blkrrpart}
%patch1054 -p0
%endif
# ensure generate files are removed
rm -f units/emergency.service
@ -1590,7 +1606,7 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061}
install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule
sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
@ -2302,7 +2318,7 @@ exit 0
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%{_prefix}/lib/udev/udev-generate-peristent-rule
%{_prefix}/lib/udev/udev-generate-persistent-rule
%{_prefix}/lib/udev/net-set-sriov-names
%{_prefix}/lib/udev/remount-tmpfs
%{_prefix}/lib/udev/rule_generator.functions

View File

@ -1,3 +1,53 @@
-------------------------------------------------------------------
Fri Jul 25 11:06:54 UTC 2014 - werner@suse.de
- Disable blkrrpart for SLES12 and below
-------------------------------------------------------------------
Fri Jul 25 09:37:56 UTC 2014 - werner@suse.de
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
-------------------------------------------------------------------
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
in file list
-------------------------------------------------------------------
Thu Jul 24 09:00:43 UTC 2014 - rmilasan@suse.com
- Rename (fix typo in script name):
udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh
-------------------------------------------------------------------
Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com
@ -296,7 +346,7 @@ Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de
- Add upstream patch
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it
fixes udevadm settle exit code which may had roken dracut scripts
fixes udevadm settle exit code which may had broken dracut scripts
(bnc#884271 comment#18)
-------------------------------------------------------------------

View File

@ -29,8 +29,14 @@
%else
%define has_efi 0
%endif
%bcond_with udevsettle
%bcond_with permission
%if 0%{?suse_version} > 1315
%bcond_without blkrrpart
%bcond_without udevsettle
%else
%bcond_with blkrrpart
%bcond_with udevsettle
%endif
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
@ -177,7 +183,7 @@ Source11: after-local.service
Source1060: boot.udev
Source1061: write_dev_root_rule
Source1062: systemd-udev-root-symlink
Source1063: udev-generate-peristent-rule.sh
Source1063: udev-generate-persistent-rule.sh
Source1064: systemd-sleep-grub
Source1065: systemd-remount-tmpfs
@ -704,8 +710,6 @@ Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
# 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
@ -832,6 +836,8 @@ Patch1051: 1051-check-if-NAME-has-a-value.patch
Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
Patch1053: 1053-better-checks-in-write_net_rules.patch
# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -1335,7 +1341,6 @@ cp %{SOURCE7} m4/
%patch342 -p0
%patch343 -p0
%patch344 -p0
%patch345 -p0
%patch346 -p0
%patch347 -p0
%patch348 -p0
@ -1372,19 +1377,27 @@ cp %{SOURCE7} m4/
%endif
%patch1023 -p0
%patch1024 -p0
%if %{with blkrrpart}
%patch1025 -p1
%endif
%patch1026 -p1
%if %{with blkrrpart}
%patch1027 -p1
%endif
%patch1028 -p1
%if %{with blkrrpart}
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
%patch1033 -p1
%patch1034 -p1
%endif
%patch1035 -p1
%patch1036 -p1
%if %{with blkrrpart}
%patch1037 -p1
%endif
%patch1038 -p0
%if %{with udevsettle}
%patch1039 -p0
@ -1405,6 +1418,9 @@ cp %{SOURCE7} m4/
%patch1051 -p1
%patch1052 -p0
%patch1053 -p1
%if %{with blkrrpart}
%patch1054 -p0
%endif
# ensure generate files are removed
rm -f units/emergency.service
@ -1585,7 +1601,7 @@ sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061}
install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule
sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
install -m644 -D %{S:1062} %{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule
install -m755 -D %{S:1063} %{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub
install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
@ -2297,7 +2313,7 @@ exit 0
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%{_prefix}/lib/udev/udev-generate-peristent-rule
%{_prefix}/lib/udev/udev-generate-persistent-rule
%{_prefix}/lib/udev/net-set-sriov-names
%{_prefix}/lib/udev/remount-tmpfs
%{_prefix}/lib/udev/rule_generator.functions