A new batch of fixes

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-02-17 01:15:38 -05:00
parent d302ec3541
commit ca73a27582
29 changed files with 1647 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From a5c54f73b345b191b99cf47c8efe33afc0e4b066 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Tue, 14 Jan 2014 15:40:16 +0100
Subject: [PATCH] coredumpctl: in case of error free pattern after print
---
src/journal/coredumpctl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/journal/coredumpctl.c b/src/journal/coredumpctl.c
index 560a91b..a5997e2 100644
--- a/src/journal/coredumpctl.c
+++ b/src/journal/coredumpctl.c
@@ -126,10 +126,11 @@ static int add_match(Set *set, const char *match) {
goto fail;
log_debug("Adding pattern: %s", pattern);
- r = set_consume(set, pattern);
+ r = set_put(set, pattern);
if (r < 0) {
log_error("Failed to add pattern '%s': %s",
pattern, strerror(-r));
+ free(pattern);
goto fail;
}

View File

@ -0,0 +1,46 @@
From 4028b4cf18191ca958d2ef6cced1d5087aeea976 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Wed, 15 Jan 2014 15:31:07 +0100
Subject: [PATCH] shell-completion: remove load from systemctl
Conflicts:
shell-completion/bash/systemctl
---
shell-completion/bash/systemctl | 2 +-
shell-completion/zsh/_systemctl | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/shell-completion/bash/systemctl b/shell-completion/bash/systemctl
index eea4b6d..84149e3 100644
--- a/shell-completion/bash/systemctl
+++ b/shell-completion/bash/systemctl
@@ -141,7 +141,7 @@ _systemctl () {
emergency exit halt hibernate hybrid-sleep kexec list-jobs
list-sockets list-units list-unit-files poweroff reboot rescue
show-environment suspend get-default'
- [NAME]='snapshot load'
+ [NAME]='snapshot'
[FILE]='link'
[TARGETS]='set-default'
)
diff --git a/shell-completion/zsh/_systemctl b/shell-completion/zsh/_systemctl
index 3959cd5..6d98cb6 100644
--- a/shell-completion/zsh/_systemctl
+++ b/shell-completion/zsh/_systemctl
@@ -24,7 +24,6 @@
"status:Show runtime status of one or more units"
"show:Show properties of one or more units/jobs or the manager"
"reset-failed:Reset failed state for all, one, or more units"
- "load:Load one or more units"
"list-unit-files:List installed unit files"
"enable:Enable one or more unit files"
"disable:Disable one or more unit files"
@@ -266,7 +265,7 @@ done
# [STANDALONE]='daemon-reexec daemon-reload default
# emergency exit halt kexec list-jobs list-units
# list-unit-files poweroff reboot rescue show-environment'
-# [NAME]='snapshot load'
+# [NAME]='snapshot'
_systemctl_caching_policy()
{

View File

@ -0,0 +1,38 @@
From 491712eabdbdb0693a8b04dfee02665094eb7576 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 17 Jan 2014 20:27:35 +0100
Subject: [PATCH] units: drop [Install] section from multi-user.target and
graphical.target
They were supposed to make it easy to make the default.target a symlink
to these targets, but this was never advertised and we have a better
command for this now in "systemctl set-default". Since the install
section makes the output of "systemctl list-unit-files" confusing (since
it makes the units appear as "disabled"), let's drop the sections.
---
units/graphical.target | 3 ---
units/multi-user.target | 3 ---
2 files changed, 6 deletions(-)
diff --git a/units/graphical.target b/units/graphical.target
index 65f2521..a2c4532 100644
--- a/units/graphical.target
+++ b/units/graphical.target
@@ -13,6 +13,3 @@ After=multi-user.target
Conflicts=rescue.target
Wants=display-manager.service
AllowIsolate=yes
-
-[Install]
-Alias=default.target
diff --git a/units/multi-user.target b/units/multi-user.target
index 998e046..0f0e5e9 100644
--- a/units/multi-user.target
+++ b/units/multi-user.target
@@ -12,6 +12,3 @@ Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes
-
-[Install]
-Alias=default.target

View File

@ -0,0 +1,27 @@
From d953cda9e6b3e41f419b63a35632edc8f769a7d0 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Mon, 20 Jan 2014 13:43:20 +0100
Subject: [PATCH] systemctl: skip native unit file handling if sysv file
handling already handled everything
Issue pointed out by Colin Guthrie.
---
src/systemctl/systemctl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index bc9808a..da49da7 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -4436,6 +4436,11 @@ static int enable_unit(DBusConnection *bus, char **args) {
if (r < 0)
return r;
+ /* If the operation was fully executed by the SysV compat,
+ * let's finish early */
+ if (strv_isempty(mangled_names))
+ return 0;
+
if (!bus || avoid_bus()) {
if (streq(verb, "enable")) {
r = unit_file_enable(arg_scope, arg_runtime, arg_root, mangled_names, arg_force, &changes, &n_changes);

View File

@ -0,0 +1,35 @@
From abcf860569fc85e7a6eb05606d579b6f2e6de898 Mon Sep 17 00:00:00 2001
From: Marcel Holtmann <marcel@holtmann.org>
Date: Mon, 20 Jan 2014 17:53:16 -0800
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
---
hwdb/20-bluetooth-vendor-product.hwdb | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
index 192b715..6a9dc50 100644
--- a/hwdb/20-bluetooth-vendor-product.hwdb
+++ b/hwdb/20-bluetooth-vendor-product.hwdb
@@ -851,3 +851,21 @@ bluetooth:v0119*
bluetooth:v011A*
ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc.
+
+bluetooth:v011B*
+ ID_VENDOR_FROM_DATABASE=Aruba Networks
+
+bluetooth:v011C*
+ ID_VENDOR_FROM_DATABASE=Baidu
+
+bluetooth:v011D*
+ ID_VENDOR_FROM_DATABASE=Arendi AG
+
+bluetooth:v011E*
+ ID_VENDOR_FROM_DATABASE=Skoda Auto a.s.
+
+bluetooth:v011F*
+ ID_VENDOR_FROM_DATABASE=Volkswagon AG
+
+bluetooth:v0120*
+ ID_VENDOR_FROM_DATABASE=Porsche AG

View File

@ -0,0 +1,75 @@
From 87041721ccfc9472d9c4f229402e342ba6c855b0 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Wed, 22 Jan 2014 10:47:48 +0100
Subject: [PATCH] udev: static_node - do not exit rule after first static_node
item
The nodes usually do not exist, so handle the next item instead of
skipping the entire rule.
---
src/udev/udev-rules.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index 6f8b127..c981773 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -900,6 +900,7 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
case TK_A_GOTO:
case TK_M_TAG:
case TK_A_TAG:
+ case TK_A_STATIC_NODE:
token->key.value_off = rules_add_string(rule_tmp->rules, value);
break;
case TK_M_IMPORT_BUILTIN:
@@ -942,9 +943,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
case TK_A_MODE_ID:
token->key.mode = *(mode_t *)data;
break;
- case TK_A_STATIC_NODE:
- token->key.value_off = rules_add_string(rule_tmp->rules, value);
- break;
case TK_M_EVENT_TIMEOUT:
token->key.event_timeout = *(int *)data;
break;
@@ -992,7 +990,7 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
}
if (attr != NULL) {
- /* check if property/attribut name has substitution chars */
+ /* check if property/attribute name has substitution chars */
if (attr[0] == '[')
token->key.attrsubst = SB_SUBSYS;
else if (strchr(attr, '%') != NULL || strchr(attr, '$') != NULL)
@@ -2576,15 +2574,11 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
/* we assure, that the permissions tokens are sorted before the static token */
if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
goto next;
+
strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
- if (stat(device_node, &stats) != 0)
- goto next;
- if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
- goto next;
+ /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
if (tags) {
- /* Export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
-
STRV_FOREACH(t, tags) {
_cleanup_free_ char *unescaped_filename = NULL;
@@ -2609,7 +2603,12 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
/* don't touch the permissions if only the tags were set */
if (mode == 0 && uid == 0 && gid == 0)
- goto next;
+ break;
+
+ if (stat(device_node, &stats) != 0)
+ break;
+ if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
+ break;
if (mode == 0) {
if (gid > 0)

View File

@ -0,0 +1,91 @@
From 47ac3edbade8ab5f4a205f2c1bad11ec9643b8b6 Mon Sep 17 00:00:00 2001
From: Christian Seiler <christian@iwakd.de>
Date: Sun, 26 Jan 2014 12:02:49 +0100
Subject: [PATCH] cryptsetup: Support key-slot option
Debian recently introduced the option key-slot to /etc/crypttab to
specify the LUKS key slot to be used for decrypting the device. On
systems where a keyfile is used and the key is not in the first slot,
this can speed up the boot process quite a bit, since cryptsetup does
not need to try all of the slots sequentially. (Unsuccessfully testing
a key slot typically takes up to about 1 second.)
This patch makes systemd aware of this option.
Debian bug that introduced the feature:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704470
---
man/crypttab.xml | 14 ++++++++++++++
src/cryptsetup/cryptsetup.c | 13 +++++++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/man/crypttab.xml b/man/crypttab.xml
index 90d8ce9..5f386e5 100644
--- a/man/crypttab.xml
+++ b/man/crypttab.xml
@@ -164,6 +164,20 @@
</varlistentry>
<varlistentry>
+ <term><varname>key-slot=</varname></term>
+
+ <listitem><para>Specifies the key slot to
+ compare the passphrase or key against.
+ If the key slot does not match the given
+ passphrase or key, but another would, the
+ setup of the device will fail regardless.
+ This implies <varname>luks</varname>. See
+ <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for possible values. The default is to try
+ all key slots in sequential order.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>luks</varname></term>
<listitem><para>Force LUKS mode. When this mode
diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
index 39f7db7..6a76d21 100644
--- a/src/cryptsetup/cryptsetup.c
+++ b/src/cryptsetup/cryptsetup.c
@@ -39,6 +39,7 @@
static const char *opt_type = NULL; /* CRYPT_LUKS1, CRYPT_TCRYPT or CRYPT_PLAIN */
static char *opt_cipher = NULL;
static unsigned opt_key_size = 0;
+static int opt_key_slot = CRYPT_ANY_SLOT;
static unsigned opt_keyfile_size = 0;
static unsigned opt_keyfile_offset = 0;
static char *opt_hash = NULL;
@@ -87,6 +88,14 @@ static int parse_one_option(const char *option) {
return 0;
}
+ } else if (startswith(option, "key-slot=")) {
+
+ opt_type = CRYPT_LUKS1;
+ if (safe_atoi(option+9, &opt_key_slot) < 0) {
+ log_error("key-slot= parse failure, ignoring.");
+ return 0;
+ }
+
} else if (startswith(option, "tcrypt-keyfile=")) {
opt_type = CRYPT_TCRYPT;
@@ -432,7 +441,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
crypt_get_device_name(cd));
if (key_file) {
- r = crypt_activate_by_keyfile_offset(cd, name, CRYPT_ANY_SLOT,
+ r = crypt_activate_by_keyfile_offset(cd, name, opt_key_slot,
key_file, opt_keyfile_size,
opt_keyfile_offset, flags);
if (r < 0) {
@@ -446,7 +455,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
if (pass_volume_key)
r = crypt_activate_by_volume_key(cd, name, *p, opt_key_size, flags);
else
- r = crypt_activate_by_passphrase(cd, name, CRYPT_ANY_SLOT, *p, strlen(*p), flags);
+ r = crypt_activate_by_passphrase(cd, name, opt_key_slot, *p, strlen(*p), flags);
if (r >= 0)
break;

View File

@ -0,0 +1,28 @@
From 2373386db2501528c74e2f547c2c5d27d81be35b Mon Sep 17 00:00:00 2001
From: Matthew Monaco <matthew.monaco@0x01b.net>
Date: Fri, 24 Jan 2014 11:23:01 -0700
Subject: [PATCH] pam_systemd: Ignore vtnr when seat != seat0
logind considers it an error for a seat other than seat0 to have a
non-zero vtnr for CreateSession
---
src/login/pam-module.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/login/pam-module.c b/src/login/pam-module.c
index 973daf7..7ebb5d2 100644
--- a/src/login/pam-module.c
+++ b/src/login/pam-module.c
@@ -335,6 +335,12 @@ _public_ PAM_EXTERN int pam_sm_open_session(
get_seat_from_display(display, NULL, &vtnr);
}
+ if (seat && !streq(seat, "seat0")) {
+ pam_syslog(handle, LOG_DEBUG,
+ "Ignoring vtnr %d for %s which is not seat0", vtnr, seat);
+ vtnr = 0;
+ }
+
if (!type)
type = !isempty(display) ? "x11" :
!isempty(tty) ? "tty" : "unspecified";

View File

@ -0,0 +1,37 @@
From 815422d1be5fab4acaa8c1c752342752a0935e3a Mon Sep 17 00:00:00 2001
From: Martin Pitt <martinpitt@gnome.org>
Date: Mon, 27 Jan 2014 09:04:22 +0100
Subject: [PATCH] keymap: Add HP Chromebook 14 (Falco)
Thanks to Stefan Nagy <public@stefan-nagy.at>.
---
hwdb/60-keyboard.hwdb | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index e3d1f02..c027cbe 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -417,6 +417,22 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHDX9494NR:pvr*
KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on
+# Chromebook 14
+# Top row keys (between ESC and power button)
+keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
+ KEYBOARD_KEY_3b=back
+ KEYBOARD_KEY_3c=forward
+ KEYBOARD_KEY_3d=refresh
+ KEYBOARD_KEY_3f=switchvideomode
+ KEYBOARD_KEY_40=brightnessdown
+ KEYBOARD_KEY_41=brightnessup
+ KEYBOARD_KEY_42=mute
+ KEYBOARD_KEY_43=volumedown
+ KEYBOARD_KEY_44=volumeup
+ KEYBOARD_KEY_db=search # Same position as caps lock key on most keyboards
+# KEYBOARD_KEY_3e=fullscreen, no defined key sym
+
+
###########################################################
# IBM
###########################################################

View File

@ -0,0 +1,24 @@
From ad001361e54d4e04175acd7f0eca55ffcb5e19ad Mon Sep 17 00:00:00 2001
From: Martin Pitt <martinpitt@gnome.org>
Date: Tue, 28 Jan 2014 18:10:12 +0100
Subject: [PATCH] keymap: Add release quirk for Acer AOA switchvideomode key
https://launchpad.net/bugs/1272658
---
hwdb/60-keyboard.hwdb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index c027cbe..52d9a2a 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -118,6 +118,9 @@ keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6593:*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:*
KEYBOARD_KEY_ee=screenlock
+keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr*
+ KEYBOARD_KEY_a9=!switchvideomode # Fn+F5
+
###########################################################
# Alienware
###########################################################

View File

@ -0,0 +1,24 @@
From cf981a6c17d44d00c385fe8a9ed7b8259533006d Mon Sep 17 00:00:00 2001
From: Martin Pitt <martinpitt@gnome.org>
Date: Tue, 28 Jan 2014 18:14:18 +0100
Subject: [PATCH] keymap: Add Sony Vaio VGN-FW250
https://launchpad.net/bugs/1271163
---
hwdb/60-keyboard.hwdb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index 52d9a2a..ea206bb 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -981,6 +981,9 @@ keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-Z21*:pvr*
KEYBOARD_KEY_17=prog1
KEYBOARD_KEY_20=media
+keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW250*:pvr*
+ KEYBOARD_KEY_10=suspend # Fn+F12
+
keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVPC*:pvr*
KEYBOARD_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle)
KEYBOARD_KEY_0d=zoomout # Fn+F9

View File

@ -0,0 +1,22 @@
From 8b690dd3c8d28ff107a9992e7405126a02ee7ae2 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martinpitt@gnome.org>
Date: Wed, 29 Jan 2014 16:13:22 +0100
Subject: [PATCH] keymap: Add Toshiba EQUIUM
Thanks Aleksander Kowalski <aleksander.kowalski.1@gmail.com>!
---
hwdb/60-keyboard.hwdb | 1 +
1 file changed, 1 insertion(+)
diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index ea206bb..f9084e4 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -1089,6 +1089,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnPEGATRON*CORP.:pnSpring*Peak:*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*[uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE*[uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*Pro*[uU]300*:pvr*
+keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnEQUIUM [uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnViooo*Corporation:pnPT17:*
keyboard:dmi:bvn*:bvr*:bd*:svnHANNspree:pnSN10E100:*
keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pni1520M:*

View File

@ -0,0 +1,39 @@
From 85e9236488cfad07cc0aa4d23610bc25039dda27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 30 Jan 2014 21:40:27 -0500
Subject: [PATCH] tmpfiles: fix memory leak of exclude_prefixes
Missed in 5c795114.
---
src/tmpfiles/tmpfiles.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 5e49cc8..fb88acd 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -1332,12 +1332,12 @@ static int parse_argv(int argc, char *argv[]) {
break;
case ARG_PREFIX:
- if (strv_extend(&include_prefixes, optarg) < 0)
+ if (strv_push(&include_prefixes, optarg) < 0)
return log_oom();
break;
case ARG_EXCLUDE_PREFIX:
- if (strv_extend(&exclude_prefixes, optarg) < 0)
+ if (strv_push(&exclude_prefixes, optarg) < 0)
return log_oom();
break;
@@ -1498,7 +1498,8 @@ finish:
hashmap_free(items);
hashmap_free(globs);
- strv_free(include_prefixes);
+ free(include_prefixes);
+ free(exclude_prefixes);
set_free_free(unix_sockets);

View File

@ -0,0 +1,34 @@
From 982c437cfa1dc189fb650e00c6124e00f2c6de68 Mon Sep 17 00:00:00 2001
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Date: Fri, 31 Jan 2014 07:07:20 +0100
Subject: [PATCH] analyze: fix plot issues when using gummiboot
It would crash and the legend in the bottom followed the time 0.0.
---
src/analyze/systemd-analyze.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c
index f4c7f68..317baf9 100644
--- a/src/analyze/systemd-analyze.c
+++ b/src/analyze/systemd-analyze.c
@@ -540,7 +540,7 @@ static int analyze_plot(DBusConnection *bus) {
name.nodename, name.release, name.version, name.machine);
svg("<g transform=\"translate(%.3f,100)\">\n", 20.0 + (SCALE_X * boot->firmware_time));
- svg_graph_box(m, -boot->firmware_time, boot->finish_time);
+ svg_graph_box(m, -(double) boot->firmware_time, boot->finish_time);
if (boot->firmware_time) {
svg_bar("firmware", -(double) boot->firmware_time, -(double) boot->loader_time, y);
@@ -589,7 +589,10 @@ static int analyze_plot(DBusConnection *bus) {
y++;
}
+ svg("</g>\n");
+
/* Legend */
+ svg("<g transform=\"translate(20,100)\">\n");
y++;
svg_bar("activating", 0, 300000, y);
svg_text(true, 400000, y, "Activating");

View File

@ -0,0 +1,26 @@
From 66065b8d9cd1bb7e488fd84d4f19d34487bf29a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= <johannbg@gmail.com>
Date: Sun, 2 Feb 2014 13:29:19 +0000
Subject: [PATCH] udev: add zram to the list of devices inappropriate for
symlinks
udev seems to have a race condition with swapon to see which can open
/dev/zram0 first, causing swapon to fail. Seems to be most noticeable
on arm devices one out of every 7 times or something.
---
rules/60-persistent-storage.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index a4d009a..154ffd9 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -14,7 +14,7 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
SUBSYSTEM!="block", GOTO="persistent_storage_end"
# skip rules for inappropriate block devices
-KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*", GOTO="persistent_storage_end"
+KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*|zram*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"

View File

@ -0,0 +1,116 @@
From f00ffd4f0ab82c38125d2292f8f429aa22865dc3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 6 Feb 2014 00:31:22 -0500
Subject: [PATCH] bash-completion: fix completion of complete verbs
When doing 'command verb<TAB>', the arguments for verb would be
proposed, but it is too early. We should complete verb first.
https://bugs.freedesktop.org/show_bug.cgi?id=74596
Conflicts:
shell-completion/bash/busctl
shell-completion/bash/loginctl
shell-completion/bash/systemctl
shell-completion/bash/systemd-analyze
---
shell-completion/bash/hostnamectl | 2 +-
shell-completion/bash/localectl | 2 +-
shell-completion/bash/loginctl | 2 +-
shell-completion/bash/systemctl | 2 +-
shell-completion/bash/systemd-analyze | 2 +-
shell-completion/bash/timedatectl | 2 +-
shell-completion/bash/udevadm | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/shell-completion/bash/hostnamectl b/shell-completion/bash/hostnamectl
index 38ab134..9c75da9 100644
--- a/shell-completion/bash/hostnamectl
+++ b/shell-completion/bash/hostnamectl
@@ -41,7 +41,7 @@ _hostnamectl() {
[NAME]='set-hostname'
)
- for ((i=0; i <= COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
diff --git a/shell-completion/bash/localectl b/shell-completion/bash/localectl
index bec9e78..84e2a6b 100644
--- a/shell-completion/bash/localectl
+++ b/shell-completion/bash/localectl
@@ -52,7 +52,7 @@ _localectl() {
[X11]='set-x11-keymap'
)
- for ((i=0; i <= COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
diff --git a/shell-completion/bash/loginctl b/shell-completion/bash/loginctl
index 3104b30..26a8696 100644
--- a/shell-completion/bash/loginctl
+++ b/shell-completion/bash/loginctl
@@ -70,7 +70,7 @@ _loginctl () {
[ATTACH]='attach'
)
- for ((i=0; $i <= $COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
diff --git a/shell-completion/bash/systemctl b/shell-completion/bash/systemctl
index 84149e3..a5f10b4 100644
--- a/shell-completion/bash/systemctl
+++ b/shell-completion/bash/systemctl
@@ -146,7 +146,7 @@ _systemctl () {
[TARGETS]='set-default'
)
- for ((i=0; $i <= $COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
diff --git a/shell-completion/bash/systemd-analyze b/shell-completion/bash/systemd-analyze
index b65466b..6afcd96 100644
--- a/shell-completion/bash/systemd-analyze
+++ b/shell-completion/bash/systemd-analyze
@@ -39,7 +39,7 @@ _systemd_analyze() {
_init_completion || return
- for ((i=0; $i <= $COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
diff --git a/shell-completion/bash/timedatectl b/shell-completion/bash/timedatectl
index c6a6545..1a0acc6 100644
--- a/shell-completion/bash/timedatectl
+++ b/shell-completion/bash/timedatectl
@@ -52,7 +52,7 @@ _timedatectl() {
[TIME]='set-time'
)
- for ((i=0; i <= COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
diff --git a/shell-completion/bash/udevadm b/shell-completion/bash/udevadm
index 8ad8550..7e89189 100644
--- a/shell-completion/bash/udevadm
+++ b/shell-completion/bash/udevadm
@@ -36,7 +36,7 @@ _udevadm() {
local verbs=(info trigger settle control monitor hwdb test-builtin test)
- for ((i=0; i <= COMP_CWORD; i++)); do
+ for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}

View File

@ -0,0 +1,81 @@
From 827591e3b789844ec103338573cf8ed82231c0ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 6 Feb 2014 11:59:33 -0500
Subject: [PATCH] shell-completion: fix completion of localectl set-locale
https://bugs.freedesktop.org/show_bug.cgi?id=74157
---
shell-completion/bash/localectl | 20 ++++++++++++++++++--
shell-completion/zsh/_localectl | 13 +++++++++----
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/shell-completion/bash/localectl b/shell-completion/bash/localectl
index 84e2a6b..c9e22af 100644
--- a/shell-completion/bash/localectl
+++ b/shell-completion/bash/localectl
@@ -24,8 +24,14 @@ __contains_word () {
done
}
+__locale_fields=( LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME \
+ LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER \
+ LC_NAME LC_ADDRESS LC_TELEPHONE \
+ LC_MEASUREMENT LC_IDENTIFICATION )
+# LC_ALL is omitted on purpose
+
_localectl() {
- local i verb comps
+ local i verb comps locale_vals
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
-H --host'
@@ -62,7 +68,17 @@ _localectl() {
if [[ -z $verb ]]; then
comps=${VERBS[*]}
elif __contains_word "$verb" ${VERBS[LOCALES]}; then
- comps=$(command localectl list-locales)
+ if [[ $cur = *=* ]]; then
+ mapfile -t locale_vals < <(command localectl list-locales 2>/dev/null)
+ COMPREPLY=( $(compgen -W '${locale_vals[*]}' -- "${cur#=}") )
+ elif [[ $prev = "=" ]]; then
+ mapfile -t locale_vals < <(command localectl list-locales 2>/dev/null)
+ COMPREPLY=( $(compgen -W '${locale_vals[*]}' -- "$cur") )
+ else
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W '${__locale_fields[*]}' -S= -- "$cur") )
+ fi
+ return 0
elif __contains_word "$verb" ${VERBS[KEYMAPS]}; then
comps=$(command localectl list-keymaps)
elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[X11]}; then
diff --git a/shell-completion/zsh/_localectl b/shell-completion/zsh/_localectl
index 3d76bb0..c04f4f3 100644
--- a/shell-completion/zsh/_localectl
+++ b/shell-completion/zsh/_localectl
@@ -1,17 +1,22 @@
#compdef localectl
_localectl_set-locale() {
- local -a _confs _locales
+ local -a _locales locale_fields
+ locale_fields=(LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME \
+ LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER \
+ LC_NAME LC_ADDRESS LC_TELEPHONE \
+ LC_MEASUREMENT LC_IDENTIFICATION)
+ # LC_ALL is omitted on purpose
+
local expl suf
_locales=( ${(f)"$(_call_program locales "$service" list-locales)"} )
- _confs=( ${${(f)"$(_call_program confs "locale 2>/dev/null")"}%\=*} )
+ compset -P1 '*='
if [[ -prefix 1 *\= ]]; then
local conf=${PREFIX%%\=*}
- compset -P1 '*='
_wanted locales expl "locales configs" \
_combination localeconfs confs=$conf locales "$@" -
else
- compadd -S '=' $_confs
+ compadd -S '=' $locale_fields
fi
}

View File

@ -0,0 +1,24 @@
From 7f10373aa0b75725edb66917fc31a17c65750a7c Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Thu, 6 Feb 2014 18:15:47 +0100
Subject: [PATCH] zsh-completions: kernel-install - only show existing kernels
for 'remove'
When we remove a kernel, we don't remove the modules, so don't look at the modules directory to find installed kernels.
---
shell-completion/zsh/_kernel-install | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/shell-completion/zsh/_kernel-install b/shell-completion/zsh/_kernel-install
index 0655188..4fdd3a4 100644
--- a/shell-completion/zsh/_kernel-install
+++ b/shell-completion/zsh/_kernel-install
@@ -12,7 +12,7 @@ _kernels(){
read _MACHINE_ID < /etc/machine-id
_kernel=( /lib/modules/[0-9]* )
if [[ "$cmd" == "remove" && -n "$_MACHINE_ID" ]]; then
- _kernel=( /lib/modules/[0-9]* "/boot/$_MACHINE_ID"/[0-9]* )
+ _kernel=( "/boot/$_MACHINE_ID"/[0-9]* )
fi
_kernel=( ${_kernel##*/} )
_describe "installed kernels" _kernel

View File

@ -0,0 +1,138 @@
From 43ccd990b8478b5aaf9b1618e0a5c3dd8924a9ee Mon Sep 17 00:00:00 2001
From: Goffredo Baroncelli <kreijack@libero.it>
Date: Thu, 6 Feb 2014 19:09:59 +0100
Subject: [PATCH] core: fix crashes if locale.conf contains invalid utf-8
string
In the parse_env_file_push() and load_env_file_push() functions, there
are two assert() call to check if the key or value parameters are utf8 valid.
If the strings aren't utf8 valid, assert does abort.
These function are used early by systemd to parse some files. For
example '/etc/locale.conf'. In my case this file contained a not utf8
sequence, which is bad, but systemd crashed during the boot, which
is even worse!
The enclosed patch removes the assert and return -EINVAL if the
sequence is invalid. This is possible because the caller of these
function [1] checks the errors.
So the check of an invalid utf8 sequence is still performed, but
systemd doesn't crash anymore and logs the error.
[1] parse_env_file_internal(), invoked by load_env_file() and
parse_env_file()
---
src/shared/fileio.c | 77 ++++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 34 deletions(-)
diff --git a/src/shared/fileio.c b/src/shared/fileio.c
index 733b320..d28e38a 100644
--- a/src/shared/fileio.c
+++ b/src/shared/fileio.c
@@ -462,35 +462,39 @@ fail:
static int parse_env_file_push(const char *filename, unsigned line,
const char *key, char *value, void *userdata) {
- assert(utf8_is_valid(key));
- if (value && !utf8_is_valid(value))
+ const char *k;
+ va_list aq, *ap = userdata;
+
+ if (!utf8_is_valid(key)) {
+ log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.",
+ filename, line, key);
+ return -EINVAL;
+ }
+
+ if (value && !utf8_is_valid(value)) {
/* FIXME: filter UTF-8 */
- log_error("%s:%u: invalid UTF-8 for key %s: '%s', ignoring.",
+ log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.",
filename, line, key, value);
- else {
- const char *k;
- va_list* ap = (va_list*) userdata;
- va_list aq;
+ return -EINVAL;
+ }
- va_copy(aq, *ap);
+ va_copy(aq, *ap);
- while ((k = va_arg(aq, const char *))) {
- char **v;
+ while ((k = va_arg(aq, const char *))) {
+ char **v;
- v = va_arg(aq, char **);
+ v = va_arg(aq, char **);
- if (streq(key, k)) {
- va_end(aq);
- free(*v);
- *v = value;
- return 1;
- }
+ if (streq(key, k)) {
+ va_end(aq);
+ free(*v);
+ *v = value;
+ return 1;
}
-
- va_end(aq);
}
+ va_end(aq);
free(value);
return 0;
}
@@ -514,26 +518,31 @@ int parse_env_file(
static int load_env_file_push(const char *filename, unsigned line,
const char *key, char *value, void *userdata) {
- assert(utf8_is_valid(key));
+ char ***m = userdata;
+ char *p;
+ int r;
- if (value && !utf8_is_valid(value))
+ if (!utf8_is_valid(key)) {
+ log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.",
+ filename, line, key);
+ return -EINVAL;
+ }
+
+ if (value && !utf8_is_valid(value)) {
/* FIXME: filter UTF-8 */
- log_error("%s:%u: invalid UTF-8 for key %s: '%s', ignoring.",
+ log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.",
filename, line, key, value);
- else {
- char ***m = userdata;
- char *p;
- int r;
+ return -EINVAL;
+ }
- p = strjoin(key, "=", strempty(value), NULL);
- if (!p)
- return -ENOMEM;
+ p = strjoin(key, "=", strempty(value), NULL);
+ if (!p)
+ return -ENOMEM;
- r = strv_push(m, p);
- if (r < 0) {
- free(p);
- return r;
- }
+ r = strv_push(m, p);
+ if (r < 0) {
+ free(p);
+ return r;
}
free(value);

View File

@ -0,0 +1,128 @@
From e8321526823f2b7b945aeb04e5cdb1367e3d5b94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Fri, 17 Jan 2014 21:28:41 -0500
Subject: [PATCH] core: do not print invalid utf-8 in error messages
Conflicts:
TODO
---
src/shared/fileio.c | 11 +++++++----
src/shared/utf8.c | 26 ++++++++++++++++++++++++++
src/shared/utf8.h | 3 +++
src/test/test-utf8.c | 17 +++++++++++++++++
4 files changed, 53 insertions(+), 4 deletions(-)
diff --git a/src/shared/fileio.c b/src/shared/fileio.c
index d28e38a..121cd57 100644
--- a/src/shared/fileio.c
+++ b/src/shared/fileio.c
@@ -467,15 +467,18 @@ static int parse_env_file_push(const char *filename, unsigned line,
va_list aq, *ap = userdata;
if (!utf8_is_valid(key)) {
- log_error("%s:%u: invalid UTF-8 for key '%s', ignoring.",
- filename, line, key);
+ _cleanup_free_ char *p = utf8_escape_invalid(key);
+
+ log_error("%s:%u: invalid UTF-8 in key '%s', ignoring.",
+ filename, line, p);
return -EINVAL;
}
if (value && !utf8_is_valid(value)) {
- /* FIXME: filter UTF-8 */
+ _cleanup_free_ char *p = utf8_escape_invalid(value);
+
log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.",
- filename, line, key, value);
+ filename, line, key, p);
return -EINVAL;
}
diff --git a/src/shared/utf8.c b/src/shared/utf8.c
index 31120af..2b70d45 100644
--- a/src/shared/utf8.c
+++ b/src/shared/utf8.c
@@ -172,6 +172,32 @@ const char *utf8_is_valid(const char *str) {
return str;
}
+char *utf8_escape_invalid(const char *str) {
+ char *p, *s;
+
+ assert(str);
+
+ p = s = malloc(strlen(str) * 4 + 1);
+ if (!p)
+ return NULL;
+
+ while (*str) {
+ int len;
+
+ len = utf8_encoded_valid_unichar(str);
+ if (len > 0) {
+ s = mempcpy(s, str, len);
+ str += len;
+ } else {
+ s = mempcpy(s, UTF8_REPLACEMENT_CHARACTER, strlen(UTF8_REPLACEMENT_CHARACTER));
+ str += 1;
+ }
+ }
+ *s = '\0';
+
+ return p;
+}
+
char *ascii_is_valid(const char *str) {
const char *p;
diff --git a/src/shared/utf8.h b/src/shared/utf8.h
index 96a03ea..f93dfb8 100644
--- a/src/shared/utf8.h
+++ b/src/shared/utf8.h
@@ -25,8 +25,11 @@
#include "macro.h"
+#define UTF8_REPLACEMENT_CHARACTER "\xef\xbf\xbd"
+
const char *utf8_is_valid(const char *s) _pure_;
char *ascii_is_valid(const char *s) _pure_;
+char *utf8_escape_invalid(const char *s);
bool utf8_is_printable(const char* str, size_t length) _pure_;
diff --git a/src/test/test-utf8.c b/src/test/test-utf8.c
index f0182ee..53c1d47 100644
--- a/src/test/test-utf8.c
+++ b/src/test/test-utf8.c
@@ -66,12 +66,29 @@ static void test_utf8_encoded_valid_unichar(void) {
}
+static void test_utf8_escaping(void) {
+ _cleanup_free_ char *p1, *p2, *p3;
+
+ p1 = utf8_escape_invalid("goo goo goo");
+ puts(p1);
+ assert_se(utf8_is_valid(p1));
+
+ p2 = utf8_escape_invalid("\341\204\341\204");
+ puts(p2);
+ assert_se(utf8_is_valid(p2));
+
+ p3 = utf8_escape_invalid("\341\204");
+ puts(p3);
+ assert_se(utf8_is_valid(p3));
+}
+
int main(int argc, char *argv[]) {
test_utf8_is_valid();
test_utf8_is_printable();
test_ascii_is_valid();
test_ascii_filter();
test_utf8_encoded_valid_unichar();
+ test_utf8_escaping();
return 0;
}

View File

@ -0,0 +1,42 @@
From caf058da753c7aae6fbf03feb68e689a8d8265c6 Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
Date: Sat, 8 Feb 2014 12:54:58 -0500
Subject: [PATCH] cryptsetup-generator: auto add deps for device as password
If the password is a device file, we can add Requires/After dependencies
on the device rather than requiring the user to do so.
---
src/cryptsetup/cryptsetup-generator.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index e1798a3..00891f1 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -131,11 +131,21 @@ static int create_disk(
streq(password, "/dev/random") ||
streq(password, "/dev/hw_random"))
fputs("After=systemd-random-seed.service\n", f);
- else if (!streq(password, "-") &&
- !streq(password, "none"))
- fprintf(f,
- "RequiresMountsFor=%s\n",
- password);
+
+ else if (!streq(password, "-") && !streq(password, "none")) {
+ _cleanup_free_ char *uu = fstab_node_to_udev_node(password);
+ if (uu == NULL)
+ return log_oom();
+
+ if (is_device_path(uu)) {
+ _cleanup_free_ char *dd = unit_name_from_path(uu, ".device");
+ if (dd == NULL)
+ return log_oom();
+
+ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
+ } else
+ fprintf(f, "RequiresMountsFor=%s\n", password);
+ }
}
if (is_device_path(u))

View File

@ -0,0 +1,23 @@
From 46b93fa99d008403699a74478feac4e9b3f6f6a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Sun, 9 Feb 2014 01:34:20 -0500
Subject: [PATCH] man: fix reference in systemd-inhibit(1)
http://bugs.debian.org/738316
---
man/systemd-inhibit.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/systemd-inhibit.xml b/man/systemd-inhibit.xml
index de2f264..cac0ef6 100644
--- a/man/systemd-inhibit.xml
+++ b/man/systemd-inhibit.xml
@@ -198,7 +198,7 @@
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd-logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>

View File

@ -0,0 +1,23 @@
From 9bcaa50d2eb1f99fcb7393d52b53b95cdc193d30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Sun, 9 Feb 2014 01:34:20 -0500
Subject: [PATCH] man: fix another reference in systemd-inhibit(1)
http://bugs.debian.org/738316
---
man/systemd-inhibit.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/systemd-inhibit.xml b/man/systemd-inhibit.xml
index cac0ef6..f915fb8 100644
--- a/man/systemd-inhibit.xml
+++ b/man/systemd-inhibit.xml
@@ -158,7 +158,7 @@
time elapses, the lock is ignored and
the operation executed. The time limit
may be specified in
- <citerefentry><refentrytitle>systemd-logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Note
+ <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Note
that <literal>delay</literal> is only
available for <literal>sleep</literal>
and

View File

@ -0,0 +1,25 @@
From 9a36f797debf5f7dd240036a15c6942236c3e649 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Sun, 9 Feb 2014 12:07:11 +0000
Subject: [PATCH] fstab-generator: Create fsck-root symlink with correct path
This was noticed in Brussels at the hackfest. The fstab-generator currently
creates a broken symlink pointing to itself in
/run/systemd/generator/local-fs.target.wants/ for systemd-fsck-root.service
---
src/fstab-generator/fstab-generator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 8c4c61c..0d954a2 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -177,7 +177,7 @@ static int add_fsck(FILE *f, const char *what, const char *where, const char *ty
lnk = strappenda(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/systemd-fsck-root.service");
mkdir_parents_label(lnk, 0755);
- if (symlink("systemd-fsck-root.service", lnk) < 0) {
+ if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0) {
log_error("Failed to create symlink %s: %m", lnk);
return -errno;
}

View File

@ -0,0 +1,25 @@
From fe56ff349838e5dfbc523db1c4d5625f5c69e2a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
Date: Tue, 11 Feb 2014 09:54:49 -0300
Subject: [PATCH] efi: fix Undefined reference efi_loader_get_boot_usec when
EFI support is disabled
---
src/shared/boot-timestamps.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/shared/boot-timestamps.c b/src/shared/boot-timestamps.c
index 9449965..d656685 100644
--- a/src/shared/boot-timestamps.c
+++ b/src/shared/boot-timestamps.c
@@ -40,8 +40,10 @@ int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_time
r = acpi_get_boot_usec(&x, &y);
if (r < 0) {
+#ifdef ENABLE_EFI
r = efi_loader_get_boot_usec(&x, &y);
if (r < 0)
+#endif
return r;
}

View File

@ -0,0 +1,41 @@
From 5c2e6a05a8b4bcb05c88872eec27f848caf30722 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 13 Feb 2014 02:12:27 +0100
Subject: [PATCH] core: make StopWhenUnneeded work in conjunction with units
that fail during their start job
https://bugzilla.redhat.com/show_bug.cgi?id=997031
---
src/core/unit.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/core/unit.c b/src/core/unit.c
index 6c2c4a0..49833d1 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -1453,7 +1453,9 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
* sucessfully, since there's no change of state in that case. Which is
* why it is handled in service_set_state() */
if (UNIT_IS_INACTIVE_OR_FAILED(os) != UNIT_IS_INACTIVE_OR_FAILED(ns)) {
- ExecContext *ec = unit_get_exec_context(u);
+ ExecContext *ec;
+
+ ec = unit_get_exec_context(u);
if (ec && exec_context_may_touch_console(ec)) {
if (UNIT_IS_INACTIVE_OR_FAILED(ns)) {
m->n_on_console --;
@@ -1549,12 +1551,11 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
}
/* stop unneeded units regardless if going down was expected or not */
- if (UNIT_IS_ACTIVE_OR_ACTIVATING(os) && UNIT_IS_INACTIVE_OR_DEACTIVATING(ns))
+ if (UNIT_IS_INACTIVE_OR_DEACTIVATING(ns))
check_unneeded_dependencies(u);
if (ns != os && ns == UNIT_FAILED) {
- log_notice_unit(u->id,
- "Unit %s entered failed state.", u->id);
+ log_notice_unit(u->id, "Unit %s entered failed state.", u->id);
unit_start_on_failure(u);
}
}

View File

@ -0,0 +1,345 @@
From 8ea4ccf4ef7d3bc4c12ba008d270534257fb88b7 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 14 Feb 2014 15:56:19 +0100
Subject: [PATCH] man: always place <programlisting> and </programlisting> in a
line with actual sources, so that we don't get spurious newlines in the man
page output
Conflicts:
man/systemd-socket-proxyd.xml
---
man/daemon.xml | 3 +--
man/kernel-install.xml | 8 ++------
man/nss-myhostname.xml | 12 ++++--------
man/sd_journal_get_fd.xml | 3 +--
man/systemctl.xml | 3 +--
man/systemd-delta.xml | 12 ++++--------
man/systemd-journal-gatewayd.service.xml | 16 +++++-----------
man/systemd-run.xml | 3 +--
man/systemd-sleep.conf.xml | 6 ++----
man/systemd.service.xml | 13 ++++---------
man/timedatectl.xml | 18 ++++++------------
man/tmpfiles.d.xml | 7 ++-----
12 files changed, 33 insertions(+), 71 deletions(-)
diff --git a/man/daemon.xml b/man/daemon.xml
index 105826a..17d9dd6 100644
--- a/man/daemon.xml
+++ b/man/daemon.xml
@@ -777,8 +777,7 @@ AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitd
[with_systemdsystemunitdir=$def_systemdsystemunitdir])])
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
-AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"])
-</programlisting>
+AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"])</programlisting>
<para>This snippet allows automatic
installation of the unit files on systemd
diff --git a/man/kernel-install.xml b/man/kernel-install.xml
index 929ceef..3612b7d 100644
--- a/man/kernel-install.xml
+++ b/man/kernel-install.xml
@@ -90,9 +90,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/etc/kernel/install.d/*.install</filename> with
the arguments
- <programlisting>
-add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
- </programlisting>
+ <programlisting>add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
</para>
<para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para>
@@ -114,9 +112,7 @@ add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHI
<listitem>
<para>Calls every executable <filename>/usr/lib/kernel/install.d/*.install</filename>
and <filename>/etc/kernel/install.d/*.install</filename> with the arguments
- <programlisting>
-remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
- </programlisting>
+ <programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
</para>
<para><command>kernel-install</command> removes the entire directory
diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml
index efbadac..cca3a99 100644
--- a/man/nss-myhostname.xml
+++ b/man/nss-myhostname.xml
@@ -86,8 +86,7 @@
<refsect1>
<title>Example</title>
- <programlisting>
-# /etc/nsswitch.conf
+<programlisting># /etc/nsswitch.conf
passwd: compat
group: compat
@@ -101,20 +100,17 @@ services: db files
ethers: db files
rpc: db files
-netgroup: nis
- </programlisting>
+netgroup: nis</programlisting>
<para>To test, use <command>glibc</command>'s <command>getent</command> tool:</para>
- <programlisting>
-$ getent ahosts `hostname`
+ <programlisting>$ getent ahosts `hostname`
::1 STREAM omega
::1 DGRAM
::1 RAW
127.0.0.2 STREAM
127.0.0.2 DGRAM
-127.0.0.2 RAW
- </programlisting>
+127.0.0.2 RAW</programlisting>
<para>In this case the local hostname is <varname>omega</varname>.</para>
diff --git a/man/sd_journal_get_fd.xml b/man/sd_journal_get_fd.xml
index 4b36f97..df7632f 100644
--- a/man/sd_journal_get_fd.xml
+++ b/man/sd_journal_get_fd.xml
@@ -330,8 +330,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec);
return sd_journal_process(j);
-}
- </programlisting>
+}</programlisting>
</refsect1>
<refsect1>
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 25b03d8..cde1694 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -544,8 +544,7 @@ LISTEN UNIT ACTIVATES
[::]:22 sshd.socket sshd.service
kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
-5 sockets listed.
- </programlisting>
+5 sockets listed.</programlisting>
Note: because the addresses might contains spaces, this output
is not suitable for programmatic consumption.
</para>
diff --git a/man/systemd-delta.xml b/man/systemd-delta.xml
index ebaa349..f802aa5 100644
--- a/man/systemd-delta.xml
+++ b/man/systemd-delta.xml
@@ -204,20 +204,16 @@
<title>Examples</title>
<para>To see all local configuration:</para>
- <programlisting>systemd-delta
- </programlisting>
+ <programlisting>systemd-delta</programlisting>
<para>To see all runtime configuration:</para>
- <programlisting>systemd-delta /run
- </programlisting>
+ <programlisting>systemd-delta /run</programlisting>
<para>To see all system unit configuration changes:</para>
- <programlisting>systemd-delta systemd/system
- </programlisting>
+ <programlisting>systemd-delta systemd/system</programlisting>
<para>To see all runtime "drop-in" changes for system units:</para>
- <programlisting>systemd-delta --type=extended /run/systemd/system
- </programlisting>
+ <programlisting>systemd-delta --type=extended /run/systemd/system</programlisting>
</refsect1>
<refsect1>
diff --git a/man/systemd-journal-gatewayd.service.xml b/man/systemd-journal-gatewayd.service.xml
index 0b6fd70..f639811 100644
--- a/man/systemd-journal-gatewayd.service.xml
+++ b/man/systemd-journal-gatewayd.service.xml
@@ -154,14 +154,12 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<listitem><para>Return a JSON structure describing the machine.</para>
<para>Example:
- <programlisting>
-{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446",
+ <programlisting>{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446",
"boot_id" : "3d3c9efaf556496a9b04259ee35df7f7",
"hostname" : "fedora",
"os_pretty_name" : "Fedora 19 (Rawhide)",
"virtualization" : "kvm",
- ...}
- </programlisting>
+ ...}</programlisting>
</para>
</listitem>
</varlistentry>
@@ -295,16 +293,12 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
in <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal
Export Format</ulink>:
- <programlisting>
-curl --silent -H'Accept: application/vnd.fdo.journal' \
- 'http://localhost:19531/entries?boot'
- </programlisting>
+ <programlisting>curl --silent -H'Accept: application/vnd.fdo.journal' \
+ 'http://localhost:19531/entries?boot'</programlisting>
</para>
<para>Listen for core dumps:
- <programlisting>
-curl 'http://localhost:19531/entries?follow&amp;MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1'
- </programlisting></para>
+ <programlisting>curl 'http://localhost:19531/entries?follow&amp;MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1'</programlisting></para>
</refsect1>
<refsect1>
diff --git a/man/systemd-run.xml b/man/systemd-run.xml
index 48a0715..97ddf44 100644
--- a/man/systemd-run.xml
+++ b/man/systemd-run.xml
@@ -209,8 +209,7 @@ Sep 08 07:37:21 bupkis systemd[1]: Starting /usr/bin/env...
Sep 08 07:37:21 bupkis systemd[1]: Started /usr/bin/env.
Sep 08 07:37:21 bupkis env[19948]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Sep 08 07:37:21 bupkis env[19948]: LANG=en_US.UTF-8
-Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64
- </programlisting>
+Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64</programlisting>
</refsect1>
<refsect1>
diff --git a/man/systemd-sleep.conf.xml b/man/systemd-sleep.conf.xml
index dc4b0da..4622205 100644
--- a/man/systemd-sleep.conf.xml
+++ b/man/systemd-sleep.conf.xml
@@ -160,10 +160,8 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<para>Example: to exploit the <quote>freeze</quote> mode added
in Linux 3.9, one can use <command>systemctl suspend</command>
with
- <programlisting>
-[Sleep]
-SuspendState=freeze
- </programlisting></para>
+ <programlisting>[Sleep]
+SuspendState=freeze</programlisting></para>
</refsect1>
<refsect1>
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 4fb21ba..e8bb02c 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -442,12 +442,9 @@
be used, they need to be passed
explicitly to a shell implementation
of some kind. Example:</para>
- <programlisting>ExecStart=/bin/sh -c 'dmesg | tac'
- </programlisting>
-
+ <programlisting>ExecStart=/bin/sh -c 'dmesg | tac'</programlisting>
<para>Example:</para>
- <programlisting>ExecStart=/bin/echo one ; /bin/echo "two two"
- </programlisting>
+ <programlisting>ExecStart=/bin/echo one ; /bin/echo "two two"</programlisting>
<para>This will execute
<command>/bin/echo</command> two
times, each time with one argument,
@@ -460,8 +457,7 @@
<para>Example:</para>
<programlisting>ExecStart=/bin/echo / &gt;/dev/null &amp; \; \
-/bin/ls
- </programlisting>
+/bin/ls</programlisting>
<para>This will execute
<command>/bin/echo</command> with five
arguments: <literal>/</literal>,
@@ -472,8 +468,7 @@
<para>Example:</para>
<programlisting>Environment="ONE=one" 'TWO=two two'
-ExecStart=/bin/echo $ONE $TWO ${TWO}
- </programlisting>
+ExecStart=/bin/echo $ONE $TWO ${TWO}</programlisting>
<para>This will execute
<command>/bin/echo</command> with four
arguments: <literal>one</literal>,
diff --git a/man/timedatectl.xml b/man/timedatectl.xml
index f4975ce..5f95486 100644
--- a/man/timedatectl.xml
+++ b/man/timedatectl.xml
@@ -245,8 +245,7 @@
<refsect1>
<title>Examples</title>
<para>Show current settings:
- <programlisting>
-$ timedatectl
+ <programlisting>$ timedatectl
Local time: Fri, 2012-11-02 09:26:46 CET
Universal time: Fri, 2012-11-02 08:26:46 UTC
RTC time: Fri, 2012-11-02 08:26:45
@@ -262,27 +261,22 @@ NTP synchronized: no
Next DST change: CET → CEST, DST will become active
the clock will jump one hour forward
Sun, 2013-03-31 01:59:59 CET
- Sun, 2013-03-31 03:00:00 CEST
- </programlisting>
+ Sun, 2013-03-31 03:00:00 CEST</programlisting>
</para>
<para>Enable an NTP daemon (chronyd):
- <programlisting>
-$ timedatectl set-ntp true
+ <programlisting>$ timedatectl set-ntp true
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp ===
Authentication is required to control whether network time synchronization shall be enabled.
Authenticating as: user
Password: ********
-==== AUTHENTICATION COMPLETE ===
- </programlisting>
+==== AUTHENTICATION COMPLETE ===</programlisting>
- <programlisting>
-$ systemctl status chronyd.service
+ <programlisting>$ systemctl status chronyd.service
chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
Active: active (running) since Fri, 2012-11-02 09:36:25 CET; 5s ago
-...
- </programlisting>
+...</programlisting>
</para>
</refsect1>
diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
index 8267ffc..9578c93 100644
--- a/man/tmpfiles.d.xml
+++ b/man/tmpfiles.d.xml
@@ -109,7 +109,6 @@
d /run/user 0755 root root 10d -
L /tmp/foobar - - - - /dev/null</programlisting>
-
<refsect2>
<title>Type</title>
@@ -277,13 +276,11 @@ L /tmp/foobar - - - - /dev/null</programlisting>
</para>
<para>For example:
- <programlisting>
-# Make sure these are created by default so that nobody else can
+ <programlisting># Make sure these are created by default so that nobody else can
d /tmp/.X11-unix 1777 root root 10d
# Unlink the X11 lock files
-r! /tmp/.X[0-9]*-lock
- </programlisting>
+r! /tmp/.X[0-9]*-lock</programlisting>
The second line in contrast to the first one
would break a running system, and will only be
executed with <option>--boot</option>.</para>

View File

@ -0,0 +1,27 @@
From 29e00416bbef0e8073373fde25347d139749d949 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Mon, 27 Jan 2014 17:54:29 +0000
Subject: [PATCH] Temporary work around for slow shutdown due to unterminated
user sessions.
---
units/user@.service.in | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/units/user@.service.in b/units/user@.service.in
index 3f8b59d..a7e0584 100644
--- a/units/user@.service.in
+++ b/units/user@.service.in
@@ -14,5 +14,12 @@ User=%I
PAMName=systemd-user
Type=notify
ExecStart=-@rootlibexecdir@/systemd --user
+# Apply same work around as apache's httpd until issues with user session
+# killing is fixed (currently problem is that the kill issued by systemd --user
+# is itself killed by systemd (PID1) before it can work which can lead to slow
+# shutdowns
+# http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/16363
+ExecStop=/bin/kill -TERM ${MAINPID}
+KillSignal=SIGCONT
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/dbus/user_bus_socket
Slice=user-%i.slice

View File

@ -36,6 +36,8 @@ Source4: listen.conf
# Prevent accidental removal of the systemd package
Source6: yum-protect-systemd.conf
# Patch series is available as http://kawka.in.waw.pl/git/systemd/shortlog/refs/heads/v208-stable
# GIT_DIR=~/src/systemd/.git git format-patch-ab -M -N --no-signature v208..v208-stable
# i=1; for p in 0*patch;do printf "Patch%03d: %s\n" $i $p; ((i++));done
Patch001: 0001-acpi-fptd-fix-memory-leak-in-acpi_get_boot_usec.patch
Patch002: 0002-fix-lingering-references-to-var-lib-backlight-random.patch
@ -275,6 +277,34 @@ Patch235: 0235-gpt-auto-generator-use-EBADSLT-code-when-unable-to-d.patch
Patch236: 0236-journald-do-not-free-space-when-disk-space-runs-low.patch
Patch237: 0237-man-add-busctl-1.patch
Patch238: 0238-journalctl-flip-to-full-by-default.patch
Patch239: 0239-coredumpctl-in-case-of-error-free-pattern-after-prin.patch
Patch240: 0240-shell-completion-remove-load-from-systemctl.patch
Patch241: 0241-units-drop-Install-section-from-multi-user.target-an.patch
Patch242: 0242-systemctl-skip-native-unit-file-handling-if-sysv-fil.patch
Patch243: 0243-hwdb-Update-database-of-Bluetooth-company-identifier.patch
Patch244: 0244-udev-static_node-do-not-exit-rule-after-first-static.patch
Patch245: 0245-cryptsetup-Support-key-slot-option.patch
Patch246: 0246-pam_systemd-Ignore-vtnr-when-seat-seat0.patch
Patch247: 0247-keymap-Add-HP-Chromebook-14-Falco.patch
Patch248: 0248-keymap-Add-release-quirk-for-Acer-AOA-switchvideomod.patch
Patch249: 0249-keymap-Add-Sony-Vaio-VGN-FW250.patch
Patch250: 0250-keymap-Add-Toshiba-EQUIUM.patch
Patch251: 0251-tmpfiles-fix-memory-leak-of-exclude_prefixes.patch
Patch252: 0252-analyze-fix-plot-issues-when-using-gummiboot.patch
Patch253: 0253-udev-add-zram-to-the-list-of-devices-inappropriate-f.patch
Patch254: 0254-bash-completion-fix-completion-of-complete-verbs.patch
Patch255: 0255-shell-completion-fix-completion-of-localectl-set-loc.patch
Patch256: 0256-zsh-completions-kernel-install-only-show-existing-ke.patch
Patch257: 0257-core-fix-crashes-if-locale.conf-contains-invalid-utf.patch
Patch258: 0258-core-do-not-print-invalid-utf-8-in-error-messages.patch
Patch259: 0259-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch
Patch260: 0260-man-fix-reference-in-systemd-inhibit-1.patch
Patch261: 0261-man-fix-another-reference-in-systemd-inhibit-1.patch
Patch262: 0262-fstab-generator-Create-fsck-root-symlink-with-correc.patch
Patch263: 0263-efi-fix-Undefined-reference-efi_loader_get_boot_usec.patch
Patch264: 0264-core-make-StopWhenUnneeded-work-in-conjunction-with-.patch
Patch265: 0265-man-always-place-programlisting-and-programlisting-i.patch
Patch266: 0266-Temporary-work-around-for-slow-shutdown-due-to-unter.patch
# kernel-install patch for grubby, drop if grubby is obsolete
Patch1000: kernel-install-grubby.patch
@ -929,6 +959,13 @@ getent passwd systemd-journal-gateway >/dev/null 2>&1 || useradd -r -l -u 191 -g
%{_datadir}/systemd/gatewayd
%changelog
* Sun Feb 16 2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 208-12
- A different fix for #1023820 taken from Mageia
- Backported fix for #997031
- Hardward database updates, man pages improvements, a few small memory
leaks, utf-8 correctness and completion fixes
- Support for key-slot option in crypttab
* Sat Jan 25 2014 Ville Skyttä <ville.skytta@iki.fi> - 208-12
- Own the %%{_prefix}/lib/kernel(/*) and %%{_datadir}/zsh(/*) dirs.