diff --git a/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch new file mode 100644 index 00000000..09bd55ef --- /dev/null +++ b/0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch @@ -0,0 +1,36 @@ +From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 11:57:22 +0200 +Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard + +https://bugs.freedesktop.org/show_bug.cgi?id=77234 +--- + hwdb/60-keyboard.hwdb | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index 832c686..fe5b3ee 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* + KEYBOARD_KEY_f1=f21 + ++# enhanced USB keyboard ++keyboard:usb:v04B3p301B* ++ KEYBOARD_KEY_90001=prog1 # ThinkVantage ++ KEYBOARD_KEY_90002=screenlock ++ KEYBOARD_KEY_90003=file ++ KEYBOARD_KEY_90004=wordprocessor ++ KEYBOARD_KEY_90005=spreadsheet ++ KEYBOARD_KEY_90006=calc ++ KEYBOARD_KEY_90007=mail ++ KEYBOARD_KEY_90008=www ++ ++ + ########################################################### + # Logitech + ########################################################### +-- +1.7.9.2 + diff --git a/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch new file mode 100644 index 00000000..7d5b066f --- /dev/null +++ b/0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch @@ -0,0 +1,45 @@ +From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001 +From: Djalal Harouni +Date: Fri, 11 Apr 2014 01:45:52 +0100 +Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty + container journal dentry + +Currently if nspawn was called with --link-journal=host or +--link-journal=auto and the right /var/log/journal/machine-id/ exists +then the bind mount the subdirectory into the container might fail due +to the ~/mycontainer/var/log/journal/machine-id/ of the container not +being empty. + +There is no reason to check if the container journal subdir is empty +since there will be a bind mount on top of it. The user asked for a bind +mount so give it. + +Note: a next call with --link-journal=guest may fail due to the +/var/log/journal/machine-id/ on the host not being empty. + +https://bugs.freedesktop.org/show_bug.cgi?id=76193 + +Reported-by: Tobias Hunger +--- + src/nspawn/nspawn.c | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index 9d9238f..ef84664 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + +- if (dir_is_empty(q) == 0) { +- log_error("%s not empty.", q); +- return -ENOTEMPTY; +- } +- + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch new file mode 100644 index 00000000..e921c60b --- /dev/null +++ b/0002-keymap-Asus-EeePC-touchpad-toggle-key.patch @@ -0,0 +1,28 @@ +From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Sun, 25 May 2014 12:16:35 +0200 +Subject: [PATCH] keymap: Asus EeePC touchpad toggle key + +Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, +so use the F21 convention. + +https://bugs.freedesktop.org/show_bug.cgi?id=72807 +--- + hwdb/60-keyboard.hwdb | 1 + + 1 file changed, 1 insertion(+) + +diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb +index fe5b3ee..05e6a04 100644 +--- hwdb/60-keyboard.hwdb ++++ hwdb/60-keyboard.hwdb +@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + KEYBOARD_KEY_ef=mute + + keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* ++keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + + ########################################################### +-- +1.7.9.2 + diff --git a/0002-nspawn-restore-journal-directory-is-empty-check.patch b/0002-nspawn-restore-journal-directory-is-empty-check.patch new file mode 100644 index 00000000..c3d60bd4 --- /dev/null +++ b/0002-nspawn-restore-journal-directory-is-empty-check.patch @@ -0,0 +1,30 @@ +From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 15:19:46 +0900 +Subject: [PATCH] nspawn: restore journal directory is empty check + +This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. + +Instead of removing the error message about non-empty journal bind mount +directories, simply downgrade the message to a warning and proceed. +--- + src/nspawn/nspawn.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c +index ef84664..eb9c5e0 100644 +--- src/nspawn/nspawn.c ++++ src/nspawn/nspawn.c +@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) { + } else if (access(p, F_OK) < 0) + return 0; + ++ if (dir_is_empty(q) == 0) ++ log_warning("%s is not empty, proceeding anyway.", q); ++ + r = mkdir_p(q, 0755); + if (r < 0) { + log_error("Failed to create %s: %m", q); +-- +1.7.9.2 + diff --git a/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch new file mode 100644 index 00000000..5ee22e2c --- /dev/null +++ b/0003-core-never-consider-failure-when-reading-drop-ins-fa.patch @@ -0,0 +1,109 @@ +From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:49:12 +0900 +Subject: [PATCH] core: never consider failure when reading drop-ins fatal + +drop-ins don't carry the main configuration of a unit, hence read them +if we can't, complain if we cannot, but don't fail. +--- + src/core/load-dropin.c | 42 +++++++++++++----------------------------- + 1 file changed, 13 insertions(+), 29 deletions(-) + +diff --git src/core/load-dropin.c src/core/load-dropin.c +index 546e560..f2ffc97 100644 +--- src/core/load-dropin.c ++++ src/core/load-dropin.c +@@ -58,6 +58,7 @@ static int iterate_dir( + if (errno == ENOENT) + return 0; + ++ log_error("Failed to open directory %s: %m", path); + return -errno; + } + +@@ -101,7 +102,7 @@ static int process_dir( + char ***strv) { + + _cleanup_free_ char *path = NULL; +- int r; ++ int r, q; + + assert(u); + assert(unit_path); +@@ -112,11 +113,8 @@ static int process_dir( + if (!path) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) { +- r = iterate_dir(u, path, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) ++ iterate_dir(u, path, dependency, strv); + + if (u->instance) { + _cleanup_free_ char *template = NULL, *p = NULL; +@@ -130,11 +128,8 @@ static int process_dir( + if (!p) + return log_oom(); + +- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) { +- r = iterate_dir(u, p, dependency, strv); +- if (r < 0) +- return r; +- } ++ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) ++ iterate_dir(u, p, dependency, strv); + } + + return 0; +@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) { + SET_FOREACH(t, u->names, i) { + char **p; + +- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- /* This loads the drop-in config snippets */ +- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); +- if (r < 0) +- return NULL; +- } ++ STRV_FOREACH(p, u->manager->lookup_paths.unit_path) ++ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv); + } + + if (strv_isempty(strv)) +@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) { + char **p; + + STRV_FOREACH(p, u->manager->lookup_paths.unit_path) { +- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); +- if (r < 0) +- return r; +- +- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); +- if (r < 0) +- return r; ++ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL); ++ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL); + } + } + +@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) { + return 0; + + STRV_FOREACH(f, u->dropin_paths) { +- r = config_parse(u->id, *f, NULL, +- UNIT_VTABLE(u)->sections, config_item_perf_lookup, +- (void*) load_fragment_gperf_lookup, false, false, u); +- if (r < 0) +- return r; ++ config_parse(u->id, *f, NULL, ++ UNIT_VTABLE(u)->sections, config_item_perf_lookup, ++ (void*) load_fragment_gperf_lookup, false, false, u); + } + + u->dropin_mtime = now(CLOCK_REALTIME); +-- +1.7.9.2 + diff --git a/0004-socket-properly-handle-if-our-service-vanished-durin.patch b/0004-socket-properly-handle-if-our-service-vanished-durin.patch new file mode 100644 index 00000000..b119ad24 --- /dev/null +++ b/0004-socket-properly-handle-if-our-service-vanished-durin.patch @@ -0,0 +1,30 @@ +From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 22 May 2014 16:56:21 +0900 +Subject: [PATCH] socket: properly handle if our service vanished during + runtime + +--- + src/core/socket.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git src/core/socket.c src/core/socket.c +index 05af8fe..aca20fd 100644 +--- src/core/socket.c ++++ src/core/socket.c +@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) { + } + + if (!pending) { ++ if (!UNIT_ISSET(s->service)) { ++ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); ++ r = -ENOENT; ++ goto fail; ++ } ++ + r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); + if (r < 0) + goto fail; +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3d58685a..fd15e75d 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon May 26 15:25:28 UTC 2014 - werner@suse.de + +- Add upstream patches to update keyboard data base + 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + ------------------------------------------------------------------- Wed May 21 19:23:32 UTC 2014 - coolo@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index d75bed5b..e793e8ba 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -495,6 +495,18 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch Patch252: 0002-journal-properly-detect-language-specified-in-line.patch # PATCHFIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch # UDEV PATCHES # ============ @@ -940,6 +952,12 @@ cp %{SOURCE7} m4/ %patch251 -p0 %patch252 -p0 %patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 3d58685a..fd15e75d 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon May 26 15:25:28 UTC 2014 - werner@suse.de + +- Add upstream patches to update keyboard data base + 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch + 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch + ------------------------------------------------------------------- Wed May 21 19:23:32 UTC 2014 - coolo@suse.com diff --git a/systemd.spec b/systemd.spec index 88a3b8ab..ae98a8a6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -490,6 +490,18 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch Patch252: 0002-journal-properly-detect-language-specified-in-line.patch # PATCHFIX-UPSTREAM added at 2014/05/21 Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch +# PATCHFIX-UPSTREAM added at 2014/05/26 +Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch # UDEV PATCHES # ============ @@ -935,6 +947,12 @@ cp %{SOURCE7} m4/ %patch251 -p0 %patch252 -p0 %patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 # udev patches %patch1001 -p1