Commit 7020aa28 authored by Michael Biebl's avatar Michael Biebl
Browse files

Import upstream v215-stable patch series

Rebase remaining Debian patches on top of v215-stable.
parent f4810df8
systemd (215-1) UNRELEASED; urgency=medium
* New upstream release.
* Import upstream v215-stable patch series.
* Rebase remaining Debian patches on top of v215-stable.
* Drop our Debian-specific run-user.mount unit as upstream now creates a
per-user tmpfs via logind.
* Don't rely on new mount from experimental for now and re-add the patch
......
From: =?utf-8?q?Jean-Andr=C3=A9_Santoni?= <jean.andre.santoni@gmail.com>
Date: Mon, 21 Jul 2014 21:04:44 -0400
Subject: Add IFLA_VTI defines to missing.h
(cherry picked from commit 6589d0dba2b1ccf2406db527c2c1b51c7143e117)
---
configure.ac | 1 +
src/shared/missing.h | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git a/configure.ac b/configure.ac
index df6b357..8925eb5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -311,6 +311,7 @@ AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns, LO_FLAGS_PARTSCAN]
]])
AC_CHECK_DECLS([IFLA_MACVLAN_FLAGS,
+ IFLA_VTI_REMOTE,
IFLA_PHYS_PORT_ID,
IFLA_BOND_AD_INFO,
IFLA_VLAN_PROTOCOL,
diff --git a/src/shared/missing.h b/src/shared/missing.h
index 818d704..2985285 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -380,6 +380,18 @@ static inline int setns(int fd, int nstype) {
#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
#endif
+#if !HAVE_DECL_IFLA_VTI_REMOTE
+#define IFLA_VTI_UNSPEC 0
+#define IFLA_VTI_LINK 1
+#define IFLA_VTI_IKEY 2
+#define IFLA_VTI_OKEY 3
+#define IFLA_VTI_LOCAL 4
+#define IFLA_VTI_REMOTE 5
+#define __IFLA_VTI_MAX 6
+
+#define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
+#endif
+
#if !HAVE_DECL_IFLA_PHYS_PORT_ID
#undef IFLA_PROMISCUITY
#define IFLA_PROMISCUITY 30
From: =?utf-8?q?Zbigniew_J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Sun, 13 Jul 2014 21:10:38 -0400
Subject: Add function to open temp files in selinux mode
(cherry picked from commit f7f628b5db770feb8b18990436baefaec55c460b)
---
src/shared/fileio-label.c | 20 ++++++++++++++++++--
src/shared/fileio-label.h | 2 ++
src/sysusers/sysusers.c | 15 ++++-----------
3 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/src/shared/fileio-label.c b/src/shared/fileio-label.c
index 0711826..417ca56 100644
--- a/src/shared/fileio-label.c
+++ b/src/shared/fileio-label.c
@@ -25,12 +25,13 @@
#include "fileio-label.h"
#include "label.h"
+#include "util.h"
int write_string_file_atomic_label(const char *fn, const char *line) {
int r;
r = label_context_set(fn, S_IFREG);
- if (r < 0)
+ if (r < 0)
return r;
write_string_file_atomic(fn, line);
@@ -44,7 +45,7 @@ int write_env_file_label(const char *fname, char **l) {
int r;
r = label_context_set(fname, S_IFREG);
- if (r < 0)
+ if (r < 0)
return r;
write_env_file(fname, l);
@@ -53,3 +54,18 @@ int write_env_file_label(const char *fname, char **l) {
return r;
}
+
+int fopen_temporary_label(const char *target,
+ const char *path, FILE **f, char **temp_path) {
+ int r;
+
+ r = label_context_set("/etc/passwd", S_IFREG);
+ if (r < 0)
+ return r;
+
+ r = fopen_temporary(path, f, temp_path);
+
+ label_context_clear();
+
+ return r;
+}
diff --git a/src/shared/fileio-label.h b/src/shared/fileio-label.h
index fce4fe0..25fa351 100644
--- a/src/shared/fileio-label.h
+++ b/src/shared/fileio-label.h
@@ -27,3 +27,5 @@
int write_string_file_atomic_label(const char *fn, const char *line);
int write_env_file_label(const char *fname, char **l);
+int fopen_temporary_label(const char *target,
+ const char *path, FILE **f, char **temp_path);
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
index 6ec22cc..bf2fbbc 100644
--- a/src/sysusers/sysusers.c
+++ b/src/sysusers/sysusers.c
@@ -35,6 +35,8 @@
#include "conf-files.h"
#include "copy.h"
#include "utf8.h"
+#include "label.h"
+#include "fileio-label.h"
typedef enum ItemType {
ADD_USER = 'u',
@@ -312,11 +314,7 @@ static int write_files(void) {
_cleanup_fclose_ FILE *original = NULL;
group_path = fix_root("/etc/group");
- r = label_context_set("/etc/group", S_IFREG);
- if (r < 0)
- goto finish;
- r = fopen_temporary(group_path, &group, &group_tmp);
- label_context_clear();
+ r = fopen_temporary_label("/etc/group", group_path, &group, &group_tmp);
if (r < 0)
goto finish;
@@ -392,14 +390,9 @@ static int write_files(void) {
_cleanup_fclose_ FILE *original = NULL;
passwd_path = fix_root("/etc/passwd");
- r = label_context_set("/etc/passwd", S_IFREG);
+ r = fopen_temporary_label("/etc/passwd", passwd_path, &passwd, &passwd_tmp);
if (r < 0)
goto finish;
- r = fopen_temporary(passwd_path, &passwd, &passwd_tmp);
- label_context_clear();
- if (r < 0) {
- goto finish;
- }
if (fchmod(fileno(passwd), 0644) < 0) {
r = -errno;
......@@ -11,10 +11,10 @@ as PID 1.
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 89917aa..c189776 100644
index 5b53aad..006eaba 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -6438,19 +6438,24 @@ static int talk_initctl(void) {
@@ -6547,19 +6547,24 @@ static int talk_initctl(void) {
request.runlevel = rl;
......
......@@ -11,9 +11,11 @@ Forwarded: http://lists.freedesktop.org/archives/systemd-devel/2014-April/018960
src/shared/sleep-config.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c
index 867e4ed..b783ec0 100644
--- a/src/shared/sleep-config.c
+++ b/src/shared/sleep-config.c
@@ -224,6 +224,12 @@
@@ -226,6 +226,12 @@ static bool enough_memory_for_hibernation(void) {
size_t size = 0, used = 0;
int r;
......
......@@ -11,12 +11,12 @@ Subject: Add targets for compatibility with Debian insserv system facilities
create mode 100644 units/x-display-manager.target
diff --git a/Makefile.am b/Makefile.am
index cdd412e..0bbd79a 100644
index 0c01e55..9fb9bbf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -465,6 +465,12 @@ nodist_systemunit_DATA = \
units/initrd-switch-root.service \
units/systemd-nspawn@.service
@@ -524,6 +524,12 @@ nodist_systemunit_DATA = \
units/systemd-nspawn@.service \
units/systemd-update-done.service
+if HAVE_SYSV_COMPAT
+nodist_systemunit_DATA += \
......
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 8 Aug 2014 16:54:13 +0200
Subject: Added arch tuple for PPC64LE
Thanks to Brent Baude <bbaude@redhat.com>, who checked with the debian
guys, that this is correct and provided the patch.
---
src/shared/architecture.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/architecture.h b/src/shared/architecture.h
index 4821d5d..ee50ff4 100644
--- a/src/shared/architecture.h
+++ b/src/shared/architecture.h
@@ -85,7 +85,7 @@ Architecture uname_architecture(void);
# define LIB_ARCH_TUPLE "ppc64-linux-gnu"
# else
# define native_architecture() ARCHITECTURE_PPC64_LE
-# error "Missing LIB_ARCH_TUPLE for PPC64LE"
+# define LIB_ARCH_TUPLE "powerpc64le-linux-gnu"
# endif
#elif defined(__powerpc__)
# if defined(WORDS_BIGENDIAN)
......@@ -9,10 +9,10 @@ enable rsyslog.service)
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 1bde1b9..5999ea9 100644
index 754c0f7..f3363c5 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -5023,9 +5023,6 @@ static int enable_sysv_units(const char *verb, char **args) {
@@ -5024,9 +5024,6 @@ static int enable_sysv_units(const char *verb, char **args) {
name = args[f];
......@@ -22,7 +22,7 @@ index 1bde1b9..5999ea9 100644
if (path_is_absolute(name))
continue;
@@ -5059,7 +5056,8 @@ static int enable_sysv_units(const char *verb, char **args) {
@@ -5060,7 +5057,8 @@ static int enable_sysv_units(const char *verb, char **args) {
goto finish;
}
......
......@@ -9,7 +9,7 @@ Closes: #624599
1 file changed, 15 insertions(+)
diff --git a/src/core/manager.c b/src/core/manager.c
index a00ca74..d81bf1a 100644
index 97a4d4b..454ae47 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1073,6 +1073,21 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove
......
......@@ -9,7 +9,7 @@ for the patch. Closes: #624599.
1 file changed, 25 insertions(+)
diff --git a/src/core/manager.c b/src/core/manager.c
index 0cb2044..a00ca74 100644
index 9b754d8..97a4d4b 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1040,6 +1040,8 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
......
From: =?utf-8?q?Zbigniew_J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Mon, 3 Mar 2014 19:49:40 -0500
Subject: Be more verbose when bind or listen fails
Also be more verbose in devnode_acl_all().
(cherry picked from commit 6b9732b2bf0499c5e4ea8a9d4f6051d98033f680)
---
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(-)
diff --git a/src/core/manager.c b/src/core/manager.c
index edcde31..9b754d8 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -554,7 +554,7 @@ static int manager_setup_notify(Manager *m) {
strncpy(sa.un.sun_path, m->notify_socket, sizeof(sa.un.sun_path)-1);
r = bind(fd, &sa.sa, offsetof(struct sockaddr_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+1);
return -errno;
}
diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c
index c54f647..666cbd2 100644
--- a/src/journal/journald-native.c
+++ b/src/journal/journald-native.c
@@ -387,7 +387,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;
}
diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c
index 89da150..8a983d8 100644
--- a/src/journal/journald-stream.c
+++ b/src/journal/journald-stream.c
@@ -450,14 +450,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
diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
index b826e23..f97e0d2 100644
--- a/src/journal/journald-syslog.c
+++ b/src/journal/journald-syslog.c
@@ -441,7 +441,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;
}
diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
index 4bbeb64..af7c352 100644
--- a/src/login/logind-acl.c
+++ b/src/login/logind-acl.c
@@ -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 == -ENOENT)
log_debug("Device %s disappeared while setting ACLs", n);
diff --git a/src/shared/ask-password-api.c b/src/shared/ask-password-api.c
index 5997a03..8d03f4a 100644
--- a/src/shared/ask-password-api.c
+++ b/src/shared/ask-password-api.c
@@ -270,7 +270,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;
}
......@@ -11,10 +11,10 @@ Subject: Do not order rcS.d services after local-fs.target if they do not
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 2ff64c9..7f7e168 100644
index f84639e..36e4fc2 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -369,6 +369,15 @@
@@ -368,6 +368,15 @@
that have the
<option>auto</option> mount
option set.</para>
......
......@@ -18,19 +18,19 @@ anymore afterwards).
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 12d2c94..f5eee70 100644
index 764a4fd..04c2a3d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5067,8 +5067,7 @@ endif
SYSINIT_TARGET_WANTS += \
systemd-update-utmp.service
@@ -5346,8 +5346,7 @@ SYSINIT_TARGET_WANTS += \
ldconfig.service
LOCAL_FS_TARGET_WANTS += \
- systemd-remount-fs.service \
- tmp.mount
+ systemd-remount-fs.service
MULTI_USER_TARGET_WANTS += \
getty.target \
systemd-ask-password-wall.path
diff --git a/units/tmp.mount b/units/tmp.mount
index 00a0d28..8777171 100644
--- a/units/tmp.mount
......
From: Colin Ian King <colin.king@canonical.com>
Date: Thu, 12 Jun 2014 16:41:41 +0100
Subject: Fix spelling mistake, scirpt --> script
(cherry picked from commit 855d111304114e922b34b6c4bc2a0b08766c2668)
---
src/sysv-generator/sysv-generator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index 0b8d8f7..18dae5c 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -791,7 +791,7 @@ static int set_dependencies_from_rcnd(LookupPaths lp, Hashmap *all_services) {
if (hashmap_contains(all_services, name))
service = hashmap_get(all_services, name);
else {
- log_warning("Could not find init scirpt for %s", name);
+ log_warning("Could not find init script for %s", name);
continue;
}
......@@ -8,7 +8,7 @@ Subject: Make 99-systemd.rules check for /run/systemd/systemd instead of the
1 file changed, 1 insertion(+)
diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
index db72373..2546f0e 100644
index c3ef81b..df83a38 100644
--- a/rules/99-systemd.rules.in
+++ b/rules/99-systemd.rules.in
@@ -6,6 +6,7 @@
......
......@@ -10,10 +10,10 @@ http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceName
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
index 7a9d01b..a19954b 100644
index 5a45c53..f93998a 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -194,13 +194,13 @@ static bool enable_name_policy(void) {
@@ -200,13 +200,13 @@ static bool enable_name_policy(void) {
if (r < 0)
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
if (r <= 0)
......
......@@ -8,10 +8,10 @@ Subject: Make systemctl enable/disable call update-rc.d for sysv init scripts
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index b11fee5..1bde1b9 100644
index 8086e1e..754c0f7 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -4989,7 +4989,7 @@ static int import_environment(sd_bus *bus, char **args) {
@@ -4990,7 +4990,7 @@ static int import_environment(sd_bus *bus, char **args) {
static int enable_sysv_units(const char *verb, char **args) {
int r = 0;
......@@ -20,7 +20,7 @@ index b11fee5..1bde1b9 100644
unsigned f = 1, t = 1;
_cleanup_lookup_paths_free_ LookupPaths paths = {};
@@ -4997,8 +4997,9 @@ static int enable_sysv_units(const char *verb, char **args) {
@@ -4998,8 +4998,9 @@ static int enable_sysv_units(const char *verb, char **args) {
return 0;
if (!streq(verb, "enable") &&
......@@ -32,7 +32,7 @@ index b11fee5..1bde1b9 100644
return 0;
/* Processes all SysV units, and reshuffles the array so that
@@ -5014,7 +5015,7 @@ static int enable_sysv_units(const char *verb, char **args) {
@@ -5015,7 +5016,7 @@ static int enable_sysv_units(const char *verb, char **args) {
_cleanup_free_ char *p = NULL, *q = NULL, *l = NULL;
bool found_native = false, found_sysv;
unsigned c = 1;
......@@ -41,7 +41,7 @@ index b11fee5..1bde1b9 100644
char **k;
int j;
pid_t pid;
@@ -5066,15 +5067,15 @@ static int enable_sysv_units(const char *verb, char **args) {
@@ -5067,15 +5068,15 @@ static int enable_sysv_units(const char *verb, char **args) {
/* Mark this entry, so that we don't try enabling it as native unit */
args[f] = (char*) "";
......
......@@ -3,12 +3,14 @@ Date: Fri, 11 Jul 2014 02:15:37 +0200
Subject: Map rcS.d init script dependencies to their systemd equivalent.
---
src/sysv-generator/sysv-generator.c | 7 +++++++
1 file changed, 7 insertions(+)
src/sysv-generator/sysv-generator.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index 820d79e..677fac4 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -248,8 +248,15 @@
@@ -248,8 +248,15 @@ static int sysv_translate_facility(const char *name, const char *filename, char
"named", SPECIAL_NSS_LOOKUP_TARGET,
"portmap", SPECIAL_RPCBIND_TARGET,
"remote_fs", SPECIAL_REMOTE_FS_TARGET,
......
From: Lennart Poettering <lennart@poettering.net>
Date: Wed, 11 Jun 2014 18:42:38 +0200
Subject: NEWS: add missing comment about the "floppy" group
(cherry picked from commit 4c0d13bdd5ef971a3003899064af1717c8960bee)
---
NEWS | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/NEWS b/NEWS
index 54d9e9e..1274c30 100644
--- a/NEWS
+++ b/NEWS
@@ -179,6 +179,11 @@ CHANGES WITH 214:
added which is useful for services that shall run before any
network is configured, for example firewall scripts.
+ * The "floppy" group that previously owned the /dev/fd*
+ devices is no longer used. The "disk" group is now used
+ instead. Distributions should probably deprecate usage of
+ this group.
+
Contributions from: Camilo Aguilar, Christian Hesse, Colin Ian
King, Cristian Rodríguez, Daniel Buch, Dave Reisner, David
Strauss, Denis Tikhomirov, John, Jonathan Liu, Kay Sievers,
From: =?utf-8?q?Mantas_Mikul=C4=97nas?= <grawity@gmail.com>
Date: Wed, 11 Jun 2014 17:09:11 +0300
Subject: NEWS: fix directory name
(cherry picked from commit c54bed5d515771c21250b8e0c052cb6600e21d37)
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 1274c30..4f3c522 100644
--- a/NEWS
+++ b/NEWS
@@ -52,7 +52,7 @@ CHANGES WITH 214:
transports. Instead it is assumed the kernel loads them
automatically when required. This only works correctly on
very new kernels. On older kernels, please consider adding
- the kernel modules to /etc/load-modules.d/ as a work-around.
+ the kernel modules to /etc/modules-load.d/ as a work-around.
* The resolv.conf file systemd-resolved generates has been
moved to /run/systemd/resolve/, if you have a symlink from
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment