diff --git a/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch new file mode 100644 index 00000000..16bb923c --- /dev/null +++ b/0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch @@ -0,0 +1,77 @@ +From 17be35b017aa39fad8aec98c81d4fade917096ec Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 27 Nov 2017 11:46:40 +0100 +Subject: [PATCH 1/1] compat-rules: get rid of scsi_id when generating compat + symlinks for NVMe devices + +The SCSI translation layer for NVMe devices has been removed from the +kernel since 4.13 (commit 3f7f25a910ed8988b2a87c1ca2bfee6b4fb83ac7), +so drop scsi_id in favor of the sysfs interface to generate the +name of the compat symlinks. + +Unfortunately we have to retrieve manually the model attribute +because %s{} strips trailing whitespaces otherwise. Indeed scsi_id +replaced them with a single '_' char due to the use of the +'--replace-whitespace' option. + +[tblume: fixes bsc#1051465] +--- + rules/61-persistent-storage-compat.rules | 34 ++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +diff --git a/rules/61-persistent-storage-compat.rules b/rules/61-persistent-storage-compat.rules +index 82a38fac7..639dc1ee1 100644 +--- a/rules/61-persistent-storage-compat.rules ++++ b/rules/61-persistent-storage-compat.rules +@@ -16,6 +16,10 @@ + # doesn't rely on them and they could be disabled permanently. + # + # Thanks ! ++# ++# Note: this rules file can rely on all ID_* variables (set by ++# 60-persistent-storage.rule) but should not overwrite them, see ++# bsc#1048679 for details. + + ACTION=="remove", GOTO="persistent_storage_end" + +@@ -49,11 +53,33 @@ ENV{COMPAT_SYMLINK_GENERATION}!="?*", ENV{COMPAT_SYMLINK_GENERATION}="1" + # + ENV{COMPAT_SYMLINK_GENERATION}!="1", GOTO="generation_2" + +-# NVMe links were introduced first via a SUSE specific commit ++# NVMe symlinks were introduced first via a SUSE specific commit + # (bsc#944132) and upstream gained support later but of course using a +-# different scheme. Also note that ID_SERIAL is already used by the +-# contemporary rules, see bsc#1048679 for details. +-KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", PROGRAM="scsi_id --whitelisted --replace-whitespace -d $devnode", RESULT=="?*", ENV{ID_NVME_SERIAL_COMPAT}="$result" ++# different scheme. ++ ++# The SCSI translation layer for NVMe devices has been removed from ++# the kernel since 4.13, therefore we switched from scsi_id to the ++# sysfs interface to generate the name of the compat symlinks. ++# Unfortunately we can't use %s{model} to retrieve the model string ++# because udev strips any trailing whitespaces and some plateforms ++# (QEMU does that) might append such chars. In those cases scsi_id was ++# replacing them with a single trailing '_'. Therefore the currently ++# code retrieves the model string manually making sure to preserve all ++# characters so trailing whitespaces are still converted when the ++# symlink is created. ++ ++# KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++# PROGRAM=="/bin/sh -c 'MODEL=\"%s{model}\"; echo \"${MODEL:0:16}\"'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ ++KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}!="?*", ATTRS{model}=="?*", ATTRS{serial}=="?*" \ ++ PROGRAM=="/bin/sh -c ' \ ++ cd /sys/%p; \ ++ while ! [ -f model ]; do \ ++ cd ..; \ ++ [ $(pwd) = %S ] && exit 1; \ ++ done; \ ++ cut -c 1-16 model'", ENV{ID_NVME_SERIAL_COMPAT}="SNVMe_%c%s{serial}" ++ + KERNEL=="nvme*", ENV{DEVTYPE}=="disk", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}" + KERNEL=="nvme*", ENV{DEVTYPE}=="partition", ENV{ID_NVME_SERIAL_COMPAT}=="?*", SYMLINK+="disk/by-id/nvme-$env{ID_NVME_SERIAL_COMPAT}-part%n" + +-- +2.14.2 + diff --git a/0001-systemd-firstboot-add-vconsole-keymap-support.patch b/0001-systemd-firstboot-add-vconsole-keymap-support.patch deleted file mode 100644 index 415d86be..00000000 --- a/0001-systemd-firstboot-add-vconsole-keymap-support.patch +++ /dev/null @@ -1,525 +0,0 @@ -From 349fd7b2fe35d2fd6c7ba6493d2e44ae93013804 Mon Sep 17 00:00:00 2001 -From: Thomas Blume -Date: Wed, 18 Oct 2017 12:30:03 +0200 -Subject: [PATCH 1/1] systemd-firstboot: add vconsole keymap support - -yast installer needs systemd-firstboot support for setting the keymap - -This is a temporary patch to be superseded when upstream commit is available, -see https://github.com/systemd/systemd/pull/7035 for the relevant PR. - -[tblume: fixes bsc#1046436] ---- - src/basic/locale-util.c | 95 +++++++++++++++++++++++++++++++++++ - src/basic/locale-util.h | 3 ++ - src/firstboot/firstboot.c | 117 ++++++++++++++++++++++++++++++++++++++++++-- - src/locale/localectl.c | 65 +++--------------------- - src/test/test-locale-util.c | 29 +++++++++++ - 5 files changed, 247 insertions(+), 62 deletions(-) - -diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c -index ada0a28cd..f3fa918b8 100644 ---- a/src/basic/locale-util.c -+++ b/src/basic/locale-util.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -30,6 +31,7 @@ - #include - #include - -+#include "def.h" - #include "dirent-util.h" - #include "fd-util.h" - #include "hashmap.h" -@@ -270,6 +272,99 @@ out: - return (bool) cached_answer; - } - -+static thread_local Set *keymaps = NULL; -+ -+static int nftw_cb( -+ const char *fpath, -+ const struct stat *sb, -+ int tflag, -+ struct FTW *ftwbuf) { -+ -+ char *p, *e; -+ int r; -+ -+ if (tflag != FTW_F) -+ return 0; -+ -+ if (!endswith(fpath, ".map") && -+ !endswith(fpath, ".map.gz")) -+ return 0; -+ -+ p = strdup(basename(fpath)); -+ if (!p) -+ return FTW_STOP; -+ -+ e = endswith(p, ".map"); -+ if (e) -+ *e = 0; -+ -+ e = endswith(p, ".map.gz"); -+ if (e) -+ *e = 0; -+ -+ r = set_consume(keymaps, p); -+ if (r < 0 && r != -EEXIST) -+ return r; -+ -+ return 0; -+} -+ -+int get_keymaps(char ***ret) { -+ _cleanup_strv_free_ char **l = NULL; -+ const char *dir; -+ int r; -+ -+ keymaps = set_new(&string_hash_ops); -+ if (!keymaps) -+ return -ENOMEM; -+ -+ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { -+ r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL); -+ -+ if (r == FTW_STOP) -+ log_debug("Directory not found %s", dir); -+ else if (r < 0) -+ log_debug_errno(r, "Can't add keymap: %m"); -+ } -+ -+ l = set_get_strv(keymaps); -+ if (!l) { -+ set_free_free(keymaps); -+ return -ENOMEM; -+ } -+ -+ set_free(keymaps); -+ -+ if (strv_isempty(l)) -+ return -ENOENT; -+ -+ strv_sort(l); -+ -+ *ret = l; -+ l = NULL; -+ -+ return 0; -+} -+ -+bool keymap_is_valid(const char *name) { -+ -+ if (isempty(name)) -+ return false; -+ -+ if (strlen(name) >= 128) -+ return false; -+ -+ if (!utf8_is_valid(name)) -+ return false; -+ -+ if (!filename_is_valid(name)) -+ return false; -+ -+ if (!string_is_safe(name)) -+ return false; -+ -+ return true; -+} - - const char *special_glyph(SpecialGlyph code) { - -diff --git a/src/basic/locale-util.h b/src/basic/locale-util.h -index 0630a034a..104864501 100644 ---- a/src/basic/locale-util.h -+++ b/src/basic/locale-util.h -@@ -71,3 +71,6 @@ const char *special_glyph(SpecialGlyph code) _const_; - - const char* locale_variable_to_string(LocaleVariable i) _const_; - LocaleVariable locale_variable_from_string(const char *s) _pure_; -+ -+int get_keymaps(char ***l); -+bool keymap_is_valid(const char *name); -diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index b3578d3e1..fd60ee518 100644 ---- a/src/firstboot/firstboot.c -+++ b/src/firstboot/firstboot.c -@@ -44,16 +44,19 @@ - - static char *arg_root = NULL; - static char *arg_locale = NULL; /* $LANG */ -+static char *arg_keymap = NULL; - static char *arg_locale_messages = NULL; /* $LC_MESSAGES */ - static char *arg_timezone = NULL; - static char *arg_hostname = NULL; - static sd_id128_t arg_machine_id = {}; - static char *arg_root_password = NULL; - static bool arg_prompt_locale = false; -+static bool arg_prompt_keymap = false; - static bool arg_prompt_timezone = false; - static bool arg_prompt_hostname = false; - static bool arg_prompt_root_password = false; - static bool arg_copy_locale = false; -+static bool arg_copy_keymap = false; - static bool arg_copy_timezone = false; - static bool arg_copy_root_password = false; - -@@ -285,6 +288,80 @@ static int process_locale(void) { - return 0; - } - -+static int prompt_keymap(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ int r; -+ -+ if (arg_keymap) -+ return 0; -+ -+ if (!arg_prompt_keymap) -+ return 0; -+ -+ r = get_keymaps(&kmaps); -+ if (r < 0) -+ return log_error_errno(r, "Cannot query keymap list: %m"); -+ -+ print_welcome(); -+ -+ printf("\nAvailable keymaps:\n\n"); -+ r = show_menu(kmaps, 3, 22, 60); -+ if (r < 0) -+ return r; -+ -+ putchar('\n'); -+ -+ r = prompt_loop("Please enter system keymap name or number", kmaps, keymap_is_valid, &arg_keymap); -+ if (r < 0) -+ return r; -+ -+ if (isempty(arg_keymap)) -+ return 0; -+ -+ return 0; -+} -+ -+static int process_keymap(void) { -+ const char *etc_vconsoleconf; -+ char **keymap; -+ int r; -+ -+ etc_vconsoleconf = prefix_roota(arg_root, "/etc/vconsole.conf"); -+ if (laccess(etc_vconsoleconf, F_OK) >= 0) -+ return 0; -+ -+ if (arg_copy_keymap && arg_root) { -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = copy_file("/etc/vconsole.conf", etc_vconsoleconf, 0, 0644, 0, COPY_REFLINK); -+ if (r != -ENOENT) { -+ if (r < 0) -+ return log_error_errno(r, "Failed to copy %s: %m", etc_vconsoleconf); -+ -+ log_info("%s copied.", etc_vconsoleconf); -+ return 0; -+ } -+ } -+ -+ r = prompt_keymap(); -+ if (r < 0) -+ return r; -+ -+ if (!isempty(arg_keymap)) -+ keymap = STRV_MAKE(strjoina("KEYMAP=", arg_keymap)); -+ -+ if (!keymap) -+ return 0; -+ -+ mkdir_parents(etc_vconsoleconf, 0755); -+ r = write_env_file(etc_vconsoleconf, keymap); -+ if (r < 0) -+ return log_error_errno(r, "Failed to write %s: %m", etc_vconsoleconf); -+ -+ log_info("%s written.", etc_vconsoleconf); -+ return 0; -+} -+ - static int prompt_timezone(void) { - _cleanup_strv_free_ char **zones = NULL; - int r; -@@ -611,20 +688,23 @@ static void help(void) { - " --root=PATH Operate on an alternate filesystem root\n" - " --locale=LOCALE Set primary locale (LANG=)\n" - " --locale-messages=LOCALE Set message locale (LC_MESSAGES=)\n" -+ " --keymap=KEYMAP Set keymap\n" - " --timezone=TIMEZONE Set timezone\n" - " --hostname=NAME Set host name\n" - " --machine-ID=ID Set machine ID\n" - " --root-password=PASSWORD Set root password\n" - " --root-password-file=FILE Set root password from file\n" - " --prompt-locale Prompt the user for locale settings\n" -+ " --prompt-keymap Prompt the user for keymap settings\n" - " --prompt-timezone Prompt the user for timezone\n" - " --prompt-hostname Prompt the user for hostname\n" - " --prompt-root-password Prompt the user for root password\n" - " --prompt Prompt for all of the above\n" - " --copy-locale Copy locale from host\n" -+ " --copy-keymap Copy keymap from host\n" - " --copy-timezone Copy timezone from host\n" - " --copy-root-password Copy root password from host\n" -- " --copy Copy locale, timezone, root password\n" -+ " --copy Copy locale, keymap, timezone, root password\n" - " --setup-machine-id Generate a new random machine ID\n" - , program_invocation_short_name); - } -@@ -636,6 +716,7 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT, - ARG_LOCALE, - ARG_LOCALE_MESSAGES, -+ ARG_KEYMAP, - ARG_TIMEZONE, - ARG_HOSTNAME, - ARG_MACHINE_ID, -@@ -643,11 +724,13 @@ static int parse_argv(int argc, char *argv[]) { - ARG_ROOT_PASSWORD_FILE, - ARG_PROMPT, - ARG_PROMPT_LOCALE, -+ ARG_PROMPT_KEYMAP, - ARG_PROMPT_TIMEZONE, - ARG_PROMPT_HOSTNAME, - ARG_PROMPT_ROOT_PASSWORD, - ARG_COPY, - ARG_COPY_LOCALE, -+ ARG_COPY_KEYMAP, - ARG_COPY_TIMEZONE, - ARG_COPY_ROOT_PASSWORD, - ARG_SETUP_MACHINE_ID, -@@ -659,6 +742,7 @@ static int parse_argv(int argc, char *argv[]) { - { "root", required_argument, NULL, ARG_ROOT }, - { "locale", required_argument, NULL, ARG_LOCALE }, - { "locale-messages", required_argument, NULL, ARG_LOCALE_MESSAGES }, -+ { "keymap", required_argument, NULL, ARG_KEYMAP }, - { "timezone", required_argument, NULL, ARG_TIMEZONE }, - { "hostname", required_argument, NULL, ARG_HOSTNAME }, - { "machine-id", required_argument, NULL, ARG_MACHINE_ID }, -@@ -666,11 +750,13 @@ static int parse_argv(int argc, char *argv[]) { - { "root-password-file", required_argument, NULL, ARG_ROOT_PASSWORD_FILE }, - { "prompt", no_argument, NULL, ARG_PROMPT }, - { "prompt-locale", no_argument, NULL, ARG_PROMPT_LOCALE }, -+ { "prompt-keymap", no_argument, NULL, ARG_PROMPT_KEYMAP }, - { "prompt-timezone", no_argument, NULL, ARG_PROMPT_TIMEZONE }, - { "prompt-hostname", no_argument, NULL, ARG_PROMPT_HOSTNAME }, - { "prompt-root-password", no_argument, NULL, ARG_PROMPT_ROOT_PASSWORD }, - { "copy", no_argument, NULL, ARG_COPY }, - { "copy-locale", no_argument, NULL, ARG_COPY_LOCALE }, -+ { "copy-keymap", no_argument, NULL, ARG_COPY_KEYMAP }, - { "copy-timezone", no_argument, NULL, ARG_COPY_TIMEZONE }, - { "copy-root-password", no_argument, NULL, ARG_COPY_ROOT_PASSWORD }, - { "setup-machine-id", no_argument, NULL, ARG_SETUP_MACHINE_ID }, -@@ -723,6 +809,18 @@ static int parse_argv(int argc, char *argv[]) { - - break; - -+ case ARG_KEYMAP: -+ if (!keymap_is_valid(optarg)) { -+ log_error("Keymap %s is not valid.", optarg); -+ return -EINVAL; -+ } -+ -+ r = free_and_strdup(&arg_keymap, optarg); -+ if (r < 0) -+ return log_oom(); -+ -+ break; -+ - case ARG_TIMEZONE: - if (!timezone_is_valid(optarg)) { - log_error("Timezone %s is not valid.", optarg); -@@ -772,13 +870,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_PROMPT: -- arg_prompt_locale = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; -+ arg_prompt_locale = arg_prompt_keymap = arg_prompt_timezone = arg_prompt_hostname = arg_prompt_root_password = true; - break; - - case ARG_PROMPT_LOCALE: - arg_prompt_locale = true; - break; - -+ case ARG_PROMPT_KEYMAP: -+ arg_prompt_keymap = true; -+ break; -+ - case ARG_PROMPT_TIMEZONE: - arg_prompt_timezone = true; - break; -@@ -792,13 +894,17 @@ static int parse_argv(int argc, char *argv[]) { - break; - - case ARG_COPY: -- arg_copy_locale = arg_copy_timezone = arg_copy_root_password = true; -+ arg_copy_locale = arg_copy_keymap = arg_copy_timezone = arg_copy_root_password = true; - break; - - case ARG_COPY_LOCALE: - arg_copy_locale = true; - break; - -+ case ARG_COPY_KEYMAP: -+ arg_copy_keymap = true; -+ break; -+ - case ARG_COPY_TIMEZONE: - arg_copy_timezone = true; - break; -@@ -853,6 +959,10 @@ int main(int argc, char *argv[]) { - if (r < 0) - goto finish; - -+ r = process_keymap(); -+ if (r < 0) -+ goto finish; -+ - r = process_timezone(); - if (r < 0) - goto finish; -@@ -873,6 +983,7 @@ finish: - free(arg_root); - free(arg_locale); - free(arg_locale_messages); -+ free(arg_keymap); - free(arg_timezone); - free(arg_hostname); - string_erase(arg_root_password); -diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index 0bd18a5c0..efdd73a8f 100644 ---- a/src/locale/localectl.c -+++ b/src/locale/localectl.c -@@ -273,68 +273,15 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) { - return r; - } - --static Set *keymaps = NULL; -- --static int nftw_cb( -- const char *fpath, -- const struct stat *sb, -- int tflag, -- struct FTW *ftwbuf) { -- -- char *p, *e; -- int r; -- -- if (tflag != FTW_F) -- return 0; -- -- if (!endswith(fpath, ".map") && -- !endswith(fpath, ".map.gz")) -- return 0; -- -- p = strdup(basename(fpath)); -- if (!p) -- return log_oom(); -- -- e = endswith(p, ".map"); -- if (e) -- *e = 0; -- -- e = endswith(p, ".map.gz"); -- if (e) -- *e = 0; -- -- r = set_consume(keymaps, p); -- if (r < 0 && r != -EEXIST) -- return log_error_errno(r, "Can't add keymap: %m"); -- -- return 0; --} -- - static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) { -- _cleanup_strv_free_ char **l = NULL; -- const char *dir; -- -- keymaps = set_new(&string_hash_ops); -- if (!keymaps) -- return log_oom(); -- -- NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) -- nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); -- -- l = set_get_strv(keymaps); -- if (!l) { -- set_free_free(keymaps); -- return log_oom(); -- } -- -- set_free(keymaps); -+ _cleanup_strv_free_ char **l = NULL; -+ int r; - -- if (strv_isempty(l)) { -- log_error("Couldn't find any console keymaps."); -- return -ENOENT; -- } -+ assert(args); - -- strv_sort(l); -+ r = get_keymaps(&l); -+ if (r < 0) -+ return log_error_errno(r, "Failed to read list of keymaps: %m"); - - pager_open(arg_no_pager, false); - -diff --git a/src/test/test-locale-util.c b/src/test/test-locale-util.c -index 427c698d1..e6876c82e 100644 ---- a/src/test/test-locale-util.c -+++ b/src/test/test-locale-util.c -@@ -50,9 +50,38 @@ static void test_locale_is_valid(void) { - assert_se(!locale_is_valid("\x01gar\x02 bage\x03")); - } - -+static void test_get_keymaps(void) { -+ _cleanup_strv_free_ char **kmaps = NULL; -+ char **p; -+ int r; -+ -+ r = get_keymaps(&kmaps); -+ assert_se(r >= 0); -+ assert_se(kmaps); -+ -+ STRV_FOREACH(p, kmaps) { -+ puts(*p); -+ assert_se(keymap_is_valid(*p)); -+ } -+} -+ -+static void test_keymap_is_valid(void) { -+ assert_se(keymap_is_valid("uk")); -+ assert_se(keymap_is_valid("de-nodeadkeys")); -+ assert_se(keymap_is_valid("ANSI-dvorak")); -+ assert_se(keymap_is_valid("unicode")); -+ -+ assert_se(!keymap_is_valid("")); -+ assert_se(!keymap_is_valid("/usr/bin/foo")); -+ assert_se(!keymap_is_valid("\x01gar\x02 bage\x03")); -+} -+ - int main(int argc, char *argv[]) { - test_get_locales(); - test_locale_is_valid(); - -+ test_get_keymaps(); -+ test_keymap_is_valid(); -+ - return 0; - } --- -2.14.2 - diff --git a/systemd-234.tar.xz b/systemd-234.tar.xz index 55f00c98..37172a16 100644 --- a/systemd-234.tar.xz +++ b/systemd-234.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42bf64dac8b5fa739b53c12c5cba492340b09ebdc78890cd429088158f95e285 -size 3352176 +oid sha256:41f96893041fe93197c142ca64f51f882e6c5d4c50c774091e5ff4fc36a814e0 +size 3352496 diff --git a/systemd-mini.changes b/systemd-mini.changes index 32a9bcd0..5b3da895 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 59abc06e..00f024d7 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -116,7 +116,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} @@ -156,14 +155,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -482,7 +481,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -677,7 +675,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings. diff --git a/systemd.changes b/systemd.changes index 32a9bcd0..5b3da895 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Wed Nov 29 10:11:54 UTC 2017 - fbui@suse.com + +- Import commit e30f1b10e276fb18db10ea2463fbd7146ae778f6 + + 63481b24b firstboot: do not write vconsole.conf when arg_keymap is empty (bsc#1070124) + +------------------------------------------------------------------- +Wed Nov 29 09:58:08 UTC 2017 - fbui@suse.com + +- Add 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch (bsc#1051465) + + This patch is not yet merged in the 'compats/udev-compat-symlinks' + branch: we asked to upstream if it would be possible to introduce a + new specifier that wouldn't strip trailing whitespaces , see + https://github.com/systemd/systemd/issues/7462 + + Also this allows to give the patch more testing before merging it in + the git repo. + +------------------------------------------------------------------- +Thu Nov 23 17:33:19 UTC 2017 - fbui@suse.com + +- Drop a useless rm(1) from the specfile + +------------------------------------------------------------------- +Thu Nov 23 09:59:46 CET 2017 - kukuk@suse.de + +- Remove requires for pwdutils, we don't need the shadow tools + anymore [bsc#1069150] + +------------------------------------------------------------------- +Fri Nov 17 08:59:50 UTC 2017 - fbui@suse.com + +- Import commit 4b9afa11f918796184e1264d618b4ff5d18e481b + + 22dcb1d04 tmpfiles: when /etc is not fully initialized, some specifiers are expected to be unresolvable (#6860) (bsc#1055664) + 216beb768 tmpfiles: Allow create symlink on directories (#6039) + baf85eb79 udev: net_setup_link: don't error out when we couldn't apply link config (#7328) + +- Remove stderr redirection to /dev/null when calling %tmpfiles_create + since it's not needed anymore due to commit 22dcb1d04. Indeed the + messages are no more emitted at LOG_WARN but LOG_NOTICE. + +------------------------------------------------------------------- +Mon Nov 13 11:06:09 UTC 2017 - fbui@suse.com + +- Import commit b9a41367b6c1164318443491cc3dae0e8208e15c + + 86804326f systemd-firstboot: add vconsole keymap support (#7035) (bsc#1046436) + 9b64225e9 resolved: fix loop on packets with pseudo dns types (bsc#1065276 CVE-2017-15908) + +- Drop 0001-systemd-firstboot-add-vconsole-keymap-support.patch since + it's been merged upstream and backported to SUSE/v234 (see above). + ------------------------------------------------------------------- Thu Oct 26 12:29:29 UTC 2017 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 493a9cc8..2ffba83c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -114,7 +114,6 @@ Requires: dbus-1 >= 1.4.0 Requires: kbd Requires: kmod >= 15 Requires: netcfg >= 11.5 -Requires: pwdutils Requires: systemd-presets-branding Requires: sysvinit-tools Requires: udev = %{version}-%{release} @@ -154,14 +153,14 @@ Source200: scripts-udev-convert-lib-udev-path.sh Source1065: udev-remount-tmpfs -# Patches listed in here are really special cases. Normally all +# Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be # broken in upstream and need an urgent fix. Even in this case, the # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-core-disable-session-keyring-per-system-sevice-entir.patch -Patch2: 0001-systemd-firstboot-add-vconsole-keymap-support.patch +Patch2: 0001-compat-rules-get-rid-of-scsi_id-when-generating-comp.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -480,7 +479,6 @@ ln -sf %{_bindir}/systemctl %{buildroot}/bin/systemctl ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs -rm -rf %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/sysv-convert mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/migrated @@ -675,7 +673,7 @@ pam-config -a --systemd || : /usr/lib/systemd/systemd-random-seed save || : systemctl daemon-reexec || : %journal_catalog_update -%tmpfiles_create 2>/dev/null +%tmpfiles_create # Create default config in /etc at first install. # Later package updates should not overwrite these settings.