Accepting request 229352 from Base:System

- Add patch portmap-wants-rpcbind-socket.patch to make sure that
  rpcbind socket as well as service is up with the target
- Add or port upstram bugfix patches:
  0001-journal-fix-export-of-messages-containing-newlines.patch
  0002-systemctl-update-NAME-to-PATTERN-in-help.patch
  0003-tty-ask-password-agent-return-negative-errno.patch
  0004-systemd-python-use-.hex-instead-of-.get_hex.patch
  0005-systemd-python-fix-failing-assert.patch

- Add patch portmap-wants-rpcbind-socket.patch to make sure that
  rpcbind socket as well as service is up with the target
- Add or port upstram bugfix patches:
  0001-journal-fix-export-of-messages-containing-newlines.patch
  0002-systemctl-update-NAME-to-PATTERN-in-help.patch
  0003-tty-ask-password-agent-return-negative-errno.patch
  0004-systemd-python-use-.hex-instead-of-.get_hex.patch
  0005-systemd-python-fix-failing-assert.patch

OBS-URL: https://build.opensuse.org/request/show/229352
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=180
This commit is contained in:
Stephan Kulow 2014-04-09 16:17:19 +00:00 committed by Git OBS Bridge
parent c311032ffb
commit d4886680e8
10 changed files with 302 additions and 0 deletions

View File

@ -0,0 +1,80 @@
From 0ade5ffe2778e7b238bba8d979ca4d53dee1e702 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Mon, 31 Mar 2014 08:57:28 -0400
Subject: [PATCH] journal: fix export of messages containing newlines
In "export" format, newlines are significant, and messages containing
newlines must be exported as "binary".
---
src/shared/logs-show.c | 7 ++++---
src/shared/utf8.c | 5 +++--
src/shared/utf8.h | 5 ++++-
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git src/shared/logs-show.c src/shared/logs-show.c
index 9d14933..b0b66f6 100644
--- src/shared/logs-show.c
+++ src/shared/logs-show.c
@@ -547,7 +547,9 @@ static int output_export(
startswith(data, "_BOOT_ID="))
continue;
- if (!utf8_is_printable(data, length)) {
+ if (utf8_is_printable_newline(data, length, false))
+ fwrite(data, length, 1, f);
+ else {
const char *c;
uint64_t le64;
@@ -562,8 +564,7 @@ static int output_export(
le64 = htole64(length - (c - (const char*) data) - 1);
fwrite(&le64, sizeof(le64), 1, f);
fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
- } else
- fwrite(data, length, 1, f);
+ }
fputc('\n', f);
}
diff --git src/shared/utf8.c src/shared/utf8.c
index 0b524d8..c559c13 100644
--- src/shared/utf8.c
+++ src/shared/utf8.c
@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
return unichar;
}
-bool utf8_is_printable(const char* str, size_t length) {
+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
const uint8_t *p;
assert(str);
@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
int encoded_len = utf8_encoded_valid_unichar((const char *)p);
int val = utf8_encoded_to_unichar((const char*)p);
- if (encoded_len < 0 || val < 0 || is_unicode_control(val))
+ if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
+ (!newline && val == '\n'))
return false;
length -= encoded_len;
diff --git src/shared/utf8.h src/shared/utf8.h
index c0eb73a..c087995 100644
--- src/shared/utf8.h
+++ src/shared/utf8.h
@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
char *ascii_is_valid(const char *s) _pure_;
char *utf8_escape_invalid(const char *s);
-bool utf8_is_printable(const char* str, size_t length) _pure_;
+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
+_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
+ return utf8_is_printable_newline(str, length, true);
+}
char *utf16_to_utf8(const void *s, size_t length);
--
1.7.9.2

View File

@ -0,0 +1,52 @@
From b3ae710c251d0ce5cf2cef63208e325497b5e323 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 1 Apr 2014 20:43:15 -0400
Subject: [PATCH] systemctl: update NAME to PATTERN in help()
Previously the man page was modified, but not help().
---
TODO | 2 ++
src/systemctl/systemctl.c | 14 +++++++-------
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git TODO TODO
index 4ff69ff..0343b94 100644
--- TODO
+++ TODO
@@ -1,4 +1,6 @@
Bugfixes:
+* Should systemctl status \* work on all unit types, not just .service?
+
* enabling an instance unit creates a pointless link, and
the unit will be started with getty@getty.service:
$ systemctl enable getty@.service
diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c
index 6b88f85..653a324 100644
--- src/systemctl/systemctl.c
+++ src/systemctl/systemctl.c
@@ -5403,15 +5403,15 @@ static int systemctl_help(void) {
" otherwise restart if active\n"
" isolate NAME Start one unit and stop all others\n"
" kill NAME... Send signal to processes of a unit\n"
- " is-active NAME... Check whether units are active\n"
- " is-failed NAME... Check whether units are failed\n"
- " status [NAME...|PID...] Show runtime status of one or more units\n"
- " show [NAME...|JOB...] Show properties of one or more\n"
+ " is-active PATTERN... Check whether units are active\n"
+ " is-failed PATTERN... Check whether units are failed\n"
+ " status [PATTERN...|PID...] Show runtime status of one or more units\n"
+ " show [PATTERN...|JOB...] Show properties of one or more\n"
" units/jobs or the manager\n"
- " cat NAME... Show files and drop-ins of one or more units\n"
+ " cat PATTERN... Show files and drop-ins of one or more units\n"
" set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
- " help NAME...|PID... Show manual for one or more units\n"
- " reset-failed [NAME...] Reset failed state for all, one, or more\n"
+ " help PATTERN...|PID... Show manual for one or more units\n"
+ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n"
" units\n"
" list-dependencies [NAME] Recursively show units which are required\n"
" or wanted by this unit or by which this\n"
--
1.7.9.2

View File

@ -0,0 +1,29 @@
From ee0e4cca5ac37a094dfe1074907dae70c7b7701c Mon Sep 17 00:00:00 2001
From: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
Date: Thu, 3 Apr 2014 21:17:20 +0200
Subject: [PATCH] tty-ask-password-agent: return negative errno
Return negative errno in wall_tty_block(). get_ctty_devnr() already
returns a negative errno in case of failure, no need to negate it again.
Reported-by: Simon <hwold@odai.homelinux.net>
---
.../tty-ask-password-agent.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c
index 1d067af..3203474 100644
--- src/tty-ask-password-agent/tty-ask-password-agent.c
+++ src/tty-ask-password-agent/tty-ask-password-agent.c
@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
r = get_ctty_devnr(0, &devnr);
if (r < 0)
- return -r;
+ return r;
if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
return -ENOMEM;
--
1.7.9.2

View File

@ -0,0 +1,46 @@
From b532cf3722e04adb0bd075666eb9989a9390d0a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Sat, 5 Apr 2014 13:23:25 -0400
Subject: [PATCH] systemd-python: use .hex instead of .get_hex()
It turns out the latter got removed in Python 3.
https://bugs.freedesktop.org/show_bug.cgi?id=77086
---
src/python-systemd/journal.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git src/python-systemd/journal.py src/python-systemd/journal.py
index 9c7e004..dd1f229 100644
--- src/python-systemd/journal.py
+++ src/python-systemd/journal.py
@@ -293,7 +293,7 @@ class Reader(_Reader):
monotonic = monotonic.totalseconds()
monotonic = int(monotonic * 1000000)
if isinstance(bootid, _uuid.UUID):
- bootid = bootid.get_hex()
+ bootid = bootid.hex
return super(Reader, self).seek_monotonic(monotonic, bootid)
def log_level(self, level):
@@ -314,7 +314,7 @@ class Reader(_Reader):
Equivalent to add_match(MESSAGE_ID=`messageid`).
"""
if isinstance(messageid, _uuid.UUID):
- messageid = messageid.get_hex()
+ messageid = messageid.hex
self.add_match(MESSAGE_ID=messageid)
def this_boot(self, bootid=None):
@@ -346,7 +346,7 @@ class Reader(_Reader):
def get_catalog(mid):
if isinstance(mid, _uuid.UUID):
- mid = mid.get_hex()
+ mid = mid.hex
return _get_catalog(mid)
def _make_line(field, value):
--
1.7.9.2

View File

@ -0,0 +1,26 @@
From b65f24238b0627143916a9c7f8315483a9666676 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Sat, 5 Apr 2014 13:29:50 -0400
Subject: [PATCH] systemd-python: fix failing assert
A parameter which was always null before, now get's set to
the module.
---
src/python-systemd/_reader.c | 1 -
1 file changed, 1 deletion(-)
diff --git src/python-systemd/_reader.c src/python-systemd/_reader.c
index 059b904..9a19a10 100644
--- src/python-systemd/_reader.c
+++ src/python-systemd/_reader.c
@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
sd_id128_t id;
_cleanup_free_ char *msg = NULL;
- assert(!self);
assert(args);
if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
--
1.7.9.2

View File

@ -0,0 +1,7 @@
--- systemd-210/units/rpcbind.target
+++ systemd-210/units/rpcbind.target 2014-04-08 07:21:55.438235838 +0000
@@ -12,3 +12,4 @@
Description=RPC Port Mapper
Documentation=man:systemd.special(7)
RefuseManualStart=yes
+Wants=rpcbind.socket

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de
- Add patch portmap-wants-rpcbind-socket.patch to make sure that
rpcbind socket as well as service is up with the target
- Add or port upstram bugfix patches:
0001-journal-fix-export-of-messages-containing-newlines.patch
0002-systemctl-update-NAME-to-PATTERN-in-help.patch
0003-tty-ask-password-agent-return-negative-errno.patch
0004-systemd-python-use-.hex-instead-of-.get_hex.patch
0005-systemd-python-fix-failing-assert.patch
-------------------------------------------------------------------
Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de

View File

@ -329,6 +329,16 @@ Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch
Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch176: 0005-systemd-python-fix-failing-assert.patch
# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844)
Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch
# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071)
@ -362,6 +372,9 @@ Patch1999: systemd-install-compat_pkgconfig-always.patch
Patch2000: systemd-dbus-system-bus-address.patch
# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper
Patch2001: let-linker-find-libudev-for-libdevmapper.patch
# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target
Patch2002: portmap-wants-rpcbind-socket.patch
# udev patches
# PATCH-FIX-USTREAM added at 2014/03/03
Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch
@ -689,6 +702,11 @@ cp %{SOURCE7} m4/
%patch169 -p0
%patch170 -p0
%patch171 -p0
%patch172 -p0
%patch173 -p0
%patch174 -p0
%patch175 -p0
%patch176 -p0
%patch1009 -p1
%patch1010 -p1
%patch1012 -p1
@ -705,6 +723,7 @@ cp %{SOURCE7} m4/
%patch1999 -p1
%patch2000 -p1
%patch2001 -p1
%patch2002 -p1
# udev patches
%patch1034 -p0
%patch1035 -p0

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Apr 8 07:27:49 UTC 2014 - werner@suse.de
- Add patch portmap-wants-rpcbind-socket.patch to make sure that
rpcbind socket as well as service is up with the target
- Add or port upstram bugfix patches:
0001-journal-fix-export-of-messages-containing-newlines.patch
0002-systemctl-update-NAME-to-PATTERN-in-help.patch
0003-tty-ask-password-agent-return-negative-errno.patch
0004-systemd-python-use-.hex-instead-of-.get_hex.patch
0005-systemd-python-fix-failing-assert.patch
-------------------------------------------------------------------
Fri Mar 28 12:53:21 UTC 2014 - werner@suse.de

View File

@ -324,6 +324,16 @@ Patch169: 0007-sd-event-don-t-accidentally-turn-of-watchdog-timer-e.patch
Patch170: 0008-systemctl-kill-mode-is-long-long-gone-don-t-mention-.patch
# PATCH-FIX-USTREAM added at 2014/03/28
Patch171: 0009-ask-password-when-the-user-types-a-overly-long-passw.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch172: 0001-journal-fix-export-of-messages-containing-newlines.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch173: 0002-systemctl-update-NAME-to-PATTERN-in-help.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch174: 0003-tty-ask-password-agent-return-negative-errno.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch
# PATCH-FIX-USTREAM added at 2014/04/08
Patch176: 0005-systemd-python-fix-failing-assert.patch
# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844)
Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch
# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071)
@ -357,6 +367,9 @@ Patch1999: systemd-install-compat_pkgconfig-always.patch
Patch2000: systemd-dbus-system-bus-address.patch
# PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper
Patch2001: let-linker-find-libudev-for-libdevmapper.patch
# PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target
Patch2002: portmap-wants-rpcbind-socket.patch
# udev patches
# PATCH-FIX-USTREAM added at 2014/03/03
Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch
@ -684,6 +697,11 @@ cp %{SOURCE7} m4/
%patch169 -p0
%patch170 -p0
%patch171 -p0
%patch172 -p0
%patch173 -p0
%patch174 -p0
%patch175 -p0
%patch176 -p0
%patch1009 -p1
%patch1010 -p1
%patch1012 -p1
@ -700,6 +718,7 @@ cp %{SOURCE7} m4/
%patch1999 -p1
%patch2000 -p1
%patch2001 -p1
%patch2002 -p1
# udev patches
%patch1034 -p0
%patch1035 -p0