Accepting request 238853 from Base:System
- Update of patch 0001-detect-s390-virt.patch (bnc#880438) - Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc - Add upstream patchs 0001-core-use-correct-format-string-for-UIDs.patch 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch - Add upstream patch 0001-units-order-network-online.target-after-network.targ.patch to make sure that etwork-online.target follows network.target - rules: re-enable dev_id conditionally in persistent rules (bnc#884403 and bnc#882714). Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch - Add upstream patches 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch 0005-man-fix-path-in-crypttab-5.patch - Add upstream patch 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it fixes udevadm settle exit code which may had roken dracut scripts (bnc#884271 comment#18) - Temporary disable patch 1022 (bnc#884271 and bnc#882714). OBS-URL: https://build.opensuse.org/request/show/238853 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=190
This commit is contained in:
parent
f026ff3dde
commit
9fc3254595
215
0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
Normal file
215
0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
Normal file
@ -0,0 +1,215 @@
|
||||
Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 28 May 2014 17:36:40 +0800
|
||||
Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring
|
||||
libattr
|
||||
|
||||
---
|
||||
configure.ac | 53 ++-----------------------------------------
|
||||
src/core/mount-setup.c | 2 -
|
||||
src/core/socket.c | 4 ---
|
||||
src/journal/journal-file.c | 7 -----
|
||||
src/journal/journal-vacuum.c | 10 --------
|
||||
src/shared/label.c | 2 -
|
||||
src/shared/smack-util.c | 4 ---
|
||||
7 files changed, 7 insertions(+), 75 deletions(-)
|
||||
|
||||
--- configure.ac
|
||||
+++ configure.ac 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS)
|
||||
AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno])
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
-AC_ARG_ENABLE([xattr],
|
||||
- AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]),
|
||||
- [case "${enableval}" in
|
||||
- yes) have_xattr=yes ;;
|
||||
- no) have_xattr=no ;;
|
||||
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;;
|
||||
- esac],
|
||||
- [have_xattr=auto])
|
||||
-
|
||||
-if test "x${have_xattr}" != xno ; then
|
||||
- AC_CHECK_HEADERS(
|
||||
- [attr/xattr.h],
|
||||
- [have_xattr=yes],
|
||||
- [if test "x$have_xattr" = xyes ; then
|
||||
- AC_MSG_ERROR([*** XATTR headers not found.])
|
||||
- fi])
|
||||
-
|
||||
- AC_CHECK_LIB(
|
||||
- [attr],
|
||||
- [fsetxattr],
|
||||
- [have_xattr=yes],
|
||||
- [if test "x$have_xattr" = xyes ; then
|
||||
- AC_MSG_ERROR([*** libattr not found.])
|
||||
- fi])
|
||||
-
|
||||
- if test "x$have_xattr" = xyes ; then
|
||||
- XATTR_LIBS="-lattr"
|
||||
- AC_DEFINE(HAVE_XATTR, 1, [XATTR available])
|
||||
- else
|
||||
- have_xattr=no
|
||||
- fi
|
||||
-else
|
||||
- XATTR_LIBS=
|
||||
-fi
|
||||
-AC_SUBST(XATTR_LIBS)
|
||||
-AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno])
|
||||
-
|
||||
-# ------------------------------------------------------------------------------
|
||||
AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]),
|
||||
[case "${enableval}" in
|
||||
yes) have_smack=yes ;;
|
||||
@@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([-
|
||||
esac],
|
||||
[have_smack=auto])
|
||||
|
||||
-if test "x${have_xattr}" = xno; then
|
||||
- if test "x${have_smack}" = xyes; then
|
||||
- AC_MSG_ERROR(SMACK requires xattr support)
|
||||
- else
|
||||
- have_smack=no
|
||||
- fi
|
||||
-else
|
||||
- if test "x${have_smack}" = xauto; then
|
||||
- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK"
|
||||
- have_smack=yes
|
||||
- fi
|
||||
+if test "x${have_smack}" = xauto; then
|
||||
+ M4_DEFINES="$M4_DEFINES -DHAVE_SMACK"
|
||||
+ have_smack=yes
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(smack-run-label,
|
||||
@@ -1131,7 +1085,6 @@ AC_MSG_RESULT([
|
||||
SMACK: ${have_smack}
|
||||
XZ: ${have_xz}
|
||||
ACL: ${have_acl}
|
||||
- XATTR: ${have_xattr}
|
||||
GCRYPT: ${have_gcrypt}
|
||||
QRENCODE: ${have_qrencode}
|
||||
MICROHTTPD: ${have_microhttpd}
|
||||
--- src/core/mount-setup.c
|
||||
+++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -93,10 +93,8 @@ static const MountPoint mount_table[] =
|
||||
NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||
{ "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
|
||||
NULL, MNT_IN_CONTAINER },
|
||||
-#ifdef HAVE_XATTR
|
||||
{ "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
NULL, MNT_IN_CONTAINER },
|
||||
-#endif
|
||||
{ "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
NULL, MNT_IN_CONTAINER },
|
||||
{ "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
--- src/core/socket.c
|
||||
+++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -29,9 +29,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <mqueue.h>
|
||||
-#ifdef HAVE_XATTR
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
+#include <sys/xattr.h>
|
||||
|
||||
#include "sd-event.h"
|
||||
#include "log.h"
|
||||
--- src/journal/journal-file.c
|
||||
+++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -26,10 +26,7 @@
|
||||
#include <sys/statvfs.h>
|
||||
#include <fcntl.h>
|
||||
#include <stddef.h>
|
||||
-
|
||||
-#ifdef HAVE_XATTR
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
+#include <sys/xattr.h>
|
||||
|
||||
#include "journal-def.h"
|
||||
#include "journal-file.h"
|
||||
@@ -2515,7 +2512,6 @@ int journal_file_open(
|
||||
}
|
||||
|
||||
if (f->last_stat.st_size == 0 && f->writable) {
|
||||
-#ifdef HAVE_XATTR
|
||||
uint64_t crtime;
|
||||
|
||||
/* Let's attach the creation time to the journal file,
|
||||
@@ -2530,7 +2526,6 @@ int journal_file_open(
|
||||
|
||||
crtime = htole64((uint64_t) now(CLOCK_REALTIME));
|
||||
fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE);
|
||||
-#endif
|
||||
|
||||
#ifdef HAVE_GCRYPT
|
||||
/* Try to load the FSPRG state, and if we can't, then
|
||||
--- src/journal/journal-vacuum.c
|
||||
+++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -24,10 +24,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/statvfs.h>
|
||||
#include <unistd.h>
|
||||
-
|
||||
-#ifdef HAVE_XATTR
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
+#include <sys/xattr.h>
|
||||
|
||||
#include "journal-def.h"
|
||||
#include "journal-file.h"
|
||||
@@ -79,11 +76,8 @@ static void patch_realtime(
|
||||
unsigned long long *realtime) {
|
||||
|
||||
usec_t x;
|
||||
-
|
||||
-#ifdef HAVE_XATTR
|
||||
uint64_t crtime;
|
||||
_cleanup_free_ const char *path = NULL;
|
||||
-#endif
|
||||
|
||||
/* The timestamp was determined by the file name, but let's
|
||||
* see if the file might actually be older than the file name
|
||||
@@ -106,7 +100,6 @@ static void patch_realtime(
|
||||
if (x > 0 && x != (usec_t) -1 && x < *realtime)
|
||||
*realtime = x;
|
||||
|
||||
-#ifdef HAVE_XATTR
|
||||
/* Let's read the original creation time, if possible. Ideally
|
||||
* we'd just query the creation time the FS might provide, but
|
||||
* unfortunately there's currently no sane API to query
|
||||
@@ -125,7 +118,6 @@ static void patch_realtime(
|
||||
if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime)
|
||||
*realtime = crtime;
|
||||
}
|
||||
-#endif
|
||||
}
|
||||
|
||||
static int journal_file_empty(int dir_fd, const char *name) {
|
||||
--- src/shared/label.c
|
||||
+++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -27,9 +27,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
-#ifdef HAVE_XATTR
|
||||
#include <sys/xattr.h>
|
||||
-#endif
|
||||
#ifdef HAVE_SELINUX
|
||||
#include <selinux/selinux.h>
|
||||
#include <selinux/label.h>
|
||||
--- src/shared/smack-util.c
|
||||
+++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000
|
||||
@@ -23,9 +23,7 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
-#ifdef HAVE_XATTR
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
+#include <sys/xattr.h>
|
||||
|
||||
#include "smack-util.h"
|
||||
|
32
0001-core-fix-invalid-free-in-killall.patch
Normal file
32
0001-core-fix-invalid-free-in-killall.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Henriksson <andreas@fatal.se>
|
||||
Date: Fri, 13 Jun 2014 18:48:19 +0200
|
||||
Subject: [PATCH] core: fix invalid free() in killall()
|
||||
|
||||
static int killall(....) in ./src/core/killall.c tries to get "s"
|
||||
initialized by calling get_process_comm(...) which calls
|
||||
read_one_line_file(...) which if it fails will mean it is left
|
||||
uninitialized.
|
||||
It is then used in argument to strna(s) call where it is
|
||||
dereferenced(!), in addition to nothing else initializing it before
|
||||
the scope it is in finishes.
|
||||
---
|
||||
src/core/killall.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/core/killall.c src/core/killall.c
|
||||
index 57ed41c..eab48f7 100644
|
||||
--- src/core/killall.c
|
||||
+++ src/core/killall.c
|
||||
@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
|
||||
continue;
|
||||
|
||||
if (sig == SIGKILL) {
|
||||
- _cleanup_free_ char *s;
|
||||
+ _cleanup_free_ char *s = NULL;
|
||||
|
||||
get_process_comm(pid, &s);
|
||||
log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,51 @@
|
||||
From 0404c609f399b2092a3de52eef9d75b0dc12e94c Mon Sep 17 00:00:00 2001
|
||||
From: Tom Gundersen <teg@jklm.no>
|
||||
Date: Mon, 12 May 2014 21:26:54 +0200
|
||||
Subject: [PATCH] core: sysvcompat - $network should be equivalent to
|
||||
network-online, rather than network target
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Most likely the facility needed is actual connectivity, rather than whether or not the
|
||||
network managment daemon is running.
|
||||
|
||||
We also need to explicitly pull in the network-online.target, as it is not active by
|
||||
default.
|
||||
|
||||
This means {systemd-networkd,NetworkManager}-wait-online.service, can be enabled by default
|
||||
as part of network-online.target, and only delay boot when some service actively pulls it in.
|
||||
|
||||
See: <https://bugzilla.gnome.org/show_bug.cgi?id=728965>
|
||||
|
||||
Cc: Pavel Šimerda <psimerda@redhat.com>
|
||||
Cc: Michal Sekletar <msekleta@redhat.com>
|
||||
---
|
||||
TODO | 4 ----
|
||||
src/core/service.c | 8 ++++++--
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
Modified by Andrey Borzenkov <arvidjaar@gmail.com> for openSUSE.
|
||||
Index: systemd-210/src/core/service.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/core/service.c
|
||||
+++ systemd-210/src/core/service.c
|
||||
@@ -404,7 +404,7 @@ static int sysv_translate_facility(const
|
||||
static const char * const table[] = {
|
||||
/* LSB defined facilities */
|
||||
"local_fs", NULL,
|
||||
- "network", SPECIAL_NETWORK_TARGET,
|
||||
+ "network", SPECIAL_NETWORK_ONLINE_TARGET,
|
||||
"named", SPECIAL_NSS_LOOKUP_TARGET,
|
||||
"portmap", SPECIAL_RPCBIND_TARGET,
|
||||
"remote_fs", SPECIAL_REMOTE_FS_TARGET,
|
||||
@@ -881,6 +881,9 @@ static int service_load_sysv_path(Servic
|
||||
if (r == 0)
|
||||
continue;
|
||||
|
||||
+ if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && d == UNIT_AFTER && e == _UNIT_DEPENDENCY_INVALID)
|
||||
+ e = UNIT_WANTS;
|
||||
+
|
||||
if (e != _UNIT_DEPENDENCY_INVALID)
|
||||
r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true);
|
||||
else
|
20
0001-core-use-correct-format-string-for-UIDs.patch
Normal file
20
0001-core-use-correct-format-string-for-UIDs.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Based on d6239dc4b0cf55a953d6c40890859b85d504ef19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20Bartoszkiewicz?= <mbartoszkiewicz@gmail.com>
|
||||
Date: Wed, 25 Jun 2014 14:54:48 +0200
|
||||
Subject: [PATCH] core: use correct format string for UIDs
|
||||
|
||||
---
|
||||
src/core/main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- src/core/main.c
|
||||
+++ src/core/main.c 2014-06-26 09:29:28.182235325 +0000
|
||||
@@ -1526,7 +1526,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
} else {
|
||||
_cleanup_free_ char *t = uid_to_name(getuid());
|
||||
- log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")",
|
||||
+ log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")",
|
||||
getuid(), t);
|
||||
}
|
||||
|
35
0001-detect-s390-virt.patch
Normal file
35
0001-detect-s390-virt.patch
Normal file
@ -0,0 +1,35 @@
|
||||
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)
|
25
0001-hwdb-fix-case-sensitive-match.patch
Normal file
25
0001-hwdb-fix-case-sensitive-match.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 4c02dd7153f970244950b5e00f7bdfea8d2ff0be Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 17:55:14 +0200
|
||||
Subject: [PATCH] hwdb: fix case-sensitive match
|
||||
|
||||
---
|
||||
hwdb/60-keyboard.hwdb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
|
||||
index d053766..c7ff4e4 100644
|
||||
--- hwdb/60-keyboard.hwdb
|
||||
+++ hwdb/60-keyboard.hwdb
|
||||
@@ -870,7 +870,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
|
||||
###########################################################
|
||||
|
||||
# Plantronics .Audio 626 DSP
|
||||
-keyboard:usb:v047fpC006*
|
||||
+keyboard:usb:v047FpC006*
|
||||
KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute
|
||||
|
||||
###########################################################
|
||||
--
|
||||
1.7.9.2
|
||||
|
37
0001-sd-event-restore-correct-timeout-behaviour.patch
Normal file
37
0001-sd-event-restore-correct-timeout-behaviour.patch
Normal file
@ -0,0 +1,37 @@
|
||||
Based on eec6022cf039e62233139000b9e95db943959e48 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 5 Jun 2014 13:43:30 +0200
|
||||
Subject: [PATCH] sd-event: restore correct timeout behaviour
|
||||
|
||||
---
|
||||
src/libsystemd/sd-event/sd-event.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
--- src/libsystemd/sd-event/sd-event.c
|
||||
+++ src/libsystemd/sd-event/sd-event.c 2014-06-06 10:26:51.422235695 +0000
|
||||
@@ -2047,6 +2047,7 @@ _public_ int sd_event_run(sd_event *e, u
|
||||
unsigned ev_queue_max;
|
||||
sd_event_source *p;
|
||||
int r, i, m;
|
||||
+ bool timedout;
|
||||
|
||||
assert_return(e, -EINVAL);
|
||||
assert_return(!event_pid_changed(e), -ECHILD);
|
||||
@@ -2084,6 +2085,8 @@ _public_ int sd_event_run(sd_event *e, u
|
||||
goto finish;
|
||||
}
|
||||
|
||||
+ timedout = m == 0;
|
||||
+
|
||||
dual_timestamp_get(&e->timestamp);
|
||||
|
||||
for (i = 0; i < m; i++) {
|
||||
@@ -2123,7 +2126,7 @@ _public_ int sd_event_run(sd_event *e, u
|
||||
|
||||
p = event_next_pending(e);
|
||||
if (!p) {
|
||||
- r = 1;
|
||||
+ r = !timedout;
|
||||
goto finish;
|
||||
}
|
||||
|
119
0001-umount-modernizations.patch
Normal file
119
0001-umount-modernizations.patch
Normal file
@ -0,0 +1,119 @@
|
||||
From c3544e8d2c2d870a2aff0944aff4ab7824b9ae6b Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 5 Jun 2014 21:35:15 +0200
|
||||
Subject: [PATCH] umount: modernizations
|
||||
|
||||
---
|
||||
src/core/umount.c | 65 ++++++++++++++++++++++-------------------------------
|
||||
1 file changed, 27 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git src/core/umount.c src/core/umount.c
|
||||
index d1258f0..a30f674 100644
|
||||
--- src/core/umount.c
|
||||
+++ src/core/umount.c
|
||||
@@ -61,52 +61,46 @@ static void mount_points_list_free(MountPoint **head) {
|
||||
}
|
||||
|
||||
static int mount_points_list_get(MountPoint **head) {
|
||||
- FILE *proc_self_mountinfo;
|
||||
- char *path, *p;
|
||||
+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL;
|
||||
unsigned int i;
|
||||
- int r;
|
||||
|
||||
assert(head);
|
||||
|
||||
- if (!(proc_self_mountinfo = fopen("/proc/self/mountinfo", "re")))
|
||||
+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re");
|
||||
+ if (!proc_self_mountinfo)
|
||||
return -errno;
|
||||
|
||||
for (i = 1;; i++) {
|
||||
- int k;
|
||||
+ _cleanup_free_ char *path = NULL;
|
||||
+ char *p = NULL;
|
||||
MountPoint *m;
|
||||
+ int k;
|
||||
|
||||
- path = p = NULL;
|
||||
-
|
||||
- if ((k = fscanf(proc_self_mountinfo,
|
||||
- "%*s " /* (1) mount id */
|
||||
- "%*s " /* (2) parent id */
|
||||
- "%*s " /* (3) major:minor */
|
||||
- "%*s " /* (4) root */
|
||||
- "%ms " /* (5) mount point */
|
||||
- "%*s" /* (6) mount options */
|
||||
- "%*[^-]" /* (7) optional fields */
|
||||
- "- " /* (8) separator */
|
||||
- "%*s " /* (9) file system type */
|
||||
- "%*s" /* (10) mount source */
|
||||
- "%*s" /* (11) mount options 2 */
|
||||
- "%*[^\n]", /* some rubbish at the end */
|
||||
- &path)) != 1) {
|
||||
+ k = fscanf(proc_self_mountinfo,
|
||||
+ "%*s " /* (1) mount id */
|
||||
+ "%*s " /* (2) parent id */
|
||||
+ "%*s " /* (3) major:minor */
|
||||
+ "%*s " /* (4) root */
|
||||
+ "%ms " /* (5) mount point */
|
||||
+ "%*s" /* (6) mount options */
|
||||
+ "%*[^-]" /* (7) optional fields */
|
||||
+ "- " /* (8) separator */
|
||||
+ "%*s " /* (9) file system type */
|
||||
+ "%*s" /* (10) mount source */
|
||||
+ "%*s" /* (11) mount options 2 */
|
||||
+ "%*[^\n]", /* some rubbish at the end */
|
||||
+ &path);
|
||||
+ if (k != 1) {
|
||||
if (k == EOF)
|
||||
break;
|
||||
|
||||
log_warning("Failed to parse /proc/self/mountinfo:%u.", i);
|
||||
-
|
||||
- free(path);
|
||||
continue;
|
||||
}
|
||||
|
||||
p = cunescape(path);
|
||||
- free(path);
|
||||
-
|
||||
- if (!p) {
|
||||
- r = -ENOMEM;
|
||||
- goto finish;
|
||||
- }
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
|
||||
/* Ignore mount points we can't unmount because they
|
||||
* are API or because we are keeping them open (like
|
||||
@@ -118,22 +112,17 @@ static int mount_points_list_get(MountPoint **head) {
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (!(m = new0(MountPoint, 1))) {
|
||||
+ m = new0(MountPoint, 1);
|
||||
+ if (!m) {
|
||||
free(p);
|
||||
- r = -ENOMEM;
|
||||
- goto finish;
|
||||
+ return -ENOMEM;
|
||||
}
|
||||
|
||||
m->path = p;
|
||||
LIST_PREPEND(mount_point, *head, m);
|
||||
}
|
||||
|
||||
- r = 0;
|
||||
-
|
||||
-finish:
|
||||
- fclose(proc_self_mountinfo);
|
||||
-
|
||||
- return r;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int swap_list_get(MountPoint **head) {
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,20 @@
|
||||
Based on 58e027023b47b32e42cf93dd4a629b869ee1ef25 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Wed, 11 Jun 2014 14:58:32 +0200
|
||||
Subject: [PATCH] units: order network-online.target after network.target
|
||||
|
||||
There might be implementations around where the network-online logic
|
||||
might not talk to any network configuration service (and thus not have
|
||||
to wait for it), hence let's explicitly order network-online.target
|
||||
after network.target to avoid any ambiguities.
|
||||
---
|
||||
units/network-online.target | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- units/network-online.target
|
||||
+++ units/network-online.target 2014-06-26 00:00:00.000000000 +0000
|
||||
@@ -9,3 +9,4 @@
|
||||
Description=Network is Online
|
||||
Documentation=man:systemd.special(7)
|
||||
Documentation=http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
|
||||
+After=network.target
|
@ -0,0 +1,29 @@
|
||||
Based on 0b73eab7a2185ae0377650e3fdb8208347a8a575 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||
Date: Sat, 23 Mar 2013 03:54:16 +0100
|
||||
Subject: [PATCH] units/systemd-sysctl.service.in: run after load-modules
|
||||
|
||||
Modules might or will register new sysctl options.
|
||||
|
||||
[zj: This mechanism of adding modules just to reliably set sysctl
|
||||
attributes is not ideal. Nevertheless, sysctl for dynamically created
|
||||
attributes is simply broken, and this is the easiest workaround.]
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1022977
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=725412
|
||||
---
|
||||
units/systemd-sysctl.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git units/systemd-sysctl.service.in units/systemd-sysctl.service.in
|
||||
index 5c7c5d7..ade9dc3 100644
|
||||
--- units/systemd-sysctl.service.in
|
||||
+++ units/systemd-sysctl.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||
+After=systemd-modules-load.service
|
||||
Before=sysinit.target shutdown.target
|
||||
ConditionPathIsReadWrite=/proc/sys/
|
||||
ConditionDirectoryNotEmpty=|/lib/sysctl.d
|
@ -0,0 +1,56 @@
|
||||
From ff452e76e2c0f89a32542b7179bb2fd538335933 Mon Sep 17 00:00:00 2001
|
||||
From: Carl Schaefer <schaefer@trilug.org>
|
||||
Date: Mon, 23 Jun 2014 18:23:48 +0200
|
||||
Subject: [PATCH] vconsole: also copy character maps (not just fonts) from vt1
|
||||
to vt2, vt3, ...
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=78796
|
||||
---
|
||||
src/vconsole/vconsole-setup.c | 24 ++++++++++++++++++++++++
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
diff --git src/vconsole/vconsole-setup.c src/vconsole/vconsole-setup.c
|
||||
index 0f2b706..e0c4050 100644
|
||||
--- src/vconsole/vconsole-setup.c
|
||||
+++ src/vconsole/vconsole-setup.c
|
||||
@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
|
||||
*/
|
||||
static void font_copy_to_all_vcs(int fd) {
|
||||
struct vt_stat vcs = {};
|
||||
+ unsigned char map8[E_TABSZ];
|
||||
+ unsigned short map16[E_TABSZ];
|
||||
+ struct unimapdesc unimapd;
|
||||
+ struct unipair unipairs[USHRT_MAX];
|
||||
int i, r;
|
||||
|
||||
/* get active, and 16 bit mask of used VT numbers */
|
||||
@@ -209,6 +213,26 @@ static void font_copy_to_all_vcs(int fd) {
|
||||
cfo.op = KD_FONT_OP_COPY;
|
||||
cfo.height = vcs.v_active-1; /* tty1 == index 0 */
|
||||
ioctl(vcfd, KDFONTOP, &cfo);
|
||||
+
|
||||
+ /* copy map of 8bit chars */
|
||||
+ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
|
||||
+ ioctl(vcfd, PIO_SCRNMAP, map8);
|
||||
+
|
||||
+ /* copy map of 8bit chars -> 16bit Unicode values */
|
||||
+ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
|
||||
+ ioctl(vcfd, PIO_UNISCRNMAP, map16);
|
||||
+
|
||||
+ /* copy unicode translation table */
|
||||
+ /* unimapd is a ushort count and a pointer to an
|
||||
+ array of struct unipair { ushort, ushort } */
|
||||
+ unimapd.entries = unipairs;
|
||||
+ unimapd.entry_ct = USHRT_MAX;
|
||||
+ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
|
||||
+ struct unimapinit adv = { 0, 0, 0 };
|
||||
+
|
||||
+ ioctl(vcfd, PIO_UNIMAPCLR, &adv);
|
||||
+ ioctl(vcfd, PIO_UNIMAP, &unimapd);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
159
0001-virt-rework-container-detection-logic.patch
Normal file
159
0001-virt-rework-container-detection-logic.patch
Normal file
@ -0,0 +1,159 @@
|
||||
Based on fdd25311706bd32580ec4d43211cdf4665d2f9de Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Wed, 28 May 2014 18:37:11 +0800
|
||||
Subject: [PATCH] virt: rework container detection logic
|
||||
|
||||
Instead of accessing /proc/1/environ directly, trying to read the
|
||||
$container variable from it, let's make PID 1 save the contents of that
|
||||
variable to /run/systemd/container. This allows us to detect containers
|
||||
without the need for CAP_SYS_PTRACE, which allows us to drop it from a
|
||||
number of daemons and from the file capabilities of systemd-detect-virt.
|
||||
|
||||
Also, don't consider chroot a container technology anymore. After all,
|
||||
we don't consider file system namespaces container technology anymore,
|
||||
and hence chroot() should be considered a container even less.
|
||||
---
|
||||
Makefile.am | 3 ---
|
||||
configure.ac | 2 --
|
||||
src/core/main.c | 12 ++++++++++++
|
||||
src/shared/virt.c | 48 ++++++++++++++++++++++++++++++------------------
|
||||
4 files changed, 42 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git Makefile.am Makefile.am
|
||||
index 5b26bc3..f66ef42 100644
|
||||
--- Makefile.am
|
||||
+++ Makefile.am
|
||||
@@ -1798,9 +1798,6 @@ systemd_detect_virt_SOURCES = \
|
||||
systemd_detect_virt_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
-systemd-detect-virt-install-hook:
|
||||
- -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt
|
||||
-
|
||||
INSTALL_EXEC_HOOKS += \
|
||||
systemd-detect-virt-install-hook
|
||||
|
||||
--- configure.ac
|
||||
+++ configure.ac 2014-06-03 14:16:45.046237826 +0000
|
||||
@@ -68,8 +68,6 @@ AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||
AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon])
|
||||
AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck])
|
||||
|
||||
-AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap])
|
||||
-
|
||||
AC_PATH_PROG([KILL], [kill], [/usr/bin/kill])
|
||||
|
||||
AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod])
|
||||
diff --git src/core/main.c src/core/main.c
|
||||
index 77cc2fb..d5d1ee2 100644
|
||||
--- src/core/main.c
|
||||
+++ src/core/main.c
|
||||
@@ -1261,6 +1261,16 @@ static int status_welcome(void) {
|
||||
isempty(pretty_name) ? "Linux" : pretty_name);
|
||||
}
|
||||
|
||||
+static int write_container_id(void) {
|
||||
+ const char *c;
|
||||
+
|
||||
+ c = getenv("container");
|
||||
+ if (isempty(c))
|
||||
+ return 0;
|
||||
+
|
||||
+ return write_string_file("/run/systemd/container", c);
|
||||
+}
|
||||
+
|
||||
int main(int argc, char *argv[]) {
|
||||
Manager *m = NULL;
|
||||
int r, retval = EXIT_FAILURE;
|
||||
@@ -1544,6 +1554,8 @@ int main(int argc, char *argv[]) {
|
||||
if (virtualization)
|
||||
log_info("Detected virtualization '%s'.", virtualization);
|
||||
|
||||
+ write_container_id();
|
||||
+
|
||||
log_info("Detected architecture '%s'.", architecture_to_string(uname_architecture()));
|
||||
|
||||
if (in_initrd())
|
||||
diff --git src/shared/virt.c src/shared/virt.c
|
||||
index 0db0514..1e227c5 100644
|
||||
--- src/shared/virt.c
|
||||
+++ src/shared/virt.c
|
||||
@@ -217,8 +217,8 @@ int detect_container(const char **id) {
|
||||
static thread_local int cached_found = -1;
|
||||
static thread_local const char *cached_id = NULL;
|
||||
|
||||
- _cleanup_free_ char *e = NULL;
|
||||
- const char *_id = NULL;
|
||||
+ _cleanup_free_ char *m = NULL;
|
||||
+ const char *_id = NULL, *e = NULL;
|
||||
int r;
|
||||
|
||||
if (_likely_(cached_found >= 0)) {
|
||||
@@ -229,17 +229,6 @@ int detect_container(const char **id) {
|
||||
return cached_found;
|
||||
}
|
||||
|
||||
- /* Unfortunately many of these operations require root access
|
||||
- * in one way or another */
|
||||
-
|
||||
- r = running_in_chroot();
|
||||
- if (r < 0)
|
||||
- return r;
|
||||
- if (r > 0) {
|
||||
- _id = "chroot";
|
||||
- goto finish;
|
||||
- }
|
||||
-
|
||||
/* /proc/vz exists in container and outside of the container,
|
||||
* /proc/bc only outside of the container. */
|
||||
if (access("/proc/vz", F_OK) >= 0 &&
|
||||
@@ -249,11 +238,32 @@ int detect_container(const char **id) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
- r = getenv_for_pid(1, "container", &e);
|
||||
- if (r < 0)
|
||||
- return r;
|
||||
- if (r == 0)
|
||||
- goto finish;
|
||||
+ if (getpid() == 1) {
|
||||
+ /* If we are PID 1 we can just check our own
|
||||
+ * environment variable */
|
||||
+
|
||||
+ e = getenv("container");
|
||||
+ if (isempty(e)) {
|
||||
+ r = 0;
|
||||
+ goto finish;
|
||||
+ }
|
||||
+ } else {
|
||||
+
|
||||
+ /* Otherwise, PID 1 dropped this information into a
|
||||
+ * file in /run. This is better than accessing
|
||||
+ * /proc/1/environ, since we don't need CAP_SYS_PTRACE
|
||||
+ * for that. */
|
||||
+
|
||||
+ r = read_one_line_file("/run/systemd/container", &m);
|
||||
+ if (r == -ENOENT) {
|
||||
+ r = 0;
|
||||
+ goto finish;
|
||||
+ }
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
+
|
||||
+ e = m;
|
||||
+ }
|
||||
|
||||
/* We only recognize a selected few here, since we want to
|
||||
* enforce a redacted namespace */
|
||||
@@ -266,6 +276,8 @@ int detect_container(const char **id) {
|
||||
else
|
||||
_id = "other";
|
||||
|
||||
+ r = 1;
|
||||
+
|
||||
finish:
|
||||
cached_found = r;
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,59 @@
|
||||
From b27adf354a83ad25f4a209c0a6f7989ecab7b4e2 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 5 Jun 2014 13:31:25 +0200
|
||||
Subject: [PATCH] bus: make use of sd_bus_try_close() in exit-on-idle services
|
||||
|
||||
---
|
||||
src/libsystemd/sd-bus/bus-util.c | 25 +++++++++++++++++++++++--
|
||||
1 file changed, 23 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git src/libsystemd/sd-bus/bus-util.c src/libsystemd/sd-bus/bus-util.c
|
||||
index 6bd21cc..6441c5b 100644
|
||||
--- src/libsystemd/sd-bus/bus-util.c
|
||||
+++ src/libsystemd/sd-bus/bus-util.c
|
||||
@@ -43,7 +43,9 @@ static int name_owner_change_callback(sd_bus *bus, sd_bus_message *m, void *user
|
||||
assert(m);
|
||||
assert(e);
|
||||
|
||||
+ sd_bus_close(bus);
|
||||
sd_event_exit(e, 0);
|
||||
+
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -121,11 +123,30 @@ int bus_event_loop_with_idle(
|
||||
return r;
|
||||
|
||||
if (r == 0 && !exiting) {
|
||||
- r = bus_async_unregister_and_exit(e, bus, name);
|
||||
+
|
||||
+ r = sd_bus_try_close(bus);
|
||||
+ if (r == -EBUSY)
|
||||
+ continue;
|
||||
+
|
||||
+ if (r == -ENOTSUP) {
|
||||
+ /* Fallback for dbus1 connections: we
|
||||
+ * unregister the name and wait for
|
||||
+ * the response to come through for
|
||||
+ * it */
|
||||
+
|
||||
+ r = bus_async_unregister_and_exit(e, bus, name);
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
+
|
||||
+ exiting = true;
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- exiting = true;
|
||||
+ sd_event_exit(e, 0);
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,27 @@
|
||||
From cdd7b7dfd44649b204c43e907f03d4294de4f28a Mon Sep 17 00:00:00 2001
|
||||
From: Hristo Venev <mustrumr97@gmail.com>
|
||||
Date: Mon, 23 Jun 2014 18:53:04 +0200
|
||||
Subject: [PATCH] core: make sure Environment fields passed in for transient
|
||||
units are properly written to unit files
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=76744
|
||||
---
|
||||
src/core/dbus-execute.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/core/dbus-execute.c src/core/dbus-execute.c
|
||||
index cb9a077..ecbadd7 100644
|
||||
--- src/core/dbus-execute.c
|
||||
+++ src/core/dbus-execute.c
|
||||
@@ -848,7 +848,7 @@ int bus_exec_context_set_transient_property(
|
||||
strv_free(c->environment);
|
||||
c->environment = e;
|
||||
|
||||
- joined = strv_join(c->environment, " ");
|
||||
+ joined = strv_join_quoted(c->environment);
|
||||
if (!joined)
|
||||
return -ENOMEM;
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 375ae4aa4d2f89ae8afdd27e9f2b8336fcc2a046 Mon Sep 17 00:00:00 2001
|
||||
From: Uoti Urpala <uoti.urpala@pp1.inet.fi>
|
||||
Date: Mon, 23 Jun 2014 16:50:03 +0300
|
||||
Subject: [PATCH] core/transaction: fix cycle break attempts outside
|
||||
transaction
|
||||
|
||||
Patch fixes some incorrect-looking code in transaction.c.
|
||||
It could fix cases where Debian users with bad package configurations
|
||||
had systemd go into an infinite loop printing messages about breaking an
|
||||
ordering cycle, though I have not reproduced that problem myself.
|
||||
|
||||
transaction_verify_order_one() considers jobs/units outside current
|
||||
transaction when checking whether ordering dependencies cause cycles.
|
||||
It would also incorrectly try to break cycles at these jobs; this
|
||||
cannot work, as the break action is to remove the job from the
|
||||
transaction, which is a no-op if the job isn't part of the transaction
|
||||
to begin with. The unit_matters_to_anchor() test also looks like it
|
||||
would not work correctly for non-transaction jobs. Add a check to
|
||||
verify that the unit is part of the transaction before considering a
|
||||
job a candidate for deletion.
|
||||
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752259
|
||||
---
|
||||
src/core/transaction.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/core/transaction.c src/core/transaction.c
|
||||
index d23a45c..805d40a 100644
|
||||
--- src/core/transaction.c
|
||||
+++ src/core/transaction.c
|
||||
@@ -381,7 +381,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
|
||||
"Found dependency on %s/%s",
|
||||
k->unit->id, job_type_to_string(k->type));
|
||||
|
||||
- if (!delete &&
|
||||
+ if (!delete && hashmap_get(tr->jobs, k->unit) &&
|
||||
!unit_matters_to_anchor(k->unit, k)) {
|
||||
/* Ok, we can drop this one, so let's
|
||||
* do so. */
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,26 @@
|
||||
Based on 8d2a6145334257c8a9ceabc9dd52dff06cca818e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 26 May 2014 23:03:11 -0400
|
||||
Subject: [PATCH] fsck: include device name in the message about missing fsck
|
||||
|
||||
---
|
||||
src/fsck/fsck.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- src/fsck/fsck.c
|
||||
+++ src/fsck/fsck.c 2014-06-03 14:15:15.746235301 +0000
|
||||
@@ -284,10 +284,12 @@ int main(int argc, char *argv[]) {
|
||||
r = access(checker, X_OK);
|
||||
if (r < 0) {
|
||||
if (errno == ENOENT) {
|
||||
- log_info("%s doesn't exist, not checking file system.", checker);
|
||||
+ log_info("%s doesn't exist, not checking file system on %s",
|
||||
+ checker, device);
|
||||
return EXIT_SUCCESS;
|
||||
} else
|
||||
- log_warning("%s cannot be used: %m", checker);
|
||||
+ log_warning("%s cannot be used for %s: %m",
|
||||
+ checker, device);
|
||||
}
|
||||
}
|
||||
|
122
0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
Normal file
122
0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
Normal file
@ -0,0 +1,122 @@
|
||||
Based on 6d313367d9ef780560e117e886502a99fa220eac Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 5 Jun 2014 21:35:35 +0200
|
||||
Subject: [PATCH] namespace: when setting up an inaccessible mount point,
|
||||
unmounting everything below
|
||||
|
||||
This has the benefit of not triggering any autofs mount points
|
||||
unnecessarily.
|
||||
|
||||
---
|
||||
src/core/namespace.c | 6 ++++
|
||||
src/shared/util.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/shared/util.h | 2 +
|
||||
3 files changed, 76 insertions(+)
|
||||
|
||||
--- src/core/namespace.c
|
||||
+++ src/core/namespace.c 2014-06-11 00:00:00.000000000 +0000
|
||||
@@ -220,6 +220,12 @@ static int apply_mount(
|
||||
return mount_dev(m);
|
||||
|
||||
case INACCESSIBLE:
|
||||
+
|
||||
+ /* First, get rid of everything that is below if there
|
||||
+ * is anything... Then, overmount it with an
|
||||
+ * inaccessible directory. */
|
||||
+ umount_recursive(m->path, 0);
|
||||
+
|
||||
what = "/run/systemd/inaccessible";
|
||||
break;
|
||||
|
||||
--- src/shared/util.c
|
||||
+++ src/shared/util.c 2014-06-11 00:00:00.000000000 +0000
|
||||
@@ -54,6 +54,7 @@
|
||||
#include <grp.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/vfs.h>
|
||||
+#include <sys/mount.h>
|
||||
#include <linux/magic.h>
|
||||
#include <limits.h>
|
||||
#include <langinfo.h>
|
||||
@@ -4635,6 +4636,73 @@ char *strjoin(const char *x, ...) {
|
||||
return r;
|
||||
}
|
||||
|
||||
+int umount_recursive(const char *prefix, int flags) {
|
||||
+ bool again;
|
||||
+ int n = 0, r;
|
||||
+
|
||||
+ /* Try to umount everything recursively below a
|
||||
+ * directory. Also, take care of stacked mounts, and keep
|
||||
+ * unmounting them until they are gone. */
|
||||
+
|
||||
+ do {
|
||||
+ _cleanup_fclose_ FILE *proc_self_mountinfo = NULL;
|
||||
+
|
||||
+ again = false;
|
||||
+ r = 0;
|
||||
+
|
||||
+ proc_self_mountinfo = fopen("/proc/self/mountinfo", "re");
|
||||
+ if (!proc_self_mountinfo)
|
||||
+ return -errno;
|
||||
+
|
||||
+ for (;;) {
|
||||
+ _cleanup_free_ char *path = NULL, *p = NULL;
|
||||
+ int k;
|
||||
+
|
||||
+ k = fscanf(proc_self_mountinfo,
|
||||
+ "%*s " /* (1) mount id */
|
||||
+ "%*s " /* (2) parent id */
|
||||
+ "%*s " /* (3) major:minor */
|
||||
+ "%*s " /* (4) root */
|
||||
+ "%ms " /* (5) mount point */
|
||||
+ "%*s" /* (6) mount options */
|
||||
+ "%*[^-]" /* (7) optional fields */
|
||||
+ "- " /* (8) separator */
|
||||
+ "%*s " /* (9) file system type */
|
||||
+ "%*s" /* (10) mount source */
|
||||
+ "%*s" /* (11) mount options 2 */
|
||||
+ "%*[^\n]", /* some rubbish at the end */
|
||||
+ &path);
|
||||
+
|
||||
+ if (k != 1) {
|
||||
+ if (k == EOF)
|
||||
+ break;
|
||||
+
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ p = cunescape(path);
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ if (!path_startswith(p, prefix))
|
||||
+ continue;
|
||||
+
|
||||
+ if (umount2(p, flags) < 0) {
|
||||
+ r = -errno;
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ again = true;
|
||||
+ n++;
|
||||
+
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ } while (again);
|
||||
+
|
||||
+ return r ? r : n;
|
||||
+}
|
||||
+
|
||||
bool is_main_thread(void) {
|
||||
static thread_local int cached = 0;
|
||||
|
||||
--- src/shared/util.h
|
||||
+++ src/shared/util.h 2014-06-11 10:10:08.000000000 +0000
|
||||
@@ -890,3 +890,5 @@ union file_handle_union {
|
||||
struct file_handle handle;
|
||||
char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
|
||||
};
|
||||
+
|
||||
+int umount_recursive(const char *target, int flags);
|
@ -0,0 +1,18 @@
|
||||
Basedo n a55954297dade7b432fd3a4f328f23261621ff79 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 19 Jun 2014 19:53:16 +0200
|
||||
Subject: [PATCH] units: add missing caps so that GetAddresses() can work
|
||||
|
||||
---
|
||||
units/systemd-machined.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- units/systemd-machined.service.in
|
||||
+++ units/systemd-machined.service.in 2014-06-24 11:26:19.554235869 +0000
|
||||
@@ -15,5 +15,5 @@ After=machine.slice
|
||||
[Service]
|
||||
ExecStart=@rootlibexecdir@/systemd-machined
|
||||
BusName=org.freedesktop.machine1
|
||||
-CapabilityBoundingSet=CAP_KILL
|
||||
+CapabilityBoundingSet=CAP_KILL CAP_SYS_PTRACE CAP_SYS_ADMIN CAP_SETGID
|
||||
WatchdogSec=1min
|
@ -0,0 +1,32 @@
|
||||
From d1d8e5d49f3149d03ceb94d1d2f6c14e7abccb6f Mon Sep 17 00:00:00 2001
|
||||
From: Ronan Le Martret <ronan@fridu.net>
|
||||
Date: Tue, 22 Apr 2014 10:33:25 +0200
|
||||
Subject: [PATCH] core: You can not put the cached result of use_smack fct, as
|
||||
we are not sure the "/sys" is mounted. So we should mount
|
||||
"sys" before "/proc"
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=77646
|
||||
---
|
||||
src/core/mount-setup.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git src/core/mount-setup.c src/core/mount-setup.c
|
||||
index ae8447c..991bfdf 100644
|
||||
--- src/core/mount-setup.c
|
||||
+++ src/core/mount-setup.c
|
||||
@@ -67,10 +67,10 @@ typedef struct MountPoint {
|
||||
#define N_EARLY_MOUNT 5
|
||||
|
||||
static const MountPoint mount_table[] = {
|
||||
- { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
- NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||
{ "sysfs", "/sys", "sysfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||
+ { "proc", "/proc", "proc", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
+ NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||
{ "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID|MS_STRICTATIME,
|
||||
NULL, MNT_FATAL|MNT_IN_CONTAINER },
|
||||
{ "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||
--
|
||||
1.7.9.2
|
||||
|
115
0003-core-allow-transient-mount-units.patch
Normal file
115
0003-core-allow-transient-mount-units.patch
Normal file
@ -0,0 +1,115 @@
|
||||
From 0e252f6b375af59eac9bd6d2fe8dd6ee2f51998d Mon Sep 17 00:00:00 2001
|
||||
From: Tom Gundersen <teg@jklm.no>
|
||||
Date: Fri, 6 Jun 2014 15:10:20 +0200
|
||||
Subject: [PATCH] core: allow transient mount units
|
||||
|
||||
For now only What=, Options=, Type= are supported, and Where= is deduced
|
||||
from the unit name.
|
||||
---
|
||||
src/core/dbus-mount.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
src/core/mount.c | 2 ++
|
||||
2 files changed, 65 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git src/core/dbus-mount.c src/core/dbus-mount.c
|
||||
index e64d3ea..e27019d 100644
|
||||
--- src/core/dbus-mount.c
|
||||
+++ src/core/dbus-mount.c
|
||||
@@ -124,6 +124,47 @@ const sd_bus_vtable bus_mount_vtable[] = {
|
||||
SD_BUS_VTABLE_END
|
||||
};
|
||||
|
||||
+static int bus_mount_set_transient_property(
|
||||
+ Mount *m,
|
||||
+ const char *name,
|
||||
+ sd_bus_message *message,
|
||||
+ UnitSetPropertiesMode mode,
|
||||
+ sd_bus_error *error) {
|
||||
+
|
||||
+ const char *new_property;
|
||||
+ char **property;
|
||||
+ char *p;
|
||||
+ int r;
|
||||
+
|
||||
+ assert(m);
|
||||
+ assert(name);
|
||||
+ assert(message);
|
||||
+
|
||||
+ if (streq(name, "What"))
|
||||
+ property = &m->parameters_fragment.what;
|
||||
+ else if (streq(name, "Options"))
|
||||
+ property = &m->parameters_fragment.options;
|
||||
+ else if (streq(name, "Type"))
|
||||
+ property = &m->parameters_fragment.fstype;
|
||||
+ else
|
||||
+ return 0;
|
||||
+
|
||||
+ r = sd_bus_message_read(message, "s", &new_property);
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
+
|
||||
+ if (mode != UNIT_CHECK) {
|
||||
+ p = strdup(new_property);
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ free(*property);
|
||||
+ *property = p;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
int bus_mount_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
@@ -132,12 +173,33 @@ int bus_mount_set_property(
|
||||
sd_bus_error *error) {
|
||||
|
||||
Mount *m = MOUNT(u);
|
||||
+ int r;
|
||||
|
||||
assert(m);
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
- return bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error);
|
||||
+ r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, mode, error);
|
||||
+ if (r != 0)
|
||||
+ return r;
|
||||
+
|
||||
+ if (u->transient && u->load_state == UNIT_STUB) {
|
||||
+ /* This is a transient unit, let's load a little more */
|
||||
+
|
||||
+ r = bus_mount_set_transient_property(m, name, message, mode, error);
|
||||
+ if (r != 0)
|
||||
+ return r;
|
||||
+
|
||||
+ r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, mode, error);
|
||||
+ if (r != 0)
|
||||
+ return r;
|
||||
+
|
||||
+ r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, mode, error);
|
||||
+ if (r != 0)
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
int bus_mount_commit_properties(Unit *u) {
|
||||
diff --git src/core/mount.c src/core/mount.c
|
||||
index a979837..14ac0a0 100644
|
||||
--- src/core/mount.c
|
||||
+++ src/core/mount.c
|
||||
@@ -1819,6 +1819,8 @@ const UnitVTable mount_vtable = {
|
||||
|
||||
.get_timeout = mount_get_timeout,
|
||||
|
||||
+ .can_transient = true,
|
||||
+
|
||||
.enumerate = mount_enumerate,
|
||||
.shutdown = mount_shutdown,
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,98 @@
|
||||
Based on 571d0134bd464444567cf4eb0d2ed8df40045f36 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Tue, 24 Jun 2014 19:37:22 +0200
|
||||
Subject: [PATCH] fsck: consider a fsck implementation linked to /bin/true
|
||||
non-existant
|
||||
|
||||
---
|
||||
src/fsck/fsck.c | 32 ++++++++++++++++++++++----------
|
||||
src/shared/path-util.c | 26 +++++++++++++++-----------
|
||||
2 files changed, 37 insertions(+), 21 deletions(-)
|
||||
|
||||
--- src/fsck/fsck.c
|
||||
+++ src/fsck/fsck.c 2014-06-26 09:19:58.591864710 +0000
|
||||
@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
|
||||
if (type) {
|
||||
- const char *checker = strappenda("/sbin/fsck.", type);
|
||||
- r = access(checker, X_OK);
|
||||
- if (r < 0) {
|
||||
- if (errno == ENOENT) {
|
||||
- log_info("%s doesn't exist, not checking file system on %s",
|
||||
- checker, device);
|
||||
- return EXIT_SUCCESS;
|
||||
- } else
|
||||
- log_warning("%s cannot be used for %s: %m",
|
||||
- checker, device);
|
||||
+ _cleanup_free_ char *p = NULL, *d = NULL;
|
||||
+ const char *checker = strappenda("fsck.", type);
|
||||
+ r = find_binary(checker, &p);
|
||||
+ if (r == -ENOENT) {
|
||||
+ log_info("fsck.%s doesn't exist, not checking file system on %s",
|
||||
+ type, device);
|
||||
+ return EXIT_SUCCESS;
|
||||
+ } else if (r < 0) {
|
||||
+ log_warning("fsck.%s cannot be used for %s: %m",
|
||||
+ type, device);
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ /* An fsck that is linked to /bin/true is a non-existant fsck */
|
||||
+ r = readlink_malloc(p, &d);
|
||||
+ if (r >= 0 &&
|
||||
+ (path_equal(d, "/bin/true") ||
|
||||
+ path_equal(d, "/usr/bin/true") ||
|
||||
+ path_equal(d, "/dev/null"))) {
|
||||
+ log_info("fsck.%s doesn't exist, not checking file system on %s",
|
||||
+ type, device);
|
||||
+ return EXIT_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
--- src/shared/path-util.c
|
||||
+++ src/shared/path-util.c 2014-06-26 09:14:15.651559638 +0000
|
||||
@@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) {
|
||||
|
||||
int find_binary(const char *name, char **filename) {
|
||||
assert(name);
|
||||
- assert(filename);
|
||||
|
||||
- if (strchr(name, '/')) {
|
||||
- char *p;
|
||||
+ if (is_path(name)) {
|
||||
+ if (access(name, X_OK) < 0)
|
||||
+ return -errno;
|
||||
+
|
||||
+ if (filename) {
|
||||
+ char *p;
|
||||
|
||||
- if (path_is_absolute(name))
|
||||
- p = strdup(name);
|
||||
- else
|
||||
p = path_make_absolute_cwd(name);
|
||||
- if (!p)
|
||||
- return -ENOMEM;
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ *filename = p;
|
||||
+ }
|
||||
|
||||
- *filename = p;
|
||||
return 0;
|
||||
} else {
|
||||
const char *path;
|
||||
@@ -463,8 +465,10 @@ int find_binary(const char *name, char *
|
||||
continue;
|
||||
}
|
||||
|
||||
- path_kill_slashes(p);
|
||||
- *filename = p;
|
||||
+ if (filename) {
|
||||
+ path_kill_slashes(p);
|
||||
+ *filename = p;
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
}
|
30
0003-install-fix-invalid-free-in-unit_file_mask.patch
Normal file
30
0003-install-fix-invalid-free-in-unit_file_mask.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 223217749e57996336d5730b0a28716cca56d45d Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Henriksson <andreas@fatal.se>
|
||||
Date: Fri, 13 Jun 2014 18:48:18 +0200
|
||||
Subject: [PATCH] install: fix invalid free() in unit_file_mask()
|
||||
|
||||
int unit_file_mask(...) in ./src/shared/install.c calls
|
||||
get_config_path(...) which can in 4 error cases return without setting
|
||||
"ret", and thus "prefix" can be uninitialized when unit_file_mask(...)
|
||||
finishes (which it does directly after the error is returned from
|
||||
get_config_path(...)).
|
||||
---
|
||||
src/shared/install.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/shared/install.c src/shared/install.c
|
||||
index 487d0f6..f562063 100644
|
||||
--- src/shared/install.c
|
||||
+++ src/shared/install.c
|
||||
@@ -563,7 +563,7 @@ int unit_file_mask(
|
||||
unsigned *n_changes) {
|
||||
|
||||
char **i;
|
||||
- _cleanup_free_ char *prefix;
|
||||
+ _cleanup_free_ char *prefix = NULL;
|
||||
int r;
|
||||
|
||||
assert(scope >= 0);
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,26 @@
|
||||
Based on 497d1986c13032f1ef8f4592bb7ed8d3aa321a47 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Fri, 20 Jun 2014 00:15:39 +0200
|
||||
Subject: [PATCH] units: order systemd-tmpfiles-clean.service after
|
||||
time-sync.target
|
||||
|
||||
That way, on systems lacking an RTC we don't false start removing aged
|
||||
files too early.
|
||||
---
|
||||
units/systemd-tmpfiles-clean.service.in | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
--- units/systemd-tmpfiles-clean.service.in
|
||||
+++ units/systemd-tmpfiles-clean.service.in 2014-06-24 10:47:57.398235644 +0000
|
||||
@@ -10,8 +10,9 @@ Description=Cleanup of Temporary Directo
|
||||
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
|
||||
DefaultDependencies=no
|
||||
Wants=local-fs.target
|
||||
-After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
|
||||
-Before=sysinit.target shutdown.target
|
||||
+Conflicts=shutdown.target
|
||||
+After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target
|
||||
+Before=shutdown.target
|
||||
ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d
|
||||
ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d
|
||||
ConditionDirectoryNotEmpty=|/etc/tmpfiles.d
|
@ -0,0 +1,26 @@
|
||||
From d8e40d62ab871a87fde421c4b246bb45bc3cbe2d Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Liu <net147@gmail.com>
|
||||
Date: Thu, 29 May 2014 01:17:25 +1000
|
||||
Subject: [PATCH] units: use KillMode=mixed for systemd-nspawn@.service
|
||||
|
||||
This causes the container to shut down cleanly when the service is
|
||||
stopped.
|
||||
---
|
||||
units/systemd-nspawn@.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git units/systemd-nspawn@.service.in units/systemd-nspawn@.service.in
|
||||
index ff36e90..e373628 100644
|
||||
--- units/systemd-nspawn@.service.in
|
||||
+++ units/systemd-nspawn@.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
|
||||
|
||||
[Service]
|
||||
ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
|
||||
+KillMode=mixed
|
||||
Type=notify
|
||||
|
||||
[Install]
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,53 @@
|
||||
Based on bde29068aa3815c88190a91e9867605a0aeaf9c4 Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Mon, 23 Jun 2014 19:18:44 +0200
|
||||
Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices
|
||||
when it is listed as password file
|
||||
|
||||
As special magic, don't create device dependencies for /dev/null. Of
|
||||
course, there might be similar devices we might want to include, but
|
||||
given that none of them really make sense to specify as password source
|
||||
there's really no point in checking for anything else here.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=75816
|
||||
---
|
||||
src/cryptsetup/cryptsetup-generator.c | 21 +++++++++++++--------
|
||||
1 file changed, 13 insertions(+), 8 deletions(-)
|
||||
|
||||
--- src/cryptsetup/cryptsetup-generator.c
|
||||
+++ src/cryptsetup/cryptsetup-generator.c 2014-06-25 17:24:14.338237375 +0000
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "mkdir.h"
|
||||
#include "strv.h"
|
||||
#include "fileio.h"
|
||||
+#include "path-util.h"
|
||||
|
||||
static const char *arg_dest = "/tmp";
|
||||
static bool arg_enabled = true;
|
||||
@@ -141,14 +142,18 @@ static int create_disk(
|
||||
if (uu == NULL)
|
||||
return log_oom();
|
||||
|
||||
- if (is_device_path(uu)) {
|
||||
- _cleanup_free_ char *dd = unit_name_from_path(uu, ".device");
|
||||
- if (dd == NULL)
|
||||
- return log_oom();
|
||||
-
|
||||
- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
|
||||
- } else
|
||||
- fprintf(f, "RequiresMountsFor=%s\n", password);
|
||||
+ if (!path_equal(uu, "/dev/null")) {
|
||||
+ if (is_device_path(uu)) {
|
||||
+ _cleanup_free_ char *dd;
|
||||
+
|
||||
+ dd = unit_name_from_path(uu, ".device");
|
||||
+ if (!dd)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
|
||||
+ } else
|
||||
+ fprintf(f, "RequiresMountsFor=%s\n", password);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
39
0004-getty-generator-properly-escape-instance-names.patch
Normal file
39
0004-getty-generator-properly-escape-instance-names.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From a2ae516a25dafe41e0cd296ab7b5d022fa62b95f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Thu, 19 Jun 2014 22:02:55 -0400
|
||||
Subject: [PATCH] getty-generator: properly escape instance names
|
||||
|
||||
Otherwise the add_symlink() function tries to make directories for
|
||||
each slash even for the slash after the @ symbol in the final link
|
||||
name, failing for /dev/3270/tty1.
|
||||
|
||||
Based on a patch by Werner Fink <werner@suse.de>.
|
||||
---
|
||||
src/getty-generator/getty-generator.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git src/getty-generator/getty-generator.c src/getty-generator/getty-generator.c
|
||||
index 35cd858..7d4b546 100644
|
||||
--- src/getty-generator/getty-generator.c
|
||||
+++ src/getty-generator/getty-generator.c
|
||||
@@ -67,7 +67,7 @@ static int add_serial_getty(const char *tty) {
|
||||
|
||||
log_debug("Automatically adding serial getty for /dev/%s.", tty);
|
||||
|
||||
- n = unit_name_replace_instance("serial-getty@.service", tty);
|
||||
+ n = unit_name_from_path_instance("serial-getty", tty, ".service");
|
||||
if (!n)
|
||||
return log_oom();
|
||||
|
||||
@@ -81,7 +81,7 @@ static int add_container_getty(const char *tty) {
|
||||
|
||||
log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
|
||||
|
||||
- n = unit_name_replace_instance("container-getty@.service", tty);
|
||||
+ n = unit_name_from_path_instance("container-getty", tty, ".service");
|
||||
if (!n)
|
||||
return log_oom();
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
79
0004-systemd-detect-virt-only-discover-Xen-domU.patch
Normal file
79
0004-systemd-detect-virt-only-discover-Xen-domU.patch
Normal file
@ -0,0 +1,79 @@
|
||||
From 37287585b6ba9a55065c8f94458f6db3c0abe0af Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Blume <Thomas.Blume@suse.com>
|
||||
Date: Fri, 6 Jun 2014 16:36:45 +0200
|
||||
Subject: [PATCH] systemd-detect-virt: only discover Xen domU
|
||||
|
||||
The current vm detection lacks the distinction between Xen dom0 and Xen domU.
|
||||
Both, dom0 and domU are running inside the hypervisor.
|
||||
Therefore systemd-detect-virt and the ConditionVirtualization directive detect
|
||||
dom0 as a virtual machine.
|
||||
|
||||
dom0 is not using virtual devices but is accessing the real hardware.
|
||||
Therefore dom0 should be considered the virtualisation host and not a virtual
|
||||
machine.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=77271
|
||||
---
|
||||
src/shared/virt.c | 34 +++++++++++++++++++++++++++-------
|
||||
1 file changed, 27 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git src/shared/virt.c src/shared/virt.c
|
||||
index 1e227c5..774915f 100644
|
||||
--- src/shared/virt.c
|
||||
+++ src/shared/virt.c
|
||||
@@ -148,7 +148,7 @@ static int detect_vm_dmi(const char **_id) {
|
||||
|
||||
/* Returns a short identifier for the various VM implementations */
|
||||
int detect_vm(const char **id) {
|
||||
- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
|
||||
+ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
|
||||
static thread_local int cached_found = -1;
|
||||
static thread_local const char *cached_id = NULL;
|
||||
const char *_id = NULL;
|
||||
@@ -162,17 +162,37 @@ int detect_vm(const char **id) {
|
||||
return cached_found;
|
||||
}
|
||||
|
||||
- /* Try high-level hypervisor sysfs file first:
|
||||
+ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
|
||||
*
|
||||
- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
|
||||
- r = read_one_line_file("/sys/hypervisor/type", &hvtype);
|
||||
+ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
|
||||
+ r = read_one_line_file("/proc/xen/capabilities", &domcap);
|
||||
if (r >= 0) {
|
||||
- if (streq(hvtype, "xen")) {
|
||||
+ char *cap, *i = domcap;
|
||||
+
|
||||
+ while ((cap = strsep(&i, ",")))
|
||||
+ if (streq(cap, "control_d"))
|
||||
+ break;
|
||||
+
|
||||
+ if (!i) {
|
||||
_id = "xen";
|
||||
r = 1;
|
||||
- goto finish;
|
||||
}
|
||||
- } else if (r != -ENOENT)
|
||||
+
|
||||
+ goto finish;
|
||||
+
|
||||
+ } else if (r == -ENOENT) {
|
||||
+ _cleanup_free_ char *hvtype = NULL;
|
||||
+
|
||||
+ r = read_one_line_file("/sys/hypervisor/type", &hvtype);
|
||||
+ if (r >= 0) {
|
||||
+ if (streq(hvtype, "xen")) {
|
||||
+ _id = "xen";
|
||||
+ r = 1;
|
||||
+ goto finish;
|
||||
+ }
|
||||
+ } else if (r != -ENOENT)
|
||||
+ return r;
|
||||
+ } else
|
||||
return r;
|
||||
|
||||
/* this will set _id to "other" and return 0 for unknown hypervisors */
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 93f1a06374e335e8508d89e1bdaadf45be6ab777 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
|
||||
Date: Sat, 31 May 2014 21:36:23 +0200
|
||||
Subject: [PATCH] util: ignore_file should not allow files ending with '~'
|
||||
|
||||
ignore_file currently allows any file ending with '~' while it
|
||||
seems that the opposite was intended:
|
||||
a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08
|
||||
---
|
||||
src/shared/util.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/shared/util.c src/shared/util.c
|
||||
index 0c27394..17b0ae1 100644
|
||||
--- src/shared/util.c
|
||||
+++ src/shared/util.c
|
||||
@@ -1371,7 +1371,7 @@ bool ignore_file(const char *filename) {
|
||||
assert(filename);
|
||||
|
||||
if (endswith(filename, "~"))
|
||||
- return false;
|
||||
+ return true;
|
||||
|
||||
return ignore_file_allow_backup(filename);
|
||||
}
|
||||
--
|
||||
1.7.9.2
|
||||
|
60
0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
Normal file
60
0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
Normal file
@ -0,0 +1,60 @@
|
||||
From 4cd2b2cf8ca585d15ebc859701b346658262b5bb Mon Sep 17 00:00:00 2001
|
||||
From: Denis Tikhomirov <dvtikhomirov@gmail.com>
|
||||
Date: Thu, 5 Jun 2014 23:59:40 +0400
|
||||
Subject: [PATCH] backlight: Do not clamp brightness for LEDs
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=77092
|
||||
|
||||
On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote:
|
||||
> The patch is line-broken, please send an uncorrupted patch!
|
||||
I am very sorry, I forgot that my client limits line width. I will use
|
||||
mutt now on.
|
||||
> clamp_brightness() clamps the brightness value to the range of the
|
||||
> actual device. This is a recent addition that was added to deal with
|
||||
> driver updates where the resolution is changed. I don't think this part
|
||||
> should be dropped for LED devices. The clamp_brightness() call hence
|
||||
> should be called unconditionally, however, internally it should use a
|
||||
> different min_brightness value if something is an !backlight devices...
|
||||
Thank you for explanation, this sounds very reasonable to me. Please,
|
||||
see updated patch:
|
||||
---
|
||||
src/backlight/backlight.c | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git src/backlight/backlight.c src/backlight/backlight.c
|
||||
index 691472c..4d94ebf 100644
|
||||
--- src/backlight/backlight.c
|
||||
+++ src/backlight/backlight.c
|
||||
@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) {
|
||||
|
||||
/* Some systems turn the backlight all the way off at the lowest levels.
|
||||
* clamp_brightness clamps the saved brightness to at least 1 or 5% of
|
||||
- * max_brightness. This avoids preserving an unreadably dim screen, which
|
||||
- * would otherwise force the user to disable state restoration. */
|
||||
+ * max_brightness in case of 'backlight' subsystem. This avoids preserving
|
||||
+ * an unreadably dim screen, which would otherwise force the user to
|
||||
+ * disable state restoration. */
|
||||
static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) {
|
||||
int r;
|
||||
unsigned brightness, new_brightness, min_brightness;
|
||||
+ const char *subsystem;
|
||||
|
||||
r = safe_atou(*value, &brightness);
|
||||
if (r < 0) {
|
||||
@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned
|
||||
return;
|
||||
}
|
||||
|
||||
- min_brightness = MAX(1U, max_brightness/20);
|
||||
+ subsystem = udev_device_get_subsystem(device);
|
||||
+ if (streq_ptr(subsystem, "backlight"))
|
||||
+ min_brightness = MAX(1U, max_brightness/20);
|
||||
+ else
|
||||
+ min_brightness = 0;
|
||||
+
|
||||
new_brightness = CLAMP(brightness, min_brightness, max_brightness);
|
||||
if (new_brightness != brightness) {
|
||||
char *old_value = *value;
|
||||
--
|
||||
1.7.9.2
|
||||
|
26
0005-man-fix-path-in-crypttab-5.patch
Normal file
26
0005-man-fix-path-in-crypttab-5.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 9fcdf32294e66f91d2a177f73a77049832768311 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 23 Jun 2014 23:07:53 -0400
|
||||
Subject: [PATCH] man: fix path in crypttab(5)
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=75816
|
||||
---
|
||||
man/crypttab.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git man/crypttab.xml man/crypttab.xml
|
||||
index 668e51d..9030015 100644
|
||||
--- man/crypttab.xml
|
||||
+++ man/crypttab.xml
|
||||
@@ -369,7 +369,7 @@
|
||||
<programlisting>luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b
|
||||
swap /dev/sda7 /dev/urandom swap
|
||||
truecrypt /dev/sda2 /etc/container_password tcrypt
|
||||
-hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile</programlisting>
|
||||
+hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile</programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
436
0005-po-add-Greek-translation.patch
Normal file
436
0005-po-add-Greek-translation.patch
Normal file
@ -0,0 +1,436 @@
|
||||
From 3d89c35c2ae08c3fbf1a037c4df54c8e5ae56faf Mon Sep 17 00:00:00 2001
|
||||
From: Dimitris Spingos <dmtrs32@gmail.com>
|
||||
Date: Wed, 7 May 2014 18:27:02 +0200
|
||||
Subject: [PATCH] po: add Greek translation
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=78064
|
||||
---
|
||||
po/LINGUAS | 3 +-
|
||||
po/el.po | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 406 insertions(+), 1 deletion(-)
|
||||
create mode 100644 po/el.po
|
||||
|
||||
diff --git po/LINGUAS po/LINGUAS
|
||||
index 0301751..820ca82 100644
|
||||
--- po/LINGUAS
|
||||
+++ po/LINGUAS
|
||||
@@ -1,4 +1,5 @@
|
||||
+el
|
||||
fr
|
||||
+it
|
||||
pl
|
||||
ru
|
||||
-it
|
||||
diff --git po/el.po po/el.po
|
||||
new file mode 100644
|
||||
index 0000000..1570565
|
||||
--- /dev/null
|
||||
+++ po/el.po
|
||||
@@ -0,0 +1,404 @@
|
||||
+# Greek translation for systemd.
|
||||
+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER
|
||||
+# This file is distributed under the same license as the systemd package.
|
||||
+# Dimitris Spingos <dmtrs32@gmail.com>, 2014.
|
||||
+# Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>, 2014.
|
||||
+msgid ""
|
||||
+msgstr ""
|
||||
+"Project-Id-Version: systemd master\n"
|
||||
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=sys"
|
||||
+"temd&keywords=I18N+L10N&component=general\n"
|
||||
+"POT-Creation-Date: 2014-04-25 15:51+0000\n"
|
||||
+"PO-Revision-Date: 2014-04-29 09:17+0300\n"
|
||||
+"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>\n"
|
||||
+"Language-Team: team@lists.gnome.gr\n"
|
||||
+"Language: el\n"
|
||||
+"MIME-Version: 1.0\n"
|
||||
+"Content-Type: text/plain; charset=UTF-8\n"
|
||||
+"Content-Transfer-Encoding: 8bit\n"
|
||||
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
+"X-Generator: Virtaal 0.7.0\n"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
|
||||
+msgid "Set host name"
|
||||
+msgstr "Ορισμός ονόματος οικοδεσπότη"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the local host name."
|
||||
+msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη."
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3
|
||||
+msgid "Set static host name"
|
||||
+msgstr "Ορισμός στατικού ονόματος οικοδεσπότη"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
|
||||
+msgid ""
|
||||
+"Authentication is required to set the statically configured local host name, "
|
||||
+"as well as the pretty host name."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να ορίσετε το στατικά ρυθμισμένο όνομα τοπικού "
|
||||
+"οικοδεσπότη, καθώς και το pretty όνομα οικοδεσπότη."
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
|
||||
+msgid "Set machine information"
|
||||
+msgstr "Ορισμός πληροφοριών μηχανής"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
|
||||
+msgid "Authentication is required to set local machine information."
|
||||
+msgstr "Απαιτείται πιστοποίηση για να ορίσετε πληροφορίες τοπικής μηχανής."
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
|
||||
+msgid "Set system locale"
|
||||
+msgstr "Ορισμός τοπικών ρυθμίσεων συστήματος"
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the system locale."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να ορίσετε τις τοπικές ρυθμίσεις του συστήματος."
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3
|
||||
+msgid "Set system keyboard settings"
|
||||
+msgstr "Ορισμός ρυθμίσεων πληκτρολογίου συστήματος"
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
|
||||
+msgid "Authentication is required to set the system keyboard settings."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να ορίσετε τις ρυθμίσεις πληκτρολογίου του "
|
||||
+"συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:1
|
||||
+msgid "Allow applications to inhibit system shutdown"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τον τερματισμό του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:2
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"shutdown."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει τον "
|
||||
+"τερματισμό του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:3
|
||||
+msgid "Allow applications to delay system shutdown"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να καθυστερούν τον τερματισμό του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:4
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to delay system shutdown."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει "
|
||||
+"τον τερματισμό του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:5
|
||||
+msgid "Allow applications to inhibit system sleep"
|
||||
+msgstr "Να επιτρέπεται στις εφαρμογές να αποτρέπουν την ύπνωση του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:6
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system sleep."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"ύπνωση του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:7
|
||||
+msgid "Allow applications to delay system sleep"
|
||||
+msgstr "Να επιτρέπεται στις εφαρμογές να καθυστερούν την ύπνωση του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:8
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to delay system sleep."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να καθυστερήσει "
|
||||
+"την ύπνωση του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:9
|
||||
+msgid "Allow applications to inhibit automatic system suspend"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν την αυτόματη αναστολή του "
|
||||
+"συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:10
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit automatic "
|
||||
+"system suspend."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"αυτόματη αναστολή του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:11
|
||||
+msgid "Allow applications to inhibit system handling of the power key"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου "
|
||||
+"ενεργοποίησης του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:12
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the power key."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"διαχείριση του πλήκτρου ενεργοποίησης του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:13
|
||||
+msgid "Allow applications to inhibit system handling of the suspend key"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου "
|
||||
+"αναστολής του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:14
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the suspend key."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"διαχείριση του πλήκτρου αναστολής του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:15
|
||||
+msgid "Allow applications to inhibit system handling of the hibernate key"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του πλήκτρου "
|
||||
+"αδρανοποίησης του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:16
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the hibernate key."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"διαχείριση του πλήκτρου αδρανοποίησης του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:17
|
||||
+msgid "Allow applications to inhibit system handling of the lid switch"
|
||||
+msgstr ""
|
||||
+"Να επιτρέπεται στις εφαρμογές να αποτρέπουν τη διαχείριση του διακόπτη "
|
||||
+"καλύμματος του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:18
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the lid switch."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μια εφαρμογή να αποτρέψει την "
|
||||
+"διαχείριση του διακόπτη καλύμματος του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:19
|
||||
+msgid "Allow non-logged-in users to run programs"
|
||||
+msgstr "Να επιτρέπεται σε μη συνδεμένους χρήστες να εκτελούν προγράμματα"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:20
|
||||
+msgid ""
|
||||
+"Authentication is required to allow a non-logged-in user to run programs."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να επιτρέπεται σε μη συνδεμένους χρήστες να "
|
||||
+"εκτελούν προγράμματα."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:21
|
||||
+msgid "Allow attaching devices to seats"
|
||||
+msgstr "Να επιτρέπεται η προσάρτηση συσκευών στους σταθμούς εργασίας"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:22
|
||||
+msgid "Authentication is required for attaching a device to a seat."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:23
|
||||
+msgid "Flush device to seat attachments"
|
||||
+msgstr "Αφαίρεση συσκευής από προσαρτήσεις σταθμού εργασίας"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:24
|
||||
+msgid ""
|
||||
+"Authentication is required for resetting how devices are attached to seats."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για επαναφορά του τρόπου που οι συσκευές προσαρτώνται "
|
||||
+"στους σταθμούς εργασίας."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:25
|
||||
+msgid "Power off the system"
|
||||
+msgstr "Σβήσιμο του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:26
|
||||
+msgid "Authentication is required for powering off the system."
|
||||
+msgstr "Απαιτείται πιστοποίηση για την σβήσιμο του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:27
|
||||
+msgid "Power off the system while other users are logged in"
|
||||
+msgstr "Σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:28
|
||||
+msgid ""
|
||||
+"Authentication is required for powering off the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για σβήσιμο του συστήματος ενώ άλλοι χρήστες είναι "
|
||||
+"συνδεμένοι."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:29
|
||||
+msgid "Power off the system while an application asked to inhibit it"
|
||||
+msgstr "Απενεργοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:30
|
||||
+msgid ""
|
||||
+"Authentication is required for powering off the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για απενεργοποίηση του συστήματος ενώ μια εφαρμογή "
|
||||
+"ζήτησε να αποτραπεί."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:31
|
||||
+msgid "Reboot the system"
|
||||
+msgstr "Επανεκκίνηση του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:32
|
||||
+msgid "Authentication is required for rebooting the system."
|
||||
+msgstr "Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:33
|
||||
+msgid "Reboot the system while other users are logged in"
|
||||
+msgstr "Επανεκκίνηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:34
|
||||
+msgid ""
|
||||
+"Authentication is required for rebooting the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ άλλοι χρήστες "
|
||||
+"είναι συνδεμένοι."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:35
|
||||
+msgid "Reboot the system while an application asked to inhibit it"
|
||||
+msgstr "Επανεκκίνηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:36
|
||||
+msgid ""
|
||||
+"Authentication is required for rebooting the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για επανεκκίνηση του συστήματος ενώ μια εφαρμογή "
|
||||
+"ζήτησε να αποτραπεί."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:37
|
||||
+msgid "Suspend the system"
|
||||
+msgstr "Αναστολή του συστήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:38
|
||||
+msgid "Authentication is required for suspending the system."
|
||||
+msgstr "Απαιτείται πιστοποίηση για την αναστολή του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:39
|
||||
+msgid "Suspend the system while other users are logged in"
|
||||
+msgstr "Αναστολή του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:40
|
||||
+msgid ""
|
||||
+"Authentication is required for suspending the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ άλλοι χρήστες είναι "
|
||||
+"συνδεμένοι."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:41
|
||||
+msgid "Suspend the system while an application asked to inhibit it"
|
||||
+msgstr "Αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:42
|
||||
+msgid ""
|
||||
+"Authentication is required for suspending the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για αναστολή του συστήματος ενώ μια εφαρμογή ζήτησε "
|
||||
+"να αποτραπεί."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:43
|
||||
+msgid "Hibernate the system"
|
||||
+msgstr "Αδρανοποίηση του συτήματος"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:44
|
||||
+msgid "Authentication is required for hibernating the system."
|
||||
+msgstr "Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:45
|
||||
+msgid "Hibernate the system while other users are logged in"
|
||||
+msgstr "Αδρανοποίηση του συστήματος ενώ άλλοι χρήστες είναι συνδεμένοι"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:46
|
||||
+msgid ""
|
||||
+"Authentication is required for hibernating the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ άλλοι χρήστες "
|
||||
+"είναι συνδεμένοι."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:47
|
||||
+msgid "Hibernate the system while an application asked to inhibit it"
|
||||
+msgstr "Αδρανοποίηση του συστήματος ενώ μια εφαρμογή ζήτησε να αποτραπεί"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:48
|
||||
+msgid ""
|
||||
+"Authentication is required for hibernating the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για αδρανοποίηση του συστήματος ενώ μια εφαρμογή "
|
||||
+"ζήτησε να αποτραπεί."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
|
||||
+msgid "Set system time"
|
||||
+msgstr "Ορισμός ώρας συστήματος"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the system time."
|
||||
+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3
|
||||
+msgid "Set system timezone"
|
||||
+msgstr "Ορισμός ζώνης ώρας συστήματος"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4
|
||||
+msgid "Authentication is required to set the system timezone."
|
||||
+msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5
|
||||
+msgid "Set RTC to local timezone or UTC"
|
||||
+msgstr "Ορισμός RTC στην τοπική ζώνη ώρας ή UTC"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
|
||||
+msgid ""
|
||||
+"Authentication is required to control whether the RTC stores the local or "
|
||||
+"UTC time."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να ελέγξετε αν το RTC αποθηκεύει την τοπική ή την "
|
||||
+"ώρα UTC."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
|
||||
+msgid "Turn network time synchronization on or off"
|
||||
+msgstr "Ενεργοποίηση/Απενεργοποίηση συγχρονισμού ώρας δικτύου"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
|
||||
+msgid ""
|
||||
+"Authentication is required to control whether network time synchronization "
|
||||
+"shall be enabled."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα "
|
||||
+"ενεργοποιηθεί."
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
|
||||
+msgid "Send passphrase back to system"
|
||||
+msgstr "Αποστολή του συνθηματικού πίσω στο σύστημα"
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
|
||||
+msgid ""
|
||||
+"Authentication is required to send the entered passphrase back to the system."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για αποστολή του εισερχόμενου συνθηματικού πίσω στο "
|
||||
+"σύστημα."
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
|
||||
+msgid "Privileged system and service manager access"
|
||||
+msgstr "Προνομιούχος πρόσβαση διαχειριστή συστήματος και υπηρεσίας"
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
|
||||
+msgid "Authentication is required to access the system and service manager."
|
||||
+msgstr ""
|
||||
+"Απαιτείται πιστοποίηση για να προσπελάσετε τον διαχειριστή συστήματος και "
|
||||
+"υπηρεσιών."
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,82 @@
|
||||
From 7cfa80f07e94c3e48703d145ef03a73dd6e7b983 Mon Sep 17 00:00:00 2001
|
||||
From: Marcel Holtmann <marcel@holtmann.org>
|
||||
Date: Wed, 18 Jun 2014 13:55:32 +0200
|
||||
Subject: [PATCH] hwdb: Update database of Bluetooth company identifiers
|
||||
|
||||
---
|
||||
hwdb/20-bluetooth-vendor-product.hwdb | 42 ++++++++++++++++++++++++++++++---
|
||||
1 file changed, 39 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-bluetooth-vendor-product.hwdb
|
||||
index a65c7db..377748a 100644
|
||||
--- hwdb/20-bluetooth-vendor-product.hwdb
|
||||
+++ hwdb/20-bluetooth-vendor-product.hwdb
|
||||
@@ -115,7 +115,7 @@ bluetooth:v0024*
|
||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||
|
||||
bluetooth:v0025*
|
||||
- ID_VENDOR_FROM_DATABASE=Philips Semiconductors
|
||||
+ ID_VENDOR_FROM_DATABASE=NXP Semiconductors (formerly Philips Semiconductors)
|
||||
|
||||
bluetooth:v0026*
|
||||
ID_VENDOR_FROM_DATABASE=C Technologies
|
||||
@@ -427,7 +427,7 @@ bluetooth:v008B*
|
||||
ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC
|
||||
|
||||
bluetooth:v008C*
|
||||
- ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.)
|
||||
+ ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.)
|
||||
|
||||
bluetooth:v008D*
|
||||
ID_VENDOR_FROM_DATABASE=Zscan Software
|
||||
@@ -1006,10 +1006,46 @@ bluetooth:v014C*
|
||||
ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd
|
||||
|
||||
bluetooth:v014D*
|
||||
- ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD.
|
||||
+ ID_VENDOR_FROM_DATABASE=Huizhou Desay SV Automotive CO., LTD.
|
||||
|
||||
bluetooth:v014E*
|
||||
ID_VENDOR_FROM_DATABASE=Tangerine, Inc.
|
||||
|
||||
bluetooth:v014F*
|
||||
ID_VENDOR_FROM_DATABASE=B&W Group Ltd.
|
||||
+
|
||||
+bluetooth:v0150*
|
||||
+ ID_VENDOR_FROM_DATABASE=Pioneer Corporation
|
||||
+
|
||||
+bluetooth:v0151*
|
||||
+ ID_VENDOR_FROM_DATABASE=OnBeep
|
||||
+
|
||||
+bluetooth:v0152*
|
||||
+ ID_VENDOR_FROM_DATABASE=Vernier Software & Technology
|
||||
+
|
||||
+bluetooth:v0153*
|
||||
+ ID_VENDOR_FROM_DATABASE=ROL Ergo
|
||||
+
|
||||
+bluetooth:v0154*
|
||||
+ ID_VENDOR_FROM_DATABASE=Pebble Technology
|
||||
+
|
||||
+bluetooth:v0155*
|
||||
+ ID_VENDOR_FROM_DATABASE=NETATMO
|
||||
+
|
||||
+bluetooth:v0156*
|
||||
+ ID_VENDOR_FROM_DATABASE=Accumulate AB
|
||||
+
|
||||
+bluetooth:v0157*
|
||||
+ ID_VENDOR_FROM_DATABASE=Anhui Huami Information Technology Co., Ltd.
|
||||
+
|
||||
+bluetooth:v0158*
|
||||
+ ID_VENDOR_FROM_DATABASE=Inmite s.r.o.
|
||||
+
|
||||
+bluetooth:v0159*
|
||||
+ ID_VENDOR_FROM_DATABASE=ChefSteps, Inc.
|
||||
+
|
||||
+bluetooth:v015A*
|
||||
+ ID_VENDOR_FROM_DATABASE=micus AG
|
||||
+
|
||||
+bluetooth:v015B*
|
||||
+ ID_VENDOR_FROM_DATABASE=Biomedical Research Ltd.
|
||||
--
|
||||
1.7.9.2
|
||||
|
29
0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
Normal file
29
0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From e683212f049ac5d3f95fb17300cfa2fd971f78f3 Mon Sep 17 00:00:00 2001
|
||||
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||
Date: Tue, 3 Jun 2014 19:44:03 +0200
|
||||
Subject: [PATCH] log: honour the kernel's quiet cmdline argument
|
||||
|
||||
It was forgotten in b1e90ec515408aec2702522f6f68c4920b56375b
|
||||
|
||||
See https://bugs.freedesktop.org/show_bug.cgi?id=79582
|
||||
---
|
||||
src/shared/log.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git src/shared/log.c src/shared/log.c
|
||||
index 9039db3..6f17705 100644
|
||||
--- src/shared/log.c
|
||||
+++ src/shared/log.c
|
||||
@@ -878,6 +878,9 @@ void log_parse_environment(void) {
|
||||
if (l == 5 && startswith(w, "debug")) {
|
||||
log_set_max_level(LOG_DEBUG);
|
||||
break;
|
||||
+ } else if (l == 5 && startswith(w, "quiet")) {
|
||||
+ log_set_max_level(LOG_WARNING);
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 267b3e41df5a2181f2911433539f81de2fa1511a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||
Date: Thu, 29 May 2014 14:17:37 -0400
|
||||
Subject: [PATCH] tty-ask-password-agent: Do tell what directory we failed to
|
||||
open
|
||||
|
||||
---
|
||||
.../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 3203474..55a2215 100644
|
||||
--- src/tty-ask-password-agent/tty-ask-password-agent.c
|
||||
+++ src/tty-ask-password-agent/tty-ask-password-agent.c
|
||||
@@ -501,7 +501,7 @@ static int show_passwords(void) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
- log_error("opendir(): %m");
|
||||
+ log_error("opendir(/run/systemd/ask-password): %m");
|
||||
return -errno;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
32
0007-keyboard-add-Plantronics-.Audio-mute-button.patch
Normal file
32
0007-keyboard-add-Plantronics-.Audio-mute-button.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 9e3dbf6b2b99d0e16989d9cedb458729db5a60c3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sun, 1 Jun 2014 14:01:23 -0400
|
||||
Subject: [PATCH] keyboard: add Plantronics .Audio mute button
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=79495
|
||||
---
|
||||
hwdb/60-keyboard.hwdb | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
|
||||
index 05e6a04..d053766 100644
|
||||
--- hwdb/60-keyboard.hwdb
|
||||
+++ hwdb/60-keyboard.hwdb
|
||||
@@ -866,6 +866,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
|
||||
KEYBOARD_KEY_f3=volumeup
|
||||
|
||||
###########################################################
|
||||
+# Plantronics
|
||||
+###########################################################
|
||||
+
|
||||
+# Plantronics .Audio 626 DSP
|
||||
+keyboard:usb:v047fpC006*
|
||||
+ KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute
|
||||
+
|
||||
+###########################################################
|
||||
# Quanta
|
||||
###########################################################
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
448
0007-po-add-German-translation.patch
Normal file
448
0007-po-add-German-translation.patch
Normal file
@ -0,0 +1,448 @@
|
||||
From 351e57652a7d9a51f9064c089794d13801eaee73 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Steinwender <b@stbe.at>
|
||||
Date: Sun, 8 Jun 2014 18:39:50 +0200
|
||||
Subject: [PATCH] po: add German translation
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=79430
|
||||
---
|
||||
po/LINGUAS | 1 +
|
||||
po/de.po | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 419 insertions(+)
|
||||
create mode 100644 po/de.po
|
||||
|
||||
diff --git po/LINGUAS po/LINGUAS
|
||||
index 820ca82..2cb0f30 100644
|
||||
--- po/LINGUAS
|
||||
+++ po/LINGUAS
|
||||
@@ -1,3 +1,4 @@
|
||||
+de
|
||||
el
|
||||
fr
|
||||
it
|
||||
diff --git po/de.po po/de.po
|
||||
new file mode 100644
|
||||
index 0000000..a41e33d
|
||||
--- /dev/null
|
||||
+++ po/de.po
|
||||
@@ -0,0 +1,418 @@
|
||||
+# German translation for systemd.
|
||||
+# Copyright (C) 2014 systemd's COPYRIGHT HOLDER
|
||||
+# This file is distributed under the same license as the systemd package.
|
||||
+# Christian Kirbach <Christian.Kirbach@gmail.com>, 2014.
|
||||
+# Benjamin Steinwender <b@stbe.at>, 2014.
|
||||
+#
|
||||
+msgid ""
|
||||
+msgstr ""
|
||||
+"Project-Id-Version: systemd master\n"
|
||||
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
|
||||
+"product=systemd&keywords=I18N+L10N&component=general\n"
|
||||
+"POT-Creation-Date: 2014-06-02 10:25+0000\n"
|
||||
+"PO-Revision-Date: 2014-06-02 22:43+0100\n"
|
||||
+"Last-Translator: Benjamin Steinwender <b@stbe.at>\n"
|
||||
+"Language-Team: German <gnome-de@gnome.org>\n"
|
||||
+"Language: de\n"
|
||||
+"MIME-Version: 1.0\n"
|
||||
+"Content-Type: text/plain; charset=UTF-8\n"
|
||||
+"Content-Transfer-Encoding: 8bit\n"
|
||||
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
+"X-Generator: Poedit 1.6.5\n"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:1
|
||||
+msgid "Set host name"
|
||||
+msgstr "Rechnername festlegen"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the local host name."
|
||||
+msgstr "Legitimierung ist zum Festlegen des lokalen Rechnernamens notwendig"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:3
|
||||
+msgid "Set static host name"
|
||||
+msgstr "Statischen Rechnernamen festlegen"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:4
|
||||
+msgid ""
|
||||
+"Authentication is required to set the statically configured local host name, "
|
||||
+"as well as the pretty host name."
|
||||
+msgstr ""
|
||||
+"Authentifizierung ist erforderlich, um den statisch geänderten, lokalen "
|
||||
+"Rechnernamen, sowie den beschönigten Rechnernamen festzulegen."
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:5
|
||||
+msgid "Set machine information"
|
||||
+msgstr "Maschinen-Information festlegen"
|
||||
+
|
||||
+#: ../src/hostname/org.freedesktop.hostname1.policy.in.h:6
|
||||
+msgid "Authentication is required to set local machine information."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Festlegen der lokalen Maschinen-Information "
|
||||
+"erforderlich."
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:1
|
||||
+msgid "Set system locale"
|
||||
+msgstr "Die lokale Sprachumgebung festlegen"
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the system locale."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Festlegen der systemweiten Spracheinstellungen "
|
||||
+"erforderlich."
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:3
|
||||
+msgid "Set system keyboard settings"
|
||||
+msgstr "Tastatureinstellungen des Systems festlegen"
|
||||
+
|
||||
+#: ../src/locale/org.freedesktop.locale1.policy.in.h:4
|
||||
+msgid "Authentication is required to set the system keyboard settings."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Festlegen der Tastatureinstellungen des Systems "
|
||||
+"erforderlich."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:1
|
||||
+msgid "Allow applications to inhibit system shutdown"
|
||||
+msgstr "Anwendungen dürfen das Herunterfahren des Systems unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:2
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"shutdown."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist notwendig, um Anwendungen das Herunterfahren des Systems "
|
||||
+"zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:3
|
||||
+msgid "Allow applications to delay system shutdown"
|
||||
+msgstr "Anwendungen dürfen das Herunterfahren des Systems verzögern"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:4
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to delay system shutdown."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist notwendig, um Anwendungen das Verzögern des Herunterfahren "
|
||||
+"des Systems zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:5
|
||||
+msgid "Allow applications to inhibit system sleep"
|
||||
+msgstr "Anwendungen dürfen den Bereitschaftsmodus unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:6
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system sleep."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden des "
|
||||
+"Bereitschaftsmodus zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:7
|
||||
+msgid "Allow applications to delay system sleep"
|
||||
+msgstr "Anwendungen dürfen den Bereitschaftsmodus verzögern"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:8
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to delay system sleep."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, um Anwendungen das Verzögern des "
|
||||
+"Bereitschaftsmodus zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:9
|
||||
+msgid "Allow applications to inhibit automatic system suspend"
|
||||
+msgstr "Anwendungen dürfen den automatischen Bereitschaftsmodus unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:10
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit automatic "
|
||||
+"system suspend."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist notwendig, um Anwendungen das Unterbinden des "
|
||||
+"automatischen Bereitschaftsmodus zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:11
|
||||
+msgid "Allow applications to inhibit system handling of the power key"
|
||||
+msgstr ""
|
||||
+"Anwendungen dürfen das Auswerten des Ein-/Ausschaltknopfs des Systems "
|
||||
+"unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:12
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the power key."
|
||||
+msgstr ""
|
||||
+"Legitmierung ist erforderlich, um Anwendungen das Unterbinden der Auswertung "
|
||||
+"der Ein-/Ausschaltknopfs des Systems zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:13
|
||||
+msgid "Allow applications to inhibit system handling of the suspend key"
|
||||
+msgstr ""
|
||||
+"Anwendungen dürfen das Auswerten des Bereitschaftsknopfs des Systems "
|
||||
+"unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:14
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the suspend key."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der "
|
||||
+"Auswertung des Bereitschaftsknopfes des Systems zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:15
|
||||
+msgid "Allow applications to inhibit system handling of the hibernate key"
|
||||
+msgstr ""
|
||||
+"Anwendungen dürfen das Auswerten des Knopfs für den Ruhezustand unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:16
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the hibernate key."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der "
|
||||
+"Auswertung des Knopfs für den Ruhezustand zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:17
|
||||
+msgid "Allow applications to inhibit system handling of the lid switch"
|
||||
+msgstr ""
|
||||
+"Anwendungen dürfen das Auswerten des Notebookdeckelschalters unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:18
|
||||
+msgid ""
|
||||
+"Authentication is required to allow an application to inhibit system "
|
||||
+"handling of the lid switch."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, um Anwendungen das Unterbinden der "
|
||||
+"Auswertung des Notebookdeckelschalters des Systems zu erlauben."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:19
|
||||
+msgid "Allow non-logged-in users to run programs"
|
||||
+msgstr "Nicht angemeldete Benutzer dürfen Programme ausführen"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:20
|
||||
+msgid ""
|
||||
+"Authentication is required to allow a non-logged-in user to run programs."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist erforderlich, damit nicht angemeldete Benutzer Programme "
|
||||
+"ausführen dürfen."
|
||||
+
|
||||
+# www.freedesktop.org/wiki/Software/systemd/multiseat/
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:21
|
||||
+msgid "Allow attaching devices to seats"
|
||||
+msgstr "Das Anschließen von Geräten an Arbeitsstationen erlauben"
|
||||
+
|
||||
+# www.freedesktop.org/wiki/Software/systemd/multiseat/
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:22
|
||||
+msgid "Authentication is required for attaching a device to a seat."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Anschließen eines Geräts an eine Arbeitsstation "
|
||||
+"notwendig."
|
||||
+
|
||||
+# www.freedesktop.org/wiki/Software/systemd/multiseat/
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:23
|
||||
+msgid "Flush device to seat attachments"
|
||||
+msgstr "Zurücksetzen der an eine Arbeitsstation angeschlossenen Geräte"
|
||||
+
|
||||
+# www.freedesktop.org/wiki/Software/systemd/multiseat/
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:24
|
||||
+msgid ""
|
||||
+"Authentication is required for resetting how devices are attached to seats."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Zurücksetzen notwendig, wie Geräte an eine "
|
||||
+"Arbeitsstation angeschlossen werden."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:25
|
||||
+msgid "Power off the system"
|
||||
+msgstr "Das System ausschalten"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:26
|
||||
+msgid "Authentication is required for powering off the system."
|
||||
+msgstr "Legitimierung ist zum Ausschalten des Systems notwendig."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:27
|
||||
+msgid "Power off the system while other users are logged in"
|
||||
+msgstr "Das System herunter fahren, während andere Benutzer angemeldet sind"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:28
|
||||
+msgid ""
|
||||
+"Authentication is required for powering off the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Herunterfahren des Systems notwendig, während andere "
|
||||
+"Benutzer angemeldet sind."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:29
|
||||
+msgid "Power off the system while an application asked to inhibit it"
|
||||
+msgstr ""
|
||||
+"Das System ausschalten, während eine Anwendung anfordert es zu unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:30
|
||||
+msgid ""
|
||||
+"Authentication is required for powering off the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Ausschalten des Systems notwendig, während eine "
|
||||
+"Anwendung anfordert es zu unterbinden."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:31
|
||||
+msgid "Reboot the system"
|
||||
+msgstr "Das System neu starten"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:32
|
||||
+msgid "Authentication is required for rebooting the system."
|
||||
+msgstr "Legitimierung ist zum Neustart des Systems notwendig."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:33
|
||||
+msgid "Reboot the system while other users are logged in"
|
||||
+msgstr "Das Systems neu starten, während andere Benutzer angemeldet sind"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:34
|
||||
+msgid ""
|
||||
+"Authentication is required for rebooting the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Neustart des Systems notwendig, während andere "
|
||||
+"Benutzer angemeldet sind."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:35
|
||||
+msgid "Reboot the system while an application asked to inhibit it"
|
||||
+msgstr ""
|
||||
+"Das System neu starten, während eine Anwendung anfordert es zu unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:36
|
||||
+msgid ""
|
||||
+"Authentication is required for rebooting the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Neustart des Systems notwendig, während eine Anwendung "
|
||||
+"anforderte es zu unterbinden."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:37
|
||||
+msgid "Suspend the system"
|
||||
+msgstr "Das System in Bereitschaft versetzen"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:38
|
||||
+msgid "Authentication is required for suspending the system."
|
||||
+msgstr "Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:39
|
||||
+msgid "Suspend the system while other users are logged in"
|
||||
+msgstr ""
|
||||
+"Das System in Bereitschaft versetzen, während andere Benutzer angemeldet "
|
||||
+"sind."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:40
|
||||
+msgid ""
|
||||
+"Authentication is required for suspending the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, "
|
||||
+"während andere Benutzer angemeldet sind."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:41
|
||||
+msgid "Suspend the system while an application asked to inhibit it"
|
||||
+msgstr ""
|
||||
+"Das System in Bereitschaft versetzen, während eine Anwendung anfordert dies "
|
||||
+"zu unterbinden"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:42
|
||||
+msgid ""
|
||||
+"Authentication is required for suspending the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Versetzen des Systems in Bereitschaft notwendig, "
|
||||
+"während eine Anwendung anfordert dies zu unterbinden."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:43
|
||||
+msgid "Hibernate the system"
|
||||
+msgstr "Den Ruhezustand des Systems aktivieren"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:44
|
||||
+msgid "Authentication is required for hibernating the system."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:45
|
||||
+msgid "Hibernate the system while other users are logged in"
|
||||
+msgstr ""
|
||||
+"Den Ruhezustand des Systems aktivieren, während andere Benutzer angemeldet "
|
||||
+"sind"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:46
|
||||
+msgid ""
|
||||
+"Authentication is required for hibernating the system while other users are "
|
||||
+"logged in."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Aktivieren des Ruhezustands des Systems notwendig, "
|
||||
+"während andere Benutzer angemeldet sind."
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:47
|
||||
+msgid "Hibernate the system while an application asked to inhibit it"
|
||||
+msgstr ""
|
||||
+"Das System in den Ruhezustand versetzen, während eine Anwendung wünscht dies "
|
||||
+"zu verhindern"
|
||||
+
|
||||
+#: ../src/login/org.freedesktop.login1.policy.in.h:48
|
||||
+msgid ""
|
||||
+"Authentication is required for hibernating the system while an application "
|
||||
+"asked to inhibit it."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Versetzen des System in den Ruhezustand notwendig, "
|
||||
+"während eine Anwendung wünscht dies zu verhindern."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:1
|
||||
+msgid "Set system time"
|
||||
+msgstr "Die Systemzeit festlegen"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:2
|
||||
+msgid "Authentication is required to set the system time."
|
||||
+msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:3
|
||||
+msgid "Set system timezone"
|
||||
+msgstr "Die Systemzeitzone festlegen"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:4
|
||||
+msgid "Authentication is required to set the system timezone."
|
||||
+msgstr "Legitimierung ist zum Festlegen der Systemzeitzone notwendig."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:5
|
||||
+msgid "Set RTC to local timezone or UTC"
|
||||
+msgstr "Echtzeituhr auf lokale Zeitzone oder UTC setzen"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:6
|
||||
+msgid ""
|
||||
+"Authentication is required to control whether the RTC stores the local or "
|
||||
+"UTC time."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist notwendig zum Festlegen, ob die Echtzeituhr auf lokale "
|
||||
+"Zeitzone oder UTC eingestellt ist."
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:7
|
||||
+msgid "Turn network time synchronization on or off"
|
||||
+msgstr "Netzwerkzeitabgeich ein- oder ausschalten"
|
||||
+
|
||||
+#: ../src/timedate/org.freedesktop.timedate1.policy.in.h:8
|
||||
+msgid ""
|
||||
+"Authentication is required to control whether network time synchronization "
|
||||
+"shall be enabled."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein "
|
||||
+"soll, erforderlich."
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:1
|
||||
+msgid "Send passphrase back to system"
|
||||
+msgstr "Passphrase zurück an das System senden"
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:2
|
||||
+msgid ""
|
||||
+"Authentication is required to send the entered passphrase back to the system."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist zum Senden des eingegebenen Kennworts zurück an das System "
|
||||
+"notwendig."
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:3
|
||||
+msgid "Privileged system and service manager access"
|
||||
+msgstr "Privilegierter Zugriff auf die System- und Dienstverwaltung"
|
||||
+
|
||||
+#: ../src/core/org.freedesktop.systemd1.policy.in.in.h:4
|
||||
+msgid "Authentication is required to access the system and service manager."
|
||||
+msgstr ""
|
||||
+"Legitimierung ist notwendig für den Zugriff auf die System- und "
|
||||
+"Dienstverwaltung."
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -1,16 +1,23 @@
|
||||
Process 1 (aka init) needs to be started with an empty signal mask. That
|
||||
includes the process 1 that's started after the initrd is finished. When the
|
||||
initrd is using systemd (as it does with dracut based initrds) then it is
|
||||
systemd that calls the real init. Normally this is systemd again, except
|
||||
when the user uses for instance "init=/bin/bash" on the kernel command line.
|
||||
From 5a85ca1cb622fda4a39c8a6f00dccea7f8a1e82a Mon Sep 17 00:00:00 2001
|
||||
From: Ruediger Oertel <ro@suse.de>
|
||||
Date: Fri, 13 Jun 2014 16:41:06 +0200
|
||||
Subject: [PATCH] Reset signal-mask on re-exec to init=..
|
||||
|
||||
Process 1 (aka init) needs to be started with an empty signal mask.
|
||||
That includes the process 1 that's started after the initrd is finished.
|
||||
When the initrd is using systemd (as it does with dracut based initrds)
|
||||
then it is systemd that calls the real init. Normally this is systemd
|
||||
again, except when the user uses for instance "init=/bin/bash" on the
|
||||
kernel command line.
|
||||
---
|
||||
main.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
src/core/main.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git src/core/main.c src/core/main.c
|
||||
index 3aac5d1..3e57f07 100644
|
||||
--- src/core/main.c
|
||||
+++ src/core/main.c 2014-02-27 13:54:21.922236495 +0000
|
||||
@@ -1780,6 +1780,7 @@ finish:
|
||||
+++ src/core/main.c
|
||||
@@ -1843,6 +1843,7 @@ finish:
|
||||
if (reexecute) {
|
||||
const char **args;
|
||||
unsigned i, args_size;
|
||||
@ -18,25 +25,27 @@ when the user uses for instance "init=/bin/bash" on the kernel command line.
|
||||
|
||||
/* Close and disarm the watchdog, so that the new
|
||||
* instance can reinitialize it, but doesn't get
|
||||
@@ -1863,6 +1864,11 @@ finish:
|
||||
@@ -1926,6 +1927,11 @@ finish:
|
||||
args[i++] = NULL;
|
||||
assert(i <= args_size);
|
||||
|
||||
+ /* reenable any blocked signals, especially important
|
||||
+ * if we switch from initial ramdisk to init=... */
|
||||
+ sigemptyset(&ss);
|
||||
+ sigprocmask(SIG_SETMASK,&ss,&o_ss);
|
||||
+ sigprocmask(SIG_SETMASK, &ss, &o_ss);
|
||||
+
|
||||
if (switch_root_init) {
|
||||
args[0] = switch_root_init;
|
||||
execv(args[0], (char* const*) args);
|
||||
@@ -1881,6 +1887,9 @@ finish:
|
||||
@@ -1944,6 +1950,8 @@ finish:
|
||||
log_error("Failed to execute /bin/sh, giving up: %m");
|
||||
} else
|
||||
log_warning("Failed to execute /sbin/init, giving up: %m");
|
||||
+
|
||||
+ /* back to saved state if reexec failed */
|
||||
+ sigprocmask(SIG_SETMASK,&o_ss,NULL);
|
||||
+ sigprocmask(SIG_SETMASK, &o_ss, NULL);
|
||||
}
|
||||
|
||||
if (arg_serialization) {
|
||||
--
|
||||
1.7.9.2
|
||||
|
50
0009-core-clean-up-signal-reset-logic-when-reexec.patch
Normal file
50
0009-core-clean-up-signal-reset-logic-when-reexec.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From 9bfcda9528636914aef3e0ab91191bb81654c83d Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Fri, 20 Jun 2014 16:58:21 +0200
|
||||
Subject: [PATCH] core: clean-up signal reset logic when reexec
|
||||
|
||||
There's no need to save the old sigmask, if we are going to die. Let's
|
||||
simplify this. Also, reset all the signal handlers, so that we don't
|
||||
leave SIG_IGN set for some of them across reexec.
|
||||
---
|
||||
src/core/main.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git src/core/main.c src/core/main.c
|
||||
index 863ba52..6981e72 100644
|
||||
--- src/core/main.c
|
||||
+++ src/core/main.c
|
||||
@@ -1824,7 +1824,7 @@ finish:
|
||||
if (reexecute) {
|
||||
const char **args;
|
||||
unsigned i, args_size;
|
||||
- sigset_t ss, o_ss;
|
||||
+ sigset_t ss;
|
||||
|
||||
/* Close and disarm the watchdog, so that the new
|
||||
* instance can reinitialize it, but doesn't get
|
||||
@@ -1910,8 +1910,10 @@ finish:
|
||||
|
||||
/* reenable any blocked signals, especially important
|
||||
* if we switch from initial ramdisk to init=... */
|
||||
- sigemptyset(&ss);
|
||||
- sigprocmask(SIG_SETMASK, &ss, &o_ss);
|
||||
+ reset_all_signal_handlers();
|
||||
+
|
||||
+ assert_se(sigemptyset(&ss) == 0);
|
||||
+ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
|
||||
|
||||
if (switch_root_init) {
|
||||
args[0] = switch_root_init;
|
||||
@@ -1931,8 +1933,6 @@ finish:
|
||||
log_error("Failed to execute /bin/sh, giving up: %m");
|
||||
} else
|
||||
log_warning("Failed to execute /sbin/init, giving up: %m");
|
||||
-
|
||||
- sigprocmask(SIG_SETMASK, &o_ss, NULL);
|
||||
}
|
||||
|
||||
if (arg_serialization) {
|
||||
--
|
||||
1.7.9.2
|
||||
|
25
0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
Normal file
25
0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From da92ca5eb506d513033e0c7a85daf25a7e1c9d0e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Fri, 20 Jun 2014 22:43:49 -0400
|
||||
Subject: [PATCH] util: treat fuse.sshfs as a network filesystem
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=73727
|
||||
---
|
||||
src/shared/util.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git src/shared/util.c src/shared/util.c
|
||||
index 882a690..dbdb692 100644
|
||||
--- src/shared/util.c
|
||||
+++ src/shared/util.c
|
||||
@@ -1514,6 +1514,7 @@ bool fstype_is_network(const char *fstype) {
|
||||
static const char table[] =
|
||||
"cifs\0"
|
||||
"smbfs\0"
|
||||
+ "sshfs\0"
|
||||
"ncpfs\0"
|
||||
"ncp\0"
|
||||
"nfs\0"
|
||||
--
|
||||
1.7.9.2
|
||||
|
28
0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
Normal file
28
0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 8e75477abdd838d3beddc5fd1c6a7707b22748b6 Mon Sep 17 00:00:00 2001
|
||||
From: Ronny Chevalier <chevalier.ronny@gmail.com>
|
||||
Date: Sat, 21 Jun 2014 22:07:09 +0200
|
||||
Subject: [PATCH] build-sys: add -pthread flag for libsystemd-shared
|
||||
|
||||
src/shared/async.c uses pthread so it will fail at link time if we link
|
||||
only to libsystemd-shared and use async
|
||||
---
|
||||
Makefile.am | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git Makefile.am Makefile.am
|
||||
index c7653ea..00db82d 100644
|
||||
--- Makefile.am
|
||||
+++ Makefile.am
|
||||
@@ -837,7 +837,8 @@ nodist_libsystemd_shared_la_SOURCES = \
|
||||
|
||||
libsystemd_shared_la_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
- $(SECCOMP_CFLAGS)
|
||||
+ $(SECCOMP_CFLAGS) \
|
||||
+ -pthread
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
noinst_LTLIBRARIES += \
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,42 @@
|
||||
Based on 04ef5b03f64d3824a51a2a903548af029a006744 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sun, 22 Jun 2014 14:04:23 -0400
|
||||
Subject: [PATCH] core/transaction: avoid misleading error message when unit
|
||||
not found
|
||||
|
||||
There's no point in telling the user to look at the logs when
|
||||
an attempt to load the unit file failed with ENOENT.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=996133
|
||||
---
|
||||
TODO | 4 ----
|
||||
src/core/transaction.c | 18 ++++++++++++------
|
||||
2 files changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
--- src/core/transaction.c
|
||||
+++ src/core/transaction.c 2014-06-24 11:18:42.746235805 +0000
|
||||
@@ -865,12 +865,18 @@ int transaction_add_job_and_dependencies
|
||||
}
|
||||
|
||||
if (type != JOB_STOP && unit->load_state == UNIT_ERROR) {
|
||||
- sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED,
|
||||
- "Unit %s failed to load: %s. "
|
||||
- "See system logs and 'systemctl status %s' for details.",
|
||||
- unit->id,
|
||||
- strerror(-unit->load_error),
|
||||
- unit->id);
|
||||
+ if (unit->load_error == -ENOENT)
|
||||
+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED,
|
||||
+ "Unit %s failed to load: %s.",
|
||||
+ unit->id,
|
||||
+ strerror(-unit->load_error));
|
||||
+ else
|
||||
+ sd_bus_error_setf(e, BUS_ERROR_LOAD_FAILED,
|
||||
+ "Unit %s failed to load: %s. "
|
||||
+ "See system logs and 'systemctl status %s' for details.",
|
||||
+ unit->id,
|
||||
+ strerror(-unit->load_error),
|
||||
+ unit->id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
532
1021-udev-re-add-persistent-net-rules.patch
Normal file
532
1021-udev-re-add-persistent-net-rules.patch
Normal file
@ -0,0 +1,532 @@
|
||||
Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
@@ -0,0 +1,105 @@
|
||||
+# do not edit this file, it will be overwritten on update
|
||||
+
|
||||
+# these rules generate rules for persistent network device naming
|
||||
+#
|
||||
+# variables used to communicate:
|
||||
+# MATCHADDR MAC address used for the match
|
||||
+# MATCHID bus_id used for the match
|
||||
+# MATCHDRV driver name used for the match
|
||||
+# MATCHIFTYPE interface type match
|
||||
+# COMMENT comment to add to the generated rule
|
||||
+# INTERFACE_NAME requested name supplied by external tool
|
||||
+# INTERFACE_NEW new interface name returned by rule writer
|
||||
+
|
||||
+ACTION!="add", GOTO="persistent_net_generator_end"
|
||||
+SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# ignore the interface if a name has already been set
|
||||
+NAME=="?*", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# device name whitelist
|
||||
+KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+IMPORT{cmdline}="net.ifnames"
|
||||
+ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# ignore Xen virtual interfaces
|
||||
+SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# read MAC address
|
||||
+ENV{MATCHADDR}="$attr{address}"
|
||||
+
|
||||
+# match interface type
|
||||
+ENV{MATCHIFTYPE}="$attr{type}"
|
||||
+
|
||||
+# ignore KVM virtual interfaces
|
||||
+ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end"
|
||||
+# ignore VMWare virtual interfaces
|
||||
+ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end"
|
||||
+# ignore Hyper-V virtual interfaces
|
||||
+ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# These vendors are known to violate the local MAC address assignment scheme
|
||||
+# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
|
||||
+ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
|
||||
+# 3Com
|
||||
+ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist"
|
||||
+# 3Com IBM PC; Imagen; Valid; Cisco; Apple
|
||||
+ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist"
|
||||
+# Intel
|
||||
+ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist"
|
||||
+# Olivetti
|
||||
+ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist"
|
||||
+# CMC Masscomp; Silicon Graphics; Prime EXL
|
||||
+ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist"
|
||||
+# Prominet Corporation Gigabit Ethernet Switch
|
||||
+ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist"
|
||||
+# BTI (Bus-Tech, Inc.) IBM Mainframes
|
||||
+ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist"
|
||||
+# Realtek
|
||||
+ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist"
|
||||
+# Novell 2000
|
||||
+ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist"
|
||||
+# Realtec
|
||||
+ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist"
|
||||
+# Kingston Technologies
|
||||
+ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist"
|
||||
+# Xensource
|
||||
+ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
||||
+
|
||||
+# match interface dev_id
|
||||
+ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
||||
+
|
||||
+# do not use "locally administered" MAC address
|
||||
+ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
||||
+
|
||||
+# do not use empty address
|
||||
+ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
|
||||
+
|
||||
+LABEL="globally_administered_whitelist"
|
||||
+
|
||||
+# build comment line for generated rule:
|
||||
+SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)"
|
||||
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)"
|
||||
+SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)"
|
||||
+SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
|
||||
+
|
||||
+# ibmveth likes to use "locally administered" MAC addresses
|
||||
+DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)"
|
||||
+
|
||||
+# S/390 uses id matches only, do not use MAC address match
|
||||
+SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}=""
|
||||
+
|
||||
+# see if we got enough data to create a rule
|
||||
+ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end"
|
||||
+
|
||||
+# default comment
|
||||
+ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})"
|
||||
+
|
||||
+# write rule
|
||||
+DRIVERS=="?*", IMPORT{program}="write_net_rules"
|
||||
+
|
||||
+# rename interface if needed
|
||||
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
|
||||
+
|
||||
+LABEL="persistent_net_generator_end"
|
||||
Index: systemd-210/src/udev/rule_generator/rule_generator.functions
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-210/src/udev/rule_generator/rule_generator.functions
|
||||
@@ -0,0 +1,113 @@
|
||||
+# functions used by the udev rule generator
|
||||
+
|
||||
+# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
|
||||
+
|
||||
+# This program is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation, either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+PATH='/usr/bin:/bin:/usr/sbin:/sbin'
|
||||
+
|
||||
+# Read a single line from file $1 in the $DEVPATH directory.
|
||||
+# The function must not return an error even if the file does not exist.
|
||||
+sysread() {
|
||||
+ local file="$1"
|
||||
+ [ -e "/sys$DEVPATH/$file" ] || return 0
|
||||
+ local value
|
||||
+ read value < "/sys$DEVPATH/$file" || return 0
|
||||
+ echo "$value"
|
||||
+}
|
||||
+
|
||||
+sysreadlink() {
|
||||
+ local file="$1"
|
||||
+ [ -e "/sys$DEVPATH/$file" ] || return 0
|
||||
+ readlink -f /sys$DEVPATH/$file 2> /dev/null || true
|
||||
+}
|
||||
+
|
||||
+# Return true if a directory is writeable.
|
||||
+writeable() {
|
||||
+ if ln -s test-link $1/.is-writeable 2> /dev/null; then
|
||||
+ rm -f $1/.is-writeable
|
||||
+ return 0
|
||||
+ else
|
||||
+ return 1
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+# Create a lock file for the current rules file.
|
||||
+lock_rules_file() {
|
||||
+ RUNDIR="/run/udev"
|
||||
+ [ -e "$RUNDIR" ] || return 0
|
||||
+
|
||||
+ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}"
|
||||
+
|
||||
+ retry=30
|
||||
+ while ! mkdir $RULES_LOCK 2> /dev/null; do
|
||||
+ if [ $retry -eq 0 ]; then
|
||||
+ echo "Cannot lock $RULES_FILE!" >&2
|
||||
+ exit 2
|
||||
+ fi
|
||||
+ sleep 1
|
||||
+ retry=$(($retry - 1))
|
||||
+ done
|
||||
+}
|
||||
+
|
||||
+unlock_rules_file() {
|
||||
+ [ "$RULES_LOCK" ] || return 0
|
||||
+ rmdir $RULES_LOCK || true
|
||||
+}
|
||||
+
|
||||
+# Choose the real rules file if it is writeable or a temporary file if not.
|
||||
+# Both files should be checked later when looking for existing rules.
|
||||
+choose_rules_file() {
|
||||
+ RUNDIR="/run/udev"
|
||||
+ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}"
|
||||
+ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1
|
||||
+
|
||||
+ if writeable ${RULES_FILE%/*}; then
|
||||
+ RO_RULES_FILE='/dev/null'
|
||||
+ else
|
||||
+ RO_RULES_FILE=$RULES_FILE
|
||||
+ RULES_FILE=$tmp_rules_file
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+# Return the name of the first free device.
|
||||
+raw_find_next_available() {
|
||||
+ local links="$1"
|
||||
+
|
||||
+ local basename=${links%%[ 0-9]*}
|
||||
+ local max=-1
|
||||
+ for name in $links; do
|
||||
+ local num=${name#$basename}
|
||||
+ [ "$num" ] || num=0
|
||||
+ [ $num -gt $max ] && max=$num
|
||||
+ done
|
||||
+
|
||||
+ local max=$(($max + 1))
|
||||
+ # "name0" actually is just "name"
|
||||
+ [ $max -eq 0 ] && return
|
||||
+ echo "$max"
|
||||
+}
|
||||
+
|
||||
+# Find all rules matching a key (with action) and a pattern.
|
||||
+find_all_rules() {
|
||||
+ local key="$1"
|
||||
+ local linkre="$2"
|
||||
+ local match="$3"
|
||||
+
|
||||
+ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*'
|
||||
+ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \
|
||||
+ $RO_RULES_FILE \
|
||||
+ $([ -e $RULES_FILE ] && echo $RULES_FILE) \
|
||||
+ 2>/dev/null)
|
||||
+}
|
||||
Index: systemd-210/src/udev/rule_generator/write_net_rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-210/src/udev/rule_generator/write_net_rules
|
||||
@@ -0,0 +1,141 @@
|
||||
+#!/bin/sh -e
|
||||
+
|
||||
+# This script is run to create persistent network device naming rules
|
||||
+# based on properties of the device.
|
||||
+# If the interface needs to be renamed, INTERFACE_NEW=<name> will be printed
|
||||
+# on stdout to allow udev to IMPORT it.
|
||||
+
|
||||
+# variables used to communicate:
|
||||
+# MATCHADDR MAC address used for the match
|
||||
+# MATCHID bus_id used for the match
|
||||
+# MATCHDEVID dev_id used for the match
|
||||
+# MATCHDRV driver name used for the match
|
||||
+# MATCHIFTYPE interface type match
|
||||
+# COMMENT comment to add to the generated rule
|
||||
+# INTERFACE_NAME requested name supplied by external tool
|
||||
+# INTERFACE_NEW new interface name returned by rule writer
|
||||
+
|
||||
+# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
|
||||
+# Copyright (C) 2007 Kay Sievers <kay.sievers@vrfy.org>
|
||||
+#
|
||||
+# This program is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation, either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# debug, if UDEV_LOG=<debug>
|
||||
+if [ -n "$UDEV_LOG" ]; then
|
||||
+ if [ "$UDEV_LOG" -ge 7 ]; then
|
||||
+ set -x
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'
|
||||
+
|
||||
+. /usr/lib/udev/rule_generator.functions
|
||||
+
|
||||
+interface_name_taken() {
|
||||
+ local value="$(find_all_rules 'NAME=' $INTERFACE)"
|
||||
+ if [ "$value" ]; then
|
||||
+ return 0
|
||||
+ else
|
||||
+ return 1
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+find_next_available() {
|
||||
+ raw_find_next_available "$(find_all_rules 'NAME=' "$1")"
|
||||
+}
|
||||
+
|
||||
+write_rule() {
|
||||
+ local match="$1"
|
||||
+ local name="$2"
|
||||
+ local comment="$3"
|
||||
+
|
||||
+ {
|
||||
+ if [ "$PRINT_HEADER" ]; then
|
||||
+ PRINT_HEADER=
|
||||
+ echo "# This file was automatically generated by the $0"
|
||||
+ echo "# program, run by the persistent-net-generator.rules rules file."
|
||||
+ echo "#"
|
||||
+ echo "# You can modify it, as long as you keep each rule on a single"
|
||||
+ echo "# line, and change only the value of the NAME= key."
|
||||
+ fi
|
||||
+
|
||||
+ echo ""
|
||||
+ [ "$comment" ] && echo "# $comment"
|
||||
+ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\""
|
||||
+ } >> $RULES_FILE
|
||||
+}
|
||||
+
|
||||
+if [ -z "$INTERFACE" ]; then
|
||||
+ echo "missing \$INTERFACE" >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+# Prevent concurrent processes from modifying the file at the same time.
|
||||
+lock_rules_file
|
||||
+
|
||||
+# Check if the rules file is writeable.
|
||||
+choose_rules_file
|
||||
+
|
||||
+# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces
|
||||
+if [ "$MATCHADDR" ]; then
|
||||
+ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\""
|
||||
+fi
|
||||
+
|
||||
+if [ "$MATCHDRV" ]; then
|
||||
+ match="$match, DRIVERS==\"$MATCHDRV\""
|
||||
+fi
|
||||
+
|
||||
+if [ "$MATCHDEVID" ]; then
|
||||
+ match="$match, ATTR{dev_id}==\"$MATCHDEVID\""
|
||||
+fi
|
||||
+
|
||||
+if [ "$MATCHID" ]; then
|
||||
+ match="$match, KERNELS==\"$MATCHID\""
|
||||
+fi
|
||||
+
|
||||
+if [ "$MATCHIFTYPE" ]; then
|
||||
+ match="$match, ATTR{type}==\"$MATCHIFTYPE\""
|
||||
+fi
|
||||
+
|
||||
+if [ -z "$match" ]; then
|
||||
+ echo "missing valid match" >&2
|
||||
+ unlock_rules_file
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+basename=${INTERFACE%%[0-9]*}
|
||||
+match="$match, KERNEL==\"$basename*\""
|
||||
+
|
||||
+if [ "$INTERFACE_NAME" ]; then
|
||||
+ # external tools may request a custom name
|
||||
+ COMMENT="$COMMENT (custom name provided by external tool)"
|
||||
+ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then
|
||||
+ INTERFACE=$INTERFACE_NAME;
|
||||
+ echo "INTERFACE_NEW=$INTERFACE"
|
||||
+ fi
|
||||
+else
|
||||
+ # if a rule using the current name already exists, find a new name
|
||||
+ if interface_name_taken; then
|
||||
+ INTERFACE="$basename$(find_next_available "$basename[0-9]*")"
|
||||
+ # prevent INTERFACE from being "eth" instead of "eth0"
|
||||
+ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0
|
||||
+ echo "INTERFACE_NEW=$INTERFACE"
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+write_rule "$match" "$INTERFACE" "$COMMENT"
|
||||
+
|
||||
+unlock_rules_file
|
||||
+
|
||||
+exit 0
|
||||
Index: systemd-210/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-210.orig/Makefile.am
|
||||
+++ systemd-210/Makefile.am
|
||||
@@ -2552,7 +2552,14 @@ dist_udevrules_DATA += \
|
||||
rules/75-tty-description.rules \
|
||||
rules/78-sound-card.rules \
|
||||
rules/80-net-setup-link.rules \
|
||||
- rules/95-udev-late.rules
|
||||
+ rules/95-udev-late.rules \
|
||||
+ src/udev/rule_generator/75-persistent-net-generator.rules \
|
||||
+ src/udev/rule_generator/76-net-sriov-names.rules
|
||||
+
|
||||
+udevlibexec_PROGRAMS += \
|
||||
+ src/udev/rule_generator/rule_generator.functions \
|
||||
+ src/udev/rule_generator/write_net_rules \
|
||||
+ src/udev/rule_generator/net-set-sriov-names
|
||||
|
||||
dist_udevhwdb_DATA = \
|
||||
hwdb/20-pci-vendor-model.hwdb \
|
||||
Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
||||
@@ -0,0 +1,18 @@
|
||||
+# do not edit this file, it will be overwritten on update
|
||||
+#
|
||||
+# rename SRIOV virtual function interfaces
|
||||
+
|
||||
+ACTION=="remove", GOTO="net-sriov-names_end"
|
||||
+SUBSYSTEM!="net", GOTO="net-sriov-names_end"
|
||||
+
|
||||
+IMPORT{cmdline}="net.ifnames"
|
||||
+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
|
||||
+
|
||||
+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name"
|
||||
+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names"
|
||||
+
|
||||
+# rename interface if needed
|
||||
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
|
||||
+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}"
|
||||
+
|
||||
+LABEL="net-sriov-names_end"
|
||||
Index: systemd-210/src/udev/rule_generator/net-set-sriov-names
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-210/src/udev/rule_generator/net-set-sriov-names
|
||||
@@ -0,0 +1,79 @@
|
||||
+#!/bin/bash -e
|
||||
+#
|
||||
+# This script is run to rename virtual interfaces
|
||||
+#
|
||||
+
|
||||
+if [ -n "$UDEV_LOG" ]; then
|
||||
+ if [ "$UDEV_LOG" -ge 7 ]; then
|
||||
+ set -x
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+# according to dev_new_index(), ifindex is within [1, INT_MAX]
|
||||
+int_max=$(/usr/bin/getconf INT_MAX)
|
||||
+ifindex_before() {
|
||||
+ a=$1
|
||||
+ b=$2
|
||||
+
|
||||
+ ((0 < (b - a) && (b - a) < int_max / 2 ||
|
||||
+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2))
|
||||
+}
|
||||
+
|
||||
+rename_interface() {
|
||||
+ local src_net=$1
|
||||
+ local dest_net=$2
|
||||
+ local err=0
|
||||
+
|
||||
+ /sbin/ip link set dev $src_net down
|
||||
+ /sbin/ip link set dev $src_net name $dest_net
|
||||
+}
|
||||
+
|
||||
+if [ -z "$INTERFACE" ]; then
|
||||
+ echo "missing \$INTERFACE" >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then
|
||||
+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net")
|
||||
+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then
|
||||
+ echo "too many pf's" >&2
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ read vfindex < "/sys/class/net/$INTERFACE/ifindex"
|
||||
+ read pfindex < "/sys/class/net/$pf/ifindex"
|
||||
+ if ifindex_before $pfindex $vfindex; then
|
||||
+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device"))
|
||||
+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do
|
||||
+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then
|
||||
+ vfnum=$(basename "$virtfn")
|
||||
+ vfnum=${vfnum#virtfn}
|
||||
+ echo "INTERFACE_NEW=$pf.vf$vfnum"
|
||||
+ exit 0
|
||||
+ fi
|
||||
+ done
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+read pfindex < "/sys/class/net/$INTERFACE/ifindex"
|
||||
+shopt -s nullglob
|
||||
+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do
|
||||
+ vf=$(ls -1 "$virtfn/net")
|
||||
+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then
|
||||
+ echo "too many vf's" >&2
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ read vfindex < "/sys/class/net/$vf/ifindex"
|
||||
+ if ifindex_before $vfindex $pfindex; then
|
||||
+ vfnum=$(basename "$virtfn")
|
||||
+ vfnum=${vfnum#virtfn}
|
||||
+ if [ "$INTERFACE_NEW" ]; then
|
||||
+ new_name=$INTERFACE_NEW
|
||||
+ else
|
||||
+ new_name=$INTERFACE
|
||||
+ fi
|
||||
+ new_name="$new_name.vf$vfnum"
|
||||
+ if [ "$vf" != "$new_name" ]; then
|
||||
+ rename_interface "$vf" "$new_name"
|
||||
+ fi
|
||||
+ fi
|
||||
+done
|
||||
Index: systemd-210/src/udev/net/link-config.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/net/link-config.c
|
||||
+++ systemd-210/src/udev/net/link-config.c
|
||||
@@ -193,6 +193,18 @@ static bool enable_name_policy(void) {
|
||||
r = proc_cmdline(&line);
|
||||
if (r < 0)
|
||||
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
|
||||
+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1)
|
||||
+# warning Using persistent rules as a default
|
||||
+ if (r <= 0)
|
||||
+ return false;
|
||||
+
|
||||
+ FOREACH_WORD_QUOTED(w, l, line, state)
|
||||
+ if (strneq(w, "net.ifnames=1", l))
|
||||
+ return true;
|
||||
+
|
||||
+ return false;
|
||||
+#else
|
||||
+# warning Using predictable rules as a default
|
||||
if (r <= 0)
|
||||
return true;
|
||||
|
||||
@@ -201,6 +213,7 @@ static bool enable_name_policy(void) {
|
||||
return false;
|
||||
|
||||
return true;
|
||||
+#endif
|
||||
}
|
||||
|
||||
int link_config_load(link_config_ctx *ctx) {
|
1445
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
Normal file
1445
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,31 @@
|
||||
From a52ec8ed881537627869afa8f0486db7e20ce2db Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||
Date: Fri, 30 May 2014 13:16:56 -0400
|
||||
Subject: [PATCH] udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE
|
||||
failed.
|
||||
|
||||
I am getting
|
||||
|
||||
"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid
|
||||
argument", the error message does not tell on which specific device the
|
||||
problem is, add that info.
|
||||
---
|
||||
src/udev/udev-builtin-keyboard.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/udev/udev-builtin-keyboard.c src/udev/udev-builtin-keyboard.c
|
||||
index 614e44e..9b66bfd 100644
|
||||
--- src/udev/udev-builtin-keyboard.c
|
||||
+++ src/udev/udev-builtin-keyboard.c
|
||||
@@ -143,7 +143,7 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo
|
||||
log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)",
|
||||
map[i].scan, map[i].scan, map[i].key, map[i].key);
|
||||
if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0)
|
||||
- log_error("Error calling EVIOCSKEYCODE (scan code 0x%x, key code %d): %m", map[i].scan, map[i].key);
|
||||
+ log_error("Error calling EVIOCSKEYCODE on device node '%s' (scan code 0x%x, key code %d): %m", node, map[i].scan, map[i].key);
|
||||
}
|
||||
|
||||
/* install list of force-release codes */
|
||||
--
|
||||
1.7.9.2
|
||||
|
41
1024-udev-always-close-lock-file-descriptor.patch
Normal file
41
1024-udev-always-close-lock-file-descriptor.patch
Normal file
@ -0,0 +1,41 @@
|
||||
Based on 3d06f4183470d42361303086ed9dedd29c0ffc1b Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Tue, 3 Jun 2014 10:46:51 +0200
|
||||
Subject: [PATCH] udev: always close lock file descriptor
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=79576
|
||||
---
|
||||
src/udev/udevd.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
--- src/udev/udevd.c
|
||||
+++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000
|
||||
@@ -301,6 +301,7 @@ static void worker_new(struct event *eve
|
||||
if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) {
|
||||
log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d));
|
||||
err = -EWOULDBLOCK;
|
||||
+ close_nointr_nofail(fd_lock); fd_lock = -1;
|
||||
goto skip;
|
||||
}
|
||||
}
|
||||
@@ -318,7 +319,7 @@ static void worker_new(struct event *eve
|
||||
}
|
||||
|
||||
if (fd_lock >= 0)
|
||||
- close(fd_lock);
|
||||
+ close_nointr_nofail(fd_lock);
|
||||
|
||||
/* send processed event back to libudev listeners */
|
||||
udev_monitor_send_device(worker_monitor, NULL, dev);
|
||||
@@ -378,9 +379,9 @@ skip:
|
||||
out:
|
||||
udev_device_unref(dev);
|
||||
if (fd_signal >= 0)
|
||||
- close(fd_signal);
|
||||
+ close_nointr_nofail(fd_signal);
|
||||
if (fd_ep >= 0)
|
||||
- close(fd_ep);
|
||||
+ close_nointr_nofail(fd_ep);
|
||||
close(fd_inotify);
|
||||
close(worker_watch[WRITE_END]);
|
||||
udev_rules_unref(rules);
|
@ -0,0 +1,39 @@
|
||||
From e918a1b5a94f270186dca59156354acd2a596494 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Tue, 3 Jun 2014 16:49:38 +0200
|
||||
Subject: [PATCH] udev: exclude device-mapper from block device ownership event
|
||||
locking
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 14 +++++++++++++-
|
||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
|
||||
index 819ea3b..6c05104 100644
|
||||
--- a/src/udev/udevd.c
|
||||
+++ b/src/udev/udevd.c
|
||||
@@ -290,7 +290,19 @@ static void worker_new(struct event *event)
|
||||
* acquired the lock, the external process will block until
|
||||
* udev has finished its event handling.
|
||||
*/
|
||||
- if (streq_ptr("block", udev_device_get_subsystem(dev))) {
|
||||
+
|
||||
+ /*
|
||||
+ * <kabi_> since we make check - device seems unused - we try
|
||||
+ * ioctl to deactivate - and device is found to be opened
|
||||
+ * <kay> sure, you try to take a write lock
|
||||
+ * <kay> if you get it udev is out
|
||||
+ * <kay> if you can't get it, udev is busy
|
||||
+ * <kabi_> we cannot deactivate openned device (as it is in-use)
|
||||
+ * <kay> maybe we should just exclude dm from that thing entirely
|
||||
+ * <kabi_> IMHO this sounds like a good plan for this moment
|
||||
+ */
|
||||
+ if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
+ !startswith("dm-", udev_device_get_sysname(dev))) {
|
||||
struct udev_device *d = dev;
|
||||
|
||||
if (streq_ptr("partition", udev_device_get_devtype(d)))
|
||||
--
|
||||
1.8.4.5
|
||||
|
85
1026-udevd-inotify-modernizations.patch
Normal file
85
1026-udevd-inotify-modernizations.patch
Normal file
@ -0,0 +1,85 @@
|
||||
From edd32000c806e4527c5f376d138f7bff07724c26 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 11:05:45 +0200
|
||||
Subject: [PATCH] udevd: inotify - modernizations
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 45 ++++++++++++++++++++++-----------------------
|
||||
1 file changed, 22 insertions(+), 23 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -736,20 +736,30 @@ out:
|
||||
return udev_ctrl_connection_unref(ctrl_conn);
|
||||
}
|
||||
|
||||
+static void synthesize_change(struct udev_device *dev) {
|
||||
+ char filename[UTIL_PATH_SIZE];
|
||||
+
|
||||
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
+ write_string_file(filename, "change");
|
||||
+}
|
||||
+
|
||||
/* read inotify messages */
|
||||
static int handle_inotify(struct udev *udev)
|
||||
{
|
||||
int nbytes, pos;
|
||||
char *buf;
|
||||
struct inotify_event *ev;
|
||||
+ int r;
|
||||
|
||||
- if ((ioctl(fd_inotify, FIONREAD, &nbytes) < 0) || (nbytes <= 0))
|
||||
- return 0;
|
||||
+ r = ioctl(fd_inotify, FIONREAD, &nbytes);
|
||||
+ if (r < 0 || nbytes <= 0)
|
||||
+ return -errno;
|
||||
|
||||
buf = malloc(nbytes);
|
||||
- if (buf == NULL) {
|
||||
+ if (!buf) {
|
||||
log_error("error getting buffer for inotify");
|
||||
- return -1;
|
||||
+ return -ENOMEM;
|
||||
}
|
||||
|
||||
nbytes = read(fd_inotify, buf, nbytes);
|
||||
@@ -759,27 +769,16 @@ static int handle_inotify(struct udev *u
|
||||
|
||||
ev = (struct inotify_event *)(buf + pos);
|
||||
dev = udev_watch_lookup(udev, ev->wd);
|
||||
- if (dev != NULL) {
|
||||
- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev));
|
||||
- if (ev->mask & IN_CLOSE_WRITE) {
|
||||
- char filename[UTIL_PATH_SIZE];
|
||||
- int fd;
|
||||
-
|
||||
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
- fd = open(filename, O_WRONLY|O_CLOEXEC);
|
||||
- if (fd >= 0) {
|
||||
- if (write(fd, "change", 6) < 0)
|
||||
- log_debug("error writing uevent: %m");
|
||||
- close(fd);
|
||||
- }
|
||||
- }
|
||||
- if (ev->mask & IN_IGNORED)
|
||||
- udev_watch_end(udev, dev);
|
||||
+ if (!dev)
|
||||
+ continue;
|
||||
|
||||
- udev_device_unref(dev);
|
||||
- }
|
||||
+ log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev));
|
||||
+ if (ev->mask & IN_CLOSE_WRITE)
|
||||
+ synthesize_change(dev);
|
||||
+ else if (ev->mask & IN_IGNORED)
|
||||
+ udev_watch_end(udev, dev);
|
||||
|
||||
+ udev_device_unref(dev);
|
||||
}
|
||||
|
||||
free(buf);
|
@ -0,0 +1,84 @@
|
||||
From f3a740a5dae792fb6b2d411022ce8c29ced1c3f1 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 12:16:28 +0200
|
||||
Subject: [PATCH] udev: synthesize "change' events for partitions when tools
|
||||
change the disk
|
||||
|
||||
This should make sure that fdisk-like programs will automatically
|
||||
cause an update of all partitions, just like mkfs-like programs cause
|
||||
an update of the partition.
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 42 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -46,6 +46,7 @@
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#include "udev.h"
|
||||
+#include "udev-util.h"
|
||||
#include "sd-daemon.h"
|
||||
#include "cgroup-util.h"
|
||||
#include "dev-setup.h"
|
||||
@@ -736,15 +737,54 @@ out:
|
||||
return udev_ctrl_connection_unref(ctrl_conn);
|
||||
}
|
||||
|
||||
-static void synthesize_change(struct udev_device *dev) {
|
||||
+static int synthesize_change(struct udev_device *dev) {
|
||||
char filename[UTIL_PATH_SIZE];
|
||||
+ int r;
|
||||
|
||||
log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
write_string_file(filename, "change");
|
||||
+
|
||||
+ /* for disks devices, re-trigger all partitions too */
|
||||
+ if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
+ streq_ptr("disk", udev_device_get_devtype(dev))) {
|
||||
+ struct udev *udev = udev_device_get_udev(dev);
|
||||
+ _cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
|
||||
+ struct udev_list_entry *item;
|
||||
+
|
||||
+ e = udev_enumerate_new(udev);
|
||||
+ if (!e)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ r = udev_enumerate_add_match_parent(e, dev);
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
+
|
||||
+ r = udev_enumerate_add_match_subsystem(e, "block");
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
+
|
||||
+ r = udev_enumerate_scan_devices(e);
|
||||
+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
|
||||
+ _cleanup_udev_device_unref_ struct udev_device *d = NULL;
|
||||
+
|
||||
+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
|
||||
+ if (!d)
|
||||
+ continue;
|
||||
+
|
||||
+ if (!streq_ptr("partition", udev_device_get_devtype(d)))
|
||||
+ continue;
|
||||
+
|
||||
+ log_debug("device %s closed, synthesising partition '%s' 'change'",
|
||||
+ udev_device_get_devnode(dev), udev_device_get_devnode(d));
|
||||
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL);
|
||||
+ write_string_file(filename, "change");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
-/* read inotify messages */
|
||||
static int handle_inotify(struct udev *udev)
|
||||
{
|
||||
int nbytes, pos;
|
34
1028-udev-link-config-fix-mem-leak.patch
Normal file
34
1028-udev-link-config-fix-mem-leak.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From edf029b7fd9a5853a87d3ca99aac2922bb8a277e Mon Sep 17 00:00:00 2001
|
||||
From: Tom Gundersen <teg@jklm.no>
|
||||
Date: Wed, 4 Jun 2014 12:34:23 +0200
|
||||
Subject: [PATCH] udev: link-config - fix mem leak
|
||||
|
||||
Reported by Kay.
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/net/link-config.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-210/src/udev/net/link-config.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/net/link-config.c
|
||||
+++ systemd-210/src/udev/net/link-config.c
|
||||
@@ -118,6 +118,7 @@ static void link_configs_free(link_confi
|
||||
free(link->match_type);
|
||||
free(link->description);
|
||||
free(link->alias);
|
||||
+ free(link->name_policy);
|
||||
|
||||
free(link);
|
||||
}
|
||||
@@ -205,7 +206,8 @@ static bool enable_name_policy(void) {
|
||||
|
||||
int link_config_load(link_config_ctx *ctx) {
|
||||
int r;
|
||||
- char **files, **f;
|
||||
+ _cleanup_strv_free_ char **files;
|
||||
+ char **f;
|
||||
|
||||
link_configs_free(ctx);
|
||||
|
94
1029-udev-try-first-re-reading-the-partition-table.patch
Normal file
94
1029-udev-try-first-re-reading-the-partition-table.patch
Normal file
@ -0,0 +1,94 @@
|
||||
From ede344452a54e1c53f541cad12a06269a4fe96a9 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 13:30:24 +0200
|
||||
Subject: [PATCH] udev: try first re-reading the partition table
|
||||
|
||||
mounted partitions:
|
||||
# dd if=/dev/zero of=/dev/sda bs=1 count=1
|
||||
UDEV [4157.369250] change .../0:0:0:0/block/sda (block)
|
||||
UDEV [4157.375059] change .../0:0:0:0/block/sda/sda1 (block)
|
||||
UDEV [4157.397088] change .../0:0:0:0/block/sda/sda2 (block)
|
||||
UDEV [4157.404842] change .../0:0:0:0/block/sda/sda4 (block)
|
||||
|
||||
unmounted partitions:
|
||||
# dd if=/dev/zero of=/dev/sdb bs=1 count=1
|
||||
UDEV [4163.450217] remove .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block)
|
||||
UDEV [4163.593167] change .../target6:0:0/6:0:0:0/block/sdb (block)
|
||||
UDEV [4163.713982] add .../target6:0:0/6:0:0:0/block/sdb/sdb1 (block)
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 39 +++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 33 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <sys/un.h>
|
||||
#include <sys/signalfd.h>
|
||||
#include <sys/epoll.h>
|
||||
+#include <sys/mount.h>
|
||||
#include <sys/poll.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -741,17 +742,37 @@ static int synthesize_change(struct udev
|
||||
char filename[UTIL_PATH_SIZE];
|
||||
int r;
|
||||
|
||||
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
- write_string_file(filename, "change");
|
||||
-
|
||||
- /* for disks devices, re-trigger all partitions too */
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
- streq_ptr("disk", udev_device_get_devtype(dev))) {
|
||||
+ streq_ptr("disk", udev_device_get_devtype(dev)) &&
|
||||
+ !startswith("dm-", udev_device_get_sysname(dev))) {
|
||||
+ int fd;
|
||||
struct udev *udev = udev_device_get_udev(dev);
|
||||
_cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
|
||||
struct udev_list_entry *item;
|
||||
|
||||
+ /*
|
||||
+ * Try to re-read the partition table, this only succeeds if
|
||||
+ * none of the devices is busy.
|
||||
+ *
|
||||
+ * The kernel will send out a change event for the disk, and
|
||||
+ * "remove/add" for all partitions.
|
||||
+ */
|
||||
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
+ if (fd >= 0) {
|
||||
+ r = ioctl(fd, BLKRRPART, 0);
|
||||
+ close(fd);
|
||||
+ if (r >= 0)
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Re-reading the partition table did not work, synthesize "change"
|
||||
+ * events for the disk and all partitions.
|
||||
+ */
|
||||
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
+ write_string_file(filename, "change");
|
||||
+
|
||||
e = udev_enumerate_new(udev);
|
||||
if (!e)
|
||||
return -ENOMEM;
|
||||
@@ -780,8 +801,14 @@ static int synthesize_change(struct udev
|
||||
strscpyl(filename, sizeof(filename), udev_device_get_syspath(d), "/uevent", NULL);
|
||||
write_string_file(filename, "change");
|
||||
}
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
+ write_string_file(filename, "change");
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
23
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
Normal file
23
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 14:09:31 +0200
|
||||
Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL)
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -757,7 +757,7 @@ static int synthesize_change(struct udev
|
||||
* The kernel will send out a change event for the disk, and
|
||||
* "remove/add" for all partitions.
|
||||
*/
|
||||
- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
if (fd >= 0) {
|
||||
r = ioctl(fd, BLKRRPART, 0);
|
||||
close(fd);
|
98
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
Normal file
98
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
Normal file
@ -0,0 +1,98 @@
|
||||
From e9fc29f4ecc9509ccc02eb8a014341e26c0d7831 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 15:17:15 +0200
|
||||
Subject: [PATCH] udev: make sure we always get "change" for the disk
|
||||
|
||||
The kernel will return 0 for REREADPT when no partition table
|
||||
is found, we have to send out "change" ourselves.
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 53 +++++++++++++++++++++++++++++++++++++++--------------
|
||||
1 file changed, 39 insertions(+), 14 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -745,34 +745,28 @@ static int synthesize_change(struct udev
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
streq_ptr("disk", udev_device_get_devtype(dev)) &&
|
||||
!startswith("dm-", udev_device_get_sysname(dev))) {
|
||||
+ bool part_table_read = false;
|
||||
+ bool has_partitions = false;
|
||||
int fd;
|
||||
struct udev *udev = udev_device_get_udev(dev);
|
||||
_cleanup_udev_enumerate_unref_ struct udev_enumerate *e = NULL;
|
||||
struct udev_list_entry *item;
|
||||
|
||||
/*
|
||||
- * Try to re-read the partition table, this only succeeds if
|
||||
- * none of the devices is busy.
|
||||
- *
|
||||
- * The kernel will send out a change event for the disk, and
|
||||
- * "remove/add" for all partitions.
|
||||
+ * Try to re-read the partition table. This only succeeds if
|
||||
+ * none of the devices is busy. The kernel returns 0 if no
|
||||
+ * partition table is found, and we will not get an event for
|
||||
+ * the disk.
|
||||
*/
|
||||
fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
if (fd >= 0) {
|
||||
r = ioctl(fd, BLKRRPART, 0);
|
||||
close(fd);
|
||||
if (r >= 0)
|
||||
- return 0;
|
||||
+ part_table_read = true;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Re-reading the partition table did not work, synthesize "change"
|
||||
- * events for the disk and all partitions.
|
||||
- */
|
||||
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
- write_string_file(filename, "change");
|
||||
-
|
||||
+ /* search for partitions */
|
||||
e = udev_enumerate_new(udev);
|
||||
if (!e)
|
||||
return -ENOMEM;
|
||||
@@ -786,6 +780,37 @@ static int synthesize_change(struct udev
|
||||
return r;
|
||||
|
||||
r = udev_enumerate_scan_devices(e);
|
||||
+
|
||||
+ udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
|
||||
+ _cleanup_udev_device_unref_ struct udev_device *d = NULL;
|
||||
+
|
||||
+ d = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
|
||||
+ if (!d)
|
||||
+ continue;
|
||||
+
|
||||
+ if (!streq_ptr("partition", udev_device_get_devtype(d)))
|
||||
+ continue;
|
||||
+
|
||||
+ has_partitions = true;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * We have partitions and re-read the table, the kernel already sent
|
||||
+ * out a "change" event for the disk, and "remove/add" for all
|
||||
+ * partitions.
|
||||
+ */
|
||||
+ if (part_table_read && has_partitions)
|
||||
+ return 0;
|
||||
+
|
||||
+ /*
|
||||
+ * We have partitions but re-reading the partition table did not
|
||||
+ * work, synthesize "change" for the disk and all partitions.
|
||||
+ */
|
||||
+ log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
|
||||
+ strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
|
||||
+ write_string_file(filename, "change");
|
||||
+
|
||||
udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
|
||||
_cleanup_udev_device_unref_ struct udev_device *d = NULL;
|
||||
|
@ -0,0 +1,29 @@
|
||||
From 02ba8fb3357daf57f6120ac512fb464a4c623419 Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 4 Jun 2014 16:21:19 +0200
|
||||
Subject: [PATCH] udev: guard REREADPT by exclusive lock instead of O_EXCL
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -758,9 +758,12 @@ static int synthesize_change(struct udev
|
||||
* partition table is found, and we will not get an event for
|
||||
* the disk.
|
||||
*/
|
||||
- fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
+ fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
|
||||
if (fd >= 0) {
|
||||
- r = ioctl(fd, BLKRRPART, 0);
|
||||
+ r = flock(fd, LOCK_EX|LOCK_NB);
|
||||
+ if (r >= 0)
|
||||
+ r = ioctl(fd, BLKRRPART, 0);
|
||||
+
|
||||
close(fd);
|
||||
if (r >= 0)
|
||||
part_table_read = true;
|
@ -0,0 +1,39 @@
|
||||
From 638ca89c53e2b897cfb3f627f4acbc7d09af2f4c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hesse <mail@eworm.de>
|
||||
Date: Tue, 10 Jun 2014 15:51:15 +0200
|
||||
Subject: [PATCH] udev: really exclude device-mapper from block device
|
||||
ownership event locking
|
||||
|
||||
Arguments were wrong order, no?
|
||||
This fixes commits:
|
||||
|
||||
e918a1b5a94f270186dca59156354acd2a596494
|
||||
3d06f4183470d42361303086ed9dedd29c0ffc1b
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -304,7 +304,7 @@ static void worker_new(struct event *eve
|
||||
* <kabi_> IMHO this sounds like a good plan for this moment
|
||||
*/
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
- !startswith("dm-", udev_device_get_sysname(dev))) {
|
||||
+ !startswith(udev_device_get_sysname(dev), "dm-")) {
|
||||
struct udev_device *d = dev;
|
||||
|
||||
if (streq_ptr("partition", udev_device_get_devtype(d)))
|
||||
@@ -744,7 +744,7 @@ static int synthesize_change(struct udev
|
||||
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
streq_ptr("disk", udev_device_get_devtype(dev)) &&
|
||||
- !startswith("dm-", udev_device_get_sysname(dev))) {
|
||||
+ !startswith(udev_device_get_sysname(dev), "dm-")) {
|
||||
bool part_table_read = false;
|
||||
bool has_partitions = false;
|
||||
int fd;
|
@ -0,0 +1,26 @@
|
||||
From 47a3fa0f7679521b85f7aeba9e245c52cc7bb2cb Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
|
||||
Date: Wed, 4 Jun 2014 23:40:43 +0200
|
||||
Subject: [PATCH] udev: check the return value from udev_enumerate_scan_devices
|
||||
|
||||
The return value from udev_enumerate_scan_devices was stored but
|
||||
never used. I assume this was meant to be checked.
|
||||
|
||||
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||||
---
|
||||
src/udev/udevd.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: systemd-210/src/udev/udevd.c
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c
|
||||
@@ -783,6 +783,8 @@ static int synthesize_change(struct udev
|
||||
return r;
|
||||
|
||||
r = udev_enumerate_scan_devices(e);
|
||||
+ if (r < 0)
|
||||
+ return r;
|
||||
|
||||
udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
|
||||
_cleanup_udev_device_unref_ struct udev_device *d = NULL;
|
@ -0,0 +1,32 @@
|
||||
From c9af1be90db5a29ac86605c67bc2bb4bc5780520 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Reinecke <hare@suse.de>
|
||||
Date: Thu, 12 Jun 2014 12:25:03 +0200
|
||||
Subject: [PATCH] 99-systemd.rules: Ignore devices with 'SYSTEMD_READY=0'
|
||||
|
||||
Whenever a rule sets 'SYSTEMD_READY=0' it tries to indicate
|
||||
that systemd should ignore this device. So we should not
|
||||
set the 'systemd' tag in these cases; otherwise systemd
|
||||
will pick up the device.
|
||||
|
||||
References: bnc#881942
|
||||
|
||||
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||
---
|
||||
rules/99-systemd.rules.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
|
||||
index db72373..11ee262 100644
|
||||
--- a/rules/99-systemd.rules.in
|
||||
+++ b/rules/99-systemd.rules.in
|
||||
@@ -11,6 +11,7 @@ SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270
|
||||
|
||||
KERNEL=="vport*", TAG+="systemd"
|
||||
|
||||
+SUBSYSTEM=="block", KERNEL!="ram*", ENV{SYSTEMD_READY}=="0", GOTO="systemd_end"
|
||||
SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd"
|
||||
SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
|
||||
|
||||
--
|
||||
1.8.4.5
|
||||
|
14
1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
Normal file
14
1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
Normal file
@ -0,0 +1,14 @@
|
||||
Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
@@ -68,7 +68,8 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob
|
||||
ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
||||
|
||||
# match interface dev_id
|
||||
-ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
||||
+# disable due to bnc#882714
|
||||
+# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
||||
|
||||
# do not use "locally administered" MAC address
|
||||
ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
14
1037-udev-exclude-cd-dvd-from-block-device.patch
Normal file
14
1037-udev-exclude-cd-dvd-from-block-device.patch
Normal file
@ -0,0 +1,14 @@
|
||||
Exclude cd/dvd as well (bnc#882714)
|
||||
|
||||
--- systemd-210/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c 2014-06-18 12:53:34.454235577 +0000
|
||||
@@ -744,7 +744,8 @@ static int synthesize_change(struct udev
|
||||
|
||||
if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
|
||||
streq_ptr("disk", udev_device_get_devtype(dev)) &&
|
||||
- !startswith(udev_device_get_sysname(dev), "dm-")) {
|
||||
+ !startswith(udev_device_get_sysname(dev), "dm-") &&
|
||||
+ !startswith(udev_device_get_sysname(dev), "sr")) {
|
||||
bool part_table_read = false;
|
||||
bool has_partitions = false;
|
||||
int fd;
|
30
1038-udev-fix-invalid-free-in-enable_name_policy.patch
Normal file
30
1038-udev-fix-invalid-free-in-enable_name_policy.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From f8a0bb5285024b6ce372c3157e761e6543ebdcd2 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Henriksson <andreas@fatal.se>
|
||||
Date: Fri, 13 Jun 2014 18:48:21 +0200
|
||||
Subject: [PATCH] udev: fix invalid free() in enable_name_policy()
|
||||
|
||||
static bool enable_name_policy(...) in ./src/udev/net/link-config.c
|
||||
calls proc_cmdline(...) to get "line" initialized, but
|
||||
proc_cmdline(...) does not guarantee that atleast when both
|
||||
conditions (detect_container(NULL) > 0) and
|
||||
read_full_file(...) returned < 0.
|
||||
---
|
||||
src/udev/net/link-config.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git src/udev/net/link-config.c src/udev/net/link-config.c
|
||||
index a9acc3d..7a9d01b 100644
|
||||
--- src/udev/net/link-config.c
|
||||
+++ src/udev/net/link-config.c
|
||||
@@ -185,7 +185,7 @@ static int load_link(link_config_ctx *ctx, const char *filename) {
|
||||
}
|
||||
|
||||
static bool enable_name_policy(void) {
|
||||
- _cleanup_free_ char *line;
|
||||
+ _cleanup_free_ char *line = NULL;
|
||||
char *w, *state;
|
||||
int r;
|
||||
size_t l;
|
||||
--
|
||||
1.7.9.2
|
||||
|
34
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
Normal file
34
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 83be2c398589a3d64db5999cfd5527c5219bff46 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 20 May 2014 12:25:16 +0200
|
||||
Subject: [PATCH] udevadm-settle: fixed return code for empty queue
|
||||
|
||||
If the udev queue is empty and "/run/udev/queue" does not exist,
|
||||
"udevadm settle" would return with EXIT_FAILURE, because the inotify on
|
||||
"/run/udev/queue" would fail with ENOENT.
|
||||
|
||||
This patch lets "udevadm settle" exit with EXIT_SUCCESS in this case.
|
||||
---
|
||||
src/udev/udevadm-settle.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git src/udev/udevadm-settle.c src/udev/udevadm-settle.c
|
||||
index 65fc35f..66fd843 100644
|
||||
--- src/udev/udevadm-settle.c
|
||||
+++ src/udev/udevadm-settle.c
|
||||
@@ -116,7 +116,11 @@ static int adm_settle(struct udev *udev, int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (inotify_add_watch(pfd[0].fd, "/run/udev/queue" , IN_DELETE) < 0) {
|
||||
- log_debug("watching /run/udev failed");
|
||||
+ /* If it does not exist, we don't have to wait */
|
||||
+ if (errno == ENOENT)
|
||||
+ rc = EXIT_SUCCESS;
|
||||
+ else
|
||||
+ log_debug("watching /run/udev/queue failed");
|
||||
goto out;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9.2
|
||||
|
@ -0,0 +1,16 @@
|
||||
Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
===================================================================
|
||||
--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
||||
@@ -68,8 +68,9 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob
|
||||
ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
||||
|
||||
# match interface dev_id
|
||||
-# disable due to bnc#882714
|
||||
-# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
||||
+# HACK: for s390x, if layer2 == 0, dont use dev_id
|
||||
+ENV{LAYER2}="1", TEST=="device/layer2", ENV{LAYER2}="$attr{device/layer2}"
|
||||
+ENV{LAYER2}!="0", ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
||||
|
||||
# do not use "locally administered" MAC address
|
||||
ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
26
apply-ACL-for-nvidia-uvm-device-node.patch
Normal file
26
apply-ACL-for-nvidia-uvm-device-node.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From c79437b7967cf5a23faa881bc5da6b88b63a1ada Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Dirsch <sndirsch@suse.de>
|
||||
Date: Tue, 3 Jun 2014 15:05:55 +0200
|
||||
Subject: [PATCH] apply ACL for nvidia-uvm device node
|
||||
|
||||
set ACL on nvidia-uvm device (bnc#879767).
|
||||
---
|
||||
src/login/logind-acl.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
|
||||
index 54bc16b..a40af21 100644
|
||||
--- a/src/login/logind-acl.c
|
||||
+++ b/src/login/logind-acl.c
|
||||
@@ -295,6 +295,8 @@ int devnode_acl_all(struct udev *udev,
|
||||
if (devnode_acl(devname, flush, del, old_uid, add, new_uid) < 0)
|
||||
break;
|
||||
}
|
||||
+ /* required for additional CUDA support (nvidia-uvm module with appropriate device), bnc#879767 */
|
||||
+ devnode_acl("/dev/nvidia-uvm", flush, del, old_uid, add, new_uid);
|
||||
}
|
||||
|
||||
return r;
|
||||
--
|
||||
1.8.4.5
|
||||
|
@ -1,45 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Wed, 9 Nov 2011 11:10:49 +0100
|
||||
Subject: delay fsck / cryptsetup after md / dmraid are started
|
||||
|
||||
---
|
||||
src/cryptsetup/cryptsetup-generator.c | 1 +
|
||||
units/systemd-fsck@.service.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-208/src/cryptsetup/cryptsetup-generator.c
|
||||
===================================================================
|
||||
--- systemd-208.orig/src/cryptsetup/cryptsetup-generator.c
|
||||
+++ systemd-208/src/cryptsetup/cryptsetup-generator.c
|
||||
@@ -119,6 +119,7 @@ static int create_disk(
|
||||
"DefaultDependencies=no\n"
|
||||
"BindsTo=dev-mapper-%i.device\n"
|
||||
"IgnoreOnIsolate=true\n"
|
||||
+ "After=md.service dmraid.service\n"
|
||||
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
|
||||
f);
|
||||
|
||||
Index: systemd-208/units/systemd-fsck@.service.in
|
||||
===================================================================
|
||||
--- systemd-280.orig/units/systemd-fsck@.service.in
|
||||
+++ systemd-280/units/systemd-fsck@.service.in
|
||||
@@ -10,7 +10,7 @@
|
||||
Documentation=man:systemd-fsck@.service(8)
|
||||
DefaultDependencies=no
|
||||
BindsTo=%i.device
|
||||
-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service
|
||||
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service md.service dmraid.service
|
||||
Before=shutdown.target
|
||||
|
||||
[Service]
|
||||
--- systemd-280.orig/units/systemd-fsck-root.service.in
|
||||
+++ systemd-280/units/systemd-fsck-root.service.in
|
||||
@@ -9,7 +9,7 @@
|
||||
Description=File System Check on Root Device
|
||||
Documentation=man:systemd-fsck-root.service(8)
|
||||
DefaultDependencies=no
|
||||
-After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||
+After=systemd-readahead-collect.service systemd-readahead-replay.service md.service dmraid.service
|
||||
Before=local-fs.target shutdown.target
|
||||
|
||||
ConditionPathIsReadWrite=!/
|
@ -1,17 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Thu, 9 Feb 2012 16:19:38 +0000
|
||||
Subject: ensure DM and dmraid are started before local-fs-pre-target
|
||||
|
||||
ensure md / dmraid is started before mounting partitions,
|
||||
if fsck was disabled for them (bnc#733283).
|
||||
---
|
||||
units/local-fs-pre.target | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- systemd-206_git201308300826.orig/units/local-fs-pre.target
|
||||
+++ systemd-206_git201308300826/units/local-fs-pre.target
|
||||
@@ -9,3 +9,4 @@
|
||||
Description=Local File Systems (Pre)
|
||||
Documentation=man:systemd.special(7)
|
||||
RefuseManualStart=yes
|
||||
+After=md.service dmraid.service
|
@ -1,20 +1,23 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Cc: Werner Fink <werner@suse.de>
|
||||
Date: Wed, 24 Aug 2011 13:02:12 +0000
|
||||
Subject: ensure ask-password-wall starts after getty@tty1
|
||||
|
||||
ensure passphrase is handled before starting getty on tty1.
|
||||
|
||||
---
|
||||
units/systemd-ask-password-wall.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
units/systemd-ask-password-wall.service.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in
|
||||
@@ -8,7 +8,7 @@
|
||||
@@ -8,7 +8,8 @@
|
||||
[Unit]
|
||||
Description=Forward Password Requests to Wall
|
||||
Documentation=man:systemd-ask-password-console.service(8)
|
||||
-After=systemd-user-sessions.service
|
||||
+After=systemd-user-sessions.service getty@tty1.service
|
||||
+Wants=getty.target
|
||||
+After=systemd-user-sessions.service getty.target
|
||||
|
||||
[Service]
|
||||
ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
|
||||
|
@ -1,19 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Mon, 9 Jan 2012 17:01:22 +0000
|
||||
Subject: ensure sysctl are applied after modules are loaded
|
||||
|
||||
(bnc#725412)
|
||||
---
|
||||
units/systemd-sysctl.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-sysctl.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||
+After=systemd-modules-load.service
|
||||
Before=sysinit.target shutdown.target
|
||||
ConditionPathIsReadWrite=/proc/sys/
|
||||
ConditionDirectoryNotEmpty=|/lib/sysctl.d
|
@ -1,34 +0,0 @@
|
||||
The path for the serial 3270 console looks like (dev/)3270/tty1 which
|
||||
causes trouble in the systemd-getty-generator as the add_symlink()
|
||||
tries to make directories for each slash even for the slash after
|
||||
the @ symbol in the final link name.
|
||||
|
||||
---
|
||||
getty-generator.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
--- systemd-210/src/getty-generator/getty-generator.c
|
||||
+++ systemd-210/src/getty-generator/getty-generator.c 2014-03-14 14:13:09.296463091 +0000
|
||||
@@ -67,6 +67,7 @@ static int add_symlink(const char *fserv
|
||||
|
||||
static int add_serial_getty(const char *tty) {
|
||||
_cleanup_free_ char *n = NULL;
|
||||
+ char *at;
|
||||
|
||||
assert(tty);
|
||||
|
||||
@@ -76,6 +77,14 @@ static int add_serial_getty(const char *
|
||||
if (!n)
|
||||
return log_oom();
|
||||
|
||||
+ if ((at = strchr(n, '@'))) {
|
||||
+ char *sl;
|
||||
+ while (*(++at) && (sl = strchr(at, '/'))) {
|
||||
+ *sl = '-';
|
||||
+ at = sl;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return add_symlink("serial-getty@.service", n);
|
||||
}
|
||||
|
@ -13,11 +13,11 @@ systemd unit drop-in files to add dependencies
|
||||
create mode 100644 src/insserv-generator/Makefile
|
||||
create mode 100644 src/insserv-generator/insserv-generator.c
|
||||
|
||||
Index: systemd-208/Makefile.am
|
||||
Index: systemd-210/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-208.orig/Makefile.am
|
||||
+++ systemd-208/Makefile.am
|
||||
@@ -322,6 +322,7 @@ rootlibexec_PROGRAMS = \
|
||||
--- systemd-210.orig/Makefile.am
|
||||
+++ systemd-210/Makefile.am
|
||||
@@ -343,6 +343,7 @@ rootlibexec_PROGRAMS = \
|
||||
systemd-socket-proxyd
|
||||
|
||||
systemgenerator_PROGRAMS = \
|
||||
@ -25,7 +25,7 @@ Index: systemd-208/Makefile.am
|
||||
systemd-getty-generator \
|
||||
systemd-fstab-generator \
|
||||
systemd-system-update-generator
|
||||
@@ -1658,6 +1659,14 @@ systemd_delta_LDADD = \
|
||||
@@ -1728,6 +1729,14 @@ systemd_delta_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
@ -40,10 +40,10 @@ Index: systemd-208/Makefile.am
|
||||
systemd_getty_generator_SOURCES = \
|
||||
src/getty-generator/getty-generator.c
|
||||
|
||||
Index: systemd-208/src/insserv-generator/Makefile
|
||||
Index: systemd-210/src/insserv-generator/Makefile
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-208/src/insserv-generator/Makefile
|
||||
+++ systemd-210/src/insserv-generator/Makefile
|
||||
@@ -0,0 +1,28 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
@ -73,10 +73,10 @@ Index: systemd-208/src/insserv-generator/Makefile
|
||||
+ $(MAKE) -C .. clean
|
||||
+
|
||||
+.PHONY: all clean
|
||||
Index: systemd-208/src/insserv-generator/insserv-generator.c
|
||||
Index: systemd-210/src/insserv-generator/insserv-generator.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-208/src/insserv-generator/insserv-generator.c
|
||||
+++ systemd-210/src/insserv-generator/insserv-generator.c
|
||||
@@ -0,0 +1,312 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
@ -146,7 +146,7 @@ Index: systemd-208/src/insserv-generator/insserv-generator.c
|
||||
+ static const char * const table[] = {
|
||||
+ /* LSB defined facilities */
|
||||
+ "local_fs", NULL,
|
||||
+ "network", SPECIAL_NETWORK_TARGET,
|
||||
+ "network", SPECIAL_NETWORK_ONLINE_TARGET,
|
||||
+ "named", SPECIAL_NSS_LOOKUP_TARGET,
|
||||
+ "portmap", SPECIAL_RPCBIND_TARGET,
|
||||
+ "remote_fs", SPECIAL_REMOTE_FS_TARGET,
|
||||
|
@ -9,10 +9,10 @@
|
||||
+ struct dirent *de;
|
||||
+
|
||||
+ if (!(d = opendir("/run/systemd/ask-password"))) {
|
||||
+ log_error("opendir(): %m");
|
||||
+
|
||||
+ if (errno == ENOENT)
|
||||
+ return 1;
|
||||
+ log_error("opendir(/run/systemd/ask-password): %m");
|
||||
+
|
||||
+ return -errno;
|
||||
+ }
|
||||
|
@ -1,35 +0,0 @@
|
||||
diff -Naur systemd-210/src/shared/virt.c systemd-210-mod/src/shared/virt.c
|
||||
--- systemd-210/src/shared/virt.c 2014-02-24 15:38:03.909784909 +0100
|
||||
+++ systemd-210/src/shared/virt.c 2014-04-10 13:48:05.568766957 +0200
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
/* Returns a short identifier for the various VM implementations */
|
||||
int detect_vm(const char **id) {
|
||||
- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
|
||||
+ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
|
||||
static thread_local int cached_found = -1;
|
||||
static thread_local const char *cached_id = NULL;
|
||||
const char *_id = NULL;
|
||||
@@ -166,13 +166,18 @@
|
||||
/* Try high-level hypervisor sysfs file first:
|
||||
*
|
||||
* https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
|
||||
- r = read_one_line_file("/sys/hypervisor/type", &hvtype);
|
||||
+ r = read_one_line_file("/proc/xen/capabilities", &domcap);
|
||||
if (r >= 0) {
|
||||
- if (streq(hvtype, "xen")) {
|
||||
- _id = "xen";
|
||||
+ if (strstr(domcap, "control_d")) {
|
||||
+ r = 0;
|
||||
+ _id = "xen-dom0";
|
||||
+ } else {
|
||||
r = 1;
|
||||
- goto finish;
|
||||
+ _id = "xen-domU";
|
||||
}
|
||||
+
|
||||
+ goto finish;
|
||||
+
|
||||
} else if (r != -ENOENT)
|
||||
return r;
|
||||
|
@ -1,3 +1,316 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de
|
||||
|
||||
- Update of patch 0001-detect-s390-virt.patch (bnc#880438)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de
|
||||
|
||||
- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patchs
|
||||
0001-core-use-correct-format-string-for-UIDs.patch
|
||||
0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
|
||||
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
0001-units-order-network-online.target-after-network.targ.patch
|
||||
to make sure that etwork-online.target follows network.target
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- rules: re-enable dev_id conditionally in persistent rules
|
||||
(bnc#884403 and bnc#882714).
|
||||
Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
|
||||
0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
|
||||
0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
|
||||
0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
|
||||
0005-man-fix-path-in-crypttab-5.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it
|
||||
fixes udevadm settle exit code which may had roken dracut scripts
|
||||
(bnc#884271 comment#18)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de
|
||||
|
||||
- Temporary disable patch 1022 (bnc#884271 and bnc#882714).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
to 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de
|
||||
|
||||
- Replace patches
|
||||
0001-systemd-empty-sigmask-on-reexec.patch with
|
||||
upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch
|
||||
ensure-sysctl-are-applied-after-modules-are-loaded.patch with
|
||||
upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
|
||||
getty-generator-with-serial-3270-tty.patch with
|
||||
upstream 0004-getty-generator-properly-escape-instance-names.patch
|
||||
- Add upstream patches
|
||||
0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
|
||||
0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
|
||||
0005-po-add-Greek-translation.patch
|
||||
0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
|
||||
0007-po-add-German-translation.patch
|
||||
0009-core-clean-up-signal-reset-logic-when-reexec.patch
|
||||
0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
|
||||
0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
|
||||
0012-core-transaction-avoid-misleading-error-message-when.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de
|
||||
|
||||
- Invert of the boolean for locking scheme of fsck (bnc#881125)
|
||||
- Remove the ghost entry /etc/hostname and require the netcfg
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com
|
||||
|
||||
- make sure legacy services that depend on network are started after
|
||||
network is available (bnc#883565)
|
||||
* 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
|
||||
* update insserv-generator.patch to translate $network into
|
||||
network-online.target
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438)
|
||||
to detect the virtualization layers on s390x as well
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de
|
||||
|
||||
- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51)
|
||||
add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from
|
||||
Roberts suggestion as well as readd
|
||||
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-core-fix-invalid-free-in-killall.patch
|
||||
0002-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
0003-install-fix-invalid-free-in-unit_file_mask.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- rules: disable usage of dev_id in persistent rules (bnc#882714).
|
||||
add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
- Disable patch (bnc#882714).
|
||||
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch
|
||||
1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
from Hannes Reinecke to avoid a race condition between variable
|
||||
'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add workaround for bnc#882393 by adding the systemd update utmp
|
||||
runlevel service to the wanted unit of e.g. the graphical target
|
||||
- Add some later on created files to our file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com
|
||||
|
||||
- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars
|
||||
module at boot time not from udev (bnc#881559).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org
|
||||
|
||||
- Do not build EFI support code in architectures on which
|
||||
the kernel does not support CONFIG_EFI, it won't work.
|
||||
(ia64 also supports it, but that's dead so is not included)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch
|
||||
there is no need to clean out all 30 days the index data base
|
||||
files nor the cachedir tags of mandb. Those files are used
|
||||
for whatis(1) as well as for apropos(1).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de
|
||||
|
||||
- Do not override predictable names for openSUSE
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de
|
||||
|
||||
- Remove systemd-detect-xendom.patch as it becomes obsolete with
|
||||
upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
- Add upstream patches
|
||||
0001-umount-modernizations.patch
|
||||
0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
|
||||
0003-core-allow-transient-mount-units.patch
|
||||
0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
|
||||
0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Add upstream patches
|
||||
1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change detection of new locking scheme of fsck
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent
|
||||
rules as a default on SLES-12 and predictable rules as a default
|
||||
otherwise
|
||||
- Add cflags shell function to check possible flags for the compiler
|
||||
as well as for the linker
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Add upstream patches
|
||||
1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
1026-udevd-inotify-modernizations.patch
|
||||
1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
1028-udev-link-config-fix-mem-leak.patch
|
||||
1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-sd-event-restore-correct-timeout-behaviour.patch
|
||||
0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add dynamic detection of util-linux version to be able to
|
||||
disable the fsck option -l for version less than 2.25.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add changes from Cristian Rodríguez:
|
||||
* The patches
|
||||
delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and
|
||||
ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch
|
||||
indeed mention unit files which do not exist anymore.
|
||||
- Make sure that systemd-ask-password-wall.service has a tty as
|
||||
it is not sure that a tty1 exists
|
||||
- Avoid broken firmware loading on newer distributions as 13.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de
|
||||
|
||||
- Correct version check for the tcp-devel drop
|
||||
- Use correct permissions for /var/log/journal
|
||||
- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org
|
||||
|
||||
- Correct the libseccomp distribution version test must be >= 13.1
|
||||
- In order to use unit directive AppArmorProfile= libapparmor-devel
|
||||
must be present in buildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com
|
||||
|
||||
- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm
|
||||
device (bnc#879767).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add changes from Cristian Rodríguez:
|
||||
* fix keep-crypt-password-prompt.patch which floods the system
|
||||
logs with bogus opendir failures, still the wrong thing to do however.
|
||||
* Use %find_lang to collect locale files
|
||||
* systemd-no-libattr.patch: systemd does not require libattr
|
||||
but just sys/xattr.h, therefore drop the dependency.
|
||||
(from upstream)
|
||||
* Again, drop tcp-devel from buildRequires, this time it is not a
|
||||
SUSE specific feature removal, tcpd supportdisappeared in systemd
|
||||
212 and we shouldn't keep it around.
|
||||
- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
|
||||
that is rename systemd-no-libattr.patch to git format
|
||||
- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor
|
||||
for openSUSE 13.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-virt-rework-container-detection-logic.patch
|
||||
0002-fsck-include-device-name-in-the-message-about-missin.patch
|
||||
0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
|
||||
0004-util-ignore_file-should-not-allow-files-ending-with.patch
|
||||
0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
|
||||
- Add upstream patches to update keyboard data base
|
||||
0007-keyboard-add-Plantronics-.Audio-mute-button.patch
|
||||
- Add upstream patches for udev
|
||||
1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
|
||||
1024-udev-always-close-lock-file-descriptor.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Fix enabling predictable rules when using net.ifnames=1.
|
||||
update: 1021-udev-re-add-persistent-net-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Re-add persistent rules as a default and make predictable rules as
|
||||
fallback (bnc#880732).
|
||||
add: 1021-udev-re-add-persistent-net-rules.patch
|
||||
- udev: remove seqnum API and all assumptions about seqnums
|
||||
add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 07:23:47 UTC 2014 - werner@suse.de
|
||||
|
||||
|
@ -26,6 +26,12 @@
|
||||
%bcond_without compat_libs
|
||||
%bcond_with networkd
|
||||
%bcond_with python
|
||||
%ifarch %{ix86} x86_64 aarch64
|
||||
%define has_efi 1
|
||||
%else
|
||||
%define has_efi 0
|
||||
%endif
|
||||
%bcond_with udevsettle
|
||||
|
||||
Name: systemd-mini
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
@ -38,6 +44,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
Provides: %{real} = %{version}-%{release}
|
||||
|
||||
BuildRequires: acl
|
||||
BuildRequires: audit-devel
|
||||
%if %{with compat_libs}
|
||||
# See gold_archs in binutils.spec
|
||||
@ -59,7 +66,6 @@ BuildRequires: gtk-doc
|
||||
%endif
|
||||
BuildRequires: intltool
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libkmod-devel
|
||||
BuildRequires: libsepol-devel
|
||||
@ -72,7 +78,9 @@ BuildRequires: pam-devel
|
||||
%if 0%{?suse_version} > 1310
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1315
|
||||
BuildRequires: tcpd-devel
|
||||
%endif
|
||||
BuildRequires: xz
|
||||
BuildRequires: pkgconfig(blkid) >= 2.20
|
||||
%if ! 0%{?bootstrap}
|
||||
@ -98,11 +106,14 @@ BuildRequires: pkgconfig(libpcre)
|
||||
BuildRequires: pkgconfig(libqrencode)
|
||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if 0%{?suse_version} >= 1310
|
||||
%ifarch %ix86 x86_64 x32 %arm
|
||||
BuildRequires: pkgconfig(libseccomp)
|
||||
%endif
|
||||
%endif
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: libapparmor-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
||||
BuildRequires: pkgconfig(libsepol)
|
||||
%if 0%{?suse_version} > 1310
|
||||
@ -125,6 +136,7 @@ Requires: kmod >= 14
|
||||
%else
|
||||
Requires: kmod >= 15
|
||||
%endif
|
||||
Requires: netcfg
|
||||
Requires: pam-config >= 0.79-5
|
||||
Requires: pwdutils
|
||||
Requires: systemd-presets-branding
|
||||
@ -135,12 +147,21 @@ Requires(post): findutils
|
||||
%if ! 0%{?bootstrap}
|
||||
Requires(post): pam-config
|
||||
%endif
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/awk
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Conflicts: filesystem < 11.5
|
||||
Conflicts: mkinitrd < 2.7.0
|
||||
Obsoletes: systemd-analyze < 201
|
||||
Provides: systemd-analyze = %{version}
|
||||
Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz
|
||||
%if ! 0%{?bootstrap}
|
||||
Source1: systemd-rpmlintrc
|
||||
%else
|
||||
Source1: systemd-mini-rpmlintrc
|
||||
%endif
|
||||
Source2: localfs.service
|
||||
Source3: systemd-sysv-convert
|
||||
Source6: baselibs.conf
|
||||
@ -168,16 +189,15 @@ Patch6: insserv-generator.patch
|
||||
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
|
||||
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
|
||||
Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
|
||||
Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch
|
||||
Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch
|
||||
Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch
|
||||
Patch18: fix-owner-of-var-log-btmp.patch
|
||||
# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file
|
||||
Patch19: getty-generator-with-serial-3270-tty.patch
|
||||
# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file
|
||||
Patch19: 0004-getty-generator-properly-escape-instance-names.patch
|
||||
|
||||
# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done
|
||||
Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch
|
||||
@ -189,6 +209,8 @@ Patch21: allow-multiple-sulogin-to-be-started.patch
|
||||
Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch
|
||||
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices
|
||||
Patch27: apply-ACL-for-nvidia-device-nodes.patch
|
||||
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device
|
||||
Patch28: apply-ACL-for-nvidia-uvm-device-node.patch
|
||||
# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts
|
||||
Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch
|
||||
# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie.
|
||||
@ -225,8 +247,8 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
|
||||
Patch91: plymouth-quit-and-wait-for-emergency-service.patch
|
||||
# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488)
|
||||
Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch
|
||||
# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com
|
||||
Patch114: 0001-systemd-empty-sigmask-on-reexec.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch
|
||||
# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com
|
||||
Patch117: 0001-make-209-working-on-older-dist.patch
|
||||
# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com
|
||||
@ -381,8 +403,8 @@ Patch193: portmap-wants-rpcbind-socket.patch
|
||||
Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch
|
||||
# PATCH-FIX-USTREAM added at 2014/03/14
|
||||
Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch
|
||||
# PATCH-FIX-SUSE Detect XEN dom0 as well as domU
|
||||
Patch196: systemd-detect-xendom.patch
|
||||
# PATCH-FIX-SUSE Do not clean the data base files of the manual pages
|
||||
Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch
|
||||
# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console
|
||||
Patch197: rescue-emergency-target-conflicts.patch
|
||||
# PATCH-FIX-SUSE Avoid a divide by zero sigtrap
|
||||
@ -477,40 +499,116 @@ Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch
|
||||
Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/20
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch245: 0007-logind-fix-Display-property-of-user-objects.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch246: 0001-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch247: 0002-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch249: 0004-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch250: 0005-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/27
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/27
|
||||
Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/27
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/27
|
||||
Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch262: 0001-virt-rework-container-detection-logic.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/05
|
||||
Patch269: 0001-hwdb-fix-case-sensitive-match.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/06
|
||||
Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/06
|
||||
Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch272: 0001-umount-modernizations.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch274: 0003-core-allow-transient-mount-units.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU
|
||||
Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/17
|
||||
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 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
|
||||
Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch284: 0005-po-add-Greek-translation.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch286: 0007-po-add-German-translation.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch295: 0005-man-fix-path-in-crypttab-5.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch296: 0001-units-order-network-online.target-after-network.targ.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch297: 0001-core-use-correct-format-string-for-UIDs.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -556,8 +654,48 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
|
||||
Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch
|
||||
# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch
|
||||
Patch1021: 1021-udev-re-add-persistent-net-rules.patch
|
||||
# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch1024: 1024-udev-always-close-lock-file-descriptor.patch
|
||||
# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch
|
||||
Patch1026: 1026-udevd-inotify-modernizations.patch
|
||||
# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch
|
||||
Patch1028: 1028-udev-link-config-fix-mem-leak.patch
|
||||
# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
||||
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
||||
# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
|
||||
Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
|
||||
# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714)
|
||||
Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -613,12 +751,19 @@ Summary: A rule-based device node and kernel event manager
|
||||
License: GPL-2.0
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
|
||||
PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq
|
||||
PreReq: /bin/rm
|
||||
PreReq: %insserv_prereq
|
||||
PreReq: %fillup_prereq
|
||||
PreReq: /usr/bin/sg_inq
|
||||
Requires(pre): /usr/bin/stat
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(post): lib%{udevpkgname}%{udev_major}
|
||||
Requires(post): sed
|
||||
Requires(post): systemd
|
||||
Requires(post): /usr/bin/systemctl
|
||||
%if %{defined regenerate_initrd_post}
|
||||
Requires(post): coreutils
|
||||
Requires(post): /usr/bin/stat
|
||||
Requires(postun): coreutils
|
||||
Requires(posttrans): suse-module-tools
|
||||
Requires(posttrans): /sbin/mkinitrd
|
||||
@ -720,6 +865,11 @@ License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
Provides: syslog
|
||||
Provides: sysvinit(syslog)
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Requires(post): /usr/bin/systemctl
|
||||
Conflicts: otherproviders(syslog)
|
||||
|
||||
%description logger
|
||||
@ -786,15 +936,13 @@ cp %{SOURCE7} m4/
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch13 -p0
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch19 -p0
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
@ -806,6 +954,7 @@ cp %{SOURCE7} m4/
|
||||
# check if this is still needed, or can be derived from fbdev uaccess rule
|
||||
# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html
|
||||
%patch27 -p1
|
||||
%patch28 -p1
|
||||
%patch37 -p1
|
||||
%ifarch %arm
|
||||
%patch38 -p1
|
||||
@ -900,8 +1049,8 @@ cp %{SOURCE7} m4/
|
||||
%patch192 -p1
|
||||
%patch193 -p1
|
||||
%patch194 -p0
|
||||
%patch195 -p0
|
||||
%patch196 -p1
|
||||
%patch195 -p0
|
||||
%patch197 -p1
|
||||
%patch198 -p1
|
||||
%patch199 -p0
|
||||
@ -966,6 +1115,44 @@ cp %{SOURCE7} m4/
|
||||
%patch259 -p0
|
||||
%patch260 -p0
|
||||
%patch261 -p0
|
||||
%patch262 -p0
|
||||
%patch263 -p0
|
||||
%patch264 -p0
|
||||
%patch265 -p0
|
||||
%patch266 -p0
|
||||
%patch267 -p0
|
||||
%patch268 -p0
|
||||
%patch269 -p0
|
||||
%patch270 -p0
|
||||
%patch271 -p0
|
||||
%patch272 -p0
|
||||
%patch273 -p0
|
||||
%patch274 -p0
|
||||
%patch275 -p0
|
||||
%patch276 -p0
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
%patch284 -p0
|
||||
%patch285 -p0
|
||||
%patch286 -p0
|
||||
%patch287 -p0
|
||||
%patch288 -p0
|
||||
%patch289 -p0
|
||||
%patch290 -p0
|
||||
%patch291 -p0
|
||||
%patch292 -p0
|
||||
%patch293 -p0
|
||||
%patch294 -p0
|
||||
%patch295 -p0
|
||||
%patch296 -p0
|
||||
%patch297 -p0
|
||||
%patch298 -p0
|
||||
%patch299 -p0
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -989,15 +1176,111 @@ cp %{SOURCE7} m4/
|
||||
%patch1018 -p0
|
||||
%patch1019 -p0
|
||||
%patch1020 -p0
|
||||
%patch1021 -p1
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if %{with udevsettle}
|
||||
%patch1022 -p1
|
||||
%endif
|
||||
%endif
|
||||
%patch1023 -p0
|
||||
%patch1024 -p0
|
||||
%patch1025 -p1
|
||||
%patch1026 -p1
|
||||
%patch1027 -p1
|
||||
%patch1028 -p1
|
||||
%patch1029 -p1
|
||||
%patch1030 -p1
|
||||
%patch1031 -p1
|
||||
%patch1032 -p1
|
||||
%patch1033 -p1
|
||||
%patch1034 -p1
|
||||
%patch1035 -p1
|
||||
%patch1036 -p1
|
||||
%patch1037 -p1
|
||||
%patch1038 -p0
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if %{with udevsettle}
|
||||
%patch1039 -p0
|
||||
%endif
|
||||
%endif
|
||||
%patch1040 -p1
|
||||
|
||||
# ensure generate files are removed
|
||||
rm -f units/emergency.service
|
||||
|
||||
# disable "-l" option for fsck if it does not support new locking scheme
|
||||
# compare with commit c343be283b7152554bac0c02493a4e1759c163f7
|
||||
PATH=${PATH}:/sbin:/usr/sbin
|
||||
PATH_FSCK=$(type -p fsck)
|
||||
if grep -q /run/fsck/%%s\\.lock $PATH_FSCK
|
||||
then
|
||||
echo Found new $PATH_FSCK that is allow private locking
|
||||
else
|
||||
echo Found old $PATH_FSCK that is disable flock for this one
|
||||
sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c
|
||||
fi
|
||||
|
||||
%if 0%{?suse_version} <= 1310
|
||||
#
|
||||
# Older versions like oS 13.1 do not distinguish between
|
||||
# network.target and network-online.target
|
||||
#
|
||||
for f in src/core/service.c src/insserv-generator/insserv-generator.c
|
||||
do
|
||||
sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f
|
||||
done
|
||||
%endif
|
||||
|
||||
%build
|
||||
cflags ()
|
||||
{
|
||||
local flag=$1; shift
|
||||
local var=$1; shift
|
||||
local gold
|
||||
test -n "${flag}" -a -n "${var}" || return
|
||||
case "${!var}" in
|
||||
*${flag}*) return
|
||||
esac
|
||||
if type ld.gold > /dev/null 2>&1 ; then
|
||||
gold=-Wl,-fuse-ld=gold
|
||||
fi
|
||||
set -o noclobber
|
||||
case "$flag" in
|
||||
-Wl,*)
|
||||
if echo 'int main () { return 0; }' | \
|
||||
${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
rm -f ldtest.c
|
||||
;;
|
||||
*)
|
||||
if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
esac
|
||||
set +o noclobber
|
||||
}
|
||||
autoreconf -fiv
|
||||
# prevent pre-generated and distributed files from re-building
|
||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||
export V=1
|
||||
export V=e
|
||||
export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
|
||||
export LDFLAGS
|
||||
%if 0%{?suse_version} == 1315
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||
%else
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
||||
for rules in 75-persistent-net-generator 76-net-sriov-names
|
||||
do
|
||||
sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules
|
||||
done
|
||||
%endif
|
||||
cflags -pipe CFLAGS
|
||||
cflags -Wl,-O2 LDFLAGS
|
||||
cflags -Wl,--hash-size=8599 LDFLAGS
|
||||
# keep split-usr until all packages have moved their systemd rules to /usr
|
||||
%configure \
|
||||
--docdir=%{_docdir}/systemd \
|
||||
@ -1024,7 +1307,12 @@ export V=1
|
||||
--enable-selinux \
|
||||
--enable-split-usr \
|
||||
--disable-static \
|
||||
%if 0%{?suse_version} <= 1310
|
||||
--with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \
|
||||
%endif
|
||||
%if ! 0%{has_efi}
|
||||
--disable-efi \
|
||||
%endif
|
||||
--with-rc-local-script-path-start=/etc/init.d/boot.local \
|
||||
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
|
||||
--with-debug-shell=/bin/bash \
|
||||
@ -1036,8 +1324,7 @@ export V=1
|
||||
%if %{without networkd}
|
||||
--disable-networkd \
|
||||
%endif
|
||||
--disable-kdbus \
|
||||
CFLAGS="%{optflags}"
|
||||
--disable-kdbus
|
||||
make %{?_smp_mflags}
|
||||
%if ! 0%{?bootstrap}
|
||||
make %{?_smp_mflags} update-man-list man
|
||||
@ -1072,7 +1359,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd
|
||||
%if ! 0%{?bootstrap}
|
||||
ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1310
|
||||
ln -sf /lib/firmware %{buildroot}/usr/lib/firmware
|
||||
%endif
|
||||
%if ! 0%{?bootstrap}
|
||||
install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald
|
||||
install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config
|
||||
@ -1140,6 +1429,12 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf
|
||||
# load sg module at boot time
|
||||
sg
|
||||
EOF
|
||||
%if 0%{has_efi}
|
||||
cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf
|
||||
# load efivars module at boot time
|
||||
efivars
|
||||
EOF
|
||||
%endif
|
||||
|
||||
# To avoid making life hard for Factory developers, don't package the
|
||||
# kernel.core_pattern setting until systemd-coredump is a part of an actual
|
||||
@ -1240,7 +1535,7 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
%if 0%{suse_version} < 1310
|
||||
%if 0%{suse_version} <= 1310
|
||||
cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
|
||||
[Unit]
|
||||
Description=Fix against deadlock at shutdown
|
||||
@ -1264,6 +1559,28 @@ cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
|
||||
ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
|
||||
%endif
|
||||
|
||||
# Some files which may created by us or by the admin later on
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
|
||||
for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \
|
||||
machine-id machine-info \
|
||||
systemd/system/runlevel2.target \
|
||||
systemd/system/runlevel3.target \
|
||||
systemd/system/runlevel4.target \
|
||||
systemd/system/runlevel4.target \
|
||||
systemd/system/runlevel5.target
|
||||
do
|
||||
> %{buildroot}%{_sysconfdir}/$ghost
|
||||
done
|
||||
|
||||
# Workaround for bug #882393
|
||||
for runlevel in poweroff rescue multi-user graphical reboot
|
||||
do
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants
|
||||
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
||||
done
|
||||
|
||||
%find_lang systemd
|
||||
|
||||
%pre
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
@ -1279,8 +1596,14 @@ exit 0
|
||||
/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
||||
/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || :
|
||||
# Make sure new journal files
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || :
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
if read ID < /etc/machine-id > /dev/null 2>&1 ; then
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
|
||||
fi
|
||||
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 || :
|
||||
|
||||
# Try to read default runlevel from the old inittab if it exists
|
||||
if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then
|
||||
@ -1348,7 +1671,7 @@ elif [ ! -e /lib/udev ]; then
|
||||
ln -s /usr/lib/udev /lib/udev
|
||||
fi
|
||||
# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules
|
||||
/usr/sbin/groupadd -r tape 2> /dev/null || :
|
||||
getent group tape >/dev/null || groupadd -r tape 2> /dev/null || :
|
||||
# kill daemon if we are not in a chroot
|
||||
if test -f /proc/1/exe -a -d /proc/1/root ; then
|
||||
if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
@ -1427,7 +1750,13 @@ fi
|
||||
|
||||
%postun -n libgudev-1_0-0 -p /sbin/ldconfig
|
||||
|
||||
%pre logger
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
|
||||
%post logger
|
||||
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
|
||||
# tell journal to start logging on disk if directory didn't exist before
|
||||
systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || :
|
||||
@ -1465,7 +1794,6 @@ exit 0
|
||||
/bin/systemd-ask-password
|
||||
/bin/systemctl
|
||||
%{_bindir}/systemd-sleep-grub
|
||||
%{_bindir}/bootctl
|
||||
%{_bindir}/busctl
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/hostnamectl
|
||||
@ -1553,7 +1881,10 @@ exit 0
|
||||
%if ! 0%{?bootstrap}
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator
|
||||
%endif
|
||||
%if 0%{has_efi}
|
||||
%{_bindir}/bootctl
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator
|
||||
%endif
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-getty-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||
@ -1566,6 +1897,9 @@ exit 0
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
%{_libexecdir}/modules-load.d/sg.conf
|
||||
%if 0%{has_efi}
|
||||
%{_libexecdir}/modules-load.d/efivars.conf
|
||||
%endif
|
||||
|
||||
%dir %{_libexecdir}/tmpfiles.d
|
||||
%dir %{_sysconfdir}/tmpfiles.d
|
||||
@ -1599,6 +1933,18 @@ exit 0
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
||||
|
||||
# Some files which may created by us
|
||||
%dir %{_sysconfdir}/X11/xorg.conf.d
|
||||
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/locale.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/machine-id
|
||||
%ghost %config(noreplace) %{_sysconfdir}/machine-info
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target
|
||||
|
||||
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
|
||||
@ -1720,7 +2066,9 @@ exit 0
|
||||
# keep for compatibility
|
||||
%ghost /lib/udev
|
||||
%{_bindir}/udevadm
|
||||
%if 0%{?suse_version} <= 1310
|
||||
%{_prefix}/lib/firmware
|
||||
%endif
|
||||
%dir %{_prefix}/lib/udev/
|
||||
%{_prefix}/lib/udev/accelerometer
|
||||
%{_prefix}/lib/udev/ata_id
|
||||
@ -1731,6 +2079,9 @@ exit 0
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/write_dev_root_rule
|
||||
%{_prefix}/lib/udev/udev-generate-peristent-rule
|
||||
%{_prefix}/lib/udev/net-set-sriov-names
|
||||
%{_prefix}/lib/udev/rule_generator.functions
|
||||
%{_prefix}/lib/udev/write_net_rules
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||
@ -1808,7 +2159,7 @@ exit 0
|
||||
|
||||
%files logger
|
||||
%defattr(-,root,root)
|
||||
%dir %{_localstatedir}/log/journal
|
||||
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal
|
||||
%{_localstatedir}/log/README
|
||||
/etc/init.d/systemd-journald
|
||||
|
||||
|
313
systemd.changes
313
systemd.changes
@ -1,3 +1,316 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 27 08:17:47 UTC 2014 - werner@suse.de
|
||||
|
||||
- Update of patch 0001-detect-s390-virt.patch (bnc#880438)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 10:02:26 UTC 2014 - werner@suse.de
|
||||
|
||||
- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 09:31:19 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patchs
|
||||
0001-core-use-correct-format-string-for-UIDs.patch
|
||||
0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
|
||||
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 26 06:44:09 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
0001-units-order-network-online.target-after-network.targ.patch
|
||||
to make sure that etwork-online.target follows network.target
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 18:09:52 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- rules: re-enable dev_id conditionally in persistent rules
|
||||
(bnc#884403 and bnc#882714).
|
||||
Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 17:27:55 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
|
||||
0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
|
||||
0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
|
||||
0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
|
||||
0005-man-fix-path-in-crypttab-5.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 17:06:07 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it
|
||||
fixes udevadm settle exit code which may had roken dracut scripts
|
||||
(bnc#884271 comment#18)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 14:12:52 UTC 2014 - werner@suse.de
|
||||
|
||||
- Temporary disable patch 1022 (bnc#884271 and bnc#882714).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 11:55:39 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Rename 0002-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
to 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 11:27:27 UTC 2014 - werner@suse.de
|
||||
|
||||
- Replace patches
|
||||
0001-systemd-empty-sigmask-on-reexec.patch with
|
||||
upstream 0008-Reset-signal-mask-on-re-exec-to-init.patch
|
||||
ensure-sysctl-are-applied-after-modules-are-loaded.patch with
|
||||
upstream 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
|
||||
getty-generator-with-serial-3270-tty.patch with
|
||||
upstream 0004-getty-generator-properly-escape-instance-names.patch
|
||||
- Add upstream patches
|
||||
0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
|
||||
0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
|
||||
0005-po-add-Greek-translation.patch
|
||||
0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
|
||||
0007-po-add-German-translation.patch
|
||||
0009-core-clean-up-signal-reset-logic-when-reexec.patch
|
||||
0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
|
||||
0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
|
||||
0012-core-transaction-avoid-misleading-error-message-when.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 10:04:21 UTC 2014 - werner@suse.de
|
||||
|
||||
- Invert of the boolean for locking scheme of fsck (bnc#881125)
|
||||
- Remove the ghost entry /etc/hostname and require the netcfg
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 23 16:39:50 UTC 2014 - arvidjaar@gmail.com
|
||||
|
||||
- make sure legacy services that depend on network are started after
|
||||
network is available (bnc#883565)
|
||||
* 0001-core-sysvcompat-network-should-be-equivalent-to-netw.patch
|
||||
* update insserv-generator.patch to translate $network into
|
||||
network-online.target
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 18 13:35:58 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch 0001-detect-s390-virt.patch from Thomas Blume (bnc#880438)
|
||||
to detect the virtualization layers on s390x as well
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 18 12:58:42 UTC 2014 - werner@suse.de
|
||||
|
||||
- Do not generate synthesize change for cd/dvd (bnc#882714, comment #51)
|
||||
add patch 1037-udev-exclude-cd-dvd-from-block-device.patch from
|
||||
Roberts suggestion as well as readd
|
||||
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 17 14:21:56 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-core-fix-invalid-free-in-killall.patch
|
||||
0002-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
0003-install-fix-invalid-free-in-unit_file_mask.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 17 11:43:23 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- rules: disable usage of dev_id in persistent rules (bnc#882714).
|
||||
add: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
- Disable patch (bnc#882714).
|
||||
1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 12:14:11 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch
|
||||
1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
from Hannes Reinecke to avoid a race condition between variable
|
||||
'SYSTEMD_READY=0' and 'systemd' tag within udev rules (bnc#881942)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 09:40:54 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add workaround for bnc#882393 by adding the systemd update utmp
|
||||
runlevel service to the wanted unit of e.g. the graphical target
|
||||
- Add some later on created files to our file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 03:33:01 UTC 2014 - jlee@suse.com
|
||||
|
||||
- Generate %{_libexecdir}/modules-load.d/efivars.conf so we load efivars
|
||||
module at boot time not from udev (bnc#881559).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 21:59:29 UTC 2014 - crrodriguez@opensuse.org
|
||||
|
||||
- Do not build EFI support code in architectures on which
|
||||
the kernel does not support CONFIG_EFI, it won't work.
|
||||
(ia64 also supports it, but that's dead so is not included)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 14:09:30 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add patch tmpfiles-do-not-clean-for-mandb-index-files.patch
|
||||
there is no need to clean out all 30 days the index data base
|
||||
files nor the cachedir tags of mandb. Those files are used
|
||||
for whatis(1) as well as for apropos(1).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 13:31:53 UTC 2014 - werner@suse.de
|
||||
|
||||
- Do not override predictable names for openSUSE
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 11:03:45 UTC 2014 - werner@suse.de
|
||||
|
||||
- Remove systemd-detect-xendom.patch as it becomes obsolete with
|
||||
upstream patch 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
- Add upstream patches
|
||||
0001-umount-modernizations.patch
|
||||
0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
|
||||
0003-core-allow-transient-mount-units.patch
|
||||
0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
|
||||
0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 19:58:56 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Add upstream patches
|
||||
1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 15:29:49 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change detection of new locking scheme of fsck
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 10 11:11:55 UTC 2014 - werner@suse.de
|
||||
|
||||
- Change 1021-udev-re-add-persistent-net-rules.patch to use persistent
|
||||
rules as a default on SLES-12 and predictable rules as a default
|
||||
otherwise
|
||||
- Add cflags shell function to check possible flags for the compiler
|
||||
as well as for the linker
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 9 08:38:33 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Add upstream patches
|
||||
1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
1026-udevd-inotify-modernizations.patch
|
||||
1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
1028-udev-link-config-fix-mem-leak.patch
|
||||
1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 6 10:24:19 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-sd-event-restore-correct-timeout-behaviour.patch
|
||||
0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 13:29:20 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch 0001-hwdb-fix-case-sensitive-match.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 13:23:24 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add dynamic detection of util-linux version to be able to
|
||||
disable the fsck option -l for version less than 2.25.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 08:06:02 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add changes from Cristian Rodríguez:
|
||||
* The patches
|
||||
delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch and
|
||||
ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch
|
||||
indeed mention unit files which do not exist anymore.
|
||||
- Make sure that systemd-ask-password-wall.service has a tty as
|
||||
it is not sure that a tty1 exists
|
||||
- Avoid broken firmware loading on newer distributions as 13.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 07:24:35 UTC 2014 - werner@suse.de
|
||||
|
||||
- Correct version check for the tcp-devel drop
|
||||
- Use correct permissions for /var/log/journal
|
||||
- Use ACLs for /var/log/journal as described in man:systemd-journald.service(8)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 02:33:48 UTC 2014 - crrodriguez@opensuse.org
|
||||
|
||||
- Correct the libseccomp distribution version test must be >= 13.1
|
||||
- In order to use unit directive AppArmorProfile= libapparmor-devel
|
||||
must be present in buildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 16:31:44 UTC 2014 - sndirsch@suse.com
|
||||
|
||||
- apply-ACL-for-nvidia-uvm-device-node.patch: set ACL on nvidia-uvm
|
||||
device (bnc#879767).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 15:56:01 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add changes from Cristian Rodríguez:
|
||||
* fix keep-crypt-password-prompt.patch which floods the system
|
||||
logs with bogus opendir failures, still the wrong thing to do however.
|
||||
* Use %find_lang to collect locale files
|
||||
* systemd-no-libattr.patch: systemd does not require libattr
|
||||
but just sys/xattr.h, therefore drop the dependency.
|
||||
(from upstream)
|
||||
* Again, drop tcp-devel from buildRequires, this time it is not a
|
||||
SUSE specific feature removal, tcpd supportdisappeared in systemd
|
||||
212 and we shouldn't keep it around.
|
||||
- Add patch 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
|
||||
that is rename systemd-no-libattr.patch to git format
|
||||
- Drop tcp-devel only for *next* openSUSE and not for SLES-12 nor
|
||||
for openSUSE 13.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 14:23:40 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patches
|
||||
0001-virt-rework-container-detection-logic.patch
|
||||
0002-fsck-include-device-name-in-the-message-about-missin.patch
|
||||
0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
|
||||
0004-util-ignore_file-should-not-allow-files-ending-with.patch
|
||||
0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
|
||||
- Add upstream patches to update keyboard data base
|
||||
0007-keyboard-add-Plantronics-.Audio-mute-button.patch
|
||||
- Add upstream patches for udev
|
||||
1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
|
||||
1024-udev-always-close-lock-file-descriptor.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 12:55:53 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Fix enabling predictable rules when using net.ifnames=1.
|
||||
update: 1021-udev-re-add-persistent-net-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 30 07:35:07 UTC 2014 - rmilasan@suse.com
|
||||
|
||||
- Re-add persistent rules as a default and make predictable rules as
|
||||
fallback (bnc#880732).
|
||||
add: 1021-udev-re-add-persistent-net-rules.patch
|
||||
- udev: remove seqnum API and all assumptions about seqnums
|
||||
add: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 07:23:47 UTC 2014 - werner@suse.de
|
||||
|
||||
|
441
systemd.spec
441
systemd.spec
@ -24,6 +24,12 @@
|
||||
%bcond_without compat_libs
|
||||
%bcond_with networkd
|
||||
%bcond_with python
|
||||
%ifarch %{ix86} x86_64 aarch64
|
||||
%define has_efi 1
|
||||
%else
|
||||
%define has_efi 0
|
||||
%endif
|
||||
%bcond_with udevsettle
|
||||
|
||||
Name: systemd
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
@ -33,6 +39,7 @@ Summary: A System and Session Manager
|
||||
License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: acl
|
||||
BuildRequires: audit-devel
|
||||
%if %{with compat_libs}
|
||||
# See gold_archs in binutils.spec
|
||||
@ -54,7 +61,6 @@ BuildRequires: gtk-doc
|
||||
%endif
|
||||
BuildRequires: intltool
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libkmod-devel
|
||||
BuildRequires: libsepol-devel
|
||||
@ -67,7 +73,9 @@ BuildRequires: pam-devel
|
||||
%if 0%{?suse_version} > 1310
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1315
|
||||
BuildRequires: tcpd-devel
|
||||
%endif
|
||||
BuildRequires: xz
|
||||
BuildRequires: pkgconfig(blkid) >= 2.20
|
||||
%if ! 0%{?bootstrap}
|
||||
@ -93,11 +101,14 @@ BuildRequires: pkgconfig(libpcre)
|
||||
BuildRequires: pkgconfig(libqrencode)
|
||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if 0%{?suse_version} >= 1310
|
||||
%ifarch %ix86 x86_64 x32 %arm
|
||||
BuildRequires: pkgconfig(libseccomp)
|
||||
%endif
|
||||
%endif
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: libapparmor-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
||||
BuildRequires: pkgconfig(libsepol)
|
||||
%if 0%{?suse_version} > 1310
|
||||
@ -120,6 +131,7 @@ Requires: kmod >= 14
|
||||
%else
|
||||
Requires: kmod >= 15
|
||||
%endif
|
||||
Requires: netcfg
|
||||
Requires: pam-config >= 0.79-5
|
||||
Requires: pwdutils
|
||||
Requires: systemd-presets-branding
|
||||
@ -130,12 +142,21 @@ Requires(post): findutils
|
||||
%if ! 0%{?bootstrap}
|
||||
Requires(post): pam-config
|
||||
%endif
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/awk
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Conflicts: filesystem < 11.5
|
||||
Conflicts: mkinitrd < 2.7.0
|
||||
Obsoletes: systemd-analyze < 201
|
||||
Provides: systemd-analyze = %{version}
|
||||
Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz
|
||||
%if ! 0%{?bootstrap}
|
||||
Source1: systemd-rpmlintrc
|
||||
%else
|
||||
Source1: systemd-mini-rpmlintrc
|
||||
%endif
|
||||
Source2: localfs.service
|
||||
Source3: systemd-sysv-convert
|
||||
Source6: baselibs.conf
|
||||
@ -163,16 +184,15 @@ Patch6: insserv-generator.patch
|
||||
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
|
||||
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
|
||||
Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch13: 0001-units-systemd-sysctl.service.in-run-after-load-modul.patch
|
||||
Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch
|
||||
Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch
|
||||
Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch
|
||||
Patch18: fix-owner-of-var-log-btmp.patch
|
||||
# PATCH-FIX-SUSE Avoid error message about not existing getty@3270 file
|
||||
Patch19: getty-generator-with-serial-3270-tty.patch
|
||||
# PATCH-FIX-UPSTREAM Avoid error message about not existing getty@3270 file
|
||||
Patch19: 0004-getty-generator-properly-escape-instance-names.patch
|
||||
|
||||
# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done
|
||||
Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch
|
||||
@ -184,6 +204,8 @@ Patch21: allow-multiple-sulogin-to-be-started.patch
|
||||
Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch
|
||||
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices
|
||||
Patch27: apply-ACL-for-nvidia-device-nodes.patch
|
||||
# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-uvm-device-node.patch bnc#879767 -- set ACL on nvidia-uvm device
|
||||
Patch28: apply-ACL-for-nvidia-uvm-device-node.patch
|
||||
# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts
|
||||
Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch
|
||||
# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie.
|
||||
@ -220,8 +242,8 @@ Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
|
||||
Patch91: plymouth-quit-and-wait-for-emergency-service.patch
|
||||
# PATCH-FIX-SUSE 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch -- Avoid systemd crash on resume (bnc#861488)
|
||||
Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch
|
||||
# PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com
|
||||
Patch114: 0001-systemd-empty-sigmask-on-reexec.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch114: 0008-Reset-signal-mask-on-re-exec-to-init.patch
|
||||
# PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com
|
||||
Patch117: 0001-make-209-working-on-older-dist.patch
|
||||
# PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com
|
||||
@ -376,8 +398,8 @@ Patch193: portmap-wants-rpcbind-socket.patch
|
||||
Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch
|
||||
# PATCH-FIX-USTREAM added at 2014/03/14
|
||||
Patch195: 0001-reduce-the-amount-of-messages-logged-to-dev-kmsg-whe.patch
|
||||
# PATCH-FIX-SUSE Detect XEN dom0 as well as domU
|
||||
Patch196: systemd-detect-xendom.patch
|
||||
# PATCH-FIX-SUSE Do not clean the data base files of the manual pages
|
||||
Patch196: tmpfiles-do-not-clean-for-mandb-index-files.patch
|
||||
# PATCH-FIX-SUSE Avoid that emergency and rescue sulogin are fighting on console
|
||||
Patch197: rescue-emergency-target-conflicts.patch
|
||||
# PATCH-FIX-SUSE Avoid a divide by zero sigtrap
|
||||
@ -472,40 +494,116 @@ Patch242: 0004-machined-make-sure-GetMachineAddresses-is-available-.patch
|
||||
Patch243: 0005-core-Filter-by-state-behind-the-D-Bus-API-not-in-the.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch244: 0006-login-add-mir-to-the-list-of-session-types.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/20
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch245: 0007-logind-fix-Display-property-of-user-objects.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch246: 0001-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch247: 0002-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch248: 0003-hwdb-PCI-include-primary-model-string-in-subsystem-m.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch249: 0004-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch250: 0005-hwdb-update.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/21
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/21
|
||||
Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/27
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/27
|
||||
Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/27
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/27
|
||||
Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch262: 0001-virt-rework-container-detection-logic.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch263: 0002-fsck-include-device-name-in-the-message-about-missin.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch264: 0003-units-use-KillMode-mixed-for-systemd-nspawn-.service.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch265: 0004-util-ignore_file-should-not-allow-files-ending-with.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch266: 0006-tty-ask-password-agent-Do-tell-what-directory-we-fai.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch267: 0007-keyboard-add-Plantronics-.Audio-mute-button.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch268: 0001-build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/05
|
||||
Patch269: 0001-hwdb-fix-case-sensitive-match.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/06
|
||||
Patch270: 0001-sd-event-restore-correct-timeout-behaviour.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/06
|
||||
Patch271: 0002-bus-make-use-of-sd_bus_try_close-in-exit-on-idle-ser.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch272: 0001-umount-modernizations.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch273: 0002-namespace-when-setting-up-an-inaccessible-mount-poin.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch274: 0003-core-allow-transient-mount-units.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11 - Detect XEN dom0 as well as domU
|
||||
Patch275: 0004-systemd-detect-virt-only-discover-Xen-domU.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch276: 0005-backlight-Do-not-clamp-brightness-for-LEDs.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/11
|
||||
Patch277: 0006-log-honour-the-kernel-s-quiet-cmdline-argument.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/17
|
||||
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 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
|
||||
Patch282: 0002-units-add-missing-caps-so-that-GetAddresses-can-work.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch283: 0003-units-order-systemd-tmpfiles-clean.service-after-tim.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch284: 0005-po-add-Greek-translation.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch285: 0006-hwdb-Update-database-of-Bluetooth-company-identifier.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch286: 0007-po-add-German-translation.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch287: 0009-core-clean-up-signal-reset-logic-when-reexec.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch288: 0010-util-treat-fuse.sshfs-as-a-network-filesystem.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch289: 0011-build-sys-add-pthread-flag-for-libsystemd-shared.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/24
|
||||
Patch290: 0012-core-transaction-avoid-misleading-error-message-when.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch291: 0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch292: 0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch293: 0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch294: 0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/25
|
||||
Patch295: 0005-man-fix-path-in-crypttab-5.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch296: 0001-units-order-network-online.target-after-network.targ.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch297: 0001-core-use-correct-format-string-for-UIDs.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch298: 0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/26
|
||||
Patch299: 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -551,8 +649,48 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
|
||||
Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/20
|
||||
Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
|
||||
# PATCHFIX-UPSTREAM added at 2014/05/26
|
||||
# PATCH-FIX-UPSTREAM added at 2014/05/26
|
||||
Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch
|
||||
# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch
|
||||
Patch1021: 1021-udev-re-add-persistent-net-rules.patch
|
||||
# PATCH-FIX-UPSTREAM 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
Patch1022: 1022-udev-remove-seqnum-API-and-all-assumptions-about-seq.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch1023: 1023-udev-builtin-keyboard-do-tell-on-which-device-EVIOCS.patch
|
||||
# PATCH-FIX-UPSTREAM added at 2014/06/03
|
||||
Patch1024: 1024-udev-always-close-lock-file-descriptor.patch
|
||||
# PATCH-FIX-UPSTREAM 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
Patch1025: 1025-udev-exclude-device-mapper-from-block-device-ownersh.patch
|
||||
# PATCH-FIX-UPSTREAM 1026-udevd-inotify-modernizations.patch
|
||||
Patch1026: 1026-udevd-inotify-modernizations.patch
|
||||
# PATCH-FIX-UPSTREAM 1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
Patch1027: 1027-udev-synthesize-change-events-for-partitions-when-to.patch
|
||||
# PATCH-FIX-UPSTREAM 1028-udev-link-config-fix-mem-leak.patch
|
||||
Patch1028: 1028-udev-link-config-fix-mem-leak.patch
|
||||
# PATCH-FIX-UPSTREAM 1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
Patch1029: 1029-udev-try-first-re-reading-the-partition-table.patch
|
||||
# PATCH-FIX-UPSTREAM 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
Patch1030: 1030-udev-guard-REREADP-logic-with-open-O_ECXL.patch
|
||||
# PATCH-FIX-UPSTREAM 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
Patch1031: 1031-udev-make-sure-we-always-get-change-for-the-disk.patch
|
||||
# PATCH-FIX-UPSTREAM 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
Patch1032: 1032-udev-guard-REREADPT-by-exclusive-lock-instead-of-O_E.patch
|
||||
# PATCH-FIX-UPSTREAM 1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
Patch1033: 1033-udev-really-exclude-device-mapper-from-block-device.patch
|
||||
# PATCH-FIX-UPSTREAM 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
Patch1034: 1034-udev-check-the-return-value-from-udev_enumerate_scan.patch
|
||||
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||
# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
||||
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
||||
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
||||
# PATCH-FIX-UPSTREAM 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
Patch1038: 1038-udev-fix-invalid-free-in-enable_name_policy.patch
|
||||
# PATCH-FIX-UPSTREAM 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
|
||||
Patch1039: 1039-udevadm-settle-fixed-return-code-for-empty-queue.patch
|
||||
# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714)
|
||||
Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -608,12 +746,19 @@ Summary: A rule-based device node and kernel event manager
|
||||
License: GPL-2.0
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
|
||||
PreReq: /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq
|
||||
PreReq: /bin/rm
|
||||
PreReq: %insserv_prereq
|
||||
PreReq: %fillup_prereq
|
||||
PreReq: /usr/bin/sg_inq
|
||||
Requires(pre): /usr/bin/stat
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(post): lib%{udevpkgname}%{udev_major}
|
||||
Requires(post): sed
|
||||
Requires(post): systemd
|
||||
Requires(post): /usr/bin/systemctl
|
||||
%if %{defined regenerate_initrd_post}
|
||||
Requires(post): coreutils
|
||||
Requires(post): /usr/bin/stat
|
||||
Requires(postun): coreutils
|
||||
Requires(posttrans): suse-module-tools
|
||||
Requires(posttrans): /sbin/mkinitrd
|
||||
@ -715,6 +860,11 @@ License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
Provides: syslog
|
||||
Provides: sysvinit(syslog)
|
||||
Requires(pre): /usr/bin/getent
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(post): /usr/bin/getent
|
||||
Requires(post): /usr/bin/setfacl
|
||||
Requires(post): /usr/bin/systemctl
|
||||
Conflicts: otherproviders(syslog)
|
||||
|
||||
%description logger
|
||||
@ -781,15 +931,13 @@ cp %{SOURCE7} m4/
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch13 -p0
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch19 -p0
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
@ -801,6 +949,7 @@ cp %{SOURCE7} m4/
|
||||
# check if this is still needed, or can be derived from fbdev uaccess rule
|
||||
# http://lists.freedesktop.org/archives/systemd-devel/2012-November/007561.html
|
||||
%patch27 -p1
|
||||
%patch28 -p1
|
||||
%patch37 -p1
|
||||
%ifarch %arm
|
||||
%patch38 -p1
|
||||
@ -895,8 +1044,8 @@ cp %{SOURCE7} m4/
|
||||
%patch192 -p1
|
||||
%patch193 -p1
|
||||
%patch194 -p0
|
||||
%patch195 -p0
|
||||
%patch196 -p1
|
||||
%patch195 -p0
|
||||
%patch197 -p1
|
||||
%patch198 -p1
|
||||
%patch199 -p0
|
||||
@ -961,6 +1110,44 @@ cp %{SOURCE7} m4/
|
||||
%patch259 -p0
|
||||
%patch260 -p0
|
||||
%patch261 -p0
|
||||
%patch262 -p0
|
||||
%patch263 -p0
|
||||
%patch264 -p0
|
||||
%patch265 -p0
|
||||
%patch266 -p0
|
||||
%patch267 -p0
|
||||
%patch268 -p0
|
||||
%patch269 -p0
|
||||
%patch270 -p0
|
||||
%patch271 -p0
|
||||
%patch272 -p0
|
||||
%patch273 -p0
|
||||
%patch274 -p0
|
||||
%patch275 -p0
|
||||
%patch276 -p0
|
||||
%patch277 -p0
|
||||
%patch278 -p0
|
||||
%patch279 -p0
|
||||
%patch280 -p1
|
||||
%patch281 -p1
|
||||
%patch282 -p0
|
||||
%patch283 -p0
|
||||
%patch284 -p0
|
||||
%patch285 -p0
|
||||
%patch286 -p0
|
||||
%patch287 -p0
|
||||
%patch288 -p0
|
||||
%patch289 -p0
|
||||
%patch290 -p0
|
||||
%patch291 -p0
|
||||
%patch292 -p0
|
||||
%patch293 -p0
|
||||
%patch294 -p0
|
||||
%patch295 -p0
|
||||
%patch296 -p0
|
||||
%patch297 -p0
|
||||
%patch298 -p0
|
||||
%patch299 -p0
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -984,15 +1171,111 @@ cp %{SOURCE7} m4/
|
||||
%patch1018 -p0
|
||||
%patch1019 -p0
|
||||
%patch1020 -p0
|
||||
%patch1021 -p1
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if %{with udevsettle}
|
||||
%patch1022 -p1
|
||||
%endif
|
||||
%endif
|
||||
%patch1023 -p0
|
||||
%patch1024 -p0
|
||||
%patch1025 -p1
|
||||
%patch1026 -p1
|
||||
%patch1027 -p1
|
||||
%patch1028 -p1
|
||||
%patch1029 -p1
|
||||
%patch1030 -p1
|
||||
%patch1031 -p1
|
||||
%patch1032 -p1
|
||||
%patch1033 -p1
|
||||
%patch1034 -p1
|
||||
%patch1035 -p1
|
||||
%patch1036 -p1
|
||||
%patch1037 -p1
|
||||
%patch1038 -p0
|
||||
%if 0%{?suse_version} > 1310
|
||||
%if %{with udevsettle}
|
||||
%patch1039 -p0
|
||||
%endif
|
||||
%endif
|
||||
%patch1040 -p1
|
||||
|
||||
# ensure generate files are removed
|
||||
rm -f units/emergency.service
|
||||
|
||||
# disable "-l" option for fsck if it does not support new locking scheme
|
||||
# compare with commit c343be283b7152554bac0c02493a4e1759c163f7
|
||||
PATH=${PATH}:/sbin:/usr/sbin
|
||||
PATH_FSCK=$(type -p fsck)
|
||||
if grep -q /run/fsck/%%s\\.lock $PATH_FSCK
|
||||
then
|
||||
echo Found new $PATH_FSCK that is allow private locking
|
||||
else
|
||||
echo Found old $PATH_FSCK that is disable flock for this one
|
||||
sed -ri 's@^([[:blank:]]+)(cmdline\[i\+\+\][[:blank:]]+=[[:blank:]]+"-l")(;)@\1/* \2 */\3@' src/fsck/fsck.c
|
||||
fi
|
||||
|
||||
%if 0%{?suse_version} <= 1310
|
||||
#
|
||||
# Older versions like oS 13.1 do not distinguish between
|
||||
# network.target and network-online.target
|
||||
#
|
||||
for f in src/core/service.c src/insserv-generator/insserv-generator.c
|
||||
do
|
||||
sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f
|
||||
done
|
||||
%endif
|
||||
|
||||
%build
|
||||
cflags ()
|
||||
{
|
||||
local flag=$1; shift
|
||||
local var=$1; shift
|
||||
local gold
|
||||
test -n "${flag}" -a -n "${var}" || return
|
||||
case "${!var}" in
|
||||
*${flag}*) return
|
||||
esac
|
||||
if type ld.gold > /dev/null 2>&1 ; then
|
||||
gold=-Wl,-fuse-ld=gold
|
||||
fi
|
||||
set -o noclobber
|
||||
case "$flag" in
|
||||
-Wl,*)
|
||||
if echo 'int main () { return 0; }' | \
|
||||
${CC:-gcc} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
rm -f ldtest.c
|
||||
;;
|
||||
*)
|
||||
if ${CC:-gcc} -Werror $gold $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
if ${CXX:-g++} -Werror $gold $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
|
||||
eval $var=\${$var:+\$$var\ }$flag
|
||||
fi
|
||||
esac
|
||||
set +o noclobber
|
||||
}
|
||||
autoreconf -fiv
|
||||
# prevent pre-generated and distributed files from re-building
|
||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||
export V=1
|
||||
export V=e
|
||||
export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
|
||||
export LDFLAGS
|
||||
%if 0%{?suse_version} == 1315
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||
%else
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
||||
for rules in 75-persistent-net-generator 76-net-sriov-names
|
||||
do
|
||||
sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules
|
||||
done
|
||||
%endif
|
||||
cflags -pipe CFLAGS
|
||||
cflags -Wl,-O2 LDFLAGS
|
||||
cflags -Wl,--hash-size=8599 LDFLAGS
|
||||
# keep split-usr until all packages have moved their systemd rules to /usr
|
||||
%configure \
|
||||
--docdir=%{_docdir}/systemd \
|
||||
@ -1019,7 +1302,12 @@ export V=1
|
||||
--enable-selinux \
|
||||
--enable-split-usr \
|
||||
--disable-static \
|
||||
%if 0%{?suse_version} <= 1310
|
||||
--with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \
|
||||
%endif
|
||||
%if ! 0%{has_efi}
|
||||
--disable-efi \
|
||||
%endif
|
||||
--with-rc-local-script-path-start=/etc/init.d/boot.local \
|
||||
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
|
||||
--with-debug-shell=/bin/bash \
|
||||
@ -1031,8 +1319,7 @@ export V=1
|
||||
%if %{without networkd}
|
||||
--disable-networkd \
|
||||
%endif
|
||||
--disable-kdbus \
|
||||
CFLAGS="%{optflags}"
|
||||
--disable-kdbus
|
||||
make %{?_smp_mflags}
|
||||
%if ! 0%{?bootstrap}
|
||||
make %{?_smp_mflags} update-man-list man
|
||||
@ -1067,7 +1354,9 @@ ln -sf %{_prefix}/lib/systemd/systemd-udevd %{buildroot}/sbin/udevd
|
||||
%if ! 0%{?bootstrap}
|
||||
ln -sf systemd-udevd.8 %{buildroot}/%{_mandir}/man8/udevd.8
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1310
|
||||
ln -sf /lib/firmware %{buildroot}/usr/lib/firmware
|
||||
%endif
|
||||
%if ! 0%{?bootstrap}
|
||||
install -m755 -D %{S:8} %{buildroot}/etc/init.d/systemd-journald
|
||||
install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config
|
||||
@ -1135,6 +1424,12 @@ cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf
|
||||
# load sg module at boot time
|
||||
sg
|
||||
EOF
|
||||
%if 0%{has_efi}
|
||||
cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/efivars.conf
|
||||
# load efivars module at boot time
|
||||
efivars
|
||||
EOF
|
||||
%endif
|
||||
|
||||
# To avoid making life hard for Factory developers, don't package the
|
||||
# kernel.core_pattern setting until systemd-coredump is a part of an actual
|
||||
@ -1235,7 +1530,7 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
%if 0%{suse_version} < 1310
|
||||
%if 0%{suse_version} <= 1310
|
||||
cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
|
||||
[Unit]
|
||||
Description=Fix against deadlock at shutdown
|
||||
@ -1259,6 +1554,28 @@ cat > %{buildroot}/%{_prefix}/lib/systemd/system/fix.service <<-'EOF'
|
||||
ln -sf ../fix.service %{buildroot}/%{_prefix}/lib/systemd/system/remote-fs.target.wants
|
||||
%endif
|
||||
|
||||
# Some files which may created by us or by the admin later on
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
|
||||
for ghost in X11/xorg.conf.d/00-keyboard.conf vconsole.conf locale.conf \
|
||||
machine-id machine-info \
|
||||
systemd/system/runlevel2.target \
|
||||
systemd/system/runlevel3.target \
|
||||
systemd/system/runlevel4.target \
|
||||
systemd/system/runlevel4.target \
|
||||
systemd/system/runlevel5.target
|
||||
do
|
||||
> %{buildroot}%{_sysconfdir}/$ghost
|
||||
done
|
||||
|
||||
# Workaround for bug #882393
|
||||
for runlevel in poweroff rescue multi-user graphical reboot
|
||||
do
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants
|
||||
ln -sf ../systemd-update-utmp-runlevel.service %{buildroot}%{_prefix}/lib/systemd/system/${runlevel}.target.wants/
|
||||
done
|
||||
|
||||
%find_lang systemd
|
||||
|
||||
%pre
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
@ -1274,8 +1591,14 @@ exit 0
|
||||
/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
|
||||
/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || :
|
||||
# Make sure new journal files
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || :
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/ > /dev/null 2>&1 || :
|
||||
if read ID < /etc/machine-id > /dev/null 2>&1 ; then
|
||||
chgrp systemd-journal %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
|
||||
chmod g+s %{_localstatedir}/log/journal/$ID > /dev/null 2>&1 || :
|
||||
fi
|
||||
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 || :
|
||||
|
||||
# Try to read default runlevel from the old inittab if it exists
|
||||
if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then
|
||||
@ -1343,7 +1666,7 @@ elif [ ! -e /lib/udev ]; then
|
||||
ln -s /usr/lib/udev /lib/udev
|
||||
fi
|
||||
# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules
|
||||
/usr/sbin/groupadd -r tape 2> /dev/null || :
|
||||
getent group tape >/dev/null || groupadd -r tape 2> /dev/null || :
|
||||
# kill daemon if we are not in a chroot
|
||||
if test -f /proc/1/exe -a -d /proc/1/root ; then
|
||||
if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
@ -1422,7 +1745,13 @@ fi
|
||||
|
||||
%postun -n libgudev-1_0-0 -p /sbin/ldconfig
|
||||
|
||||
%pre logger
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
exit 0
|
||||
|
||||
%post logger
|
||||
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
|
||||
# tell journal to start logging on disk if directory didn't exist before
|
||||
systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || :
|
||||
@ -1460,7 +1789,6 @@ exit 0
|
||||
/bin/systemd-ask-password
|
||||
/bin/systemctl
|
||||
%{_bindir}/systemd-sleep-grub
|
||||
%{_bindir}/bootctl
|
||||
%{_bindir}/busctl
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/hostnamectl
|
||||
@ -1548,7 +1876,10 @@ exit 0
|
||||
%if ! 0%{?bootstrap}
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator
|
||||
%endif
|
||||
%if 0%{has_efi}
|
||||
%{_bindir}/bootctl
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator
|
||||
%endif
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-getty-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||
@ -1561,6 +1892,9 @@ exit 0
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
%{_libexecdir}/modules-load.d/sg.conf
|
||||
%if 0%{has_efi}
|
||||
%{_libexecdir}/modules-load.d/efivars.conf
|
||||
%endif
|
||||
|
||||
%dir %{_libexecdir}/tmpfiles.d
|
||||
%dir %{_sysconfdir}/tmpfiles.d
|
||||
@ -1594,6 +1928,18 @@ exit 0
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
||||
|
||||
# Some files which may created by us
|
||||
%dir %{_sysconfdir}/X11/xorg.conf.d
|
||||
%ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/vconsole.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/locale.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/machine-id
|
||||
%ghost %config(noreplace) %{_sysconfdir}/machine-info
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target
|
||||
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target
|
||||
|
||||
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
|
||||
@ -1715,7 +2061,9 @@ exit 0
|
||||
# keep for compatibility
|
||||
%ghost /lib/udev
|
||||
%{_bindir}/udevadm
|
||||
%if 0%{?suse_version} <= 1310
|
||||
%{_prefix}/lib/firmware
|
||||
%endif
|
||||
%dir %{_prefix}/lib/udev/
|
||||
%{_prefix}/lib/udev/accelerometer
|
||||
%{_prefix}/lib/udev/ata_id
|
||||
@ -1726,6 +2074,9 @@ exit 0
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/write_dev_root_rule
|
||||
%{_prefix}/lib/udev/udev-generate-peristent-rule
|
||||
%{_prefix}/lib/udev/net-set-sriov-names
|
||||
%{_prefix}/lib/udev/rule_generator.functions
|
||||
%{_prefix}/lib/udev/write_net_rules
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||
@ -1803,7 +2154,7 @@ exit 0
|
||||
|
||||
%files logger
|
||||
%defattr(-,root,root)
|
||||
%dir %{_localstatedir}/log/journal
|
||||
%dir %attr(2755,root,systemd-journal) %{_localstatedir}/log/journal
|
||||
%{_localstatedir}/log/README
|
||||
/etc/init.d/systemd-journald
|
||||
|
||||
|
22
tmpfiles-do-not-clean-for-mandb-index-files.patch
Normal file
22
tmpfiles-do-not-clean-for-mandb-index-files.patch
Normal file
@ -0,0 +1,22 @@
|
||||
There is no need to clean out all 30 days the index data base
|
||||
files nor the cachedir tags of mandb. Those files are used
|
||||
for whatis(1) as well as for apropos(1).
|
||||
|
||||
---
|
||||
systemd-210/tmpfiles.d/systemd.conf | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- systemd-210/tmpfiles.d/systemd.conf
|
||||
+++ systemd-210/tmpfiles.d/systemd.conf 2014-06-11 13:47:59.470236564 +0000
|
||||
@@ -14,6 +14,11 @@ f /var/log/wtmp 0664 root utmp -
|
||||
f /var/log/btmp 0600 root root -
|
||||
|
||||
d /var/cache/man - - - 30d
|
||||
+# mandb uses data base file which should not be cleared
|
||||
+x /var/cache/man/index.*
|
||||
+x /var/cache/man/CACHEDIR.TAG
|
||||
+x /var/cache/man/*/index.*
|
||||
+x /var/cache/man/*/CACHEDIR.TAG
|
||||
|
||||
d /run/systemd/ask-password 0755 root root -
|
||||
d /run/systemd/seats 0755 root root -
|
Loading…
Reference in New Issue
Block a user