diff --git a/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch new file mode 100644 index 00000000..bf379908 --- /dev/null +++ b/0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch @@ -0,0 +1,56 @@ +From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001 +From: Carl Schaefer +Date: Mon, 23 Jun 2014 18:23:48 +0200 +Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1 + to vt2, vt3, ... + +https://bugs.freedesktop.org/show_bug.cgi?id=78796 +--- + src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c +index 0f2b706..e0c4050 100644 +--- src/vconsole/vconsole-setup.c ++++ src/vconsole/vconsole-setup.c +@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch + */ + static void font_copy_to_all_vcs(int fd) { + struct vt_stat vcs = {}; ++ unsigned char map8[E_TABSZ]; ++ unsigned short map16[E_TABSZ]; ++ struct unimapdesc unimapd; ++ struct unipair unipairs[USHRT_MAX]; + int i, r; + + /* get active, and 16 bit mask of used VT numbers */ +@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) { + cfo.op = KD_FONT_OP_COPY; + cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + ioctl(vcfd, KDFONTOP, &cfo); ++ ++ /* copy map of 8bit chars */ ++ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) ++ ioctl(vcfd, PIO_SCRNMAP, map8); ++ ++ /* copy map of 8bit chars -> 16bit Unicode values */ ++ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) ++ ioctl(vcfd, PIO_UNISCRNMAP, map16); ++ ++ /* copy unicode translation table */ ++ /* unimapd is a ushort count and a pointer to an ++ array of struct unipair { ushort, ushort } */ ++ unimapd.entries = unipairs; ++ unimapd.entry_ct = USHRT_MAX; ++ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { ++ struct unimapinit adv = { 0, 0, 0 }; ++ ++ ioctl(vcfd, PIO_UNIMAPCLR, &adv); ++ ioctl(vcfd, PIO_UNIMAP, &unimapd); ++ } + } + } + +-- +1.7.9.2 + diff --git a/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch new file mode 100644 index 00000000..ec455770 --- /dev/null +++ b/0002-core-make-sure-Environment-fields-passed-in-for-tran.patch @@ -0,0 +1,27 @@ +From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001 +From: Hristo Venev +Date: Mon, 23 Jun 2014 18:53:04 +0200 +Subject: [PATCH] core: make sure Environment fields passed in for transient + units are properly written to unit files + +https://bugs.freedesktop.org/show_bug.cgi?id=76744 +--- + src/core/dbus-execute.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/core/dbus-execute.c src/core/dbus-execute.c +index cb9a077..ecbadd7 100644 +--- src/core/dbus-execute.c ++++ src/core/dbus-execute.c +@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property( + strv_free(c->environment); + c->environment = e; + +- joined = strv_join(c->environment, " "); ++ joined = strv_join_quoted(c->environment); + if (!joined) + return -ENOMEM; + +-- +1.7.9.2 + diff --git a/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch new file mode 100644 index 00000000..8305035f --- /dev/null +++ b/0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch @@ -0,0 +1,32 @@ +From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret +Date: Tue, 22 Apr 2014 10:33:25 +0200 +Subject: [PATCH] core: You can not put the cached result of use_smack fct, as + we are not sure the "/sys" is mounted. So we should mount + "sys" before "/proc" + +https://bugs.freedesktop.org/show_bug.cgi?id=77646 +--- + src/core/mount-setup.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git src/core/mount-setup.c src/core/mount-setup.c +index ae8447c..991bfdf 100644 +--- src/core/mount-setup.c ++++ src/core/mount-setup.c +@@ -67,10 +67,10 @@ typedef struct MountPoint { + #define N_EARLY_MOUNT 5 + + static const MountPoint mount_table[] = { +- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +- NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, ++ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, ++ NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME, + NULL, MNT_FATAL|MNT_IN_CONTAINER }, + { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, +-- +1.7.9.2 + diff --git a/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch new file mode 100644 index 00000000..4bed22a5 --- /dev/null +++ b/0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch @@ -0,0 +1,53 @@ +Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 23 Jun 2014 19:18:44 +0200 +Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices + when it is listed as password file + +As special magic, don't create device dependencies for /dev/null. Of +course, there might be similar devices we might want to include, but +given that none of them really make sense to specify as password source +there's really no point in checking for anything else here. + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +--- src/cryptsetup/cryptsetup-generator.c ++++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000 +@@ -29,6 +29,7 @@ + #include "mkdir.h" + #include "strv.h" + #include "fileio.h" ++#include "path-util.h" + + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; +@@ -141,14 +142,18 @@ static int create_disk( + 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 (!path_equal(uu, "/dev/null")) { ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd; ++ ++ dd = unit_name_from_path(uu, ".device"); ++ if (!dd) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + } + diff --git a/0005-man-fix-path-in-crypttab-5.patch b/0005-man-fix-path-in-crypttab-5.patch new file mode 100644 index 00000000..d0aef604 --- /dev/null +++ b/0005-man-fix-path-in-crypttab-5.patch @@ -0,0 +1,26 @@ +From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 23 Jun 2014 23:07:53 -0400 +Subject: [PATCH] man: fix path in crypttab(5) + +https://bugs.freedesktop.org/show_bug.cgi?id=75816 +--- + man/crypttab.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git man/crypttab.xml man/crypttab.xml +index 668e51d..9030015 100644 +--- man/crypttab.xml ++++ man/crypttab.xml +@@ -369,7 +369,7 @@ + luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b + swap /dev/sda7 /dev/urandom swap + truecrypt /dev/sda2 /etc/container_password tcrypt +-hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile ++hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile + + + +-- +1.7.9.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 0e3eb4a4..229c9971 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + 0005-man-fix-path-in-crypttab-5.patch + ------------------------------------------------------------------- Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 7af41c6a..a04089d4 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -587,6 +587,16 @@ Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch # PATCH-FIX-UPSTREAM added at 2014/06/24 Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch # UDEV PATCHES # ============ @@ -1120,6 +1130,11 @@ cp %{SOURCE7} m4/ %patch288 -p0 %patch289 -p0 %patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 # udev patches %patch1001 -p1 diff --git a/systemd.changes b/systemd.changes index 0e3eb4a4..229c9971 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de + +- Add upstream patches + 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch + 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch + 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch + 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch + 0005-man-fix-path-in-crypttab-5.patch + ------------------------------------------------------------------- Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 1f56d7bb..32db278e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -582,6 +582,16 @@ Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch # PATCH-FIX-UPSTREAM added at 2014/06/24 Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch +# PATCH-FIX-UPSTREAM added at 2014/06/25 +Patch295: 0005-man-fix-path-in-crypttab-5.patch # UDEV PATCHES # ============ @@ -1115,6 +1125,11 @@ cp %{SOURCE7} m4/ %patch288 -p0 %patch289 -p0 %patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 # udev patches %patch1001 -p1