Accepting request 241980 from Base:System
1 OBS-URL: https://build.opensuse.org/request/show/241980 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=194
This commit is contained in:
commit
f29f1b4b31
46
0001-bash-completion-p-option-for-journalctl.patch
Normal file
46
0001-bash-completion-p-option-for-journalctl.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From be8f4a9fa732d61e845e1ab1a62ac3a6b368d3a7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sat, 19 Jul 2014 19:46:04 -0400
|
||||
Subject: [PATCH] bash-completion: -p option for journalctl
|
||||
|
||||
---
|
||||
shell-completion/bash/journalctl | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git shell-completion/bash/journalctl shell-completion/bash/journalctl
|
||||
index e4b2f4a..14dcd22 100644
|
||||
--- shell-completion/bash/journalctl
|
||||
+++ shell-completion/bash/journalctl
|
||||
@@ -35,6 +35,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
|
||||
_UDEV_{SYSNAME,DEVNODE,DEVLINK}
|
||||
__CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
|
||||
|
||||
+__syslog_priorities=(emerg alert crit err warning notice info debug)
|
||||
+
|
||||
_journalctl() {
|
||||
local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
local -A OPTS=(
|
||||
@@ -44,8 +46,8 @@ _journalctl() {
|
||||
--no-tail -q --quiet --setup-keys --this-boot --verify
|
||||
--version --list-catalog --update-catalog --list-boots'
|
||||
[ARG]='-b --boot --this-boot -D --directory --file -F --field
|
||||
- -o --output -u --unit --user-unit'
|
||||
- [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until
|
||||
+ -o --output -u --unit --user-unit -p --priority'
|
||||
+ [ARGUNKNOWN]='-c --cursor --interval -n --lines --since --until
|
||||
--verify-key'
|
||||
)
|
||||
|
||||
@@ -68,6 +70,9 @@ _journalctl() {
|
||||
--field|-F)
|
||||
comps=${__journal_fields[*]}
|
||||
;;
|
||||
+ --priority|-p)
|
||||
+ comps=${__syslog_priorities[*]}
|
||||
+ ;;
|
||||
--unit|-u)
|
||||
comps=$(journalctl -F '_SYSTEMD_UNIT' 2>/dev/null)
|
||||
;;
|
||||
--
|
||||
1.7.9.2
|
||||
|
34
0001-compress-fix-return-value.patch
Normal file
34
0001-compress-fix-return-value.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 01c3322e017989d25f7b4b51268245d5315ae678 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Fri, 18 Jul 2014 21:44:36 -0400
|
||||
Subject: [PATCH] compress: fix return value
|
||||
|
||||
---
|
||||
src/journal/compress.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git src/journal/compress.c src/journal/compress.c
|
||||
index 316c1a6..ee18bc8 100644
|
||||
--- src/journal/compress.c
|
||||
+++ src/journal/compress.c
|
||||
@@ -132,7 +132,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size,
|
||||
|
||||
space = MIN(src_size * 2, dst_max ?: (uint64_t) -1);
|
||||
if (!greedy_realloc(dst, dst_alloc_size, space, 1))
|
||||
- return false;
|
||||
+ return -ENOMEM;
|
||||
|
||||
s.next_in = src;
|
||||
s.avail_in = src_size;
|
||||
@@ -158,7 +158,7 @@ int decompress_blob_xz(const void *src, uint64_t src_size,
|
||||
used = space - s.avail_out;
|
||||
space = MIN(2 * space, dst_max ?: (uint64_t) -1);
|
||||
if (!greedy_realloc(dst, dst_alloc_size, space, 1))
|
||||
- return false;
|
||||
+ return -ENOMEM;
|
||||
|
||||
s.avail_out = space - used;
|
||||
s.next_out = *dst + used;
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
bnc#880438 - systemd-detect-virt doesn't work on System z
|
||||
|
||||
--- systemd-210/src/shared/virt.c
|
||||
+++ systemd-210/src/shared/virt.c 2014-06-26 07:55:30.081608729 +0000
|
||||
@@ -196,6 +196,30 @@
|
||||
} else
|
||||
return r;
|
||||
|
||||
+#if defined(__s390x__)
|
||||
+ /* First layer virtualization (PR/SM) is always present on s390x */
|
||||
+ _id = "PR/SM";
|
||||
+ r = 1;
|
||||
+
|
||||
+ /* Check for second layer virtualization */
|
||||
+ _cleanup_fclose_ FILE *f = NULL;
|
||||
+ char line[LINE_MAX];
|
||||
+ f = fopen("/proc/sysinfo", "re");
|
||||
+ if (f) {
|
||||
+ FOREACH_LINE(line, f, return -errno) {
|
||||
+ if (startswith(line, "VM00 Control Program:")) {
|
||||
+ if (strstr(line,"z/VM"))
|
||||
+ _id = "z/VM";
|
||||
+ else if (strstr(line,"KVM/Linux"))
|
||||
+ _id = "KVM";
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ goto finish;
|
||||
+#endif
|
||||
+
|
||||
/* this will set _id to "other" and return 0 for unknown hypervisors */
|
||||
r = detect_vm_cpuid(&_id);
|
||||
if (r != 0)
|
33
0001-detect-virt-Fix-Xen-domU-discovery.patch
Normal file
33
0001-detect-virt-Fix-Xen-domU-discovery.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From a71516dfd1858f37712ef52a288bf5fb274383e0 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Blume <Thomas.Blume@suse.com>
|
||||
Date: Thu, 17 Jul 2014 11:25:37 +0200
|
||||
Subject: [PATCH] detect-virt: Fix Xen domU discovery
|
||||
|
||||
The conditional for detection xen virtualization contained a little mistake.
|
||||
It is checking for i to be empty: 'if (!i) {', but it must check for cap instead,
|
||||
because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to
|
||||
the next value after the separator.
|
||||
Hence, i would be empty, if there is only control_d in domcap, leading to a wrong
|
||||
domU detection.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=77271
|
||||
---
|
||||
src/shared/virt.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/shared/virt.c src/shared/virt.c
|
||||
index 774915f..20a8d7c 100644
|
||||
--- src/shared/virt.c
|
||||
+++ src/shared/virt.c
|
||||
@@ -173,7 +173,7 @@ int detect_vm(const char **id) {
|
||||
if (streq(cap, "control_d"))
|
||||
break;
|
||||
|
||||
- if (!i) {
|
||||
+ if (!cap) {
|
||||
_id = "xen";
|
||||
r = 1;
|
||||
}
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -1,17 +0,0 @@
|
||||
Fix upstream patch patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
of the commit 37287585b6ba9a55065c8f94458f6db3c0abe0af
|
||||
---
|
||||
systemd-210/src/shared/virt.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- systemd-210/src/shared/virt.c
|
||||
+++ systemd-210/src/shared/virt.c 2014-07-17 07:25:12.169628255 +0000
|
||||
@@ -174,7 +174,7 @@
|
||||
if (streq(cap, "control_d"))
|
||||
break;
|
||||
|
||||
- if (!i) {
|
||||
+ if (!cap) {
|
||||
_id = "xen";
|
||||
r = 1;
|
||||
}
|
72
0001-systemd-detect-virt-detect-s390-virtualization.patch
Normal file
72
0001-systemd-detect-virt-detect-s390-virtualization.patch
Normal file
@ -0,0 +1,72 @@
|
||||
From f41925b4e442a34c93ad120ef1426c974a047ed1 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Blume <Thomas.Blume@suse.com>
|
||||
Date: Fri, 18 Jul 2014 09:13:36 -0400
|
||||
Subject: [PATCH] systemd-detect-virt: detect s390 virtualization
|
||||
|
||||
A system that is running on a logical partition (LPAR) provided by
|
||||
PR/SM has access to physical hardware (except CPU). It is true that
|
||||
PR/SM abstracts the hardware, but only for sharing purposes.
|
||||
|
||||
Details are statet at:
|
||||
|
||||
http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/eicaz/eicazzlpar.htm
|
||||
|
||||
-->--
|
||||
In other words, PR/SM transforms physical resources into virtual resources so
|
||||
that many logical partitions can share the same physical resources.
|
||||
--<--
|
||||
|
||||
Still, from the OS point of view, the shared virtual resource is real
|
||||
hardware. ConditionVirtualization must be set to false if the OS runs
|
||||
directly on PR/SM (e.g. in an LPAR).
|
||||
|
||||
[zj: reorder code so that variables are not allocated when #if-def is
|
||||
false. Add commit message.]
|
||||
---
|
||||
man/systemd.unit.xml | 1 +
|
||||
src/shared/virt.c | 17 +++++++++++++++++
|
||||
2 files changed, 18 insertions(+)
|
||||
|
||||
diff --git man/systemd.unit.xml man/systemd.unit.xml
|
||||
index 6447584..86a8cbb 100644
|
||||
--- man/systemd.unit.xml
|
||||
+++ man/systemd.unit.xml
|
||||
@@ -996,6 +996,7 @@
|
||||
virtualization solution, or one of
|
||||
<varname>qemu</varname>,
|
||||
<varname>kvm</varname>,
|
||||
+ <varname>zvm</varname>,
|
||||
<varname>vmware</varname>,
|
||||
<varname>microsoft</varname>,
|
||||
<varname>oracle</varname>,
|
||||
diff --git src/shared/virt.c src/shared/virt.c
|
||||
index 20a8d7c..b436895 100644
|
||||
--- src/shared/virt.c
|
||||
+++ src/shared/virt.c
|
||||
@@ -220,6 +220,23 @@ int detect_vm(const char **id) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
+#if defined(__s390__)
|
||||
+ {
|
||||
+ _cleanup_free_ char *t = NULL;
|
||||
+
|
||||
+ r = get_status_field("/proc/sysinfo", "VM00 Control Program:", &t);
|
||||
+ if (r >= 0) {
|
||||
+ if (streq(t, "z/VM"))
|
||||
+ _id = "zvm";
|
||||
+ else
|
||||
+ _id = "kvm";
|
||||
+ r = 1;
|
||||
+
|
||||
+ goto finish;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
r = 0;
|
||||
|
||||
finish:
|
||||
--
|
||||
1.7.9.2
|
||||
|
92
0002-Be-more-verbose-when-bind-or-listen-fails.patch
Normal file
92
0002-Be-more-verbose-when-bind-or-listen-fails.patch
Normal file
@ -0,0 +1,92 @@
|
||||
Based on 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 3 Mar 2014 19:49:40 -0500
|
||||
Subject: [PATCH] Be more verbose when bind or listen fails
|
||||
|
||||
Also be more verbose in devnode_acl_all().
|
||||
---
|
||||
src/core/manager.c | 2 +-
|
||||
src/journal/journald-native.c | 2 +-
|
||||
src/journal/journald-stream.c | 4 ++--
|
||||
src/journal/journald-syslog.c | 2 +-
|
||||
src/login/logind-acl.c | 5 ++++-
|
||||
src/shared/ask-password-api.c | 2 +-
|
||||
6 files changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
--- src/core/manager.c
|
||||
+++ src/core/manager.c 2014-07-21 10:57:20.286367050 +0000
|
||||
@@ -571,7 +571,7 @@ static int manager_setup_notify(Manager
|
||||
|
||||
r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1));
|
||||
if (r < 0) {
|
||||
- log_error("bind() failed: %m");
|
||||
+ log_error("bind(@%s) failed: %m", sa.un.sun_path+1);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
--- src/journal/journald-native.c
|
||||
+++ src/journal/journald-native.c 2014-07-21 00:00:00.000000000 +0000
|
||||
@@ -405,7 +405,7 @@ int server_open_native_socket(Server*s)
|
||||
|
||||
r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
|
||||
if (r < 0) {
|
||||
- log_error("bind() failed: %m");
|
||||
+ log_error("bind(%s) failed: %m", sa.un.sun_path);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
--- src/journal/journald-stream.c
|
||||
+++ src/journal/journald-stream.c 2014-07-21 00:00:00.000000000 +0000
|
||||
@@ -447,14 +447,14 @@ int server_open_stdout_socket(Server *s)
|
||||
|
||||
r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
|
||||
if (r < 0) {
|
||||
- log_error("bind() failed: %m");
|
||||
+ log_error("bind(%s) failed: %m", sa.un.sun_path);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
chmod(sa.un.sun_path, 0666);
|
||||
|
||||
if (listen(s->stdout_fd, SOMAXCONN) < 0) {
|
||||
- log_error("listen() failed: %m");
|
||||
+ log_error("listen(%s) failed: %m", sa.un.sun_path);
|
||||
return -errno;
|
||||
}
|
||||
} else
|
||||
--- src/journal/journald-syslog.c
|
||||
+++ src/journal/journald-syslog.c 2014-07-21 00:00:00.000000000 +0000
|
||||
@@ -437,7 +437,7 @@ int server_open_syslog_socket(Server *s)
|
||||
|
||||
r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
|
||||
if (r < 0) {
|
||||
- log_error("bind() failed: %m");
|
||||
+ log_error("bind(%s) failed: %m", sa.un.sun_path);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
--- src/login/logind-acl.c
|
||||
+++ src/login/logind-acl.c 2014-07-21 10:59:04.986235573 +0000
|
||||
@@ -277,7 +277,10 @@ int devnode_acl_all(struct udev *udev,
|
||||
SET_FOREACH(n, nodes, i) {
|
||||
int k;
|
||||
|
||||
- log_debug("Fixing up ACLs at %s for seat %s", n, seat);
|
||||
+ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)",
|
||||
+ n, seat, old_uid, new_uid,
|
||||
+ del ? " del" : "", add ? " add" : "");
|
||||
+
|
||||
k = devnode_acl(n, flush, del, old_uid, add, new_uid);
|
||||
if (k < 0)
|
||||
r = k;
|
||||
--- src/shared/ask-password-api.c
|
||||
+++ src/shared/ask-password-api.c 2014-07-21 00:00:00.000000000 +0000
|
||||
@@ -275,7 +275,7 @@ static int create_socket(char **name) {
|
||||
|
||||
if (r < 0) {
|
||||
r = -errno;
|
||||
- log_error("bind() failed: %m");
|
||||
+ log_error("bind(%s) failed: %m", sa.un.sun_path);
|
||||
goto fail;
|
||||
}
|
||||
|
109
0002-journalctl-man-allow-only-between-terms.patch
Normal file
109
0002-journalctl-man-allow-only-between-terms.patch
Normal file
@ -0,0 +1,109 @@
|
||||
From 4e6029435111adcad71489aca2dd68bc65aeffd4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sat, 19 Jul 2014 21:05:07 -0400
|
||||
Subject: [PATCH] journalctl,man: allow + only between terms
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1110712
|
||||
---
|
||||
man/journalctl.xml | 19 +++++++++++++++----
|
||||
src/journal/journalctl.c | 20 +++++++++++++++++---
|
||||
2 files changed, 32 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git man/journalctl.xml man/journalctl.xml
|
||||
index 47b5a05..df9c794 100644
|
||||
--- man/journalctl.xml
|
||||
+++ man/journalctl.xml
|
||||
@@ -84,10 +84,11 @@
|
||||
field, then they are automatically matched as
|
||||
alternatives, i.e. the resulting output will show
|
||||
entries matching any of the specified matches for the
|
||||
- same field. Finally, if the character
|
||||
- <literal>+</literal> appears as a separate word on the
|
||||
- command line, all matches before and after are combined
|
||||
- in a disjunction (i.e. logical OR).</para>
|
||||
+ same field. Finally, the character
|
||||
+ <literal>+</literal> may appears as a separate word
|
||||
+ between other terms on the command line. This causes
|
||||
+ all matches before and after to be combined in a
|
||||
+ disjunction (i.e. logical OR).</para>
|
||||
|
||||
<para>As shortcuts for a few types of field/value
|
||||
matches, file paths may be specified. If a file path
|
||||
@@ -98,11 +99,21 @@
|
||||
<literal>_KERNEL_DEVICE=</literal> match for the
|
||||
device.</para>
|
||||
|
||||
+ <para>Additional contraints may be added using options
|
||||
+ <option>--boot</option>, <option>--unit=</option>,
|
||||
+ etc, to futher limit what entries will be shown
|
||||
+ (logical AND).</para>
|
||||
+
|
||||
<para>Output is interleaved from all accessible
|
||||
journal files, whether they are rotated or currently
|
||||
being written, and regardless of whether they belong to the
|
||||
system itself or are accessible user journals.</para>
|
||||
|
||||
+ <para>The set of journal files which will be used
|
||||
+ can be modified using the <option>--user</option>,
|
||||
+ <option>--system</option>, <option>--directory</option>,
|
||||
+ and <option>--file</option> options, see below.</para>
|
||||
+
|
||||
<para>All users are granted access to their private
|
||||
per-user journals. However, by default, only root and
|
||||
users who are members of the <literal>systemd-journal</literal>
|
||||
diff --git src/journal/journalctl.c src/journal/journalctl.c
|
||||
index 92e8286..7aedbf0 100644
|
||||
--- src/journal/journalctl.c
|
||||
+++ src/journal/journalctl.c
|
||||
@@ -699,15 +699,20 @@ static int generate_new_id128(void) {
|
||||
|
||||
static int add_matches(sd_journal *j, char **args) {
|
||||
char **i;
|
||||
+ bool have_term = false;
|
||||
|
||||
assert(j);
|
||||
|
||||
STRV_FOREACH(i, args) {
|
||||
int r;
|
||||
|
||||
- if (streq(*i, "+"))
|
||||
+ if (streq(*i, "+")) {
|
||||
+ if (!have_term)
|
||||
+ break;
|
||||
r = sd_journal_add_disjunction(j);
|
||||
- else if (path_is_absolute(*i)) {
|
||||
+ have_term = false;
|
||||
+
|
||||
+ } else if (path_is_absolute(*i)) {
|
||||
_cleanup_free_ char *p, *t = NULL, *t2 = NULL;
|
||||
const char *path;
|
||||
_cleanup_free_ char *interpreter = NULL;
|
||||
@@ -756,8 +761,12 @@ static int add_matches(sd_journal *j, char **args) {
|
||||
r = sd_journal_add_match(j, t, 0);
|
||||
if (t2)
|
||||
r = sd_journal_add_match(j, t2, 0);
|
||||
- } else
|
||||
+ have_term = true;
|
||||
+
|
||||
+ } else {
|
||||
r = sd_journal_add_match(j, *i, 0);
|
||||
+ have_term = true;
|
||||
+ }
|
||||
|
||||
if (r < 0) {
|
||||
log_error("Failed to add match '%s': %s", *i, strerror(-r));
|
||||
@@ -765,6 +774,11 @@ static int add_matches(sd_journal *j, char **args) {
|
||||
}
|
||||
}
|
||||
|
||||
+ if (!strv_isempty(args) && !have_term) {
|
||||
+ log_error("\"+\" can only be used between terms");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
41
0003-Add-quotes-to-warning-message.patch
Normal file
41
0003-Add-quotes-to-warning-message.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From f0ea29eaeb3449822bfbdfa839b00e323dfc523e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sun, 20 Jul 2014 19:47:42 -0400
|
||||
Subject: [PATCH] Add quotes to warning message
|
||||
|
||||
The message for SYSTEMD_LOG_LEVEL= looked a bit strange.
|
||||
---
|
||||
src/shared/log.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git src/shared/log.c src/shared/log.c
|
||||
index 9039db3..3941e3e 100644
|
||||
--- src/shared/log.c
|
||||
+++ src/shared/log.c
|
||||
@@ -884,19 +884,19 @@ void log_parse_environment(void) {
|
||||
|
||||
e = secure_getenv("SYSTEMD_LOG_TARGET");
|
||||
if (e && log_set_target_from_string(e) < 0)
|
||||
- log_warning("Failed to parse log target %s. Ignoring.", e);
|
||||
+ log_warning("Failed to parse log target '%s'. Ignoring.", e);
|
||||
|
||||
e = secure_getenv("SYSTEMD_LOG_LEVEL");
|
||||
if (e && log_set_max_level_from_string(e) < 0)
|
||||
- log_warning("Failed to parse log level %s. Ignoring.", e);
|
||||
+ log_warning("Failed to parse log level '%s'. Ignoring.", e);
|
||||
|
||||
e = secure_getenv("SYSTEMD_LOG_COLOR");
|
||||
if (e && log_show_color_from_string(e) < 0)
|
||||
- log_warning("Failed to parse bool %s. Ignoring.", e);
|
||||
+ log_warning("Failed to parse bool '%s'. Ignoring.", e);
|
||||
|
||||
e = secure_getenv("SYSTEMD_LOG_LOCATION");
|
||||
if (e && log_show_location_from_string(e) < 0)
|
||||
- log_warning("Failed to parse bool %s. Ignoring.", e);
|
||||
+ log_warning("Failed to parse bool '%s'. Ignoring.", e);
|
||||
}
|
||||
|
||||
LogTarget log_get_target(void) {
|
||||
--
|
||||
1.7.9.2
|
||||
|
111
0003-systemd-use-pager-for-test-and-help.patch
Normal file
111
0003-systemd-use-pager-for-test-and-help.patch
Normal file
@ -0,0 +1,111 @@
|
||||
From b87c2aa6bf1247c298c9bd9f56b9b56a87836b2d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Tue, 7 Jan 2014 00:00:05 -0500
|
||||
Subject: [PATCH] systemd: use pager for --test and --help
|
||||
|
||||
---
|
||||
src/core/main.c | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git src/core/main.c src/core/main.c
|
||||
index f9ee297..ae38b43 100644
|
||||
--- src/core/main.c
|
||||
+++ src/core/main.c
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "conf-parser.h"
|
||||
#include "missing.h"
|
||||
#include "label.h"
|
||||
+#include "pager.h"
|
||||
#include "build.h"
|
||||
#include "strv.h"
|
||||
#include "def.h"
|
||||
@@ -94,6 +95,7 @@ static int arg_crash_chvt = -1;
|
||||
static bool arg_confirm_spawn = false;
|
||||
static ShowStatus arg_show_status = _SHOW_STATUS_UNSET;
|
||||
static bool arg_switched_root = false;
|
||||
+static int arg_no_pager = -1;
|
||||
static char ***arg_join_controllers = NULL;
|
||||
static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL;
|
||||
static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT;
|
||||
@@ -117,6 +119,14 @@ static bool arg_default_memory_accounting = false;
|
||||
|
||||
static void nop_handler(int sig) {}
|
||||
|
||||
+static void pager_open_if_enabled(void) {
|
||||
+
|
||||
+ if (arg_no_pager <= 0)
|
||||
+ return;
|
||||
+
|
||||
+ pager_open(false);
|
||||
+}
|
||||
+
|
||||
noreturn static void crash(int sig) {
|
||||
|
||||
if (getpid() != 1)
|
||||
@@ -704,6 +714,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
ARG_SYSTEM,
|
||||
ARG_USER,
|
||||
ARG_TEST,
|
||||
+ ARG_NO_PAGER,
|
||||
ARG_VERSION,
|
||||
ARG_DUMP_CONFIGURATION_ITEMS,
|
||||
ARG_DUMP_CORE,
|
||||
@@ -725,6 +736,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
{ "system", no_argument, NULL, ARG_SYSTEM },
|
||||
{ "user", no_argument, NULL, ARG_USER },
|
||||
{ "test", no_argument, NULL, ARG_TEST },
|
||||
+ { "no-pager", no_argument, NULL, ARG_NO_PAGER },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "version", no_argument, NULL, ARG_VERSION },
|
||||
{ "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS },
|
||||
@@ -832,6 +844,12 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
case ARG_TEST:
|
||||
arg_action = ACTION_TEST;
|
||||
+ if (arg_no_pager < 0)
|
||||
+ arg_no_pager = true;
|
||||
+ break;
|
||||
+
|
||||
+ case ARG_NO_PAGER:
|
||||
+ arg_no_pager = true;
|
||||
break;
|
||||
|
||||
case ARG_VERSION:
|
||||
@@ -912,6 +930,8 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
case 'h':
|
||||
arg_action = ACTION_HELP;
|
||||
+ if (arg_no_pager < 0)
|
||||
+ arg_no_pager = true;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
@@ -984,6 +1004,7 @@ static int help(void) {
|
||||
"Starts up and maintains the system or user services.\n\n"
|
||||
" -h --help Show this help\n"
|
||||
" --test Determine startup sequence, dump it and exit\n"
|
||||
+ " --no-pager Do not pipe output into a pager\n"
|
||||
" --dump-configuration-items Dump understood unit configuration items\n"
|
||||
" --unit=UNIT Set default unit\n"
|
||||
" --system Run a system instance, even if PID != 1\n"
|
||||
@@ -1452,6 +1473,8 @@ int main(int argc, char *argv[]) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
+ pager_open_if_enabled();
|
||||
+
|
||||
if (arg_action == ACTION_HELP) {
|
||||
retval = help();
|
||||
goto finish;
|
||||
@@ -1798,6 +1821,8 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
finish:
|
||||
+ pager_close();
|
||||
+
|
||||
if (m) {
|
||||
manager_free(m);
|
||||
m = NULL;
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,57 @@
|
||||
From 1cd974edfd7cd91dcdf321e7202bd220bac50a2d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Fri, 18 Jul 2014 17:05:18 -0400
|
||||
Subject: [PATCH] systemd: return the first error from manager_startup()
|
||||
|
||||
---
|
||||
src/core/manager.c | 15 +++++++--------
|
||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git src/core/manager.c src/core/manager.c
|
||||
index 2e63c5e..0653d7e 100644
|
||||
--- src/core/manager.c
|
||||
+++ src/core/manager.c
|
||||
@@ -1005,11 +1005,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
|
||||
dual_timestamp_get(&m->units_load_finish_timestamp);
|
||||
|
||||
/* Second, deserialize if there is something to deserialize */
|
||||
- if (serialization) {
|
||||
- q = manager_deserialize(m, serialization, fds);
|
||||
- if (q < 0)
|
||||
- r = q;
|
||||
- }
|
||||
+ if (serialization)
|
||||
+ r = manager_deserialize(m, serialization, fds);
|
||||
|
||||
/* Any fds left? Find some unit which wants them. This is
|
||||
* useful to allow container managers to pass some file
|
||||
@@ -1017,13 +1014,15 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
|
||||
* socket-based activation of entire containers. */
|
||||
if (fdset_size(fds) > 0) {
|
||||
q = manager_distribute_fds(m, fds);
|
||||
- if (q < 0)
|
||||
+ if (q < 0 && r == 0)
|
||||
r = q;
|
||||
}
|
||||
|
||||
/* We might have deserialized the notify fd, but if we didn't
|
||||
* then let's create the bus now */
|
||||
- manager_setup_notify(m);
|
||||
+ q = manager_setup_notify(m);
|
||||
+ if (q < 0 && r == 0)
|
||||
+ r = q;
|
||||
|
||||
/* We might have deserialized the kdbus control fd, but if we
|
||||
* didn't, then let's create the bus now. */
|
||||
@@ -1033,7 +1032,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
|
||||
|
||||
/* Third, fire things up! */
|
||||
q = manager_coldplug(m);
|
||||
- if (q < 0)
|
||||
+ if (q < 0 && r == 0)
|
||||
r = q;
|
||||
|
||||
if (serialization) {
|
||||
--
|
||||
1.7.9.2
|
||||
|
29
1053-better-checks-in-write_net_rules.patch
Normal file
29
1053-better-checks-in-write_net_rules.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Index: systemd-210/src/udev/rule_generator/write_net_rules
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/rule_generator/write_net_rules
|
||||
+++ systemd-210/src/udev/rule_generator/write_net_rules
|
||||
@@ -89,6 +89,12 @@ choose_rules_file
|
||||
|
||||
# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces
|
||||
if [ "$MATCHADDR" ]; then
|
||||
+ # Check if MACADDR doesn't exist already in the generated rules
|
||||
+ MAC="$(/usr/bin/grep -w -o -C1 -m1 "$MATCHADDR" "$RULES_FILE" 2>/dev/null || true)"
|
||||
+ if [ "$MAC" == "$MATCHADDR" ]; then
|
||||
+ unlock_rules_file
|
||||
+ exit 0
|
||||
+ fi
|
||||
match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\""
|
||||
fi
|
||||
|
||||
@@ -101,8 +107,9 @@ if [ "$MATCHDEVID" ]; then
|
||||
fi
|
||||
|
||||
if [ "$MATCHID" ]; then
|
||||
- ID="$(find_all_rules 'KERNELS==' "$MATCHID")"
|
||||
- if [ "$ID" == "$MATCHID" ]; then
|
||||
+ # Check if KERNEL doesn't exist already in the generated rules
|
||||
+ KERNEL="$(find_all_rules 'KERNELS==' "$MATCHID")"
|
||||
+ if [ "$KERNEL" == "$MATCHID" ]; then
|
||||
unlock_rules_file
|
||||
exit 0
|
||||
fi
|
159
set-and-use-default-logconsole.patch
Normal file
159
set-and-use-default-logconsole.patch
Normal file
@ -0,0 +1,159 @@
|
||||
Use and set default logging console for both journald and kernel messages
|
||||
|
||||
---
|
||||
src/journal/journald-console.c | 96 +++++++++++++++++++++++++++++++++++++++++
|
||||
src/journal/journald-console.h | 4 +
|
||||
src/journal/journald-server.c | 5 ++
|
||||
3 files changed, 105 insertions(+)
|
||||
|
||||
--- src/journal/journald-console.c
|
||||
+++ src/journal/journald-console.c 2014-07-23 09:08:29.522235688 +0000
|
||||
@@ -23,6 +23,14 @@
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+# include <linux/tiocl.h>
|
||||
+# include <linux/vt.h>
|
||||
+# include <sys/ioctl.h>
|
||||
+# include <sys/klog.h>
|
||||
+# include <errno.h>
|
||||
+# include "util.h"
|
||||
+#endif
|
||||
|
||||
#include "fileio.h"
|
||||
#include "journald-server.h"
|
||||
@@ -43,6 +51,74 @@ static bool prefix_timestamp(void) {
|
||||
return cached_printk_time;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+void defaul_tty_path(Server *s)
|
||||
+{
|
||||
+ static const char list[] = "/dev/tty10\0" "/dev/console\0";
|
||||
+ const char *vc;
|
||||
+
|
||||
+ if (s->tty_path)
|
||||
+ return;
|
||||
+
|
||||
+ NULSTR_FOREACH(vc, list) {
|
||||
+ _cleanup_close_ int fd = -1;
|
||||
+
|
||||
+ if (access(vc, F_OK) < 0)
|
||||
+ continue;
|
||||
+
|
||||
+ fd = open_terminal(vc, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ continue;
|
||||
+
|
||||
+ s->tty_path = strdup(vc);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void klogconsole(Server *s)
|
||||
+{
|
||||
+ _cleanup_free_ char *klogconsole_params = NULL;
|
||||
+ _cleanup_close_ int fd = -1;
|
||||
+ const char *vc = s->tty_path;
|
||||
+ const char *num;
|
||||
+ int tiocl[2];
|
||||
+ int r;
|
||||
+
|
||||
+ if (!vc || *vc == 0 || !strneq("/dev/tty", vc, 8))
|
||||
+ return;
|
||||
+
|
||||
+ num = vc + strcspn(vc, "0123456789");
|
||||
+ if (safe_atoi(num, &r) < 0)
|
||||
+ return;
|
||||
+
|
||||
+ if (access(vc, F_OK) < 0)
|
||||
+ return false;
|
||||
+
|
||||
+ fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return;
|
||||
+
|
||||
+ tiocl[0] = TIOCL_SETKMSGREDIRECT;
|
||||
+ tiocl[1] = r;
|
||||
+
|
||||
+ if (ioctl(fd, TIOCLINUX, tiocl) < 0)
|
||||
+ return;
|
||||
+
|
||||
+ zero(klogconsole_params);
|
||||
+ r = parse_env_file("/etc/sysconfig/boot", NEWLINE,
|
||||
+ "KLOGCONSOLE_PARAMS", &klogconsole_params,
|
||||
+ NULL);
|
||||
+ if (r < 0)
|
||||
+ return;
|
||||
+ if (!klogconsole_params || *klogconsole_params == 0)
|
||||
+ return;
|
||||
+
|
||||
+ num = klogconsole_params + strcspn(klogconsole_params, "0123456789");
|
||||
+ if (safe_atoi(num, &r) == 0)
|
||||
+ klogctl(8, 0, r);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
void server_forward_console(
|
||||
Server *s,
|
||||
int priority,
|
||||
@@ -63,6 +139,10 @@ void server_forward_console(
|
||||
|
||||
if (LOG_PRI(priority) > s->max_level_console)
|
||||
return;
|
||||
+
|
||||
+ /* Do not write security/authorization (private) messages to console */
|
||||
+ if (priority & LOG_AUTHPRIV)
|
||||
+ return;
|
||||
|
||||
/* First: timestamp */
|
||||
if (prefix_timestamp()) {
|
||||
@@ -101,7 +181,23 @@ void server_forward_console(
|
||||
fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
if (fd < 0) {
|
||||
log_debug("Failed to open %s for logging: %m", tty);
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ if (fd != -ENOENT && fd != -ENODEV)
|
||||
+ return;
|
||||
+ if (tty != s->tty_path)
|
||||
+ return;
|
||||
+ if (!streq("/dev/console", tty)) {
|
||||
+ if (s->tty_path)
|
||||
+ free(s->tty_path);
|
||||
+ s->tty_path = NULL;
|
||||
+ tty = "/dev/console";
|
||||
+ fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return;
|
||||
+ }
|
||||
+#else
|
||||
return;
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (writev(fd, iovec, n) < 0)
|
||||
--- src/journal/journald-console.h
|
||||
+++ src/journal/journald-console.h 2014-07-22 11:20:52.754235644 +0000
|
||||
@@ -24,3 +24,7 @@
|
||||
#include "journald-server.h"
|
||||
|
||||
void server_forward_console(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred);
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+void klogconsole(Server *s);
|
||||
+void defaul_tty_path(Server *s);
|
||||
+#endif
|
||||
--- src/journal/journald-server.c
|
||||
+++ src/journal/journald-server.c 2014-07-22 11:16:45.966236859 +0000
|
||||
@@ -1509,6 +1509,11 @@ int server_init(Server *s) {
|
||||
|
||||
server_parse_config_file(s);
|
||||
server_parse_proc_cmdline(s);
|
||||
+ defaul_tty_path(s);
|
||||
+
|
||||
+ if (s->tty_path)
|
||||
+ klogconsole(s);
|
||||
+
|
||||
if (!!s->rate_limit_interval ^ !!s->rate_limit_burst) {
|
||||
log_debug("Setting both rate limit interval and burst from %llu,%u to 0,0",
|
||||
(long long unsigned) s->rate_limit_interval,
|
@ -18,3 +18,10 @@ addFilter("libudev-mini.*shlib-policy-name-error.*")
|
||||
addFilter("nss-myhostname.*shlib-policy-name-error.*")
|
||||
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
|
||||
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
|
||||
addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*")
|
||||
addFilter(".*files-duplicate.*/systemd-logger.*")
|
||||
addFilter(".*missing-call-to-setgroups-before-setuid.*")
|
||||
addFilter(".*missing-call-to-chdir-with-chroot.*")
|
||||
addFilter(".*systemd-service-without-service.*")
|
||||
addFilter(".*shlib-policy-missing-suffix.*")
|
||||
addFilter(".*suse-missing-rclink.*")
|
||||
|
@ -1,3 +1,55 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Enable better checks in write_net_rules to skip adding duplicated
|
||||
entries in the generate rules (bnc#888178).
|
||||
Add 1053-better-checks-in-write_net_rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change patch set-and-use-default-logconsole.patch to avoid to
|
||||
write security/authorization (private) messages to console
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch set-and-use-default-logconsole.patch to use and set
|
||||
the default logging console for both journald and kernel messages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-bash-completion-p-option-for-journalctl.patch
|
||||
0002-journalctl-man-allow-only-between-terms.patch
|
||||
0003-systemd-use-pager-for-test-and-help.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de
|
||||
|
||||
- Use verify scripts and add permission files for systemd logger
|
||||
- Avoid useless warning about static systemd unit files
|
||||
- Make pam file a config file
|
||||
- Remove non-break-space from this changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-compress-fix-return-value.patch
|
||||
0002-Be-more-verbose-when-bind-or-listen-fails.patch
|
||||
0003-Add-quotes-to-warning-message.patch
|
||||
0004-systemd-return-the-first-error-from-manager_startup.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de
|
||||
|
||||
- Replace patch 0001-fix-only-discover-Xen-domU.patch with
|
||||
upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch
|
||||
- Replace patch 0001-detect-s390-virt.patch with upstream
|
||||
patch 0001-systemd-detect-virt-detect-s390-virtualization.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de
|
||||
|
||||
@ -2504,15 +2556,15 @@ Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com
|
||||
may now be passed more than once. 'systemctl list-sockets' has
|
||||
been added.
|
||||
+ systemd gained a new unit 'systemd-static-nodes.service'
|
||||
that generates static device nodes earlier during boot, and
|
||||
can run in conjunction with udev.
|
||||
that generates static device nodes earlier during boot, and
|
||||
can run in conjunction with udev.
|
||||
+ systemd-nspawn now places all containers in the new /machine
|
||||
top-level cgroup directory in the name=systemd hierarchy.
|
||||
top-level cgroup directory in the name=systemd hierarchy.
|
||||
+ bootchart can now store its data in the journal.
|
||||
+ journactl can now take multiple --unit= and --user-unit=
|
||||
switches.
|
||||
switches.
|
||||
+ The cryptsetup logic now understands the "luks.key=" kernel
|
||||
command line switch. If a configured key file is missing, it
|
||||
line switch. If a configured key file is missing, it
|
||||
will fallback to prompting the user.
|
||||
- Rebase some patches
|
||||
- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to
|
||||
|
@ -32,6 +32,7 @@
|
||||
%define has_efi 0
|
||||
%endif
|
||||
%bcond_with udevsettle
|
||||
%bcond_with permission
|
||||
|
||||
Name: systemd-mini
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
@ -577,8 +578,8 @@ Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
Patch278: 0001-core-fix-invalid-free-in-killall.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/17
|
||||
Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch
|
||||
# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438)
|
||||
Patch280: 0001-detect-s390-virt.patch
|
||||
# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438)
|
||||
Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available
|
||||
Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
@ -705,8 +706,24 @@ Patch341: 0001-po-add-Ukrainian-translation.patch
|
||||
Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/17
|
||||
Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
|
||||
# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
Patch344: 0001-fix-only-discover-Xen-domU.patch
|
||||
# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch345: 0001-compress-fix-return-value.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch347: 0003-Add-quotes-to-warning-message.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch349: 0001-bash-completion-p-option-for-journalctl.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch350: 0002-journalctl-man-allow-only-between-terms.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch351: 0003-systemd-use-pager-for-test-and-help.patch
|
||||
# PATCH-FIX-SUSE
|
||||
Patch352: set-and-use-default-logconsole.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -818,6 +835,8 @@ Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patc
|
||||
Patch1051: 1051-check-if-NAME-has-a-value.patch
|
||||
# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
|
||||
Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
|
||||
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
|
||||
Patch1053: 1053-better-checks-in-write_net_rules.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -992,6 +1011,7 @@ Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Requires(post): /usr/bin/systemctl
|
||||
Requires(post): permissions
|
||||
Conflicts: otherproviders(syslog)
|
||||
|
||||
%description logger
|
||||
@ -1255,7 +1275,7 @@ cp %{SOURCE7} m4/
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch280 -p0
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
@ -1319,7 +1339,15 @@ cp %{SOURCE7} m4/
|
||||
%patch341 -p0
|
||||
%patch342 -p0
|
||||
%patch343 -p0
|
||||
%patch344 -p1
|
||||
%patch344 -p0
|
||||
%patch345 -p0
|
||||
%patch346 -p0
|
||||
%patch347 -p0
|
||||
%patch348 -p0
|
||||
%patch349 -p0
|
||||
%patch350 -p0
|
||||
%patch351 -p0
|
||||
%patch352 -p0
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -1381,6 +1409,7 @@ cp %{SOURCE7} m4/
|
||||
%patch1050 -p1
|
||||
%patch1051 -p1
|
||||
%patch1052 -p0
|
||||
%patch1053 -p1
|
||||
|
||||
# ensure generate files are removed
|
||||
rm -f units/emergency.service
|
||||
@ -1408,6 +1437,14 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
#
|
||||
# In combination with Patch352 set-and-use-default-logconsole.patch
|
||||
# Ensure that journald log on tty10
|
||||
#
|
||||
%ifarch %ix86 x86_64 x32
|
||||
sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf
|
||||
%endif
|
||||
|
||||
%build
|
||||
cflags ()
|
||||
{
|
||||
@ -1751,6 +1788,17 @@ do
|
||||
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
||||
done
|
||||
|
||||
# Add permission files for logger
|
||||
%if %{with permission}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
|
||||
cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF'
|
||||
%{_localstatedir}/log/journal/ root:systemd-journal 2755
|
||||
EOF
|
||||
cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF'
|
||||
%{_localstatedir}/log/journal/ root:systemd-journal 2755
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%find_lang systemd
|
||||
|
||||
%pre
|
||||
@ -1922,11 +1970,19 @@ fi
|
||||
|
||||
%postun -n libgudev-1_0-0 -p /sbin/ldconfig
|
||||
|
||||
%if %{with permission}
|
||||
%verifyscript logger
|
||||
%verify_permissions -e %{_localstatedir}/log/journal
|
||||
%endif
|
||||
|
||||
%pre logger
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
|
||||
%post logger
|
||||
%if %{with permission}
|
||||
%set_permissions %{_localstatedir}/log/journal
|
||||
%endif
|
||||
getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
if [ "$1" -eq 1 ]; then
|
||||
@ -1960,7 +2016,7 @@ exit 0
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
%files -f systemd.lang
|
||||
%defattr(-,root,root)
|
||||
/bin/systemd
|
||||
/bin/systemd-ask-password
|
||||
@ -2064,7 +2120,7 @@ exit 0
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
|
||||
/%{_lib}/security/pam_systemd.so
|
||||
/etc/pam.d/systemd-user
|
||||
%config /etc/pam.d/systemd-user
|
||||
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
@ -2132,7 +2188,6 @@ exit 0
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
%{_datadir}/systemd
|
||||
%{_datadir}/locale/*/LC_MESSAGES
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
# Packaged in sysvinit subpackage
|
||||
@ -2329,6 +2384,10 @@ exit 0
|
||||
|
||||
%files logger
|
||||
%defattr(-,root,root)
|
||||
%if %{with permission}
|
||||
%config %{_sysconfdir}/permissions.d/systemd-logger
|
||||
%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid
|
||||
%endif
|
||||
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal
|
||||
%{_localstatedir}/log/README
|
||||
/etc/init.d/systemd-journald
|
||||
|
@ -18,3 +18,10 @@ addFilter("libudev-mini.*shlib-policy-name-error.*")
|
||||
addFilter("nss-myhostname.*shlib-policy-name-error.*")
|
||||
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")
|
||||
addFilter("devel-file-in-non-devel-package.*/usr/share/pkgconfig/(udev|systemd)\.pc.*")
|
||||
addFilter(".*script-without-shebang.*/usr/lib/udev/rule_generator.functions.*")
|
||||
addFilter(".*files-duplicate.*/systemd-logger.*")
|
||||
addFilter(".*missing-call-to-setgroups-before-setuid.*")
|
||||
addFilter(".*missing-call-to-chdir-with-chroot.*")
|
||||
addFilter(".*systemd-service-without-service.*")
|
||||
addFilter(".*shlib-policy-missing-suffix.*")
|
||||
addFilter(".*suse-missing-rclink.*")
|
||||
|
@ -1,3 +1,55 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 23 09:19:52 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Enable better checks in write_net_rules to skip adding duplicated
|
||||
entries in the generate rules (bnc#888178).
|
||||
Add 1053-better-checks-in-write_net_rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 23 09:13:43 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change patch set-and-use-default-logconsole.patch to avoid to
|
||||
write security/authorization (private) messages to console
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 22 11:50:44 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch set-and-use-default-logconsole.patch to use and set
|
||||
the default logging console for both journald and kernel messages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 13:22:35 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-bash-completion-p-option-for-journalctl.patch
|
||||
0002-journalctl-man-allow-only-between-terms.patch
|
||||
0003-systemd-use-pager-for-test-and-help.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 12:49:00 UTC 2014 - werner@suse.de
|
||||
|
||||
- Use verify scripts and add permission files for systemd logger
|
||||
- Avoid useless warning about static systemd unit files
|
||||
- Make pam file a config file
|
||||
- Remove non-break-space from this changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 11:09:44 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-compress-fix-return-value.patch
|
||||
0002-Be-more-verbose-when-bind-or-listen-fails.patch
|
||||
0003-Add-quotes-to-warning-message.patch
|
||||
0004-systemd-return-the-first-error-from-manager_startup.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 10:42:10 UTC 2014 - werner@suse.de
|
||||
|
||||
- Replace patch 0001-fix-only-discover-Xen-domU.patch with
|
||||
upstream patch 0001-detect-virt-Fix-Xen-domU-discovery.patch
|
||||
- Replace patch 0001-detect-s390-virt.patch with upstream
|
||||
patch 0001-systemd-detect-virt-detect-s390-virtualization.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 17 09:30:28 UTC 2014 - werner@suse.de
|
||||
|
||||
@ -2504,15 +2556,15 @@ Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com
|
||||
may now be passed more than once. 'systemctl list-sockets' has
|
||||
been added.
|
||||
+ systemd gained a new unit 'systemd-static-nodes.service'
|
||||
that generates static device nodes earlier during boot, and
|
||||
can run in conjunction with udev.
|
||||
that generates static device nodes earlier during boot, and
|
||||
can run in conjunction with udev.
|
||||
+ systemd-nspawn now places all containers in the new /machine
|
||||
top-level cgroup directory in the name=systemd hierarchy.
|
||||
top-level cgroup directory in the name=systemd hierarchy.
|
||||
+ bootchart can now store its data in the journal.
|
||||
+ journactl can now take multiple --unit= and --user-unit=
|
||||
switches.
|
||||
switches.
|
||||
+ The cryptsetup logic now understands the "luks.key=" kernel
|
||||
command line switch. If a configured key file is missing, it
|
||||
line switch. If a configured key file is missing, it
|
||||
will fallback to prompting the user.
|
||||
- Rebase some patches
|
||||
- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to
|
||||
|
77
systemd.spec
77
systemd.spec
@ -30,6 +30,7 @@
|
||||
%define has_efi 0
|
||||
%endif
|
||||
%bcond_with udevsettle
|
||||
%bcond_with permission
|
||||
|
||||
Name: systemd
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
@ -572,8 +573,8 @@ Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
Patch278: 0001-core-fix-invalid-free-in-killall.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/17
|
||||
Patch279: 0003-install-fix-invalid-free-in-unit_file_mask.patch
|
||||
# PATCH-FIX-SUSE detect virtualization layers on S390 (bnc#880438)
|
||||
Patch280: 0001-detect-s390-virt.patch
|
||||
# PATCH-FIX-UPSTREAM detect virtualization layers on S390 (bnc#880438)
|
||||
Patch280: 0001-systemd-detect-virt-detect-s390-virtualization.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch arvidjaar@gmail.com -- Ensure legacy services are started after network is available
|
||||
Patch281: 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
@ -700,8 +701,24 @@ Patch341: 0001-po-add-Ukrainian-translation.patch
|
||||
Patch342: 0002-man-document-yearly-and-annually-in-systemd.time-7.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/17
|
||||
Patch343: 0003-core-nicer-message-when-inotify-watches-are-exhauste.patch
|
||||
# PATCH-FIX-SUSE Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
Patch344: 0001-fix-only-discover-Xen-domU.patch
|
||||
# PATCH-FIX-UPSTREAM Fix patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
Patch344: 0001-detect-virt-Fix-Xen-domU-discovery.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch345: 0001-compress-fix-return-value.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch346: 0002-Be-more-verbose-when-bind-or-listen-fails.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch347: 0003-Add-quotes-to-warning-message.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch348: 0004-systemd-return-the-first-error-from-manager_startup.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch349: 0001-bash-completion-p-option-for-journalctl.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch350: 0002-journalctl-man-allow-only-between-terms.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/07/21
|
||||
Patch351: 0003-systemd-use-pager-for-test-and-help.patch
|
||||
# PATCH-FIX-SUSE
|
||||
Patch352: set-and-use-default-logconsole.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -813,6 +830,8 @@ Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patc
|
||||
Patch1051: 1051-check-if-NAME-has-a-value.patch
|
||||
# PATCH-FIX-UPSTREAM 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
|
||||
Patch1052: 1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
|
||||
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
|
||||
Patch1053: 1053-better-checks-in-write_net_rules.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -987,6 +1006,7 @@ Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Requires(post): /usr/bin/systemctl
|
||||
Requires(post): permissions
|
||||
Conflicts: otherproviders(syslog)
|
||||
|
||||
%description logger
|
||||
@ -1250,7 +1270,7 @@ cp %{SOURCE7} m4/
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch280 -p0
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
@ -1314,7 +1334,15 @@ cp %{SOURCE7} m4/
|
||||
%patch341 -p0
|
||||
%patch342 -p0
|
||||
%patch343 -p0
|
||||
%patch344 -p1
|
||||
%patch344 -p0
|
||||
%patch345 -p0
|
||||
%patch346 -p0
|
||||
%patch347 -p0
|
||||
%patch348 -p0
|
||||
%patch349 -p0
|
||||
%patch350 -p0
|
||||
%patch351 -p0
|
||||
%patch352 -p0
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -1376,6 +1404,7 @@ cp %{SOURCE7} m4/
|
||||
%patch1050 -p1
|
||||
%patch1051 -p1
|
||||
%patch1052 -p0
|
||||
%patch1053 -p1
|
||||
|
||||
# ensure generate files are removed
|
||||
rm -f units/emergency.service
|
||||
@ -1403,6 +1432,14 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
#
|
||||
# In combination with Patch352 set-and-use-default-logconsole.patch
|
||||
# Ensure that journald log on tty10
|
||||
#
|
||||
%ifarch %ix86 x86_64 x32
|
||||
sed -ri 's:#TTYPath=/dev/console:#TTYPath=/dev/tty10:' src/journal/journald.conf
|
||||
%endif
|
||||
|
||||
%build
|
||||
cflags ()
|
||||
{
|
||||
@ -1746,6 +1783,17 @@ do
|
||||
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
||||
done
|
||||
|
||||
# Add permission files for logger
|
||||
%if %{with permission}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
|
||||
cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger <<-'EOF'
|
||||
%{_localstatedir}/log/journal/ root:systemd-journal 2755
|
||||
EOF
|
||||
cat > %{buildroot}%{_sysconfdir}/permissions.d/systemd-logger.paranoid <<-'EOF'
|
||||
%{_localstatedir}/log/journal/ root:systemd-journal 2755
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%find_lang systemd
|
||||
|
||||
%pre
|
||||
@ -1917,11 +1965,19 @@ fi
|
||||
|
||||
%postun -n libgudev-1_0-0 -p /sbin/ldconfig
|
||||
|
||||
%if %{with permission}
|
||||
%verifyscript logger
|
||||
%verify_permissions -e %{_localstatedir}/log/journal
|
||||
%endif
|
||||
|
||||
%pre logger
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
|
||||
%post logger
|
||||
%if %{with permission}
|
||||
%set_permissions %{_localstatedir}/log/journal
|
||||
%endif
|
||||
getent group wheel && setfacl -Rnm g:wheel:rx,d:g:wheel:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
getent group adm && setfacl -Rnm g:adm:rx,d:g:adm:rx %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
if [ "$1" -eq 1 ]; then
|
||||
@ -1955,7 +2011,7 @@ exit 0
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
%files -f systemd.lang
|
||||
%defattr(-,root,root)
|
||||
/bin/systemd
|
||||
/bin/systemd-ask-password
|
||||
@ -2059,7 +2115,7 @@ exit 0
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
|
||||
/%{_lib}/security/pam_systemd.so
|
||||
/etc/pam.d/systemd-user
|
||||
%config /etc/pam.d/systemd-user
|
||||
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
@ -2127,7 +2183,6 @@ exit 0
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
%{_datadir}/systemd
|
||||
%{_datadir}/locale/*/LC_MESSAGES
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
# Packaged in sysvinit subpackage
|
||||
@ -2324,6 +2379,10 @@ exit 0
|
||||
|
||||
%files logger
|
||||
%defattr(-,root,root)
|
||||
%if %{with permission}
|
||||
%config %{_sysconfdir}/permissions.d/systemd-logger
|
||||
%config %{_sysconfdir}/permissions.d/systemd-logger.paranoid
|
||||
%endif
|
||||
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal
|
||||
%{_localstatedir}/log/README
|
||||
/etc/init.d/systemd-journald
|
||||
|
Loading…
Reference in New Issue
Block a user