forked from pool/systemd
.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=723
This commit is contained in:
parent
ac7e245f9b
commit
d319cc9c90
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
|
||||
|
@ -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,36 @@
|
||||
-------------------------------------------------------------------
|
||||
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 +2537,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,22 @@ 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
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -992,6 +1007,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 +1271,7 @@ cp %{SOURCE7} m4/
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch280 -p0
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
@ -1319,7 +1335,14 @@ 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
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -1751,6 +1774,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 +1956,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 +2002,7 @@ exit 0
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
%files -f systemd.lang
|
||||
%defattr(-,root,root)
|
||||
/bin/systemd
|
||||
/bin/systemd-ask-password
|
||||
@ -2064,7 +2106,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 +2174,6 @@ exit 0
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
%{_datadir}/systemd
|
||||
%{_datadir}/locale/*/LC_MESSAGES
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
# Packaged in sysvinit subpackage
|
||||
@ -2329,6 +2370,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,36 @@
|
||||
-------------------------------------------------------------------
|
||||
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 +2537,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
|
||||
|
63
systemd.spec
63
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,22 @@ 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
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -987,6 +1002,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 +1266,7 @@ cp %{SOURCE7} m4/
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch280 -p0
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
@ -1314,7 +1330,14 @@ 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
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -1746,6 +1769,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 +1951,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 +1997,7 @@ exit 0
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
%files -f systemd.lang
|
||||
%defattr(-,root,root)
|
||||
/bin/systemd
|
||||
/bin/systemd-ask-password
|
||||
@ -2059,7 +2101,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 +2169,6 @@ exit 0
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
%{_datadir}/systemd
|
||||
%{_datadir}/locale/*/LC_MESSAGES
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
# Packaged in sysvinit subpackage
|
||||
@ -2324,6 +2365,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