commit systemd for openSUSE:Factory
Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2015-09-27 14:32:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "systemd" Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2015-09-25 08:51:52.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2015-09-27 14:31:51.000000000 +0200 @@ -2 +2 @@ -Thu Sep 24 12:47:29 UTC 2015 - dimstar@opensuse.org +Fri Sep 25 14:20:41 UTC 2015 - werner@suse.de @@ -4 +4,264 @@ -- Add systemd-bfo88401.patch: do not restart services on coldplug. +- Fix patch tty-ask-password-agent-on-console.patch not to crash + away but enable it to ask on all devices of /dev/console + +------------------------------------------------------------------- +Wed Sep 23 14:19:32 UTC 2015 - jengelh@inai.de + +- Avoid "file not found /etc/udev/rules.d/70-persistent-net.rules" + waring occurring in %post + +------------------------------------------------------------------- +Wed Sep 23 12:41:19 UTC 2015 - werner@suse.de + +- Add patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch + to avoid broken virtual console mapping due stressed ioctl API + for the virtual consoles (boo#904214) + +------------------------------------------------------------------- +Mon Sep 7 12:21:06 UTC 2015 - werner@suse.de + +- Fix last change that is use the new name for udev packages in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 11:50:21 UTC 2015 - fbui@suse.com + +- restore usage of LUA in %pretrans. + +------------------------------------------------------------------- +Mon Sep 7 08:09:05 UTC 2015 - werner@suse.de + +- Try to generate the systemd users and groups always in same order + to avoid republish other packages (boo#944660) + +------------------------------------------------------------------- +Fri Aug 21 07:49:33 UTC 2015 - fbui@suse.com + +- cleanup specfile by removing commands that were dealing with systemd + pre-generated files: we're now using systemd tarball generated directly + from the git repo which doesn't contain any of these files. +- there's no point in using LUA in %pretrans + +------------------------------------------------------------------- +Wed Aug 19 09:34:41 UTC 2015 - fbui@suse.com + +- Drop 0009-make-xsltproc-use-correct-ROFF-links.patch + +This patch was initialy added to workaround bsc#842844. But it +appears that man(1) was fixed (included since 13.2 at least) to +handle manual pages that consist only of a .so directive such as +'.so <page>'. + +------------------------------------------------------------------- +Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de + +- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to + make it work on big endian + +------------------------------------------------------------------- +Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de + +- Use Obsolete/Provides strategy from + windows:mingw:mingw64/mingw64-cross-gcc to do the bootstrap + cycle and kick out -mini afterwards. + +------------------------------------------------------------------- +Tue Aug 11 05:15:09 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 224 +* systemd-networkd gained a number of new configuration options + for DHCP, tunnels and bridges +* systemd-efi-boot-generator functionality was merged into + systemd-gpt-auto-generator. + +------------------------------------------------------------------- +Mon Aug 10 13:16:54 UTC 2015 - sndirsch@suse.com + +- /usr/share/systemd/kbd-model-map: added entries for + xkeyboard-config converted keymaps; mappings, which already + exist in original systemd mapping table are being ignored + though, i.e. not overwritten; needs kbd in buildrequires + (FATE#318426) + +------------------------------------------------------------------- +Wed Jul 29 18:10:53 UTC 2015 - meissner@suse.com + +- hostname-NULL.patch: Work around a crash on XEN hosts + in OBS. /etc/hostname is not present and systemd then does + strchr(hostname,soemthing) with hostname NULL. + +------------------------------------------------------------------- +Wed Jul 29 09:02:21 UTC 2015 - werner@suse.de + +- Add Correct_assert_on_unexpected_error_code.patch to work around + a problem of an assert on ENODEV for closing fd on an input + event device (boo#939571) + +------------------------------------------------------------------- +Mon Jul 13 15:31:46 UTC 2015 - jengelh@inai.de + +- Remove udev-generate-rules.sh, apparently not used by anything in + the systemd nor udev-persistent-ifnames package. + +------------------------------------------------------------------- +Wed Jul 8 20:44:57 UTC 2015 - crrodriguez@opensuse.org + +- Systemd v222, bugfix release. +- Drop upstream patches +0006-pam_systemd-Properly-check-kdbus-availability.patch +0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch +0031-install-fix-bad-memory-access.patch +1032-ata_id-unbotch-format-specifier.patch +- Drop SUSE patch 1013-no-runtime-PM-for-IBM-consoles.patch + udev does no longer enable USB HID power management at all. +- The udev accelerometer helper was removed, obsoleted by + iio-sensor-proxy package. +- networkd gained a new configuration option IPv6PrivacyExtensions. +- udev does not longer support the WAIT_FOR_SYSFS= key in udev + rules. There are no known issues with current sysfs, + and udev does not need or should be used to work around such bugs. + +------------------------------------------------------------------- +Tue Jul 7 08:54:38 UTC 2015 - jengelh@inai.de + +- Avoid restarting logind [bnc#934901] +- Do not suppress errors in any case, even if they are ignored + +------------------------------------------------------------------- +Sun Jul 5 15:52:33 UTC 2015 - hrvoje.senjan@gmail.com + +- Fix devel package requires (both mini and real required real libsystemd0) + +------------------------------------------------------------------- +Fri Jul 3 11:17:01 UTC 2015 - werner@suse.de + +- Rework patch tty-ask-password-agent-on-console.patch to fit the + requisition of https://bugs.freedesktop.org/show_bug.cgi?id=82004 + +------------------------------------------------------------------- +Wed Jul 1 09:42:44 UTC 2015 - jengelh@inai.de + +- Rework "-mini" package logic to not conflict with itself and + then add libsystemd0 to mini. + +------------------------------------------------------------------- +Wed Jul 1 03:43:51 UTC 2015 - crrodriguez@opensuse.org + +- remove SysVStartPriority= from after-local.service, + unsupported since v218. + Note that this option was only parsed and that's it. the logic + to give "start priority" was never implemented. + +------------------------------------------------------------------- +Wed Jul 1 03:20:20 UTC 2015 - crrodriguez@opensuse.org + +- change the default fallback ntp servers to the opensuse + pool.ntp.org vendor zone. +- We still need to run systemd-sysctl.service after local-fs.target + otherwise it works only when /boot is in the root filesystem but + not when it is a separate partition. + +------------------------------------------------------------------- +Fri Jun 26 17:14:46 CEST 2015 - sbrabec@suse.com + +- Obsolete pm-utils and suspend (boo#925873). +- Remove pm-utils support + (remove Forward-suspend-hibernate-calls-to-pm-utils.patch). + +------------------------------------------------------------------- +Thu Jun 25 17:27:06 UTC 2015 - crrodriguez@opensuse.org + +- remove patch sysctl-handle-boot-sysctl.conf-kernel_release.patch + from the filelist. + +------------------------------------------------------------------- +Thu Jun 25 05:56:55 UTC 2015 - crrodriguez@opensuse.org + +- libpcre, glib2 and libusb are not used by systemd, remove + from buildrequires. + +------------------------------------------------------------------- +Thu Jun 25 05:19:54 UTC 2015 - crrodriguez@opensuse.org + +- 1032-ata_id-unbotch-format-specifier.patch: fix udev ata_id + output. +- 0023-core-fix-reversed-dependency-check-in-unit_check_unn.patch + fix StopWhenUnneeded=true in combination with a Requisite= + dependency. +- 0031-install-fix-bad-memory-access.patch: Fix Bad memory access +- 0006-pam_systemd-Properly-check-kdbus-availability.patch: if + kdbus is enabled (i.e boot with kdbus=1) DBUS_SESSION_BUS_ADDRESS + must not be exported. +- spec: add a min_kernel_version macro to ensure the package + conflicts with kernel versions in which systemd cannot run. + ++++ 71 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes ++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes systemd.changes: same change Old: ---- 0001-Let-some-boolean-survive-a-daemon-reload.patch 0001-core-rework-device-state-logic.patch 0009-make-xsltproc-use-correct-ROFF-links.patch 1013-no-runtime-PM-for-IBM-consoles.patch Forward-suspend-hibernate-calls-to-pm-utils.patch sysctl-handle-boot-sysctl.conf-kernel_release.patch systemd-219.tar.xz systemd-bfo88401.patch systemd-powerd-initctl-support.patch udev-generate-persistent-rule.sh New: ---- Correct_assert_on_unexpected_error_code.patch hostname-NULL.patch let-vconsole-setup-get-properties-only-once-to-copy-them.patch v224.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ ++++ 1015 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/systemd/systemd-mini.spec ++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.spec systemd.spec: same change ++++++ 0001-On_s390_con3270_disable_ANSI_colour_esc.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,99 +1,29 @@ --- rules/99-systemd.rules.in | 2 + src/basic/terminal-util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- + src/basic/terminal-util.h | 1 src/core/manager.c | 24 ++++++++--- - src/shared/util.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-- - src/shared/util.h | 1 4 files changed, 116 insertions(+), 10 deletions(-) -Index: systemd/rules/99-systemd.rules.in +Index: systemd-221/rules/99-systemd.rules.in =================================================================== ---- systemd.orig/rules/99-systemd.rules.in -+++ systemd/rules/99-systemd.rules.in +--- systemd-221.orig/rules/99-systemd.rules.in ++++ systemd-221/rules/99-systemd.rules.in @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="systemd_end" -SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" - KERNEL=="vport*", TAG+="systemd" -Index: systemd/src/core/manager.c + SUBSYSTEM=="block", TAG+="systemd" +Index: systemd-221/src/basic/terminal-util.c =================================================================== ---- systemd.orig/src/core/manager.c -+++ systemd/src/core/manager.c -@@ -113,7 +113,7 @@ static int manager_watch_jobs_in_progres - - #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) - --static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { -+static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { - char *p = buffer; - - assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); -@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si - if (pos > 1) { - if (pos > 2) - p = mempset(p, ' ', pos-2); -- p = stpcpy(p, ANSI_RED_ON); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_RED_ON); - *p++ = '*'; - } - - if (pos > 0 && pos <= width) { -- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); -+ if (ansi_console) -+ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); - *p++ = '*'; - } - -@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si - *p++ = '*'; - if (pos < width-1) - p = mempset(p, ' ', width-1-pos); -- strcpy(p, ANSI_HIGHLIGHT_OFF); -+ if (ansi_console) -+ strcpy(p, ANSI_HIGHLIGHT_OFF); - } - } - -@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m - } - - static void manager_print_jobs_in_progress(Manager *m) { -+ static int is_ansi_console = -1; - _cleanup_free_ char *job_of_n = NULL; - Iterator i; - Job *j; -@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre - assert(counter == print_nr + 1); - assert(j); - -+ if (_unlikely_(is_ansi_console < 0)) { -+ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); -+ if (fd < 0) -+ is_ansi_console = 0; -+ else { -+ is_ansi_console = (int)ansi_console(fd); -+ close(fd); -+ } -+ } -+ - cylon_pos = m->jobs_in_progress_iteration % 14; - if (cylon_pos >= 8) - cylon_pos = 14 - cylon_pos; -- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); -+ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); - - m->jobs_in_progress_iteration++; - -Index: systemd/src/shared/util.c -=================================================================== ---- systemd.orig/src/shared/util.c -+++ systemd/src/shared/util.c -@@ -3212,6 +3212,7 @@ int status_vprintf(const char *status, b +--- systemd-221.orig/src/basic/terminal-util.c ++++ systemd-221/src/basic/terminal-util.c +@@ -647,6 +647,7 @@ int status_vprintf(const char *status, b struct iovec iovec[6] = {}; int n = 0; static bool prev_ephemeral; @@ -101,7 +31,7 @@ assert(format); -@@ -3225,6 +3226,41 @@ int status_vprintf(const char *status, b +@@ -660,6 +661,41 @@ int status_vprintf(const char *status, b if (fd < 0) return fd; @@ -143,7 +73,7 @@ if (ellipse) { char *e; size_t emax, sl; -@@ -3247,8 +3283,12 @@ int status_vprintf(const char *status, b +@@ -682,8 +718,12 @@ int status_vprintf(const char *status, b } } @@ -158,88 +88,84 @@ prev_ephemeral = ephemeral; if (status) { -@@ -3504,8 +3544,22 @@ void columns_lines_cache_reset(int signu - bool on_tty(void) { - static int cached_on_tty = -1; - -- if (_unlikely_(cached_on_tty < 0)) -+ if (_unlikely_(cached_on_tty < 0)) { - cached_on_tty = isatty(STDOUT_FILENO) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_on_tty) { -+ const char *e = getenv("TERM"); -+ if (!e) -+ return cached_on_tty; -+ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_on_tty = 0; -+ } -+ } -+#endif -+ } - - return cached_on_tty; - } -@@ -3523,6 +3577,27 @@ int files_same(const char *filea, const - a.st_ino == b.st_ino; +@@ -807,10 +847,47 @@ bool tty_is_vc_resolve(const char *tty) + return tty_is_vc(tty); } +bool ansi_console(int fd) { + static int cached_ansi_console = -1; + -+ if (_unlikely_(cached_ansi_console < 0)) { -+ cached_ansi_console = isatty(fd) > 0; -+#if defined (__s390__) || defined (__s390x__) -+ if (cached_ansi_console) { -+ const char *e = getenv("TERM"); -+ if (e && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) -+ cached_ansi_console = 0; -+ } -+ } -+#endif -+ } ++ if (_likely_(cached_ansi_console >= 0)) ++ return cached_ansi_console; + ++ cached_ansi_console = isatty(fd) > 0; ++#if defined(__s390__) || defined(__s390x__) ++ if (cached_ansi_console) { ++ const char *e = getenv("TERM"); ++ if (e != NULL && (streq(e, "dumb") || strneq(e, "ibm3", 4))) { ++ _cleanup_free_ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, ++ "conmode", &mode, NULL); ++ if (r < 0 || mode == NULL || !streq(mode, "3270")) ++ cached_ansi_console = 0; ++ } ++ } ++#endif + return cached_ansi_console; +} + - int running_in_chroot(void) { - int ret; - -@@ -4006,7 +4081,23 @@ bool tty_is_vc_resolve(const char *tty) const char *default_term_for_tty(const char *tty) { assert(tty); - return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt220"; + if (tty_is_vc_resolve(tty)) + return "TERM=linux"; -+ + if (startswith(tty, "/dev/")) + tty += 5; -+ +#if defined (__s390__) || defined (__s390x__) -+ if (streq(tty, "ttyS0")) { -+ char *mode = NULL; -+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); -+ if (r < 0 || !mode || !streq(mode, "3270")) ++ if (streq(tty, "ttyS0")) { ++ _cleanup_free_ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", ++ &mode, NULL); ++ if (r < 0 || mode == NULL || !streq(mode, "3270")) + return "TERM=dumb"; + if (streq(mode, "3270")) + return "TERM=ibm327x"; -+ } ++ } +#endif + return "TERM=vt220"; } - bool dirent_is_file(const struct dirent *de) { -Index: systemd/src/shared/util.h + int fd_columns(int fd) { +@@ -890,8 +967,22 @@ void columns_lines_cache_reset(int signu + bool on_tty(void) { + static int cached_on_tty = -1; + +- if (_unlikely_(cached_on_tty < 0)) ++ if (_unlikely_(cached_on_tty < 0)) { + cached_on_tty = isatty(STDOUT_FILENO) > 0; ++#if defined (__s390__) || defined (__s390x__) ++ if (cached_on_tty) { ++ const char *e = getenv("TERM"); ++ if (!e) ++ return cached_on_tty; ++ if (streq(e, "dumb") || strneq(e, "ibm3", 4)) { ++ char *mode = NULL; ++ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL); ++ if (r < 0 || !mode || !streq(mode, "3270")) ++ cached_on_tty = 0; ++ } ++ } ++#endif ++ } + + return cached_on_tty; + } +Index: systemd-221/src/basic/terminal-util.h =================================================================== ---- systemd.orig/src/shared/util.h -+++ systemd/src/shared/util.h -@@ -475,6 +475,7 @@ unsigned lines(void); +--- systemd-221.orig/src/basic/terminal-util.h ++++ systemd-221/src/basic/terminal-util.h +@@ -77,6 +77,7 @@ unsigned lines(void); void columns_lines_cache_reset(int _unused_ signum); bool on_tty(void); @@ -247,3 +173,73 @@ static inline const char *ansi_highlight(void) { return on_tty() ? ANSI_HIGHLIGHT_ON : ""; +Index: systemd-221/src/core/manager.c +=================================================================== +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -113,7 +113,7 @@ static void manager_watch_jobs_in_progre + + #define CYLON_BUFFER_EXTRA (2*(sizeof(ANSI_RED_ON)-1) + sizeof(ANSI_HIGHLIGHT_RED_ON)-1 + 2*(sizeof(ANSI_HIGHLIGHT_OFF)-1)) + +-static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos) { ++static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned pos, bool ansi_console) { + char *p = buffer; + + assert(buflen >= CYLON_BUFFER_EXTRA + width + 1); +@@ -122,12 +122,14 @@ static void draw_cylon(char buffer[], si + if (pos > 1) { + if (pos > 2) + p = mempset(p, ' ', pos-2); +- p = stpcpy(p, ANSI_RED_ON); ++ if (ansi_console) ++ p = stpcpy(p, ANSI_RED_ON); + *p++ = '*'; + } + + if (pos > 0 && pos <= width) { +- p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); ++ if (ansi_console) ++ p = stpcpy(p, ANSI_HIGHLIGHT_RED_ON); + *p++ = '*'; + } + +@@ -138,7 +140,8 @@ static void draw_cylon(char buffer[], si + *p++ = '*'; + if (pos < width-1) + p = mempset(p, ' ', width-1-pos); +- strcpy(p, ANSI_HIGHLIGHT_OFF); ++ if (ansi_console) ++ strcpy(p, ANSI_HIGHLIGHT_OFF); + } + } + +@@ -155,6 +158,7 @@ void manager_flip_auto_status(Manager *m + } + + static void manager_print_jobs_in_progress(Manager *m) { ++ static int is_ansi_console = -1; + _cleanup_free_ char *job_of_n = NULL; + Iterator i; + Job *j; +@@ -180,10 +184,20 @@ static void manager_print_jobs_in_progre + assert(counter == print_nr + 1); + assert(j); + ++ if (_unlikely_(is_ansi_console < 0)) { ++ int fd = open_terminal("/dev/console", O_RDONLY|O_NOCTTY|O_CLOEXEC); ++ if (fd < 0) ++ is_ansi_console = 0; ++ else { ++ is_ansi_console = (int)ansi_console(fd); ++ close(fd); ++ } ++ } ++ + cylon_pos = m->jobs_in_progress_iteration % 14; + if (cylon_pos >= 8) + cylon_pos = 14 - cylon_pos; +- draw_cylon(cylon, sizeof(cylon), 6, cylon_pos); ++ draw_cylon(cylon, sizeof(cylon), 6, cylon_pos, (bool)is_ansi_console); + + m->jobs_in_progress_iteration++; + ++++++ 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -3,11 +3,11 @@ src/systemctl/systemctl.c | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) -Index: systemd-218/src/core/shutdown.c +Index: systemd-221/src/core/shutdown.c =================================================================== ---- systemd-218.orig/src/core/shutdown.c -+++ systemd-218/src/core/shutdown.c -@@ -400,6 +400,10 @@ int main(int argc, char *argv[]) { +--- systemd-221.orig/src/core/shutdown.c ++++ systemd-221/src/core/shutdown.c +@@ -396,6 +396,10 @@ int main(int argc, char *argv[]) { } reboot(cmd); @@ -18,11 +18,11 @@ if (errno == EPERM && in_container) { /* If we are in a container, and we lacked * CAP_SYS_BOOT just exit, this will kill our -Index: systemd-218/src/systemctl/systemctl.c +Index: systemd-221/src/systemctl/systemctl.c =================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -94,6 +94,7 @@ static bool arg_no_pager = false; +--- systemd-221.orig/src/systemctl/systemctl.c ++++ systemd-221/src/systemctl/systemctl.c +@@ -93,6 +93,7 @@ static bool arg_no_pager = false; static bool arg_no_wtmp = false; static bool arg_no_wall = false; static bool arg_no_reload = false; @@ -30,7 +30,7 @@ static bool arg_show_types = false; static bool arg_ignore_inhibitors = false; static bool arg_dry = false; -@@ -6813,6 +6814,7 @@ static int halt_parse_argv(int argc, cha +@@ -6636,6 +6637,7 @@ static int halt_parse_argv(int argc, cha { "reboot", no_argument, NULL, ARG_REBOOT }, { "force", no_argument, NULL, 'f' }, { "wtmp-only", no_argument, NULL, 'w' }, @@ -38,7 +38,7 @@ { "no-wtmp", no_argument, NULL, 'd' }, { "no-wall", no_argument, NULL, ARG_NO_WALL }, {} -@@ -6865,10 +6867,13 @@ static int halt_parse_argv(int argc, cha +@@ -6688,10 +6690,13 @@ static int halt_parse_argv(int argc, cha case 'i': case 'h': @@ -53,7 +53,7 @@ case '?': return -EINVAL; -@@ -7511,7 +7516,8 @@ static int halt_now(enum action a) { +@@ -7291,7 +7296,8 @@ static int halt_now(enum action a) { /* The kernel will automaticall flush ATA disks and suchlike * on reboot(), but the file systems need to be synce'd * explicitly in advance. */ @@ -63,7 +63,7 @@ /* Make sure C-A-D is handled by the kernel from this point * on... */ -@@ -7519,14 +7525,14 @@ static int halt_now(enum action a) { +@@ -7299,14 +7305,14 @@ static int halt_now(enum action a) { switch (a) { ++++++ 0001-add-network-device-after-NFS-mount-units.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -5,17 +5,17 @@ --- Makefile.am | 2 + src/basic/util.c | 1 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ src/core/mount.c | 35 +++++++++ - src/shared/util.c | 1 5 files changed, 234 insertions(+), 2 deletions(-) -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -1134,6 +1134,8 @@ libsystemd_core_la_SOURCES = \ +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -1164,6 +1164,8 @@ libcore_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -24,10 +24,22 @@ src/core/kmod-setup.c \ src/core/kmod-setup.h \ src/core/loopback-setup.h \ -Index: systemd-218/src/core/mount-iface.c +Index: systemd-221/src/basic/util.c +=================================================================== +--- systemd-221.orig/src/basic/util.c ++++ systemd-221/src/basic/util.c +@@ -1478,6 +1478,7 @@ bool fstype_is_network(const char *fstyp + "ncp\0" + "nfs\0" + "nfs4\0" ++ "afs\0" + "gfs\0" + "gfs2\0" + "glusterfs\0"; +Index: systemd-221/src/core/mount-iface.c =================================================================== --- /dev/null -+++ systemd-218/src/core/mount-iface.c ++++ systemd-221/src/core/mount-iface.c @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -202,10 +214,10 @@ + freeifaddrs(ifa_list); + ifa_list = NULL; +} -Index: systemd-218/src/core/mount-iface.h +Index: systemd-221/src/core/mount-iface.h =================================================================== --- /dev/null -+++ systemd-218/src/core/mount-iface.h ++++ systemd-221/src/core/mount-iface.h @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -232,11 +244,11 @@ + +char *host2iface(const char *ip); +void freeroutes(void); -Index: systemd-218/src/core/mount.c +Index: systemd-221/src/core/mount.c =================================================================== ---- systemd-218.orig/src/core/mount.c -+++ systemd-218/src/core/mount.c -@@ -38,6 +38,7 @@ +--- systemd-221.orig/src/core/mount.c ++++ systemd-221/src/core/mount.c +@@ -35,6 +35,7 @@ #include "mkdir.h" #include "path-util.h" #include "mount-setup.h" @@ -244,7 +256,7 @@ #include "unit-name.h" #include "dbus-mount.h" #include "special.h" -@@ -1365,8 +1366,9 @@ static int mount_add_one( +@@ -1332,8 +1333,9 @@ static int mount_setup_unit( _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; @@ -255,17 +267,17 @@ int r; assert(m); -@@ -1391,6 +1393,8 @@ static int mount_add_one( - if (!e) - return -ENOMEM; +@@ -1358,6 +1360,8 @@ static int mount_setup_unit( + if (r < 0) + return r; + isnetwork = fstype_is_network(fstype); + u = manager_get_unit(m, e); if (!u) { delete = true; -@@ -1419,7 +1423,7 @@ static int mount_add_one( - if (m->running_as == SYSTEMD_SYSTEM) { +@@ -1385,7 +1389,7 @@ static int mount_setup_unit( + if (m->running_as == MANAGER_SYSTEM) { const char* target; - target = mount_needs_network(options, fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; @@ -273,7 +285,7 @@ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) goto fail; -@@ -1505,6 +1509,32 @@ static int mount_add_one( +@@ -1471,6 +1475,32 @@ static int mount_setup_unit( goto fail; } @@ -296,7 +308,7 @@ + else { + r = unit_add_dependency_by_name(u, UNIT_AFTER, target, NULL, true); + if (r < 0) -+ log_unit_error(u->id, "Failed to add dependency on %s, ignoring: %s", ++ log_unit_error(u, "Failed to add dependency on %s, ignoring: %s", + target, strerror(-r)); + } + } @@ -306,7 +318,7 @@ if (changed) unit_add_to_dbus_queue(u); -@@ -1560,6 +1590,7 @@ static int mount_load_proc_self_mountinf +@@ -1537,6 +1567,7 @@ static int mount_load_proc_self_mountinf if (r == 0 && k < 0) r = k; } @@ -314,15 +326,3 @@ return r; } -Index: systemd-218/src/shared/util.c -=================================================================== ---- systemd-218.orig/src/shared/util.c -+++ systemd-218/src/shared/util.c -@@ -1667,6 +1667,7 @@ bool fstype_is_network(const char *fstyp - "ncp\0" - "nfs\0" - "nfs4\0" -+ "afs\0" - "gfs\0" - "gfs2\0" - "glusterfs\0"; ++++++ 0001-avoid-abort-due-timeout-at-user-service.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,6 +1,12 @@ ---- systemd-209/src/login/logind-session.c -+++ systemd-209/src/login/logind-session.c 2014-02-28 12:12:14.762736079 +0000 -@@ -525,6 +525,12 @@ int session_start(Session *s) { +--- + src/login/logind-session.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: systemd-221/src/login/logind-session.c +=================================================================== +--- systemd-221.orig/src/login/logind-session.c ++++ systemd-221/src/login/logind-session.c +@@ -548,6 +548,12 @@ int session_start(Session *s) { if (r < 0) return r; ++++++ 0001-bnc888612-logind-polkit-acpi.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,13 +1,13 @@ --- src/login/logind-action.c | 5 +++++ - src/login/logind-dbus.c | 20 ++++++++++++++++---- - 2 files changed, 21 insertions(+), 4 deletions(-) + src/login/logind-dbus.c | 31 +++++++++++++++++++++++-------- + 2 files changed, 28 insertions(+), 8 deletions(-) -Index: systemd-218/src/login/logind-action.c +Index: systemd-221/src/login/logind-action.c =================================================================== ---- systemd-218.orig/src/login/logind-action.c -+++ systemd-218/src/login/logind-action.c -@@ -83,6 +83,11 @@ int manager_handle_action( +--- systemd-221.orig/src/login/logind-action.c ++++ systemd-221/src/login/logind-action.c +@@ -85,6 +85,11 @@ int manager_handle_action( /* If the key handling is inhibited, don't do anything */ if (inhibit_key > 0) { @@ -19,57 +19,83 @@ if (manager_is_inhibited(m, inhibit_key, INHIBIT_BLOCK, NULL, true, false, 0, NULL)) { log_debug("Refusing operation, %s is inhibited.", inhibit_what_to_string(inhibit_key)); return 0; -Index: systemd-218/src/login/logind-dbus.c +Index: systemd-221/src/login/logind-dbus.c =================================================================== ---- systemd-218.orig/src/login/logind-dbus.c -+++ systemd-218/src/login/logind-dbus.c -@@ -1487,9 +1487,11 @@ static int method_do_shutdown_or_sleep( - sd_bus_error *error) { +--- systemd-221.orig/src/login/logind-dbus.c ++++ systemd-221/src/login/logind-dbus.c +@@ -1625,12 +1625,13 @@ static int verify_shutdown_creds( + const char *action, + const char *action_multiple_sessions, + const char *action_ignore_inhibit, +- sd_bus_error *error) { ++ sd_bus_error *error, const char *sleep_verb) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; - bool multiple_sessions, blocked; + bool multiple_sessions, blocked, shutdown_through_acpi; - int interactive, r; uid_t uid; -+ int fd; +- int r; ++ int r, fd; + struct stat buf; assert(m); assert(message); -@@ -1533,7 +1535,17 @@ static int method_do_shutdown_or_sleep( +@@ -1652,7 +1653,19 @@ static int verify_shutdown_creds( multiple_sessions = r > 0; blocked = manager_is_inhibited(m, w, INHIBIT_BLOCK, NULL, false, true, uid, NULL); -- if (multiple_sessions) { +- if (multiple_sessions && action_multiple_sessions) { + fd = open ("/run/systemd/acpi-shutdown", O_NOFOLLOW|O_PATH|O_CLOEXEC); + if (fd >= 0) { -+ shutdown_through_acpi = ((fstat(fd,&buf) == 0) && (time(NULL) - buf.st_mtime <= 65) && !sleep_verb); ++ shutdown_through_acpi = fstat(fd, &buf) == 0 && ++ time(NULL) - buf.st_mtime <= 65 && ++ sleep_verb == NULL; + close(fd); + unlink ("/run/systemd/acpi-shutdown"); + } + else + shutdown_through_acpi = false; + -+ -+ if (multiple_sessions && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, &m->polkit_registry, error); ++ if (multiple_sessions && action_multiple_sessions && ++ !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_multiple_sessions, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1541,7 +1553,7 @@ static int method_do_shutdown_or_sleep( +@@ -1660,7 +1673,7 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } -- if (blocked) { -+ if (blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, &m->polkit_registry, error); +- if (blocked && action_ignore_inhibit) { ++ if (blocked && action_ignore_inhibit && !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action_ignore_inhibit, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; -@@ -1549,7 +1561,7 @@ static int method_do_shutdown_or_sleep( +@@ -1668,7 +1681,8 @@ static int verify_shutdown_creds( return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ } -- if (!multiple_sessions && !blocked) { -+ if (!multiple_sessions && !blocked && !shutdown_through_acpi) { - r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, &m->polkit_registry, error); +- if (!multiple_sessions && !blocked && action) { ++ if (!multiple_sessions && !blocked && action && ++ !shutdown_through_acpi) { + r = bus_verify_polkit_async(message, CAP_SYS_BOOT, action, interactive, UID_INVALID, &m->polkit_registry, error); if (r < 0) return r; +@@ -1716,7 +1730,7 @@ static int method_do_shutdown_or_sleep( + } + + r = verify_shutdown_creds(m, message, w, interactive, action, action_multiple_sessions, +- action_ignore_inhibit, error); ++ action_ignore_inhibit, error, sleep_verb); + if (r != 0) + return r; + +@@ -1896,7 +1910,8 @@ static int method_schedule_shutdown(sd_b + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unsupported shutdown type"); + + r = verify_shutdown_creds(m, message, INHIBIT_SHUTDOWN, false, +- action, action_multiple_sessions, action_ignore_inhibit, error); ++ action, action_multiple_sessions, ++ action_ignore_inhibit, error, "UNUSED"); + if (r != 0) + return r; + ++++++ 0001-let-systemctl-completion-ignore-at-names.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,5 +1,11 @@ ---- systemd-210/shell-completion/bash/systemctl.in -+++ systemd-210/shell-completion/bash/systemctl.in 2014-08-20 15:01:04.502736981 +0000 +--- + shell-completion/bash/systemctl.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-221/shell-completion/bash/systemctl.in +=================================================================== +--- systemd-221.orig/shell-completion/bash/systemctl.in ++++ systemd-221/shell-completion/bash/systemctl.in @@ -43,7 +43,7 @@ __filter_units_by_property () { local units=("$@") local props ++++++ 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -8,12 +8,14 @@ This belongs to BNC#852015 and also to BNC#855160 --- - pam_systemd.c | 19 +++++++++++++++++++ + src/login/pam_systemd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---- systemd-209/src/login/pam_systemd.c -+++ systemd-209/src/login/pam_systemd.c 2014-02-26 14:31:30.158235525 +0000 -@@ -447,6 +447,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess +Index: systemd-221/src/login/pam_systemd.c +=================================================================== +--- systemd-221.orig/src/login/pam_systemd.c ++++ systemd-221/src/login/pam_systemd.c +@@ -445,6 +445,25 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = export_legacy_dbus_address(handle, pw->pw_uid, runtime_path); if (r != PAM_SUCCESS) return r; ++++++ 0010-do-not-install-sulogin-unit-with-poweroff.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -2,9 +2,15 @@ | Belongs to bnc#849071 that is do not install console-shell.service | in any system target as this will cause automatic poweroff at boot. | ---- systemd-208/units/console-shell.service.m4.in -+++ systemd-208/units/console-shell.service.m4.in 2013-11-06 09:35:37.958693570 +0000 -@@ -26,6 +26,3 @@ StandardError=inherit +--- + units/console-shell.service.m4.in | 3 --- + 1 file changed, 3 deletions(-) + +Index: systemd-221/units/console-shell.service.m4.in +=================================================================== +--- systemd-221.orig/units/console-shell.service.m4.in ++++ systemd-221/units/console-shell.service.m4.in +@@ -28,6 +28,3 @@ StandardError=inherit KillMode=process IgnoreSIGPIPE=no SendSIGHUP=yes ++++++ 0014-journald-with-journaling-FS.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -13,10 +13,10 @@ src/journal/journald-server.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) -Index: systemd/src/journal/journald-server.c +Index: systemd-221/src/journal/journald-server.c =================================================================== ---- systemd.orig/src/journal/journald-server.c -+++ systemd/src/journal/journald-server.c +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c @@ -21,6 +21,7 @@ #include <sys/signalfd.h> @@ -25,7 +25,7 @@ #include <linux/sockios.h> #include <sys/statvfs.h> #include <sys/mman.h> -@@ -917,6 +918,38 @@ finish: +@@ -918,6 +919,38 @@ finish: dispatch_message_real(s, iovec, n, m, ucred, tv, label, label_len, unit_id, priority, object_pid); } @@ -64,7 +64,7 @@ static int system_journal_open(Server *s, bool flush_requested) { int r; -@@ -946,6 +979,7 @@ static int system_journal_open(Server *s +@@ -947,6 +980,7 @@ static int system_journal_open(Server *s fn = strjoina("/var/log/journal/", ids); (void) mkdir(fn, 0755); ++++++ 0019-make-completion-smart-to-be-able-to-redirect.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -12,10 +12,10 @@ shell-completion/bash/udevadm | 6 +++++- 11 files changed, 70 insertions(+), 11 deletions(-) -Index: systemd/shell-completion/bash/coredumpctl +Index: systemd-221/shell-completion/bash/coredumpctl =================================================================== ---- systemd.orig/shell-completion/bash/coredumpctl -+++ systemd/shell-completion/bash/coredumpctl +--- systemd-221.orig/shell-completion/bash/coredumpctl ++++ systemd-221/shell-completion/bash/coredumpctl @@ -44,6 +44,10 @@ _coredumpctl() { [DUMP]='dump gdb' ) @@ -33,10 +33,10 @@ -complete -F _coredumpctl coredumpctl +complete -o default -o bashdefault -F _coredumpctl coredumpctl -Index: systemd/shell-completion/bash/hostnamectl +Index: systemd-221/shell-completion/bash/hostnamectl =================================================================== ---- systemd.orig/shell-completion/bash/hostnamectl -+++ systemd/shell-completion/bash/hostnamectl +--- systemd-221.orig/shell-completion/bash/hostnamectl ++++ systemd-221/shell-completion/bash/hostnamectl @@ -30,6 +30,10 @@ _hostnamectl() { local OPTS='-h --help --version --transient --static --pretty --no-ask-password -H --host --machine' @@ -54,10 +54,10 @@ -complete -F _hostnamectl hostnamectl +complete -o default -o bashdefault -F _hostnamectl hostnamectl -Index: systemd/shell-completion/bash/journalctl +Index: systemd-221/shell-completion/bash/journalctl =================================================================== ---- systemd.orig/shell-completion/bash/journalctl -+++ systemd/shell-completion/bash/journalctl +--- systemd-221.orig/shell-completion/bash/journalctl ++++ systemd-221/shell-completion/bash/journalctl @@ -55,6 +55,10 @@ _journalctl() { --root --machine' ) @@ -75,10 +75,10 @@ -complete -F _journalctl journalctl +complete -o default -o bashdefault -F _journalctl journalctl -Index: systemd/shell-completion/bash/kernel-install +Index: systemd-221/shell-completion/bash/kernel-install =================================================================== ---- systemd.orig/shell-completion/bash/kernel-install -+++ systemd/shell-completion/bash/kernel-install +--- systemd-221.orig/shell-completion/bash/kernel-install ++++ systemd-221/shell-completion/bash/kernel-install @@ -18,11 +18,22 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see <http://www.gnu.org/licenses/>. @@ -108,10 +108,10 @@ -complete -F _kernel_install kernel-install +complete -o default -o bashdefault -F _kernel_install kernel-install -Index: systemd/shell-completion/bash/localectl +Index: systemd-221/shell-completion/bash/localectl =================================================================== ---- systemd.orig/shell-completion/bash/localectl -+++ systemd/shell-completion/bash/localectl +--- systemd-221.orig/shell-completion/bash/localectl ++++ systemd-221/shell-completion/bash/localectl @@ -36,6 +36,10 @@ _localectl() { local OPTS='-h --help --version --no-convert --no-pager --no-ask-password -H --host --machine' @@ -129,10 +129,10 @@ -complete -F _localectl localectl +complete -o default -o bashdefault -F _localectl localectl -Index: systemd/shell-completion/bash/loginctl +Index: systemd-221/shell-completion/bash/loginctl =================================================================== ---- systemd.orig/shell-completion/bash/loginctl -+++ systemd/shell-completion/bash/loginctl +--- systemd-221.orig/shell-completion/bash/loginctl ++++ systemd-221/shell-completion/bash/loginctl @@ -38,6 +38,10 @@ _loginctl () { [ARG]='--host -H --kill-who --property -p --signal -s --machine' ) @@ -150,12 +150,12 @@ -complete -F _loginctl loginctl +complete -o default -o bashdefault -F _loginctl loginctl -Index: systemd/shell-completion/bash/systemctl.in +Index: systemd-221/shell-completion/bash/systemctl.in =================================================================== ---- systemd.orig/shell-completion/bash/systemctl.in -+++ systemd/shell-completion/bash/systemctl.in +--- systemd-221.orig/shell-completion/bash/systemctl.in ++++ systemd-221/shell-completion/bash/systemctl.in @@ -96,6 +96,10 @@ _systemctl () { - [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --root' + [ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root' ) + if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then @@ -165,16 +165,16 @@ if __contains_word "--user" ${COMP_WORDS[*]}; then mode=--user else -@@ -264,4 +268,4 @@ _systemctl () { +@@ -268,4 +272,4 @@ _systemctl () { return 0 } -complete -F _systemctl systemctl +complete -o default -o bashdefault -F _systemctl systemctl -Index: systemd/shell-completion/bash/systemd-analyze +Index: systemd-221/shell-completion/bash/systemd-analyze =================================================================== ---- systemd.orig/shell-completion/bash/systemd-analyze -+++ systemd/shell-completion/bash/systemd-analyze +--- systemd-221.orig/shell-completion/bash/systemd-analyze ++++ systemd-221/shell-completion/bash/systemd-analyze @@ -47,6 +47,10 @@ _systemd_analyze() { [VERIFY]='verify' ) @@ -192,10 +192,10 @@ -complete -F _systemd_analyze systemd-analyze +complete -o default -o bashdefault -F _systemd_analyze systemd-analyze -Index: systemd/shell-completion/bash/systemd-run +Index: systemd-221/shell-completion/bash/systemd-run =================================================================== ---- systemd.orig/shell-completion/bash/systemd-run -+++ systemd/shell-completion/bash/systemd-run +--- systemd-221.orig/shell-completion/bash/systemd-run ++++ systemd-221/shell-completion/bash/systemd-run @@ -17,6 +17,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see <http://www.gnu.org/licenses/>. @@ -228,10 +228,10 @@ -complete -F _systemd_run systemd-run +complete -o default -o bashdefault -F _systemd_run systemd-run -Index: systemd/shell-completion/bash/timedatectl +Index: systemd-221/shell-completion/bash/timedatectl =================================================================== ---- systemd.orig/shell-completion/bash/timedatectl -+++ systemd/shell-completion/bash/timedatectl +--- systemd-221.orig/shell-completion/bash/timedatectl ++++ systemd-221/shell-completion/bash/timedatectl @@ -30,6 +30,10 @@ _timedatectl() { local OPTS='-h --help --version --adjust-system-clock --no-pager --no-ask-password -H --host --machine' @@ -249,10 +249,10 @@ -complete -F _timedatectl timedatectl +complete -o default -o bashdefault -F _timedatectl timedatectl -Index: systemd/shell-completion/bash/udevadm +Index: systemd-221/shell-completion/bash/udevadm =================================================================== ---- systemd.orig/shell-completion/bash/udevadm -+++ systemd/shell-completion/bash/udevadm +--- systemd-221.orig/shell-completion/bash/udevadm ++++ systemd-221/shell-completion/bash/udevadm @@ -36,6 +36,10 @@ _udevadm() { local verbs=(info trigger settle control monitor hwdb test-builtin test) ++++++ 1001-re-enable-by_path-links-for-ata-devices.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -25,11 +25,11 @@ src/udev/udev-builtin-path_id.c | 53 ++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) -Index: systemd-218/src/udev/udev-builtin-path_id.c +Index: systemd-221/src/udev/udev-builtin-path_id.c =================================================================== ---- systemd-218.orig/src/udev/udev-builtin-path_id.c -+++ systemd-218/src/udev/udev-builtin-path_id.c -@@ -426,6 +426,46 @@ static struct udev_device *handle_scsi_h +--- systemd-221.orig/src/udev/udev-builtin-path_id.c ++++ systemd-221/src/udev/udev-builtin-path_id.c +@@ -447,6 +447,46 @@ static struct udev_device *handle_scsi_h return parent; } @@ -76,7 +76,7 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path, bool *supported_parent) { const char *devtype; const char *name; -@@ -465,19 +505,8 @@ static struct udev_device *handle_scsi(s +@@ -486,19 +526,8 @@ static struct udev_device *handle_scsi(s goto out; } ++++++ 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -4,12 +4,14 @@ Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) --- - rules/60-persistent-storage.rules | 4 ++++ + rules/60-persistent-storage.rules | 4 ++++ 1 file changed, 4 insertions(+) ---- systemd-206.orig/rules/60-persistent-storage.rules -+++ systemd-206/rules/60-persistent-storage.rules -@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", +Index: systemd-221/rules/60-persistent-storage.rules +=================================================================== +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -36,6 +36,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" @@ -17,6 +19,6 @@ +KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" +KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" + - # firewire + # FireWire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" ++++++ 1003-udev-netlink-null-rules.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -7,16 +7,16 @@ src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -Index: systemd-218/src/udev/udevd.c +Index: systemd-221/src/udev/udevd.c =================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -1468,6 +1468,8 @@ int main(int argc, char *argv[]) { - dev = udev_monitor_receive_device(monitor); - if (dev != NULL) { - udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); -+ if (rules == NULL) -+ rules = udev_rules_new(udev, arg_resolve_names); - if (event_queue_insert(dev) < 0) - udev_device_unref(dev); - } +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -917,6 +917,8 @@ static int on_uevent(sd_event_source *s, + dev = udev_monitor_receive_device(manager->monitor); + if (dev) { + udev_device_ensure_usec_initialized(dev, NULL); ++ if (manager->rules == NULL) ++ manager->rules = udev_rules_new(manager->udev, arg_resolve_names); + r = event_queue_insert(manager, dev); + if (r < 0) + udev_device_unref(dev); ++++++ 1005-create-default-links-for-primary-cd_dvd-drive.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -7,10 +7,10 @@ rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -Index: systemd/rules/60-cdrom_id.rules +Index: systemd-221/rules/60-cdrom_id.rules =================================================================== ---- systemd.orig/rules/60-cdrom_id.rules -+++ systemd/rules/60-cdrom_id.rules +--- systemd-221.orig/rules/60-cdrom_id.rules ++++ systemd-221/rules/60-cdrom_id.rules @@ -20,6 +20,9 @@ IMPORT{program}="cdrom_id --lock-media $ # stale mounts after ejecting ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" ++++++ 1006-udev-always-rename-network.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -13,11 +13,11 @@ 1 file changed, 37 insertions(+), 4 deletions(-) -Index: systemd-218/src/udev/udev-event.c +Index: systemd-221/src/udev/udev-event.c =================================================================== ---- systemd-218.orig/src/udev/udev-event.c -+++ systemd-218/src/udev/udev-event.c -@@ -767,20 +767,53 @@ out: +--- systemd-221.orig/src/udev/udev-event.c ++++ systemd-221/src/udev/udev-event.c +@@ -796,20 +796,53 @@ out: static int rename_netif(struct udev_event *event) { struct udev_device *dev = event->dev; char name[IFNAMSIZ]; @@ -50,7 +50,7 @@ + oldname, interim, strerror(-r)); + return r; + } -+ ++ + /* log temporary name */ + log_info("renamed network interface %s to %s\n", oldname, interim); + ++++++ 1007-physical-hotplug-cpu-and-memory.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,5 +1,27 @@ ---- systemd-210/rules/80-hotplug-cpu-mem.rules -+++ systemd-210/rules/80-hotplug-cpu-mem.rules 2014-05-21 15:47:01.885605543 +0000 +--- + Makefile.am | 4 ++++ + rules/80-hotplug-cpu-mem.rules | 12 ++++++++++++ + 2 files changed, 16 insertions(+) + +Index: systemd-221/Makefile.am +=================================================================== +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -3841,6 +3841,10 @@ dist_udevrules_DATA += \ + rules/73-seat-numlock.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/80-hotplug-cpu-mem.rules ++ ++# ------------------------------------------------------------------------------ + mtd_probe_SOURCES = \ + src/udev/mtd_probe/mtd_probe.c \ + src/udev/mtd_probe/mtd_probe.h \ +Index: systemd-221/rules/80-hotplug-cpu-mem.rules +=================================================================== +--- /dev/null ++++ systemd-221/rules/80-hotplug-cpu-mem.rules @@ -0,0 +1,12 @@ +# do not edit this file, it will be overwritten on update + @@ -13,16 +35,3 @@ + +# +TAG=="tmpfs", RUN+="/usr/lib/udev/remount-tmpfs" ---- systemd-210/Makefile.am -+++ systemd-210/Makefile.am -@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/80-hotplug-cpu-mem.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ ++++++ 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -7,13 +7,13 @@ we shouldn't run any btrfs check on them. --- - rules/64-btrfs.rules | 1 + + rules/64-btrfs.rules | 1 + 1 file changed, 1 insertion(+) -diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules -index fe01001..57631bc 100644 ---- a/rules/64-btrfs.rules -+++ b/rules/64-btrfs.rules +Index: systemd-221/rules/64-btrfs.rules +=================================================================== +--- systemd-221.orig/rules/64-btrfs.rules ++++ systemd-221/rules/64-btrfs.rules @@ -3,6 +3,7 @@ SUBSYSTEM!="block", GOTO="btrfs_end" ACTION=="remove", GOTO="btrfs_end" @@ -22,6 +22,3 @@ # let the kernel know about this btrfs filesystem, and check if it is complete IMPORT{builtin}="btrfs ready $devnode" --- -1.8.1.4 - ++++++ 1012-Skip-persistent-device-link-creation-on-multipath-de.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -10,15 +10,15 @@ Otherwise systemd will get confused about which device to use. --- - rules/60-persistent-storage.rules | 7 +++++-- + rules/60-persistent-storage.rules | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index 1208bd3..fd5bedd 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -39,8 +39,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin - # scsi devices +Index: systemd-221/rules/60-persistent-storage.rules +=================================================================== +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! + # SCSI devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" -KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" @@ -28,7 +28,7 @@ # scsi compat links for ATA devices KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" -@@ -70,6 +70,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT +@@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ IMPORT{builtin}="blkid --noraid" @@ -38,6 +38,3 @@ # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{builtin}="blkid" --- -1.8.1.4 - ++++++ 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -12,21 +12,18 @@ Signed-off-by: Hannes Reinecke <hare@suse.de> --- - rules/99-systemd.rules.in | 1 + + rules/99-systemd.rules.in | 1 + 1 file changed, 1 insertion(+) -diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in -index db72373..11ee262 100644 ---- a/rules/99-systemd.rules.in -+++ b/rules/99-systemd.rules.in -@@ -11,6 +11,7 @@ SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270 - +Index: systemd-221/rules/99-systemd.rules.in +=================================================================== +--- systemd-221.orig/rules/99-systemd.rules.in ++++ systemd-221/rules/99-systemd.rules.in +@@ -10,6 +10,7 @@ ACTION=="remove", GOTO="systemd_end" + SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty*", TAG+="systemd" KERNEL=="vport*", TAG+="systemd" -+SUBSYSTEM=="block", KERNEL!="ram*", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" - SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd" - SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" ++SUBSYSTEM=="block", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end" + SUBSYSTEM=="block", TAG+="systemd" + SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" --- -1.8.4.5 - ++++++ 1037-udev-exclude-cd-dvd-from-block-device.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,8 +1,14 @@ Exclude cd/dvd as well (bnc#882714) ---- systemd-210/src/udev/udevd.c -+++ systemd-210/src/udev/udevd.c 2014-06-18 12:53:34.454235577 +0000 -@@ -744,7 +744,8 @@ static int synthesize_change(struct udev +--- + src/udev/udevd.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: systemd-221/src/udev/udevd.c +=================================================================== +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -1022,7 +1022,8 @@ static int synthesize_change(struct udev if (streq_ptr("block", udev_device_get_subsystem(dev)) && streq_ptr("disk", udev_device_get_devtype(dev)) && ++++++ 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -29,8 +29,10 @@ rules/64-btrfs.rules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---- a/rules/64-btrfs.rules -+++ b/rules/64-btrfs.rules +Index: systemd-221/rules/64-btrfs.rules +=================================================================== +--- systemd-221.orig/rules/64-btrfs.rules ++++ systemd-221/rules/64-btrfs.rules @@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" ++++++ 1062-rules-set-default-permissions-for-GenWQE-devices.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,11 +1,15 @@ -Index: systemd-210/rules/50-udev-default.rules +--- + rules/50-udev-default.rules | 2 ++ + 1 file changed, 2 insertions(+) + +Index: systemd-221/rules/50-udev-default.rules =================================================================== ---- systemd-210.orig/rules/50-udev-default.rules -+++ systemd-210/rules/50-udev-default.rules -@@ -66,4 +66,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st +--- systemd-221.orig/rules/50-udev-default.rules ++++ systemd-221/rules/50-udev-default.rules +@@ -74,4 +74,6 @@ KERNEL=="tun", MODE="0666", OPTIONS+="st KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" +KERNEL=="genwqe*", MODE="0666" + - LABEL="default_permissions_end" + LABEL="default_end" ++++++ 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -18,11 +18,11 @@ src/udev/scsi_id/scsi_serial.c | 19 +++++++++++++------ 4 files changed, 32 insertions(+), 7 deletions(-) -Index: systemd/rules/60-persistent-storage.rules +Index: systemd-221/rules/60-persistent-storage.rules =================================================================== ---- systemd.orig/rules/60-persistent-storage.rules -+++ systemd/rules/60-persistent-storage.rules -@@ -46,6 +46,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par +--- systemd-221.orig/rules/60-persistent-storage.rules ++++ systemd-221/rules/60-persistent-storage.rules +@@ -40,6 +40,10 @@ KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="par KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" @@ -30,13 +30,13 @@ +KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --truncated-serial --whitelisted --replace-whitespace -p0x80 -d$tempnode", RESULT=="?*", ENV{ID_SCSI_COMPAT_TRUNCATED}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}" +KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT_TRUNCATED}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT_TRUNCATED}-part%n" + - # firewire + # FireWire KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" -Index: systemd/src/udev/scsi_id/scsi_id.c +Index: systemd-221/src/udev/scsi_id/scsi_id.c =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.c -+++ systemd/src/udev/scsi_id/scsi_id.c +--- systemd-221.orig/src/udev/scsi_id/scsi_id.c ++++ systemd-221/src/udev/scsi_id/scsi_id.c @@ -43,6 +43,7 @@ static const struct option options[] = { { "replace-whitespace", no_argument, NULL, 'u' }, { "sg-version", required_argument, NULL, 's' }, @@ -94,11 +94,11 @@ util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out; -Index: systemd/src/udev/scsi_id/scsi_id.h +Index: systemd-221/src/udev/scsi_id/scsi_id.h =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_id.h -+++ systemd/src/udev/scsi_id/scsi_id.h -@@ -43,6 +43,7 @@ struct scsi_id_device { +--- systemd-221.orig/src/udev/scsi_id/scsi_id.h ++++ systemd-221/src/udev/scsi_id/scsi_id.h +@@ -45,6 +45,7 @@ struct scsi_id_device { char kernel[64]; char serial[MAX_SERIAL_LEN]; char serial_short[MAX_SERIAL_LEN]; @@ -106,11 +106,11 @@ int use_sg; /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ -Index: systemd/src/udev/scsi_id/scsi_serial.c +Index: systemd-221/src/udev/scsi_id/scsi_serial.c =================================================================== ---- systemd.orig/src/udev/scsi_id/scsi_serial.c -+++ systemd/src/udev/scsi_id/scsi_serial.c -@@ -96,7 +96,8 @@ static const char hex_str[]="0123456789a +--- systemd-221.orig/src/udev/scsi_id/scsi_serial.c ++++ systemd-221/src/udev/scsi_id/scsi_serial.c +@@ -97,7 +97,8 @@ static const char hex_str[]="0123456789a static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -120,7 +120,7 @@ static int sg_err_category_new(struct udev *udev, int scsi_status, int msg_status, int -@@ -619,7 +620,7 @@ static int do_scsi_page83_inquiry(struct +@@ -620,7 +621,7 @@ static int do_scsi_page83_inquiry(struct unsigned char page_83[SCSI_INQ_BUFF_LEN]; /* also pick up the page 80 serial number */ @@ -129,7 +129,7 @@ memzero(page_83, SCSI_INQ_BUFF_LEN); retval = scsi_inquiry(udev, dev_scsi, fd, 1, PAGE_83, page_83, -@@ -764,7 +765,8 @@ static int do_scsi_page83_prespc3_inquir +@@ -765,7 +766,8 @@ static int do_scsi_page83_prespc3_inquir /* Get unit serial number VPD page */ static int do_scsi_page80_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, int fd, @@ -139,7 +139,7 @@ { int retval; int ser_ind; -@@ -798,9 +800,14 @@ static int do_scsi_page80_inquiry(struct +@@ -799,9 +801,14 @@ static int do_scsi_page80_inquiry(struct ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; @@ -155,7 +155,7 @@ } if (serial_short != NULL) { memcpy(serial_short, &buf[4], len); -@@ -876,7 +883,7 @@ int scsi_get_serial(struct udev *udev, +@@ -877,7 +884,7 @@ int scsi_get_serial(struct udev *udev, return 1; if (page_code == PAGE_80) { @@ -164,7 +164,7 @@ retval = 1; goto completed; } else { -@@ -950,7 +957,7 @@ int scsi_get_serial(struct udev *udev, +@@ -951,7 +958,7 @@ int scsi_get_serial(struct udev *udev, for (ind = 4; ind <= page0[3] + 3; ind++) if (page0[ind] == PAGE_80) if (!do_scsi_page80_inquiry(udev, dev_scsi, fd, ++++++ 1095-set-ssd-disk-to-use-deadline-scheduler.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -3,22 +3,22 @@ rules/60-ssd-scheduler.rules | 11 +++++++++++ 2 files changed, 12 insertions(+) -Index: systemd/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3576,6 +3576,7 @@ dist_udevrules_DATA += \ +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -3501,6 +3501,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-ssd-scheduler.rules \ + rules/60-serial.rules \ rules/64-btrfs.rules \ rules/70-mouse.rules \ - rules/70-touchpad.rules \ -Index: systemd/rules/60-ssd-scheduler.rules +Index: systemd-221/rules/60-ssd-scheduler.rules =================================================================== --- /dev/null -+++ systemd/rules/60-ssd-scheduler.rules ++++ systemd-221/rules/60-ssd-scheduler.rules @@ -0,0 +1,11 @@ +# do not edit this file, it will be overwritten on update + ++++++ 1096-new-udev-root-symlink-generator.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -5,12 +5,10 @@ units/systemd-udev-root-symlink.service.in | 10 ++ 4 files changed, 96 insertions(+) -Index: systemd/Makefile.am -=================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -3862,6 +3862,25 @@ EXTRA_DIST += \ - +--- systemd-222.orig/Makefile.am ++++ systemd-222/Makefile.am +@@ -3759,6 +3759,25 @@ EXTRA_DIST += \ + test/mocks/fsck # ------------------------------------------------------------------------------ +rootsymlink_generator_SOURCES = \ @@ -35,10 +33,8 @@ ata_id_SOURCES = \ src/udev/ata_id/ata_id.c -Index: systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c -=================================================================== --- /dev/null -+++ systemd/src/udev/rootsymlink_generator/rootsymlink_generator.c ++++ systemd-222/src/udev/rootsymlink_generator/rootsymlink_generator.c @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2014-2015 Robert Milasan <rmilasan@suse.com> @@ -97,10 +93,8 @@ + return errno; + return 0; +} -Index: systemd/units/systemd-udev-root-symlink.service -=================================================================== --- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service ++++ systemd-222/units/systemd-udev-root-symlink.service @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink @@ -112,10 +106,8 @@ +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/lib/udev/rootsymlink-generator -Index: systemd/units/systemd-udev-root-symlink.service.in -=================================================================== --- /dev/null -+++ systemd/units/systemd-udev-root-symlink.service.in ++++ systemd-222/units/systemd-udev-root-symlink.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=Rule generator for /dev/root symlink ++++++ 1097-udevd-increase-maximum-number-of-children.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -2,25 +2,25 @@ src/udev/udevd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-218/src/udev/udevd.c +Index: systemd-221/src/udev/udevd.c =================================================================== ---- systemd-218.orig/src/udev/udevd.c -+++ systemd-218/src/udev/udevd.c -@@ -446,7 +446,7 @@ static void event_run(struct event *even +--- systemd-221.orig/src/udev/udevd.c ++++ systemd-221/src/udev/udevd.c +@@ -569,7 +569,7 @@ static void event_run(Manager *manager, - if (children >= arg_children_max) { + if (hashmap_size(manager->workers) >= arg_children_max) { if (arg_children_max > 1) -- log_debug("maximum number (%i) of children reached", children); -+ log_error("maximum number (%i) of children reached", children); +- log_debug("maximum number (%i) of children reached", hashmap_size(manager->workers)); ++ log_error("maximum number (%i) of children reached", hashmap_size(manager->workers)); return; } -@@ -1265,7 +1265,7 @@ int main(int argc, char *argv[]) { +@@ -1641,7 +1641,7 @@ int main(int argc, char *argv[]) { arg_children_max = 8; if (sched_getaffinity(0, sizeof (cpu_set), &cpu_set) == 0) { -- arg_children_max += CPU_COUNT(&cpu_set) * 2; +- arg_children_max += CPU_COUNT(&cpu_set) * 2; + arg_children_max += CPU_COUNT(&cpu_set) * 64; } - } - log_debug("set children_max to %u", arg_children_max); + + log_debug("set children_max to %u", arg_children_max); ++++++ 1098-systemd-networkd-alias-network-service.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,8 +1,12 @@ -Index: systemd-219/units/systemd-networkd.service.in +--- + units/systemd-networkd.service.m4.in | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-221/units/systemd-networkd.service.m4.in =================================================================== ---- systemd-219.orig/units/systemd-networkd.service.in -+++ systemd-219/units/systemd-networkd.service.in -@@ -29,4 +29,5 @@ WatchdogSec=1min +--- systemd-221.orig/units/systemd-networkd.service.m4.in ++++ systemd-221/units/systemd-networkd.service.m4.in +@@ -34,4 +34,5 @@ WatchdogSec=1min [Install] WantedBy=multi-user.target ++++++ Correct_assert_on_unexpected_error_code.patch ++++++ --- src/login/pam_systemd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- src/login/pam_systemd.c +++ src/login/pam_systemd.c 2015-07-29 08:52:20.762018565 +0000 @@ -507,7 +507,11 @@ _public_ PAM_EXTERN int pam_sm_open_sess r = pam_set_data(handle, "systemd.session-fd", INT_TO_PTR(session_fd+1), NULL); if (r != PAM_SUCCESS) { pam_syslog(handle, LOG_ERR, "Failed to install session fd."); - safe_close(session_fd); + if (session_fd >= 0) { + PROTECT_ERRNO; + if (_unlikely_(!(close_nointr(session_fd) != -EBADF))) + pam_syslog(handle, LOG_ERR, "Unexpected error code on closing session fd: %m"); + } return r; } } ++++++ Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -8,10 +8,10 @@ tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -Index: systemd-218/tmpfiles.d/legacy.conf +Index: systemd-221/tmpfiles.d/legacy.conf =================================================================== ---- systemd-218.orig/tmpfiles.d/legacy.conf -+++ systemd-218/tmpfiles.d/legacy.conf +--- systemd-221.orig/tmpfiles.d/legacy.conf ++++ systemd-221/tmpfiles.d/legacy.conf @@ -10,13 +10,14 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. @@ -36,5 +36,5 @@ -d /run/lock/lockdev 0775 root lock - +#d /run/lock/lockdev 0775 root lock - - # /forcefsck, /fastboot and /forcequotecheck are deprecated in favor of the + # /forcefsck, /fastboot and /forcequotacheck are deprecated in favor of the # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and ++++++ after-local.service ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -15,4 +15,3 @@ ExecStart=/etc/init.d/after.local TimeoutSec=0 RemainAfterExit=yes -SysVStartPriority=99 ++++++ allow-multiple-sulogin-to-be-started.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -4,13 +4,15 @@ allows multiple sulogin instance (bnc#793182). --- - units/getty@.service.m4 | 1 + - units/rescue.target | 1 + - units/serial-getty@.service.m4 | 1 + + units/getty@.service.m4 | 1 + + units/rescue.target | 1 + + units/serial-getty@.service.m4 | 1 + 3 files changed, 3 insertions(+) ---- systemd-206.orig/units/getty@.service.m4 -+++ systemd-206/units/getty@.service.m4 +Index: systemd-221/units/getty@.service.m4 +=================================================================== +--- systemd-221.orig/units/getty@.service.m4 ++++ systemd-221/units/getty@.service.m4 @@ -9,6 +9,7 @@ Description=Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) @@ -19,8 +21,10 @@ After=systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`HAVE_SYSV_COMPAT', After=rc-local.service ---- systemd-206.orig/units/rescue.target -+++ systemd-206/units/rescue.target +Index: systemd-221/units/rescue.target +=================================================================== +--- systemd-221.orig/units/rescue.target ++++ systemd-221/units/rescue.target @@ -10,6 +10,7 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service @@ -29,8 +33,10 @@ AllowIsolate=yes [Install] ---- systemd-206.orig/units/serial-getty@.service.m4 -+++ systemd-206/units/serial-getty@.service.m4 +Index: systemd-221/units/serial-getty@.service.m4 +=================================================================== +--- systemd-221.orig/units/serial-getty@.service.m4 ++++ systemd-221/units/serial-getty@.service.m4 @@ -10,6 +10,7 @@ Description=Serial Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html ++++++ apply-ACL-for-nvidia-device-nodes.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -4,14 +4,14 @@ set ACL on nvidia devices (bnc#808319). --- - logind-acl.c | 12 ++++++++++++ + src/login/logind-acl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -Index: systemd-210/src/login/logind-acl.c +Index: systemd-221/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, +--- systemd-221.orig/src/login/logind-acl.c ++++ systemd-221/src/login/logind-acl.c +@@ -285,5 +285,17 @@ int devnode_acl_all(struct udev *udev, r = k; } ++++++ apply-ACL-for-nvidia-uvm-device-node.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -5,13 +5,13 @@ set ACL on nvidia-uvm device (bnc#879767). --- - src/login/logind-acl.c | 2 ++ + src/login/logind-acl.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c -index 54bc16b..a40af21 100644 ---- a/src/login/logind-acl.c -+++ b/src/login/logind-acl.c +Index: systemd-221/src/login/logind-acl.c +=================================================================== +--- systemd-221.orig/src/login/logind-acl.c ++++ systemd-221/src/login/logind-acl.c @@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev, if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0) break; @@ -21,6 +21,3 @@ } return r; --- -1.8.4.5 - ++++++ avoid-divide-by-zero-sigtrap.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,8 +1,28 @@ Nasty bug reported on bnc#867663 ---- systemd-210/src/core/manager.c -+++ systemd-210/src/core/manager.c 2014-04-17 13:29:07.366236714 +0000 -@@ -1780,7 +1780,8 @@ static int manager_dispatch_jobs_in_prog +--- + src/basic/def.h | 2 +- + src/core/manager.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +Index: systemd-221/src/basic/def.h +=================================================================== +--- systemd-221.orig/src/basic/def.h ++++ systemd-221/src/basic/def.h +@@ -37,7 +37,7 @@ + + #define SYSTEMD_CGROUP_CONTROLLER "systemd" + +-#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT ++#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS + #define SIGNALS_IGNORE SIGPIPE + + #define DIGITS "0123456789" +Index: systemd-221/src/core/manager.c +=================================================================== +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -1991,7 +1991,8 @@ static int manager_dispatch_jobs_in_prog assert(m); assert(source); @@ -12,14 +32,3 @@ next = now(CLOCK_MONOTONIC) + JOBS_IN_PROGRESS_PERIOD_USEC; r = sd_event_source_set_time(source, next); ---- systemd-210/src/shared/def.h -+++ systemd-210/src/shared/def.h 2014-04-17 13:47:10.946234983 +0000 -@@ -37,7 +37,7 @@ - - #define SYSTEMD_CGROUP_CONTROLLER "name=systemd" - --#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -+#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT,SIGTRAP,SIGSYS - #define SIGNALS_IGNORE SIGPIPE - - #define DIGITS "0123456789" ++++++ avoid-random-hangs-on-timeouts-due-lost-cwd.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -7,8 +7,14 @@ which then caused the subsequent fault that umounting the users home directories done by automount are busy. ---- systemd-210/units/user/systemd-exit.service.in -+++ systemd-210/units/user/systemd-exit.service.in 2014-03-25 16:59:20.406235916 +0000 +--- + units/user/systemd-exit.service.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: systemd-221/units/user/systemd-exit.service.in +=================================================================== +--- systemd-221.orig/units/user/systemd-exit.service.in ++++ systemd-221/units/user/systemd-exit.service.in @@ -10,8 +10,9 @@ Description=Exit the Session Documentation=man:systemd.special(7) DefaultDependencies=no ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -2,9 +2,7 @@ supplements "packageand(systemd:pam-<targettype>)" -/lib/systemd/system/ post "<prefix>%{_sbindir}/pam-config -a --systemd || :" -# postun "if [ "$1" == "0" ]; then" -# postun "<prefix>%{_sbindir}/pam-config -d --systemd || :" -# postun "fi" -libgudev-1_0-0 +libsystemd0 libudev1 nss-myhostname +nss-mymachines ++++++ boot-local-start.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,6 +1,11 @@ -diff -Naur systemd-210/units/rc-local.service.in systemd-210-mod/units/rc-local.service.in ---- systemd-210/units/rc-local.service.in 2013-08-13 22:02:52.788756123 +0200 -+++ systemd-210-mod/units/rc-local.service.in 2014-03-25 08:34:40.317587764 +0100 +--- + units/rc-local.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: systemd-221/units/rc-local.service.in +=================================================================== +--- systemd-221.orig/units/rc-local.service.in ++++ systemd-221/units/rc-local.service.in @@ -10,7 +10,7 @@ [Unit] Description=@RC_LOCAL_SCRIPT_PATH_START@ Compatibility ++++++ ensure-ask-password-wall-starts-after-getty-tty1.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -9,8 +9,10 @@ units/systemd-ask-password-wall.service.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in -+++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in +Index: systemd-221/units/systemd-ask-password-wall.service.in +=================================================================== +--- systemd-221.orig/units/systemd-ask-password-wall.service.in ++++ systemd-221/units/systemd-ask-password-wall.service.in @@ -8,7 +8,8 @@ [Unit] Description=Forward Password Requests to Wall ++++++ ensure-shortname-is-set-as-hostname-bnc-820213.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -4,30 +4,28 @@ strip hostname so the domain part isn't set as part of the hostname --- - src/core/hostname-setup.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) + src/core/hostname-setup.c | 4 ++++ + 1 file changed, 4 insertions(+) -Index: systemd-218/src/core/hostname-setup.c +Index: systemd-221/src/core/hostname-setup.c =================================================================== ---- systemd-218.orig/src/core/hostname-setup.c -+++ systemd-218/src/core/hostname-setup.c -@@ -32,7 +32,7 @@ - #include "fileio.h" - - static int read_and_strip_hostname(const char *path, char **hn) { -- char *s; -+ char *s, *domain; +--- systemd-221.orig/src/core/hostname-setup.c ++++ systemd-221/src/core/hostname-setup.c +@@ -34,6 +34,7 @@ int hostname_setup(void) { int r; + _cleanup_free_ char *b = NULL; + const char *hn; ++ char *domain; + bool enoent = false; - assert(path); -@@ -49,6 +49,10 @@ static int read_and_strip_hostname(const - return -ENOENT; - } - + r = read_hostname_config("/etc/hostname", &b); +@@ -46,6 +47,9 @@ int hostname_setup(void) { + hn = NULL; + } else + hn = b; + /* strip any leftover of a domain name */ -+ if ((domain = strchr(s, '.')) != NULL) ++ if ((domain = strchr(hn, '.')) != NULL) + *domain = '\0'; -+ - *hn = s; - return 0; - } + + if (isempty(hn)) { + /* Don't override the hostname if it is already set ++++++ fix-support-for-boot-prefixed-initscript-bnc-746506.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -3,14 +3,14 @@ Subject: fix support for boot prefixed initscript (bnc#746506) --- - src/systemctl/systemctl.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) + src/systemctl/systemctl.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) -Index: systemd-218/src/systemctl/systemctl.c +Index: systemd-221/src/systemctl/systemctl.c =================================================================== ---- systemd-218.orig/src/systemctl/systemctl.c -+++ systemd-218/src/systemctl/systemctl.c -@@ -5202,8 +5202,26 @@ static int enable_sysv_units(const char +--- systemd-221.orig/src/systemctl/systemctl.c ++++ systemd-221/src/systemctl/systemctl.c +@@ -5165,8 +5165,24 @@ static int enable_sysv_units(const char p[strlen(p) - strlen(".service")] = 0; found_sysv = access(p, F_OK) >= 0; @@ -27,14 +27,12 @@ + return -ENOMEM; + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; -+ -+ if (!found_sysv) { ++ if (!found_sysv) + continue; -+ } +#else continue; +#endif + } - log_info("%s is not a native service, redirecting to /sbin/chkconfig.", name); - + if (found_native) + log_info("Synchronizing state of %s with SysV init with %s...", name, argv[0]); ++++++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:54.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:54.000000000 +0200 @@ -1,36 +1,41 @@ -From: Frederic Crozat <fcrozat@suse.com> -Date: Fri, 19 Aug 2011 15:29:49 +0000 +Original-From: Frederic Crozat <fcrozat@suse.com> +Original-Date: Fri, 19 Aug 2011 15:29:49 +0000 Subject: handle disable_caplock and compose_table and kbd_rate +References: https://bugzilla.opensuse.org/746595 +Last-Editor: Jan Engelhardt <jengelh@inai.de> +Date: Fri Jun 19 21:36:27 CEST 2015 -(bnc#746595) --- - src/vconsole/vconsole-setup.c | 151 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 148 insertions(+), 3 deletions(-) + src/vconsole/vconsole-setup.c | 151 ++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 147 insertions(+), 4 deletions(-) -Index: systemd-218/src/vconsole/vconsole-setup.c +Index: systemd-221/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c -@@ -40,6 +40,7 @@ - #include "macro.h" +--- systemd-221.orig/src/vconsole/vconsole-setup.c ++++ systemd-221/src/vconsole/vconsole-setup.c +@@ -35,6 +35,8 @@ + #include "log.h" #include "virt.h" #include "fileio.h" ++#include "macro.h" +#include "strv.h" - - static bool is_vconsole(int fd) { - unsigned char data[1]; -@@ -101,8 +102,8 @@ static int enable_utf8(int fd) { + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +@@ -99,8 +101,10 @@ static int enable_utf8(int fd) { return r; } --static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { +-static int keyboard_load_and_wait(const char *vc, const char *map, const char *map_toggle, bool utf8) { - const char *args[8]; -+static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { ++static int keyboard_load_and_wait(const char *vc, const char *map, ++ const char *map_toggle, bool utf8, bool disable_capslock) ++{ + const char *args[9]; - int i = 0; + int i = 0, r; pid_t pid; -@@ -121,6 +122,8 @@ static int keymap_load(const char *vc, c +@@ -117,6 +121,8 @@ static int keyboard_load_and_wait(const args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,23 +44,23 @@ args[i++] = NULL; pid = fork(); -@@ -236,11 +239,113 @@ static void font_copy_to_all_vcs(int fd) +@@ -246,11 +252,117 @@ static void font_copy_to_all_vcs(int fd) } } +#ifdef HAVE_SYSV_COMPAT -+static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { ++static int compose_load_and_wait(const char *vc, const char *compose_table) ++{ + const char *args[1024]; -+ int i = 0, j = 0; ++ unsigned int i = 0, j = 0; ++ int ret; + pid_t pid; + char **strv_compose_table = NULL; + char *to_free[1024]; + -+ if (isempty(compose_table)) { -+ /* An empty map means no compose table*/ -+ *_pid = 0; -+ return 0; -+ } ++ if (isempty(compose_table)) ++ /* An empty map means no compose table */ ++ return 1; + + args[i++] = KBD_LOADKEYS; + args[i++] = "-q"; @@ -69,50 +74,51 @@ + char **name; + char *arg; + -+ STRV_FOREACH (name, strv_compose_table) { -+ if (streq(*name,"-c") || streq(*name,"clear")) { ++ STRV_FOREACH(name, strv_compose_table) { ++ if (streq(*name, "-c") || streq(*name, "clear")) { + compose_clear = true; + continue; + } -+ if (!compose_loaded) { -+ if (compose_clear) -+ args[i++] = "-c"; -+ } -+ asprintf(&arg, "compose.%s",*name); ++ if (!compose_loaded && compose_clear) ++ args[i++] = "-c"; ++ asprintf(&arg, "compose.%s", *name); + compose_loaded = true; + args[i++] = to_free[j++] = arg; -+ ++ if (i >= ELEMENTSOF(args) - 1) ++ break; + } + strv_free(strv_compose_table); + } + args[i++] = NULL; + -+ if ((pid = fork()) < 0) { -+ log_error("Failed to fork: %m"); -+ return -errno; -+ } else if (pid == 0) { ++ pid = fork(); ++ if (pid < 0) ++ return log_error_errno(errno, "Failed to fork: %m"); ++ if (pid == 0) { ++ reset_all_signal_handlers(); ++ reset_signal_mask(); + execv(args[0], (char **) args); + _exit(EXIT_FAILURE); + } + -+ *_pid = pid; -+ -+ for (i=0 ; i < j ; i++) -+ free (to_free[i]); -+ -+ return 0; ++ ret = wait_for_terminate_and_warn(args[0], pid, true); ++ for (i = 0; i < j; ++i) ++ free(to_free[i]); ++ if (ret < 0) ++ return ret; ++ return ret == 0; +} +#endif + -+static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { ++static int kbdrate_set_and_wait(const char *vc, const char *kbd_rate, ++ const char *kbd_delay) ++{ + const char *args[7]; -+ int i = 0; ++ int i = 0, ret; + pid_t pid; + -+ if (isempty(kbd_rate) && isempty(kbd_delay)) { -+ *_pid = 0; -+ return 0; -+ } ++ if (isempty(kbd_rate) && isempty(kbd_delay)) ++ return 1; + + args[i++] = "/bin/kbdrate"; + if (!isempty(kbd_rate)) { @@ -126,16 +132,19 @@ + args[i++] = "-s"; + args[i++] = NULL; + -+ if ((pid = fork()) < 0) { -+ log_error("Failed to fork: %m"); -+ return -errno; -+ } else if (pid == 0) { ++ pid = fork(); ++ if (pid < 0) ++ return log_error_errno(errno, "Failed to fork: %m"); ++ if (pid == 0) { ++ reset_all_signal_handlers(); ++ reset_signal_mask(); + execv(args[0], (char **) args); + _exit(EXIT_FAILURE); + } -+ -+ *_pid = pid; -+ return 0; ++ ret = wait_for_terminate_and_warn(args[0], pid, true); ++ if (ret < 0) ++ return ret; ++ return ret == 0; +} + int main(int argc, char **argv) { @@ -147,13 +156,13 @@ + _cleanup_free_ char + *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, + *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; -+ pid_t kbd_rate_pid = 0, compose_table_pid = 0; +#endif + bool disable_capslock = false; ++ bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; - bool utf8; - pid_t font_pid = 0, keymap_pid = 0; -@@ -273,6 +378,28 @@ int main(int argc, char **argv) { + bool utf8, font_copy = false, font_ok, keyboard_ok; + int r = EXIT_FAILURE; +@@ -281,6 +393,31 @@ int main(int argc, char **argv) { utf8 = is_locale_utf8(); @@ -166,7 +175,8 @@ + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", ++ strerror(-r)); + + r = parse_env_file("/etc/sysconfig/console", NEWLINE, + "CONSOLE_FONT", &vc_font, @@ -174,45 +184,33 @@ + "CONSOLE_UNICODEMAP", &vc_font_unimap, + NULL); + if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); ++ 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 ++ disable_capslock = vc_kbd_disable_caps_lock && ++ strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#endif /* HAVE_SYSV_COMPAT */ + r = parse_env_file("/etc/vconsole.conf", NEWLINE, "KEYMAP", &vc_keymap, "KEYMAP_TOGGLE", &vc_keymap_toggle, -@@ -312,14 +439,32 @@ int main(int argc, char **argv) { - if (font_pid > 0) - wait_for_terminate_and_warn(KBD_SETFONT, font_pid, true); - -- r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); -+ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid); - if (r < 0) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } -+#ifdef HAVE_SYSV_COMPAT -+ r = load_compose_table(vc, vc_compose_table, &compose_table_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start " KBD_LOADKEYS " loading the compose table: %m"); -+ return EXIT_FAILURE; -+ } -+ r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid); -+ if (r < 0) { -+ log_error_errno(r, "Failed to start kbdrate: %m"); -+ return EXIT_FAILURE; -+ } -+#endif +@@ -312,11 +449,17 @@ int main(int argc, char **argv) { + (void) disable_utf8(fd); - if (keymap_pid > 0) - wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid, true); + font_ok = font_load_and_wait(vc, vc_font, vc_font_map, vc_font_unimap) > 0; +- keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, utf8) > 0; ++ keyboard_ok = keyboard_load_and_wait(vc, vc_keymap, vc_keymap_toggle, ++ utf8, disable_capslock) > 0; +#ifdef HAVE_SYSV_COMPAT -+ if (compose_table_pid > 0) -+ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid, true); -+ if (kbd_rate_pid > 0) -+ wait_for_terminate_and_warn("/usr/bin/kbdrate", kbd_rate_pid, true); ++ comp_ok = compose_load_and_wait(vc, vc_compose_table); ++ rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); +#endif - /* Only copy the font when we started setfont successfully */ - if (font_copy && font_pid > 0) + /* Only copy the font when we executed setfont successfully */ + if (font_copy && font_ok) + (void) font_copy_to_all_vcs(fd); + +- return font_ok && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE; ++ return font_ok && keyboard_ok && comp_ok && rate_ok ? ++ EXIT_SUCCESS : EXIT_FAILURE; + } ++++++ handle-numlock-value-in-etc-sysconfig-keyboard.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -14,12 +14,10 @@ units/systemd-vconsole-setup.service.in | 2 - 5 files changed, 94 insertions(+), 3 deletions(-) -Index: systemd-218/Makefile.am -=================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -3715,6 +3715,19 @@ dist_udevrules_DATA += \ - rules/61-accelerometer.rules +--- systemd-222.orig/Makefile.am ++++ systemd-222/Makefile.am +@@ -3805,6 +3805,19 @@ dist_udevrules_DATA += \ + rules/60-persistent-v4l.rules # ------------------------------------------------------------------------------ +numlock_on_SOURCES = \ @@ -35,13 +33,11 @@ + rules/73-seat-numlock.rules + +# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ -Index: systemd-218/rules/73-seat-numlock.rules -=================================================================== + mtd_probe_SOURCES = \ + src/udev/mtd_probe/mtd_probe.c \ + src/udev/mtd_probe/mtd_probe.h \ --- /dev/null -+++ systemd-218/rules/73-seat-numlock.rules ++++ systemd-222/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -51,10 +47,8 @@ +# (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-218/src/login/numlock-on.c -=================================================================== --- /dev/null -+++ systemd-218/src/login/numlock-on.c ++++ systemd-222/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -90,13 +84,11 @@ + + exit(0); +} -Index: systemd-218/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-218.orig/src/vconsole/vconsole-setup.c -+++ systemd-218/src/vconsole/vconsole-setup.c -@@ -42,6 +42,10 @@ - #include "fileio.h" - #include "strv.h" +--- systemd-222.orig/src/vconsole/vconsole-setup.c ++++ systemd-222/src/vconsole/vconsole-setup.c +@@ -41,6 +41,10 @@ + #include "terminal-util.h" + #include "signal-util.h" +#define BIOS_DATA_AREA 0x400 +#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 @@ -105,21 +97,20 @@ static bool is_vconsole(int fd) { unsigned char data[1]; -@@ -342,10 +346,11 @@ int main(int argc, char **argv) { +@@ -359,9 +363,10 @@ int main(int argc, char **argv) { #ifdef HAVE_SYSV_COMPAT _cleanup_free_ char *vc_kbd_delay = NULL, *vc_kbd_rate = NULL, - *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL; + *vc_kbd_disable_caps_lock = NULL, *vc_compose_table = NULL, + *vc_kbd_numlock = NULL; - pid_t kbd_rate_pid = 0, compose_table_pid = 0; #endif - bool disable_capslock = false; + bool disable_capslock = false, numlock = false; + bool comp_ok, rate_ok; _cleanup_close_ int fd = -1; - bool utf8; - pid_t font_pid = 0, keymap_pid = 0; -@@ -384,6 +389,7 @@ int main(int argc, char **argv) { + bool utf8, font_copy = false, font_ok, keyboard_ok; +@@ -399,6 +404,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, @@ -127,54 +118,52 @@ "COMPOSETABLE", &vc_compose_table, NULL); if (r < 0 && r != -ENOENT) -@@ -398,6 +404,32 @@ int main(int argc, char **argv) { - log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); +@@ -416,6 +422,32 @@ int main(int argc, char **argv) { - 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; ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); +#if defined(__i386__) || defined(__x86_64__) -+ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { -+ int _cleanup_close_ fdmem; -+ char c; -+ -+ fdmem = open ("/dev/mem", O_RDONLY); -+ if (fdmem < 0) { -+ log_error("Failed to open /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { -+ log_error("Failed to seek /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (read (fdmem, &c, sizeof(char)) == -1) { -+ log_error("Failed to read /dev/mem: %m"); -+ return EXIT_FAILURE; -+ } -+ -+ if (c & BDA_KSF4_NUMLOCK_MASK) -+ numlock = true; -+ } else -+#endif -+ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); - #endif ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ if (fdmem < 0) { ++ log_error("Failed to open /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ log_error("Failed to seek /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (read(fdmem, &c, sizeof(char)) == -1) { ++ log_error("Failed to read /dev/mem: %m"); ++ return EXIT_FAILURE; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } ++#endif /* x86 */ + #endif /* HAVE_SYSV_COMPAT */ r = parse_env_file("/etc/vconsole.conf", NEWLINE, -@@ -444,6 +476,10 @@ int main(int argc, char **argv) { - log_error_errno(r, "Failed to start " KBD_LOADKEYS ": %m"); - return EXIT_FAILURE; - } +@@ -451,6 +483,10 @@ int main(int argc, char **argv) { + 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, disable_capslock) > 0; + if (numlock) + touch("/run/numlock-on"); + else + unlink("/run/numlock-on"); #ifdef HAVE_SYSV_COMPAT - r = load_compose_table(vc, vc_compose_table, &compose_table_pid); - if (r < 0) { -Index: systemd-218/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-218.orig/units/systemd-vconsole-setup.service.in -+++ systemd-218/units/systemd-vconsole-setup.service.in + comp_ok = compose_load_and_wait(vc, vc_compose_table); + rate_ok = kbdrate_set_and_wait(vc, vc_kbd_rate, vc_kbd_delay); +--- systemd-222.orig/units/systemd-vconsole-setup.service.in ++++ systemd-222/units/systemd-vconsole-setup.service.in @@ -10,7 +10,7 @@ Description=Setup Virtual Console Documentation=man:systemd-vconsole-setup.service(8) man:vconsole.conf(5) DefaultDependencies=no ++++++ handle-root_uses_lang-value-in-etc-sysconfig-language.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -7,11 +7,11 @@ src/core/locale-setup.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) -Index: systemd-218/src/core/locale-setup.c +Index: systemd-221/src/core/locale-setup.c =================================================================== ---- systemd-218.orig/src/core/locale-setup.c -+++ systemd-218/src/core/locale-setup.c -@@ -36,6 +36,11 @@ int locale_setup(char ***environment) { +--- systemd-221.orig/src/core/locale-setup.c ++++ systemd-221/src/core/locale-setup.c +@@ -34,6 +34,11 @@ int locale_setup(char ***environment) { char **add; char *variables[_VARIABLE_LC_MAX] = {}; int r = 0, i; @@ -23,7 +23,7 @@ if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -82,6 +87,27 @@ int locale_setup(char ***environment) { +@@ -80,6 +85,27 @@ int locale_setup(char ***environment) { if (r < 0 && r != -ENOENT) log_warning_errno(r, "Failed to read /etc/locale.conf: %m"); } ++++++ hostname-NULL.patch ++++++ Index: systemd-222/src/core/hostname-setup.c =================================================================== --- systemd-222.orig/src/core/hostname-setup.c +++ systemd-222/src/core/hostname-setup.c @@ -44,7 +44,7 @@ int hostname_setup(void) { else log_warning_errno(r, "Failed to read configured hostname: %m"); - hn = NULL; + hn = strdup("nohostname.set.site"); } else hn = b; /* strip any leftover of a domain name */ ++++++ insserv-generator.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -8,14 +8,16 @@ --- Makefile.am | 9 src/insserv-generator/Makefile | 28 ++ - src/insserv-generator/insserv-generator.c | 312 ++++++++++++++++++++++++++++++ - 3 files changed, 349 insertions(+) + src/insserv-generator/insserv-generator.c | 316 ++++++++++++++++++++++++++++++ + 3 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c ---- systemd-219.orig/Makefile.am -+++ systemd-219/Makefile.am -@@ -621,7 +621,8 @@ nodist_systemunit_DATA += \ +Index: systemd-224/Makefile.am +=================================================================== +--- systemd-224.orig/Makefile.am ++++ systemd-224/Makefile.am +@@ -617,7 +617,8 @@ nodist_systemunit_DATA += \ systemgenerator_PROGRAMS += \ systemd-sysv-generator \ @@ -25,23 +27,23 @@ endif EXTRA_DIST += \ -@@ -2565,6 +2566,14 @@ systemd_rc_local_generator_LDADD = \ - libsystemd-label.la \ - libsystemd-shared.la +@@ -2556,6 +2557,12 @@ $(systemd_boot): $(systemd_boot_solib) + endif + endif +#------------------------------------------------------------------------------- +systemd_insserv_generator_SOURCES = \ + src/insserv-generator/insserv-generator.c + -+systemd_insserv_generator_LDADD = \ -+ libsystemd-label.la \ -+ libsystemd-shared.la ++systemd_insserv_generator_LDADD = libbasic.la + # ------------------------------------------------------------------------------ - systemd_remount_fs_SOURCES = \ - src/remount-fs/remount-fs.c \ + stub_headers = \ + src/boot/efi/util.h \ +Index: systemd-224/src/insserv-generator/Makefile +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/Makefile ++++ systemd-224/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -71,9 +73,11 @@ + $(MAKE) -C .. clean + +.PHONY: all clean +Index: systemd-224/src/insserv-generator/insserv-generator.c +=================================================================== --- /dev/null -+++ systemd-219/src/insserv-generator/insserv-generator.c -@@ -0,0 +1,312 @@ ++++ systemd-224/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,316 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + +/*** @@ -153,6 +157,7 @@ + unsigned i; + char *r; + const char *n; ++ int ret; + + assert(name); + assert(_r); @@ -182,7 +187,9 @@ + return -EINVAL; + + /* Facilities starting with $ are most likely targets */ -+ r = unit_name_build(n, NULL, ".target"); ++ ret = unit_name_build(n, NULL, ".target", &r); ++ if (ret < 0) ++ return ret; + } else if (filename && streq(name, filename)) + /* Names equaling the file name of the services are redundant */ + return 0; @@ -246,7 +253,8 @@ + r = write_string_file(unit, + "# Automatically generated by systemd-insserv-generator\n\n" + "[Unit]\n" -+ "Wants=remote-fs-pre.target\n"); ++ "Wants=remote-fs-pre.target\n", ++ WRITE_STRING_FILE_CREATE); + if (r) + return r; + free (facility); ++++++ journald-advice-about-use-of-memory.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -16,11 +16,11 @@ src/journal/mmap-cache.c | 16 +++++++++++++++- 4 files changed, 33 insertions(+), 5 deletions(-) -Index: systemd/src/journal/catalog.c +Index: systemd-221/src/journal/catalog.c =================================================================== ---- systemd.orig/src/journal/catalog.c -+++ systemd/src/journal/catalog.c -@@ -470,6 +470,10 @@ finish: +--- systemd-221.orig/src/journal/catalog.c ++++ systemd-221/src/journal/catalog.c +@@ -469,6 +469,10 @@ finish: static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) { const CatalogHeader *h; @@ -31,7 +31,7 @@ int fd; void *p; struct stat st; -@@ -492,12 +496,18 @@ static int open_mmap(const char *databas +@@ -491,12 +495,18 @@ static int open_mmap(const char *databas return -EINVAL; } @@ -51,10 +51,10 @@ h = p; if (memcmp(h->signature, CATALOG_SIGNATURE, sizeof(h->signature)) != 0 || le64toh(h->header_size) < sizeof(CatalogHeader) || -Index: systemd/src/journal/journal-authenticate.c +Index: systemd-221/src/journal/journal-authenticate.c =================================================================== ---- systemd.orig/src/journal/journal-authenticate.c -+++ systemd/src/journal/journal-authenticate.c +--- systemd-221.orig/src/journal/journal-authenticate.c ++++ systemd-221/src/journal/journal-authenticate.c @@ -355,7 +355,8 @@ int journal_file_fss_load(JournalFile *f goto finish; } @@ -76,10 +76,10 @@ if (f->fss_file == MAP_FAILED) { f->fss_file = NULL; r = -errno; -Index: systemd/src/journal/journald-kmsg.c +Index: systemd-221/src/journal/journald-kmsg.c =================================================================== ---- systemd.orig/src/journal/journald-kmsg.c -+++ systemd/src/journal/journald-kmsg.c +--- systemd-221.orig/src/journal/journald-kmsg.c ++++ systemd-221/src/journal/journald-kmsg.c @@ -454,7 +454,8 @@ int server_open_kernel_seqnum(Server *s) return 0; } @@ -90,11 +90,11 @@ if (p == MAP_FAILED) { log_error_errno(errno, "Failed to map sequential number file, ignoring: %m"); return 0; -Index: systemd/src/journal/mmap-cache.c +Index: systemd-221/src/journal/mmap-cache.c =================================================================== ---- systemd.orig/src/journal/mmap-cache.c -+++ systemd/src/journal/mmap-cache.c -@@ -467,11 +467,14 @@ static int add_mmap( +--- systemd-221.orig/src/journal/mmap-cache.c ++++ systemd-221/src/journal/mmap-cache.c +@@ -466,11 +466,14 @@ static int add_mmap( struct stat *st, void **ret) { @@ -109,7 +109,7 @@ int r; assert(m); -@@ -510,7 +513,8 @@ static int add_mmap( +@@ -509,7 +512,8 @@ static int add_mmap( } for (;;) { @@ -119,7 +119,7 @@ if (d != MAP_FAILED) break; if (errno != ENOMEM) -@@ -523,6 +527,16 @@ static int add_mmap( +@@ -522,6 +526,16 @@ static int add_mmap( return -ENOMEM; } ++++++ kbd-model-map.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -5,10 +5,10 @@ src/locale/kbd-model-map | 13 +++++++++++++ 1 file changed, 13 insertions(+) -Index: systemd/src/locale/kbd-model-map +Index: systemd-221/src/locale/kbd-model-map =================================================================== ---- systemd.orig/src/locale/kbd-model-map -+++ systemd/src/locale/kbd-model-map +--- systemd-221.orig/src/locale/kbd-model-map ++++ systemd-221/src/locale/kbd-model-map @@ -66,3 +66,16 @@ lt.baltic lt pc105 - terminate:ctrl_a lt.l4 lt pc105 - terminate:ctrl_alt_bksp lt lt pc105 - terminate:ctrl_alt_bksp ++++++ let-linker-find-libudev-for-libdevmapper.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,35 +1,19 @@ --- - Makefile.am | 4 ++++ configure.ac | 4 ---- - 2 files changed, 4 insertions(+), 4 deletions(-) + 1 file changed, 4 deletions(-) -Index: systemd/Makefile.am +Index: systemd-224/configure.ac =================================================================== ---- systemd.orig/Makefile.am -+++ systemd/Makefile.am -@@ -4789,6 +4789,10 @@ systemd_cryptsetup_CFLAGS = \ - $(AM_CFLAGS) \ - $(LIBCRYPTSETUP_CFLAGS) - -+systemd_cryptsetup_LDFLAGS = \ -+ $(AM_LDFLAGS) \ -+ -Wl,-rpath-link=$(top_srcdir)/.libs -+ - systemd_cryptsetup_LDADD = \ - libsystemd-label.la \ - libudev-internal.la \ -Index: systemd/configure.ac -=================================================================== ---- systemd.orig/configure.ac -+++ systemd/configure.ac -@@ -206,10 +206,6 @@ AS_CASE([$CC], [*clang*], +--- systemd-224.orig/configure.ac ++++ systemd-224/configure.ac +@@ -199,10 +199,6 @@ AS_CASE([$CC], [*clang*], -Wno-gnu-variable-sized-type-not-at-end \ ])]) --AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], +-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -- -flto -ffat-lto-objects])], +- -flto])], - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") - AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], + AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], ++++++ let-vconsole-setup-get-properties-only-once-to-copy-them.patch ++++++ From: Werner Fink <werner@suse.de> Date: Wed Sep 23 12:37:23 UTC 2015 Subject: Do not bother vistual console to much with GIO/PIO This avoids broken virtual console mapping due stressed ioctl API for the virtual consoles (boo#904214) --- src/vconsole/vconsole-setup.c | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) --- src/vconsole/vconsole-setup.c +++ src/vconsole/vconsole-setup.c 2015-09-23 12:34:33.854018750 +0000 @@ -202,8 +202,13 @@ static void font_copy_to_all_vcs(int fd) unsigned short map16[E_TABSZ]; struct unimapdesc unimapd; struct unipair unipairs[USHRT_MAX]; + struct console_font_op cfo = {}; int i, r; + bool hasmap8; + bool hasmap16; + bool hasunimap; + /* get active, and 16 bit mask of used VT numbers */ r = ioctl(fd, VT_GETSTATE, &vcs); if (r < 0) { @@ -211,10 +216,22 @@ static void font_copy_to_all_vcs(int fd) return; } + /* copy font from active VT, where the font was uploaded to */ + cfo.op = KD_FONT_OP_COPY; + cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + + hasmap8 = (ioctl(fd, GIO_SCRNMAP, map8) >= 0); + hasmap16 = (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0); + + /* unimapd is a ushort count and a pointer to an + * array of struct unipair { ushort, ushort } */ + unimapd.entries = unipairs; + unimapd.entry_ct = USHRT_MAX; + hasunimap = (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0); + for (i = 1; i <= 15; i++) { char vcname[strlen("/dev/vcs") + DECIMAL_STR_MAX(int)]; _cleanup_close_ int vcfd = -1; - struct console_font_op cfo = {}; if (i == vcs.v_active) continue; @@ -229,25 +246,19 @@ static void font_copy_to_all_vcs(int fd) if (vcfd < 0) continue; - /* copy font from active VT, where the font was uploaded to */ - cfo.op = KD_FONT_OP_COPY; - cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + /* copy font from active VT to vcs */ (void) ioctl(vcfd, KDFONTOP, &cfo); - /* copy map of 8bit chars */ - if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) + /* copy map of 8bit chars to vcs */ + if (hasmap8) (void) ioctl(vcfd, PIO_SCRNMAP, map8); - /* copy map of 8bit chars -> 16bit Unicode values */ - if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) + /* copy map of 8bit chars -> 16bit Unicode values to vcs */ + if (hasmap16) (void) ioctl(vcfd, PIO_UNISCRNMAP, map16); - /* copy unicode translation table */ - /* unimapd is a ushort count and a pointer to an - array of struct unipair { ushort, ushort } */ - unimapd.entries = unipairs; - unimapd.entry_ct = USHRT_MAX; - if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { + /* copy unicode translation table to vcs */ + if (hasunimap) { struct unimapinit adv = { 0, 0, 0 }; (void) ioctl(vcfd, PIO_UNIMAPCLR, &adv); ++++++ make-emergency.service-conflict-with-syslog.socket.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -11,10 +11,10 @@ units/emergency.service.in | 1 + 1 file changed, 1 insertion(+) -Index: systemd-218/units/emergency.service.in +Index: systemd-221/units/emergency.service.in =================================================================== ---- systemd-218.orig/units/emergency.service.in -+++ systemd-218/units/emergency.service.in +--- systemd-221.orig/units/emergency.service.in ++++ systemd-221/units/emergency.service.in @@ -11,6 +11,7 @@ Documentation=man:sulogin(8) DefaultDependencies=no Conflicts=shutdown.target ++++++ parse-crypttab-for-noauto-option.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -2,11 +2,11 @@ src/fstab-generator/fstab-generator.c | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) -Index: systemd/src/fstab-generator/fstab-generator.c +Index: systemd-221/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd.orig/src/fstab-generator/fstab-generator.c -+++ systemd/src/fstab-generator/fstab-generator.c -@@ -48,6 +48,49 @@ static char *arg_usr_what = NULL; +--- systemd-221.orig/src/fstab-generator/fstab-generator.c ++++ systemd-221/src/fstab-generator/fstab-generator.c +@@ -47,6 +47,49 @@ static char *arg_usr_what = NULL; static char *arg_usr_fstype = NULL; static char *arg_usr_options = NULL; @@ -56,7 +56,7 @@ static int add_swap( const char *what, struct mntent *me, -@@ -118,7 +161,7 @@ static int add_swap( +@@ -108,7 +151,7 @@ static int add_swap( if (r < 0) return r; ++++++ plymouth-quit-and-wait-for-emergency-service.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,13 +1,13 @@ --- units/console-shell.service.m4.in | 2 ++ - units/emergency.service.in | 3 ++- + units/emergency.service.in | 2 +- units/rescue.service.in | 3 ++- - 3 files changed, 6 insertions(+), 2 deletions(-) + 3 files changed, 5 insertions(+), 2 deletions(-) -Index: systemd/units/console-shell.service.m4.in +Index: systemd-224/units/console-shell.service.m4.in =================================================================== ---- systemd.orig/units/console-shell.service.m4.in -+++ systemd/units/console-shell.service.m4.in +--- systemd-224.orig/units/console-shell.service.m4.in ++++ systemd-224/units/console-shell.service.m4.in @@ -17,6 +17,8 @@ Before=getty.target [Service] Environment=HOME=/root @@ -17,24 +17,23 @@ ExecStart=-@SULOGIN@ ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle -Index: systemd/units/emergency.service.in +Index: systemd-224/units/emergency.service.in =================================================================== ---- systemd.orig/units/emergency.service.in -+++ systemd/units/emergency.service.in -@@ -17,7 +17,8 @@ Before=shutdown.target +--- systemd-224.orig/units/emergency.service.in ++++ systemd-224/units/emergency.service.in +@@ -17,7 +17,7 @@ Before=shutdown.target [Service] Environment=HOME=/root WorkingDirectory=/root --ExecStartPre=-/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth quit -+ExecStartPre=-/usr/bin/plymouth --wait +-ExecStartPre=-/bin/plymouth --wait quit ++ExecStartPre=-/usr/bin/plymouth --wait quit ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" Type=idle -Index: systemd/units/rescue.service.in +Index: systemd-224/units/rescue.service.in =================================================================== ---- systemd.orig/units/rescue.service.in -+++ systemd/units/rescue.service.in +--- systemd-224.orig/units/rescue.service.in ++++ systemd-224/units/rescue.service.in @@ -16,7 +16,8 @@ Before=shutdown.target [Service] Environment=HOME=/root @@ -43,5 +42,5 @@ +ExecStartPre=-/usr/bin/plymouth quit +ExecStartPre=-/usr/bin/plymouth --wait ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' - ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" + ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" Type=idle ++++++ portmap-wants-rpcbind-socket.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,5 +1,11 @@ ---- systemd-210/units/rpcbind.target -+++ systemd-210/units/rpcbind.target 2014-04-08 07:21:55.438235838 +0000 +--- + units/rpcbind.target | 1 + + 1 file changed, 1 insertion(+) + +Index: systemd-221/units/rpcbind.target +=================================================================== +--- systemd-221.orig/units/rpcbind.target ++++ systemd-221/units/rpcbind.target @@ -12,3 +12,4 @@ Description=RPC Port Mapper Documentation=man:systemd.special(7) ++++++ pre_checkin.sh ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -5,8 +5,8 @@ ORIG_SPEC=systemd EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" -sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; - s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; +sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/; + s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/; s/^\(Name:.*\)$/\1-mini/; s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec ++++++ rescue-emergency-target-conflicts.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,13 +1,22 @@ ---- systemd-210/units/emergency.target -+++ systemd-210/units/emergency.target 2014-04-15 11:11:18.618235831 +0000 +--- + units/emergency.target | 1 + + units/rescue.target | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: systemd-221/units/emergency.target +=================================================================== +--- systemd-221.orig/units/emergency.target ++++ systemd-221/units/emergency.target @@ -10,4 +10,5 @@ Description=Emergency Mode Documentation=man:systemd.special(7) Requires=emergency.service After=emergency.service +Conflicts=getty.target rescue.target AllowIsolate=yes ---- systemd-210/units/rescue.target -+++ systemd-210/units/rescue.target 2014-04-15 11:14:40.606808928 +0000 +Index: systemd-221/units/rescue.target +=================================================================== +--- systemd-221.orig/units/rescue.target ++++ systemd-221/units/rescue.target @@ -10,7 +10,8 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service ++++++ respect-nfs-bg-option.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -2,11 +2,11 @@ src/fstab-generator/fstab-generator.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -Index: systemd-218/src/fstab-generator/fstab-generator.c +Index: systemd-221/src/fstab-generator/fstab-generator.c =================================================================== ---- systemd-218.orig/src/fstab-generator/fstab-generator.c -+++ systemd-218/src/fstab-generator/fstab-generator.c -@@ -238,8 +238,11 @@ static int add_mount( +--- systemd-221.orig/src/fstab-generator/fstab-generator.c ++++ systemd-221/src/fstab-generator/fstab-generator.c +@@ -289,8 +289,11 @@ static int add_mount( "Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n", source); @@ -18,5 +18,5 @@ + fprintf(f, "Before=%s\n", post); + } - if (passno != 0) { - r = generator_write_fsck_deps(f, arg_dest, what, where, fstype); + if (!automount && opts) { + r = write_requires_after(f, opts); ++++++ restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -10,11 +10,11 @@ create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -516,6 +516,12 @@ endif +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -526,6 +526,12 @@ dist_systemunit_DATA += \ dist_systemunit_DATA_busnames += \ units/busnames.target @@ -27,9 +27,9 @@ nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -6086,6 +6092,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -6123,6 +6129,9 @@ GRAPHICAL_TARGET_WANTS += \ systemd-update-utmp-runlevel.service - RUNLEVEL5_TARGET_WANTS += \ + RESCUE_TARGET_WANTS += \ systemd-update-utmp-runlevel.service +LOCAL_FS_TARGET_WANTS += \ + var-run.mount \ @@ -37,10 +37,10 @@ endif SYSINIT_TARGET_WANTS += \ -Index: systemd-218/units/var-lock.mount +Index: systemd-221/units/var-lock.mount =================================================================== --- /dev/null -+++ systemd-218/units/var-lock.mount ++++ systemd-221/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -61,10 +61,10 @@ +Where=/var/lock +Type=bind +Options=bind -Index: systemd-218/units/var-run.mount +Index: systemd-221/units/var-run.mount =================================================================== --- /dev/null -+++ systemd-218/units/var-run.mount ++++ systemd-221/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# ++++++ set-and-use-default-logconsole.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,16 +1,18 @@ Use and set default logging console for both journald and kernel messages --- - src/journal/journald-console.c | 96 +++++++++++++++++++++++++++++++++++++++++ - src/journal/journald-console.h | 4 + - src/journal/journald-server.c | 5 ++ - 3 files changed, 105 insertions(+) + src/journal/journald-console.c | 100 +++++++++++++++++++++++++++++++++++++++++ + src/journal/journald-console.h | 3 + + src/journal/journald-server.c | 6 ++ + 3 files changed, 109 insertions(+) ---- systemd-219.orig/src/journal/journald-console.c -+++ systemd-219/src/journal/journald-console.c -@@ -23,6 +23,14 @@ +Index: systemd-221/src/journal/journald-console.c +=================================================================== +--- systemd-221.orig/src/journal/journald-console.c ++++ systemd-221/src/journal/journald-console.c +@@ -22,6 +22,14 @@ + #include <time.h> #include <fcntl.h> - #include <unistd.h> #include <sys/socket.h> +#ifdef HAVE_SYSV_COMPAT +# include <linux/tiocl.h> @@ -23,11 +25,11 @@ #include "fileio.h" #include "journald-server.h" -@@ -43,6 +51,76 @@ static bool prefix_timestamp(void) { +@@ -45,6 +53,76 @@ static bool prefix_timestamp(void) { return cached_printk_time; } -+void defaul_tty_path(Server *s) ++void default_tty_path(Server *s) +{ +#ifdef HAVE_SYSV_COMPAT + static const char list[] = "/dev/tty10\0" "/dev/console\0"; @@ -100,7 +102,7 @@ void server_forward_console( Server *s, int priority, -@@ -64,6 +142,12 @@ void server_forward_console( +@@ -66,6 +144,12 @@ void server_forward_console( if (LOG_PRI(priority) > s->max_level_console) return; @@ -113,7 +115,7 @@ /* First: timestamp */ if (prefix_timestamp()) { assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); -@@ -100,7 +184,23 @@ void server_forward_console( +@@ -102,7 +186,23 @@ void server_forward_console( fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC); if (fd < 0) { log_debug_errno(errno, "Failed to open %s for logging: %m", tty); @@ -137,22 +139,34 @@ } if (writev(fd, iovec, n) < 0) ---- systemd-219.orig/src/journal/journald-console.h -+++ systemd-219/src/journal/journald-console.h +Index: systemd-221/src/journal/journald-console.h +=================================================================== +--- systemd-221.orig/src/journal/journald-console.h ++++ systemd-221/src/journal/journald-console.h @@ -24,3 +24,6 @@ #include "journald-server.h" void server_forward_console(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred); + +void klogconsole(Server *s); -+void defaul_tty_path(Server *s); ---- systemd-219.orig/src/journal/journald-server.c -+++ systemd-219/src/journal/journald-server.c -@@ -1520,6 +1520,11 @@ int server_init(Server *s) { ++void default_tty_path(Server *s); +Index: systemd-221/src/journal/journald-server.c +=================================================================== +--- systemd-221.orig/src/journal/journald-server.c ++++ systemd-221/src/journal/journald-server.c +@@ -52,6 +52,7 @@ + #include "journal-internal.h" + #include "journal-vacuum.h" + #include "journal-authenticate.h" ++#include "journald-console.h" + #include "journald-rate-limit.h" + #include "journald-kmsg.h" + #include "journald-syslog.h" +@@ -1514,6 +1515,11 @@ int server_init(Server *s) { server_parse_config_file(s); server_parse_proc_cmdline(s); -+ defaul_tty_path(s); ++ default_tty_path(s); + + if (s->tty_path) + klogconsole(s); ++++++ shut-up-rpmlint-on-var-log-journal.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -2,12 +2,12 @@ Makefile.am | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -Index: systemd-218/Makefile.am +Index: systemd-221/Makefile.am =================================================================== ---- systemd-218.orig/Makefile.am -+++ systemd-218/Makefile.am -@@ -4209,11 +4209,11 @@ noinst_LTLIBRARIES += \ - libsystemd-journal-core.la +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -4129,11 +4129,11 @@ noinst_LTLIBRARIES += \ + libjournal-core.la journal-install-hook: - -$(MKDIR_P) $(DESTDIR)/var/log/journal ++++++ suse-sysv-bootd-support.diff ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -7,12 +7,12 @@ [Implementation note: currently, the unit is generated, but not activated even if symlinks exist in boot.d. Hmmm... -jengelh@inai.de] --- - src/sysv-generator/sysv-generator.c | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) + src/sysv-generator/sysv-generator.c | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) ---- systemd-219.orig/src/sysv-generator/sysv-generator.c -+++ systemd-219/src/sysv-generator/sysv-generator.c -@@ -42,7 +42,8 @@ +--- systemd-222.orig/src/sysv-generator/sysv-generator.c ++++ systemd-222/src/sysv-generator/sysv-generator.c +@@ -39,7 +39,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -22,7 +22,7 @@ } RunlevelType; static const struct { -@@ -50,6 +51,9 @@ static const struct { +@@ -47,6 +48,9 @@ static const struct { const char *target; const RunlevelType type; } rcnd_table[] = { @@ -30,9 +30,9 @@ + { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, + /* Standard SysV runlevels for start-up */ - { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, - { "rc2.d", SPECIAL_RUNLEVEL2_TARGET, RUNLEVEL_UP }, -@@ -65,7 +69,7 @@ static const struct { + { "rc1.d", SPECIAL_RESCUE_TARGET, RUNLEVEL_UP }, + { "rc2.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, +@@ -62,10 +66,10 @@ static const struct { directories in this order, and we want to make sure that sysv_start_priority is known when we first load the unit. And that value we only know from S links. Hence @@ -40,28 +40,23 @@ + UP/SYSINIT must be read before DOWN */ }; - typedef struct SysvStub { -@@ -83,7 +87,7 @@ typedef struct SysvStub { - bool reload; - } SysvStub; - -const char *arg_dest = "/tmp"; +static const char *arg_dest = "/tmp"; - static int add_symlink(const char *service, const char *where) { - _cleanup_free_ char *from = NULL, *to = NULL; -@@ -235,6 +239,10 @@ static bool usage_contains_reload(const - static char *sysv_translate_name(const char *name) { - char *r; + typedef struct SysvStub { + char *name; +@@ -243,6 +247,10 @@ static char *sysv_translate_name(const c + _cleanup_free_ char *c = NULL; + char *res; + if (startswith(name, "boot.")) + /* Drop SuSE-style boot. prefix */ + name += 5; + - r = new(char, strlen(name) + strlen(".service") + 1); - if (!r) + c = strdup(name); + if (!c) return NULL; -@@ -864,10 +872,10 @@ static int set_dependencies_from_rcnd(Lo +@@ -859,10 +867,10 @@ static int set_dependencies_from_rcnd(co if (de->d_name[0] == 'S') { @@ -74,7 +69,7 @@ r = set_ensure_allocated(&runlevel_services[i], NULL); if (r < 0) -@@ -878,7 +886,8 @@ static int set_dependencies_from_rcnd(Lo +@@ -873,7 +881,8 @@ static int set_dependencies_from_rcnd(co goto finish; } else if (de->d_name[0] == 'K' && ++++++ systemctl-set-default-target.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -6,11 +6,11 @@ man/systemctl.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -Index: systemd/man/systemctl.xml +Index: systemd-221/man/systemctl.xml =================================================================== ---- systemd.orig/man/systemctl.xml -+++ systemd/man/systemctl.xml -@@ -445,7 +445,7 @@ along with systemd; If not, see <http:// +--- systemd-221.orig/man/systemctl.xml ++++ systemd-221/man/systemctl.xml +@@ -439,7 +439,7 @@ <term><option>--force</option></term> <listitem> @@ -19,7 +19,7 @@ any existing conflicting symlinks.</para> <para>When used with <command>halt</command>, -@@ -1215,6 +1215,8 @@ kobject-uevent 1 systemd-udevd-kernel.so +@@ -1237,6 +1237,8 @@ kobject-uevent 1 systemd-udevd-kernel.so <para>Return the default target to boot into. This returns the target unit name <filename>default.target</filename> is aliased (symlinked) to.</para> ++++++ systemd-add-user-keep.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,13 +1,13 @@ --- man/tmpfiles.d.xml | 3 +++ - src/tmpfiles/tmpfiles.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- - 2 files changed, 43 insertions(+), 8 deletions(-) + src/tmpfiles/tmpfiles.c | 47 ++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 43 insertions(+), 7 deletions(-) -Index: systemd/man/tmpfiles.d.xml +Index: systemd-221/man/tmpfiles.d.xml =================================================================== ---- systemd.orig/man/tmpfiles.d.xml -+++ systemd/man/tmpfiles.d.xml -@@ -489,6 +489,9 @@ +--- systemd-221.orig/man/tmpfiles.d.xml ++++ systemd-221/man/tmpfiles.d.xml +@@ -528,6 +528,9 @@ <varname>f</varname>, <varname>F</varname>, and <varname>w</varname> may be used to specify a short string that is written to the file, suffixed by a newline. For @@ -15,13 +15,21 @@ + usernames. If given, only paths belonging to these users will be excluded + during directory cleanup. Ignored for all other lines. For <varname>C</varname>, specifies the source file or - directory. For <varname>t</varname> determines extended - attributes to be set. For <varname>a</varname> determines -Index: systemd/src/tmpfiles/tmpfiles.c + directory. For <varname>t</varname>, <varname>T</varname> + determines extended attributes to be set. For +Index: systemd-221/src/tmpfiles/tmpfiles.c =================================================================== ---- systemd.orig/src/tmpfiles/tmpfiles.c -+++ systemd/src/tmpfiles/tmpfiles.c -@@ -345,6 +345,7 @@ static int dir_cleanup( +--- systemd-221.orig/src/tmpfiles/tmpfiles.c ++++ systemd-221/src/tmpfiles/tmpfiles.c +@@ -37,6 +37,7 @@ + #include <sys/stat.h> + #include <sys/xattr.h> + #include <linux/fs.h> ++#include <pwd.h> + + #include "log.h" + #include "util.h" +@@ -358,6 +359,7 @@ static int dir_cleanup( struct timespec times[2]; bool deleted = false; int r = 0; @@ -29,24 +37,23 @@ while ((dent = readdir(d))) { struct stat s; -@@ -395,14 +396,45 @@ static int dir_cleanup( +@@ -408,14 +410,45 @@ static int dir_cleanup( } /* Is there an item configured for this path? */ -- if (hashmap_get(items, sub_path)) { +- if (ordered_hashmap_get(items, sub_path)) { - log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); - continue; -- } -- -- if (find_glob(globs, sub_path)) { -- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); -- continue; + bool found_glob = false; -+ found = hashmap_get(items, sub_path); ++ found = ordered_hashmap_get(items, sub_path); + if (!found) { + found_glob = true; + found = find_glob(globs, sub_path); -+ } + } +- +- if (find_glob(globs, sub_path)) { +- log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); +- continue; + if (found) { + struct passwd *pw; + char *userfound = NULL, *args; ++++++ systemd-dbus-system-bus-address.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,13 +1,26 @@ --- + src/basic/def.h | 2 +- src/libsystemd/sd-bus/sd-bus.c | 4 ++-- - src/shared/def.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -Index: systemd/src/libsystemd/sd-bus/sd-bus.c +Index: systemd-221/src/basic/def.h =================================================================== ---- systemd.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd/src/libsystemd/sd-bus/sd-bus.c -@@ -809,8 +809,8 @@ static int parse_container_unix_address( +--- systemd-221.orig/src/basic/def.h ++++ systemd-221/src/basic/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" + #define DEFAULT_SYSTEM_BUS_ADDRESS KERNEL_SYSTEM_BUS_ADDRESS ";" UNIX_SYSTEM_BUS_ADDRESS + #define UNIX_USER_BUS_ADDRESS_FMT "unix:path=%s/bus" +Index: systemd-221/src/libsystemd/sd-bus/sd-bus.c +=================================================================== +--- systemd-221.orig/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-221/src/libsystemd/sd-bus/sd-bus.c +@@ -837,8 +837,8 @@ static int parse_container_unix_address( b->nspid = 0; b->sockaddr.un.sun_family = AF_UNIX; @@ -18,16 +31,3 @@ return 0; } -Index: systemd/src/shared/def.h -=================================================================== ---- systemd.orig/src/shared/def.h -+++ systemd/src/shared/def.h -@@ -61,7 +61,7 @@ - "/usr/lib/kbd/keymaps/\0" - #endif - --#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" -+#define UNIX_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket" - #define KERNEL_SYSTEM_BUS_ADDRESS "kernel:path=/sys/fs/kdbus/0-system/bus" - - #ifdef ENABLE_KDBUS ++++++ systemd-install-compat_pkgconfig-always.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,6 +1,12 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -4560,12 +4560,6 @@ lib_LTLIBRARIES += \ +--- + Makefile.am | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +Index: systemd-221/Makefile.am +=================================================================== +--- systemd-221.orig/Makefile.am ++++ systemd-221/Makefile.am +@@ -5876,12 +5876,6 @@ lib_LTLIBRARIES += \ libsystemd-id128.la \ libsystemd-daemon.la @@ -13,7 +19,7 @@ # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed compat-lib-install-hook: libname=libsystemd-login.so && $(move-to-rootlibdir) -@@ -4583,6 +4577,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install +@@ -5899,6 +5893,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook endif @@ -24,5 +30,5 @@ + src/compat-libs/libsystemd-daemon.pc + EXTRA_DIST += \ + src/compat-libs/linkwarning.h \ src/compat-libs/libsystemd-journal.pc.in \ - src/compat-libs/libsystemd-login.pc.in \ ++++++ systemd-pam_config.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -2,10 +2,10 @@ src/login/systemd-user | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: systemd-218/src/login/systemd-user +Index: systemd-221/src/login/systemd-user =================================================================== ---- systemd-218.orig/src/login/systemd-user -+++ systemd-218/src/login/systemd-user +--- systemd-221.orig/src/login/systemd-user ++++ systemd-221/src/login/systemd-user @@ -2,5 +2,5 @@ # # Used by systemd --user instances. ++++++ systemd-tmp-safe-defaults.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -8,10 +8,10 @@ tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: systemd/tmpfiles.d/tmp.conf +Index: systemd-221/tmpfiles.d/tmp.conf =================================================================== ---- systemd.orig/tmpfiles.d/tmp.conf -+++ systemd/tmpfiles.d/tmp.conf +--- systemd-221.orig/tmpfiles.d/tmp.conf ++++ systemd-221/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details ++++++ tomcat6-var-lock-subsys-legacy.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -5,9 +5,11 @@ tmpfiles.d/legacy.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- systemd-210/tmpfiles.d/legacy.conf -+++ systemd-210/tmpfiles.d/legacy.conf 2014-07-30 12:36:36.862735670 +0000 -@@ -16,7 +16,7 @@ d /run/lock 0775 root lock - +Index: systemd-221/tmpfiles.d/legacy.conf +=================================================================== +--- systemd-221.orig/tmpfiles.d/legacy.conf ++++ systemd-221/tmpfiles.d/legacy.conf +@@ -17,7 +17,7 @@ L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. ++++++ tty-ask-password-agent-on-console.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -1,11 +1,22 @@ +From 633a5904c1c4e363a7147f47e2d9fdb1925f7b9f Mon Sep 17 00:00:00 2001 +From: Werner Fink <werner@suse.de> +Date: Fri, 25 Sep 2015 14:28:58 +0200 +Subject: [PATCH] Ask for passphrases not only on the first console of + /dev/console + +but also on all other consoles. This does help on e.g. mainframes +where often a serial console together with other consoles are +used. Even rack based servers attachted to both a serial console +as well as having a virtual console do sometimes miss a connected +monitor. --- - src/tty-ask-password-agent/tty-ask-password-agent.c | 171 +++++++++++++++++++- - 1 file changed, 166 insertions(+), 5 deletions(-) + src/tty-ask-password-agent/tty-ask-password-agent.c | 191 ++++++++++++++++++++- + 1 file changed, 186 insertions(+), 5 deletions(-) -Index: systemd/src/tty-ask-password-agent/tty-ask-password-agent.c -=================================================================== ---- systemd.orig/src/tty-ask-password-agent/tty-ask-password-agent.c -+++ systemd/src/tty-ask-password-agent/tty-ask-password-agent.c +diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c +index 82cbf95..928a5e8 100644 +--- a/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c @@ -31,6 +31,10 @@ #include <getopt.h> #include <sys/signalfd.h> @@ -17,26 +28,22 @@ #include "util.h" #include "mkdir.h" -@@ -42,6 +46,9 @@ - #include "strv.h" - #include "build.h" - #include "def.h" +@@ -45,6 +49,8 @@ + #include "process-util.h" + #include "terminal-util.h" + #include "signal-util.h" +#include "fileio.h" +#include "macro.h" -+#include "list.h" static enum { ACTION_LIST, -@@ -50,6 +57,22 @@ static enum { +@@ -53,6 +59,19 @@ static enum { ACTION_WALL } arg_action = ACTION_QUERY; +struct console { -+ LIST_FIELDS(struct console, handle); -+ const char *tty; + pid_t pid; -+ int id; -+ char dev[]; ++ char *tty; +}; + +static volatile unsigned long *usemask; @@ -50,22 +57,33 @@ static bool arg_plymouth = false; static bool arg_console = false; -@@ -208,6 +231,58 @@ static int ask_password_plymouth( +@@ -210,6 +229,69 @@ static int ask_password_plymouth( return 0; } ++static void free_consoles(struct console *con, const unsigned int num) { ++ unsigned int n; ++ if (!con || !num) ++ return; ++ for (n = 0; n < num; n++) ++ free(con[n].tty); ++ free(con); ++} ++ +static const char *current_dev = "/dev/console"; -+static LIST_HEAD(struct console, consoles); -+static int collect_consoles(void) { ++static struct console* collect_consoles(unsigned int * num) { + _cleanup_free_ char *active = NULL; + const char *word, *state; -+ struct console *con; -+ size_t len; -+ int ret, id = 0; ++ struct console *con = NULL; ++ size_t con_len = 0, len; ++ int ret; ++ ++ assert(num); ++ assert(*num == 0); + + ret = read_one_line_file("/sys/class/tty/console/active", &active); + if (ret < 0) -+ return ret; ++ return con; + FOREACH_WORD(word, len, active, state) { + _cleanup_free_ char *tty = NULL; + @@ -74,42 +92,42 @@ + word = tty; + len = strlen(tty); + } -+ con = malloc0(sizeof(*con) + strlen("/dev/") + len + 1); ++ con = greedy_realloc((void**)&con, &con_len, 1+(*num), sizeof(struct console)); + if (con == NULL) { + log_oom(); -+ continue; ++ return NULL; ++ } ++ if (asprintf(&con[*num].tty, "/dev/%.*s", (int)len, word) < 0) { ++ free_consoles(con, *num); ++ log_oom(); ++ *num = 0; ++ return NULL; + } -+ sprintf(con->dev, "/dev/%.*s", (int)len, word); -+ con->tty = con->dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); ++ con[*num].pid = 0; ++ (*num)++; + } -+ if (consoles == NULL) { -+ con = malloc0(sizeof(*con)); ++ if (con == NULL) { ++ con = greedy_realloc((void**)&con, &con_len, 1, sizeof(struct console)); + if (con == NULL) { + log_oom(); -+ return -ENOMEM; ++ return NULL; + } -+ con->tty = current_dev; -+ con->id = id++; -+ LIST_PREPEND(handle, consoles, con); -+ } -+ return 0; -+} -+ -+static void free_consoles(void) { -+ struct console *c; -+ LIST_FOREACH(handle, c, consoles) { -+ LIST_REMOVE(handle, consoles, c); -+ free(c); ++ con[0].tty = strdup(current_dev); ++ if (con[0].tty == NULL) { ++ free_consoles(con, 1); ++ log_oom(); ++ return NULL; ++ } ++ con[0].pid = 0; ++ (*num)++; + } -+ LIST_HEAD_INIT(consoles); ++ return con; +} + static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL; uint64_t not_after = 0; -@@ -308,7 +383,7 @@ static int parse_password(const char *fi +@@ -310,7 +392,7 @@ static int parse_password(const char *filename, char **wall) { _cleanup_free_ char *password = NULL; if (arg_console) { @@ -118,28 +136,39 @@ if (tty_fd < 0) return tty_fd; } -@@ -612,9 +687,85 @@ static int parse_argv(int argc, char *ar +@@ -614,8 +696,90 @@ static int parse_argv(int argc, char *argv[]) { return 1; } -+static int zzz(void) ++static unsigned int wfa_child(const struct console * con, const unsigned int id) +{ -+ struct console *con; ++ setsid(); ++ release_terminal(); ++ *usemask |= 1 << id; /* shared memory area */ ++ current_dev = con[id].tty; ++ return id; ++} ++ ++static unsigned int wait_for_answer(void) ++{ ++ struct console *consoles; + struct sigaction sig = { + .sa_handler = chld_handler, + .sa_flags = SA_NOCLDSTOP | SA_RESTART, + }; + struct sigaction oldsig; + sigset_t set, oldset; ++ unsigned int num = 0, id; + int status = 0, ret; + pid_t job; + -+ collect_consoles(); -+ if (!consoles->handle_next) { -+ consoles->pid = 0; -+ con = consoles; -+ goto nofork; ++ consoles = collect_consoles(&num); ++ if (!consoles) { ++ log_error("Failed to query password: %m"); ++ exit(EXIT_FAILURE); + } ++ if (num < 2) ++ return wfa_child(consoles, 0); + + assert_se(sigemptyset(&set) == 0); + assert_se(sigaddset(&set, SIGHUP) == 0); @@ -150,25 +179,21 @@ + sig.sa_handler = SIG_DFL; + assert_se(sigaction(SIGHUP, &sig, NULL) == 0); + -+ LIST_FOREACH(handle, con, consoles) { -+ switch ((con->pid = fork())) { -+ case 0: ++ for (id = 0; id < num; id++) { ++ consoles[id].pid = fork(); ++ ++ if (consoles[id].pid < 0) { ++ log_error("Failed to query password: %m"); ++ exit(EXIT_FAILURE); ++ } ++ ++ if (consoles[id].pid == 0) { + if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0) + _exit(EXIT_FAILURE); + zero(sig); + assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0); + assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0); -+ nofork: -+ setsid(); -+ release_terminal(); -+ *usemask |= 1 << con->id; -+ current_dev = con->tty; -+ return con->id; /* child */ -+ case -1: -+ log_error("Failed to query password: %s", strerror(errno)); -+ exit(EXIT_FAILURE); -+ default: -+ break; ++ return wfa_child(consoles, id); + } + } + @@ -179,21 +204,21 @@ + break; + continue; + } -+ LIST_FOREACH(handle, con, consoles) { -+ if (con->pid == job || kill(con->pid, 0) < 0) { -+ *usemask &= ~(1 << con->id); ++ for (id = 0; id < num; id++) { ++ if (consoles[id].pid == job || kill(consoles[id].pid, 0) < 0) { ++ *usemask &= ~(1 << id); /* shared memory area */ + continue; + } -+ if (*usemask & (1 << con->id)) ++ if (*usemask & (1 << id)) /* shared memory area */ + continue; -+ kill(con->pid, SIGHUP); ++ kill(consoles[id].pid, SIGHUP); + usleep(50000); -+ kill(con->pid, SIGKILL); ++ kill(consoles[id].pid, SIGKILL); + } + if (WIFEXITED(status) && ret == 0) + ret = WEXITSTATUS(status); + } -+ free_consoles(); ++ free_consoles(consoles, num); + exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */ +} + @@ -201,14 +226,20 @@ - int r; + int r, id = 0; -+ LIST_HEAD_INIT(consoles); log_set_target(LOG_TARGET_AUTO); log_parse_environment(); - log_open(); -@@ -625,11 +776,19 @@ int main(int argc, char *argv[]) { +@@ -627,11 +791,27 @@ int main(int argc, char *argv[]) { if (r <= 0) goto finish; ++ /* ++ * Use this shared memory area to be able to synchronize the ++ * workers asking for password with the main process. ++ * This allows to continue if one of the consoles had been ++ * used as afterwards the remaining asking processes will ++ * be terminated. The wait_for_terminate() does not help ++ * for this use case. ++ */ + usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_SHARED, -1, 0); + assert_se(usemask != NULL); @@ -216,9 +247,9 @@ if (arg_console) { - setsid(); - release_terminal(); -+ if (!arg_plymouth && arg_action != ACTION_WALL && -+ arg_action != ACTION_LIST) { -+ id = zzz(); ++ if (!arg_plymouth && ++ !IN_SET(arg_action, ACTION_WALL, ACTION_LIST)) { ++ id = wait_for_answer(); + } else { + setsid(); + release_terminal(); @@ -228,12 +259,14 @@ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL)) r = watch_passwords(); else -@@ -638,6 +797,8 @@ int main(int argc, char *argv[]) { +@@ -640,6 +820,7 @@ int main(int argc, char *argv[]) { if (r < 0) log_error_errno(r, "Error: %m"); -+ free_consoles(); -+ *usemask &= ~(1 << id); ++ *usemask &= ~(1 << id); /* shared memory area */ finish: return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } +-- +2.2.0 + ++++++ use-rndaddentropy-ioctl-to-load-random-seed.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -5,11 +5,13 @@ Related to bnc#892096 --- - systemd-219/src/random-seed/random-seed.c | 71 +++++++++++++++++++++++++----- + src/random-seed/random-seed.c | 71 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) ---- systemd-219/src/random-seed/random-seed.c -+++ systemd-219/src/random-seed/random-seed.c 2015-04-21 09:39:03.057518051 +0000 +Index: systemd-221/src/random-seed/random-seed.c +=================================================================== +--- systemd-221.orig/src/random-seed/random-seed.c ++++ systemd-221/src/random-seed/random-seed.c @@ -22,7 +22,9 @@ #include <unistd.h> #include <fcntl.h> @@ -42,7 +44,7 @@ r = log_oom(); goto finish; } -+ entropy->buf_size = buf_size; ++ entropy->buf_size = (typeof(entropy->buf_size)) buf_size; r = mkdir_parents_label(RANDOM_SEED, 0755); if (r < 0) { @@ -52,7 +54,7 @@ + entropy_fd = open(RANDOM_SEED_DIR "entropy_count", O_RDONLY|O_CLOEXEC|O_NOCTTY, 0600); + if (entropy_fd < 0) { -+ entropy->entropy_count = 0; ++ entropy->entropy_count = 0; + if (errno != ENOENT) { + log_error("Failed to open " RANDOM_SEED "/entropy_count: %m"); + r = -errno; @@ -70,23 +72,23 @@ seed_fd = open(RANDOM_SEED, O_RDWR|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { seed_fd = open(RANDOM_SEED, O_RDONLY|O_CLOEXEC|O_NOCTTY); -@@ -104,7 +124,7 @@ int main(int argc, char *argv[]) { +@@ -103,7 +123,7 @@ int main(int argc, char *argv[]) { } } - k = loop_read(seed_fd, buf, buf_size, false); -+ k = loop_read(seed_fd, entropy->buf, entropy->buf_size, false); - if (k <= 0) { - - if (r != 0) -@@ -115,13 +135,29 @@ int main(int argc, char *argv[]) { - } else { - lseek(seed_fd, 0, SEEK_SET); ++ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false); + if (k < 0) + r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m"); + else if (k == 0) +@@ -111,13 +131,29 @@ int main(int argc, char *argv[]) { + else { + (void) lseek(seed_fd, 0, SEEK_SET); - r = loop_write(random_fd, buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write seed to /dev/urandom: %m"); -+ if (entropy->entropy_count && ((size_t)k) == entropy->buf_size) { ++ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) { + r = ioctl(random_fd, RNDADDENTROPY, entropy); + if (r < 0) { + log_error_errno(errno, "Failed to write seed to /dev/urandom: %m"); @@ -111,8 +113,8 @@ + seed_fd = open(RANDOM_SEED, O_WRONLY|O_CLOEXEC|O_NOCTTY|O_CREAT, 0600); if (seed_fd < 0) { - log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); -@@ -136,6 +172,21 @@ int main(int argc, char *argv[]) { + r = log_error_errno(errno, "Failed to open " RANDOM_SEED ": %m"); +@@ -130,6 +166,21 @@ int main(int argc, char *argv[]) { goto finish; } @@ -132,20 +134,23 @@ + } + } else { - log_error("Unknown verb %s.", argv[1]); + log_error("Unknown verb '%s'.", argv[1]); r = -EINVAL; -@@ -149,12 +200,12 @@ int main(int argc, char *argv[]) { - fchmod(seed_fd, 0600); - fchown(seed_fd, 0, 0); +@@ -144,7 +195,7 @@ int main(int argc, char *argv[]) { + (void) fchmod(seed_fd, 0600); + (void) fchown(seed_fd, 0, 0); - k = loop_read(random_fd, buf, buf_size, false); -+ k = loop_read(random_fd, entropy->buf, entropy->buf_size, false); - if (k <= 0) { - log_error("Failed to read new seed from /dev/urandom: %s", r < 0 ? strerror(-r) : "EOF"); - r = k == 0 ? -EIO : (int) k; - } else { -- r = loop_write(seed_fd, buf, (size_t) k, false); -+ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); - if (r < 0) - log_error_errno(r, "Failed to write new random seed file: %m"); ++ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false); + if (k < 0) { + r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m"); + goto finish; +@@ -155,7 +206,7 @@ int main(int argc, char *argv[]) { + goto finish; } + +- r = loop_write(seed_fd, buf, (size_t) k, false); ++ r = loop_write(seed_fd, entropy->buf, (size_t) k, false); + if (r < 0) + log_error_errno(r, "Failed to write new random seed file: %m"); + } ++++++ vhangup-on-all-consoles.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -14,10 +14,10 @@ units/getty@.service.m4 | 1 + units/serial-getty@.service.m4 | 1 + 2 files changed, 2 insertions(+) -Index: systemd-218/units/getty@.service.m4 +Index: systemd-221/units/getty@.service.m4 =================================================================== ---- systemd-218.orig/units/getty@.service.m4 -+++ systemd-218/units/getty@.service.m4 +--- systemd-221.orig/units/getty@.service.m4 ++++ systemd-221/units/getty@.service.m4 @@ -29,6 +29,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -26,10 +26,10 @@ Type=idle Restart=always RestartSec=0 -Index: systemd-218/units/serial-getty@.service.m4 +Index: systemd-221/units/serial-getty@.service.m4 =================================================================== ---- systemd-218.orig/units/serial-getty@.service.m4 -+++ systemd-218/units/serial-getty@.service.m4 +--- systemd-221.orig/units/serial-getty@.service.m4 ++++ systemd-221/units/serial-getty@.service.m4 @@ -24,6 +24,7 @@ IgnoreOnIsolate=yes [Service] ++++++ watch_resolv.conf_for_become_changed.patch ++++++ --- /var/tmp/diff_new_pack.5Uoy99/_old 2015-09-27 14:31:55.000000000 +0200 +++ /var/tmp/diff_new_pack.5Uoy99/_new 2015-09-27 14:31:55.000000000 +0200 @@ -3,19 +3,19 @@ src/core/manager.h | 5 ++ 2 files changed, 98 insertions(+) -Index: systemd-218/src/core/manager.c +Index: systemd-221/src/core/manager.c =================================================================== ---- systemd-218.orig/src/core/manager.c -+++ systemd-218/src/core/manager.c -@@ -37,6 +37,7 @@ - #include <sys/stat.h> +--- systemd-221.orig/src/core/manager.c ++++ systemd-221/src/core/manager.c +@@ -32,6 +32,7 @@ + #include <fcntl.h> #include <dirent.h> #include <sys/timerfd.h> +#include <resolv.h> #ifdef HAVE_AUDIT #include <libaudit.h> -@@ -302,6 +303,91 @@ static int manager_check_ask_password(Ma +@@ -308,6 +309,91 @@ static int manager_check_ask_password(Ma return m->have_ask_password; } @@ -107,7 +107,7 @@ static int manager_watch_idle_pipe(Manager *m) { int r; -@@ -557,6 +643,7 @@ int manager_new(SystemdRunningAs running +@@ -585,6 +671,7 @@ int manager_new(ManagerRunningAs running m->pin_cgroupfs_fd = m->notify_fd = m->signal_fd = m->time_change_fd = m->dev_autofs_fd = m->private_listen_fd = m->kdbus_fd = m->utab_inotify_fd = -1; m->current_job_id = 1; /* start as id #1, so that we can leave #0 around as "null-like" value */ @@ -115,7 +115,7 @@ m->ask_password_inotify_fd = -1; m->have_ask_password = -EINVAL; /* we don't know */ -@@ -618,6 +705,10 @@ int manager_new(SystemdRunningAs running +@@ -651,6 +738,10 @@ int manager_new(ManagerRunningAs running if (r < 0) goto fail; @@ -126,7 +126,7 @@ m->udev = udev_new(); if (!m->udev) { r = -ENOMEM; -@@ -896,6 +987,8 @@ Manager* manager_free(Manager *m) { +@@ -929,6 +1020,8 @@ Manager* manager_free(Manager *m) { if (!m) return NULL; @@ -135,11 +135,11 @@ manager_clear_jobs_and_units(m); for (c = 0; c < _UNIT_TYPE_MAX; c++) -Index: systemd-218/src/core/manager.h +Index: systemd-221/src/core/manager.h =================================================================== ---- systemd-218.orig/src/core/manager.h -+++ systemd-218/src/core/manager.h -@@ -185,6 +185,11 @@ struct Manager { +--- systemd-221.orig/src/core/manager.h ++++ systemd-221/src/core/manager.h +@@ -181,6 +181,11 @@ struct Manager { int utab_inotify_fd; sd_event_source *mount_utab_event_source;
participants (1)
-
root@hilbert.suse.de