Accepting request 233091 from Base:System

- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume
  to handle the option 'noauto' in /etc/crypttab (bnc#742774)

- Modify and extend patch 
  0001-On_s390_con3270_disable_ANSI_colour_esc.patch
  to have the correct terminal type used with agetty
- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
  to allow users to access systemd user journal (bnc#876694) 

- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume
  to handle the option 'noauto' in /etc/crypttab (bnc#742774)

- Modify and extend patch 
  0001-On_s390_con3270_disable_ANSI_colour_esc.patch
  to have the correct terminal type used with agetty
- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
  to allow users to access systemd user journal (bnc#876694)

OBS-URL: https://build.opensuse.org/request/show/233091
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=185
This commit is contained in:
Stephan Kulow 2014-05-10 06:32:24 +00:00 committed by Git OBS Bridge
commit 4079411480
7 changed files with 185 additions and 5 deletions

View File

@ -1,9 +1,10 @@
---
rules/99-systemd.rules.in | 2 -
src/core/manager.c | 24 +++++++++++---
src/shared/util.c | 77 ++++++++++++++++++++++++++++++++++++++++++++--
rules/99-systemd.rules.in | 2
src/core/manager.c | 24 ++++++++--
src/shared/util.c | 101 ++++++++++++++++++++++++++++++++++++++++++++--
src/shared/util.h | 1
4 files changed, 95 insertions(+), 9 deletions(-)
4 files changed, 118 insertions(+), 10 deletions(-)
--- systemd-208/rules/99-systemd.rules.in
+++ systemd-208/rules/99-systemd.rules.in 2014-02-05 10:34:17.346235540 +0000
@ -151,13 +152,14 @@
prev_ephemeral = ephemeral;
if (status) {
@@ -3169,12 +3209,43 @@ void columns_lines_cache_reset(int signu
@@ -3169,12 +3209,47 @@ void columns_lines_cache_reset(int signu
bool on_tty(void) {
static int cached_on_tty = -1;
- if (_unlikely_(cached_on_tty < 0))
+ if (_unlikely_(cached_on_tty < 0)) {
cached_on_tty = isatty(STDOUT_FILENO) > 0;
+#if defined (__s390__) || defined (__s390x__)
+ if (cached_on_tty) {
+ const char *e = getenv("TERM");
+ if (!e)
@ -169,6 +171,7 @@
+ cached_on_tty = 0;
+ }
+ }
+#endif
+ }
return cached_on_tty;
@ -179,6 +182,7 @@
+
+ if (_unlikely_(cached_ansi_console < 0)) {
+ cached_ansi_console = isatty(fd) > 0;
+#if defined (__s390__) || defined (__s390x__)
+ if (cached_ansi_console) {
+ const char *e = getenv("TERM");
+ if (e && (streq(e, "dumb") || strneq(e, "ibm3", 4))) {
@ -188,6 +192,7 @@
+ cached_ansi_console = 0;
+ }
+ }
+#endif
+ }
+
+ return cached_ansi_console;
@ -196,6 +201,33 @@
int running_in_chroot(void) {
struct stat a = {}, b = {};
@@ -3630,7 +3705,25 @@ bool tty_is_vc_resolve(const char *tty)
const char *default_term_for_tty(const char *tty) {
assert(tty);
- return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt102";
+ if (tty_is_vc_resolve(tty))
+ return "TERM=linux";
+
+ if (startswith(tty, "/dev/"))
+ tty += 5;
+
+#if defined (__s390__) || defined (__s390x__)
+ if (streq(tty, "ttyS0")) {
+ char *mode = NULL;
+ int r = parse_env_file("/proc/cmdline", WHITESPACE, "conmode", &mode, NULL);
+ if (r < 0 || !mode || !streq(mode, "3270"))
+ return "TERM=dumb";
+ if (streq(mode, "3270"))
+ return "TERM=ibm327x";
+ }
+ if (streq(tty, "ttyS1"))
+ return "TERM=vt220";
+#endif
+ return "TERM=vt102";
}
bool dirent_is_file(const struct dirent *de) {
--- systemd-210/src/shared/util.h
+++ systemd-210/src/shared/util.h 2014-04-30 10:24:51.134235665 +0000
@@ -418,6 +418,7 @@ unsigned lines(void);

View File

@ -0,0 +1,27 @@
From a606871da508995f5ede113a8fc6538afd98966c Mon Sep 17 00:00:00 2001
From: Greg KH <gregkh@linuxfoundation.org>
Date: Tue, 15 Apr 2014 14:12:01 -0700
Subject: [PATCH] tmpfiles: fix permissions on new journal files
When starting up journald on a new system, set the proper permissions on
the system.journal files, not only on the journal directory.
---
tmpfiles.d/systemd.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git tmpfiles.d/systemd.conf tmpfiles.d/systemd.conf
index 7c6d6b9..c470045 100644
--- tmpfiles.d/systemd.conf
+++ tmpfiles.d/systemd.conf
@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
d /run/systemd/shutdown 0755 root root -
m /var/log/journal 2755 root systemd-journal - -
-m /var/log/journal/%m 2755 root systemd-journal - -
+Z /var/log/journal/%m 2755 root systemd-journal - -
m /run/log/journal 2755 root systemd-journal - -
-m /run/log/journal/%m 2755 root systemd-journal - -
+Z /run/log/journal/%m 2755 root systemd-journal - -
--
1.7.9.2

View File

@ -0,0 +1,79 @@
---
src/fstab-generator/fstab-generator.c | 52 ++++++++++++++++++++++++++++++++--
1 file changed, 50 insertions(+), 2 deletions(-)
--- systemd-210/src/fstab-generator/fstab-generator.c
+++ systemd-210/src/fstab-generator/fstab-generator.c 2014-05-07 09:15:01.003911151 +0000
@@ -37,6 +37,53 @@
static const char *arg_dest = "/tmp";
static bool arg_enabled = true;
+static int check_crypttab(const char *what) {
+ _cleanup_fclose_ FILE *f = NULL;
+ unsigned n = 0;
+ int r;
+
+ f = fopen("/etc/crypttab", "re");
+ if (!f) {
+ if (errno == ENOENT)
+ r = EXIT_SUCCESS;
+ else
+ log_error("Failed to open /etc/crypttab: %m");
+
+ return 1;
+ }
+
+
+ for (;;) {
+ char line[LINE_MAX], *l;
+ _cleanup_free_ char *name = NULL, *device = NULL, *password = NULL, *options = NULL;
+ int k;
+
+ if (!fgets(line, sizeof(line), f))
+ break;
+
+ n++;
+
+ l = strstrip(line);
+ if (*l == '#' || *l == 0)
+ continue;
+
+ k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options);
+ if (k < 2 || k > 4) {
+ log_error("Failed to parse /etc/crypttab:%u, ignoring.", n);
+ continue;
+ }
+
+ if (strcmp((what + 12), name) == 0) {
+ if (strstr(options, "noauto"))
+ return 0;
+
+ return 1;
+ }
+ }
+ return 1;
+}
+
+
static int mount_find_pri(struct mntent *me, int *ret) {
char *end, *pri;
unsigned long r;
@@ -212,7 +259,7 @@
*name = NULL, *unit = NULL, *lnk = NULL,
*automount_name = NULL, *automount_unit = NULL;
_cleanup_fclose_ FILE *f = NULL;
- int r;
+ int r, c;
assert(what);
assert(where);
@@ -286,7 +333,8 @@
return -errno;
}
- if (!noauto) {
+ c = check_crypttab(what);
+ if (!noauto && (c != 0)) {
if (post) {
lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
if (!lnk)

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Wed May 7 10:42:27 UTC 2014 - werner@suse.de
- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume
to handle the option 'noauto' in /etc/crypttab (bnc#742774)
-------------------------------------------------------------------
Wed May 7 09:23:01 UTC 2014 - werner@suse.de
- Modify and extend patch
0001-On_s390_con3270_disable_ANSI_colour_esc.patch
to have the correct terminal type used with agetty
- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
to allow users to access systemd user journal (bnc#876694)
-------------------------------------------------------------------
Mon May 5 14:02:16 UTC 2014 - werner@suse.de

View File

@ -403,6 +403,10 @@ Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch
Patch205: keep-crypt-password-prompt.patch
# PATCH-FIX-UPSTREAM Fix uninitialized memory
Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch
# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694)
Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774)
Patch208: parse-crypttab-for-noauto-option.patch
# UDEV PATCHES
# ============
@ -792,6 +796,8 @@ cp %{SOURCE7} m4/
%patch204 -p1
%patch205 -p1
%patch206 -p0
%patch207 -p0
%patch208 -p1
# udev patches
%patch1001 -p1

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Wed May 7 10:42:27 UTC 2014 - werner@suse.de
- Add patch parse-crypttab-for-noauto-option.patch from Thomas Blume
to handle the option 'noauto' in /etc/crypttab (bnc#742774)
-------------------------------------------------------------------
Wed May 7 09:23:01 UTC 2014 - werner@suse.de
- Modify and extend patch
0001-On_s390_con3270_disable_ANSI_colour_esc.patch
to have the correct terminal type used with agetty
- Add patch 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
to allow users to access systemd user journal (bnc#876694)
-------------------------------------------------------------------
Mon May 5 14:02:16 UTC 2014 - werner@suse.de

View File

@ -398,6 +398,10 @@ Patch204: shut-up-annoying-assertion-monotonic-clock-message.patch
Patch205: keep-crypt-password-prompt.patch
# PATCH-FIX-UPSTREAM Fix uninitialized memory
Patch206: 0001-sd-rtnl-message-append-fix-uninitialized-memory.patch
# PATCH-FIX-UPSTREAM Make systemd user journal accessible by users (bnc#876694)
Patch207: 0001-tmpfiles-fix-permissions-on-new-journal-files.patch
# PATCH-FIX-SUSE Do not ignores option 'noauto' in /etc/crypttab (bnc#742774)
Patch208: parse-crypttab-for-noauto-option.patch
# UDEV PATCHES
# ============
@ -787,6 +791,8 @@ cp %{SOURCE7} m4/
%patch204 -p1
%patch205 -p1
%patch206 -p0
%patch207 -p0
%patch208 -p1
# udev patches
%patch1001 -p1