mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
core/systemd to 218-1
This commit is contained in:
parent
9acd86e4a5
commit
4c810c769d
11 changed files with 5 additions and 359 deletions
|
@ -1,33 +0,0 @@
|
|||
From 1ab19cb167b32967556eefd8f6d3df0e3de7d67d Mon Sep 17 00:00:00 2001
|
||||
From: Dave Reisner <dreisner@archlinux.org>
|
||||
Date: Wed, 29 Oct 2014 13:32:43 -0400
|
||||
Subject: [PATCH] nspawn: ignore EEXIST when creating mount point
|
||||
|
||||
A combination of commits f3c80515c and 79d80fc14 cause nspawn to
|
||||
silently fail with a commandline such as:
|
||||
|
||||
# systemd-nspawn -D /build/extra-x86_64 --bind=/usr
|
||||
|
||||
strace shows the culprit:
|
||||
|
||||
[pid 27868] writev(2, [{"Failed to create mount point /build/extra-x86_64/usr: File exists", 82}, {"\n", 1}], 2) = 83
|
||||
---
|
||||
src/nspawn/nspawn.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||
index b6d9bc6..d88987a 100644
|
||||
--- a/src/nspawn/nspawn.c
|
||||
+++ b/src/nspawn/nspawn.c
|
||||
@@ -758,7 +758,7 @@ static int mount_binds(const char *dest, char **l, bool ro) {
|
||||
* and char devices. */
|
||||
if (S_ISDIR(source_st.st_mode)) {
|
||||
r = mkdir_label(where, 0755);
|
||||
- if (r < 0) {
|
||||
+ if (r < 0 && errno != EEXIST) {
|
||||
log_error("Failed to create mount point %s: %s", where, strerror(-r));
|
||||
|
||||
return r;
|
||||
--
|
||||
2.1.2
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
From ef7b6c0190fefaacf6d8f8e1a6dda4ba8b98091b Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Wed, 29 Oct 2014 17:58:43 +0100
|
||||
Subject: [PATCH] sd-bus: properly handle removals of non-existing matches
|
||||
|
||||
---
|
||||
src/libsystemd/sd-bus/bus-match.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libsystemd/sd-bus/bus-match.c b/src/libsystemd/sd-bus/bus-match.c
|
||||
index 18afe0f..5658c61 100644
|
||||
--- a/src/libsystemd/sd-bus/bus-match.c
|
||||
+++ b/src/libsystemd/sd-bus/bus-match.c
|
||||
@@ -537,7 +537,7 @@ static int bus_match_find_compare_value(
|
||||
else if (BUS_MATCH_CAN_HASH(t))
|
||||
n = hashmap_get(c->compare.children, value_str);
|
||||
else {
|
||||
- for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next)
|
||||
+ for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next)
|
||||
;
|
||||
}
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From d5a248dbe933c5cbe3ba3d0c5eb8a035018ba6af Mon Sep 17 00:00:00 2001
|
||||
From: Dan Williams <dcbw@redhat.com>
|
||||
Date: Thu, 30 Oct 2014 14:23:00 -0500
|
||||
Subject: [PATCH] sd-dhcp-client: clean up raw socket sd_event_source when
|
||||
creating new UDP socket
|
||||
|
||||
The raw socket sd_event_source used for DHCP server solicitations
|
||||
was simply dropped on the floor when creating the new UDP socket
|
||||
after a lease has been acquired. Clean it up properly so we're
|
||||
not still listening and responding to events on it.
|
||||
---
|
||||
src/libsystemd-network/sd-dhcp-client.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
|
||||
index 0eba4c3..1f7f238 100644
|
||||
--- a/src/libsystemd-network/sd-dhcp-client.c
|
||||
+++ b/src/libsystemd-network/sd-dhcp-client.c
|
||||
@@ -1269,6 +1269,9 @@ static int client_handle_message(sd_dhcp_client *client, DHCPMessage *message,
|
||||
if (r >= 0) {
|
||||
client->timeout_resend =
|
||||
sd_event_source_unref(client->timeout_resend);
|
||||
+ client->receive_message =
|
||||
+ sd_event_source_unref(client->receive_message);
|
||||
+ client->fd = asynchronous_close(client->fd);
|
||||
|
||||
if (IN_SET(client->state, DHCP_STATE_REQUESTING,
|
||||
DHCP_STATE_REBOOTING))
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From 0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Reisner <dreisner@archlinux.org>
|
||||
Date: Thu, 30 Oct 2014 20:12:05 -0400
|
||||
Subject: [PATCH] shared/install: avoid prematurely rejecting "missing" units
|
||||
|
||||
f7101b7368df copied some logic to prevent enabling masked units, but
|
||||
also added a check which causes attempts to enable templated units to
|
||||
fail. Since we know the logic beyond this check will properly handle
|
||||
units which truly do not exist, we can rely on the unit file state
|
||||
comparison to suffice for expressing the intent of f7101b7368df.
|
||||
|
||||
ref: https://bugs.archlinux.org/task/42616
|
||||
---
|
||||
src/shared/install.c | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/shared/install.c b/src/shared/install.c
|
||||
index 035b44c..cab93e8 100644
|
||||
--- a/src/shared/install.c
|
||||
+++ b/src/shared/install.c
|
||||
@@ -1620,12 +1620,10 @@ int unit_file_enable(
|
||||
STRV_FOREACH(i, files) {
|
||||
UnitFileState state;
|
||||
|
||||
+ /* We only want to know if this unit is masked, so we ignore
|
||||
+ * errors from unit_file_get_state, deferring other checks.
|
||||
+ * This allows templated units to be enabled on the fly. */
|
||||
state = unit_file_get_state(scope, root_dir, *i);
|
||||
- if (state < 0) {
|
||||
- log_error("Failed to get unit file state for %s: %s", *i, strerror(-state));
|
||||
- return state;
|
||||
- }
|
||||
-
|
||||
if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
|
||||
log_error("Failed to enable unit: Unit %s is masked", *i);
|
||||
return -ENOTSUP;
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
From 4b5d8d0f22ae61ceb45a25391354ba53b43ee992 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Schmidt <mschmidt@redhat.com>
|
||||
Date: Thu, 6 Nov 2014 22:24:13 +0100
|
||||
Subject: [PATCH] shutdown: fix arguments to /run/initramfs/shutdown
|
||||
|
||||
Our initrd interface specifies that the verb is in argv[1].
|
||||
This is where systemd passes it to systemd-shutdown, but getopt
|
||||
permutes argv[]. This confuses dracut's shutdown script:
|
||||
Shutdown called with argument '--log-level'. Rebooting!
|
||||
|
||||
getopt can be convinced to not permute argv[] by having '-' as the first
|
||||
character of optstring. Let's use it. This requires changing the way
|
||||
non-option arguments (in our case, the verb) are processed.
|
||||
|
||||
This fixes a bug where the system would reboot instead of powering off.
|
||||
---
|
||||
src/core/shutdown.c | 17 +++++++++++------
|
||||
1 file changed, 11 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
|
||||
index dd11ae3..48ed7fa 100644
|
||||
--- a/src/core/shutdown.c
|
||||
+++ b/src/core/shutdown.c
|
||||
@@ -75,7 +75,9 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
assert(argc >= 1);
|
||||
assert(argv);
|
||||
|
||||
- while ((c = getopt_long(argc, argv, "", options, NULL)) >= 0)
|
||||
+ /* "-" prevents getopt from permuting argv[] and moving the verb away
|
||||
+ * from argv[1]. Our interface to initrd promises it'll be there. */
|
||||
+ while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0)
|
||||
switch (c) {
|
||||
|
||||
case ARG_LOG_LEVEL:
|
||||
@@ -113,6 +115,13 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
break;
|
||||
|
||||
+ case '\001':
|
||||
+ if (!arg_verb)
|
||||
+ arg_verb = optarg;
|
||||
+ else
|
||||
+ log_error("Excess arguments, ignoring");
|
||||
+ break;
|
||||
+
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
@@ -120,15 +129,11 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
assert_not_reached("Unhandled option code.");
|
||||
}
|
||||
|
||||
- if (optind >= argc) {
|
||||
+ if (!arg_verb) {
|
||||
log_error("Verb argument missing.");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- arg_verb = argv[optind];
|
||||
-
|
||||
- if (optind + 1 < argc)
|
||||
- log_error("Excess arguments, ignoring");
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From 8232e39e7cf32071e11b3b04839e6c98fbc81d0f Mon Sep 17 00:00:00 2001
|
||||
From: Colin Guthrie <colin@mageia.org>
|
||||
Date: Wed, 5 Nov 2014 15:29:41 +0000
|
||||
Subject: [PATCH] udev hwdb: Change error message regarding missing hwdb.bin
|
||||
back to debug.
|
||||
|
||||
When used in an initramfs, it's expected that the hwdb.bin file is
|
||||
not present (it makes for a very large initramfs otherwise).
|
||||
|
||||
While it's nice to tell the user about this, as it's not strictly
|
||||
speaking an error we really shouldn't be so forceful in our
|
||||
reporting.
|
||||
---
|
||||
src/libudev/libudev-hwdb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libudev/libudev-hwdb.c b/src/libudev/libudev-hwdb.c
|
||||
index a1cfc0b..0716072 100644
|
||||
--- a/src/libudev/libudev-hwdb.c
|
||||
+++ b/src/libudev/libudev-hwdb.c
|
||||
@@ -296,7 +296,7 @@ _public_ struct udev_hwdb *udev_hwdb_new(struct udev *udev) {
|
||||
}
|
||||
|
||||
if (!hwdb->f) {
|
||||
- udev_err(udev, "hwdb.bin does not exist, please run udevadm hwdb --update");
|
||||
+ udev_dbg(udev, "hwdb.bin does not exist, please run udevadm hwdb --update");
|
||||
udev_hwdb_unref(hwdb);
|
||||
return NULL;
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From 919699ec301ea507edce4a619141ed22e789ac0d Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Fri, 31 Oct 2014 16:22:36 +0100
|
||||
Subject: [PATCH] units: don't order journal flushing afte remote-fs.target
|
||||
|
||||
Instead, only depend on the actual file systems we need.
|
||||
|
||||
This should solve dep loops on setups where remote-fs.target is moved
|
||||
into late boot.
|
||||
---
|
||||
units/systemd-journal-flush.service.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/units/systemd-journal-flush.service.in b/units/systemd-journal-flush.service.in
|
||||
index 699670b..2612220 100644
|
||||
--- a/units/systemd-journal-flush.service.in
|
||||
+++ b/units/systemd-journal-flush.service.in
|
||||
@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal to Persistent Storage
|
||||
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
|
||||
DefaultDependencies=no
|
||||
Requires=systemd-journald.service
|
||||
-After=systemd-journald.service local-fs.target remote-fs.target
|
||||
+After=systemd-journald.service
|
||||
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
|
||||
+RequiresMountsFor=/var/log/journal
|
||||
|
||||
[Service]
|
||||
ExecStart=@rootbindir@/journalctl --flush
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
From a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Schmidt <mschmidt@redhat.com>
|
||||
Date: Tue, 4 Nov 2014 20:28:08 +0100
|
||||
Subject: [PATCH] units: make systemd-journald.service Type=notify
|
||||
|
||||
It already calls sd_notify(), so it looks like an oversight.
|
||||
|
||||
Without it, its ordering to systemd-journal-flush.service is
|
||||
non-deterministic and the SIGUSR1 from flushing may kill journald before
|
||||
it has its signal handlers set up.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=85871
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1159641
|
||||
---
|
||||
(foutrelis: dropped systemd-journald-audit.socket from Sockets= in order to
|
||||
apply to systemd 217)
|
||||
|
||||
units/systemd-journald.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
|
||||
index 7ee67fd..8d380c8 100644
|
||||
--- a/units/systemd-journald.service.in
|
||||
+++ b/units/systemd-journald.service.in
|
||||
@@ -14,6 +14,7 @@ After=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-a
|
||||
Before=sysinit.target
|
||||
|
||||
[Service]
|
||||
+Type=notify
|
||||
Sockets=systemd-journald.socket systemd-journald-dev-log.socket
|
||||
ExecStart=@rootlibexecdir@/systemd-journald
|
||||
Restart=always
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
From 1f1926aa5e836caa3bd6df43704aecd606135103 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sun, 2 Nov 2014 21:45:42 -0500
|
||||
Subject: [PATCH] units: order sd-journal-flush after sd-remount-fs
|
||||
|
||||
Otherwise we could attempt to flush the journal while /var/log/ was
|
||||
still ro, and silently skip journal flushing.
|
||||
|
||||
The way that errors in flushing are handled should still be changed to
|
||||
be more transparent and robust.
|
||||
---
|
||||
units/systemd-journal-flush.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/units/systemd-journal-flush.service.in b/units/systemd-journal-flush.service.in
|
||||
index fa29089..98c91b4 100644
|
||||
--- a/units/systemd-journal-flush.service.in
|
||||
+++ b/units/systemd-journal-flush.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-journald.service(8) man:journald.conf(5)
|
||||
DefaultDependencies=no
|
||||
Requires=systemd-journald.service
|
||||
After=systemd-journald.service
|
||||
+After=systemd-remount-fs.service
|
||||
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
|
||||
RequiresMountsFor=/var/log/journal
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
pkgbase=systemd
|
||||
pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
|
||||
pkgver=217
|
||||
pkgrel=8
|
||||
pkgver=218
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.freedesktop.org/wiki/Software/systemd"
|
||||
makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gobject-introspection' 'gperf'
|
||||
|
@ -16,46 +16,14 @@ makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gobject-introspection' 'gperf'
|
|||
'python-lxml' 'quota-tools' 'shadow' 'xz')
|
||||
options=('strip' 'debug')
|
||||
source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
|
||||
'0001-nspawn-ignore-EEXIST-when-creating-mount-point.patch'
|
||||
'0001-sd-dhcp-client-clean-up-raw-socket-sd_event_source-w.patch'
|
||||
'0001-shared-install-avoid-prematurely-rejecting-missing-u.patch'
|
||||
'0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch'
|
||||
'0001-units-don-t-order-journal-flushing-afte-remote-fs.ta.patch'
|
||||
'0001-units-order-sd-journal-flush-after-sd-remount-fs.patch'
|
||||
'0001-units-make-systemd-journald.service-Type-notify.patch'
|
||||
'0001-shutdown-fix-arguments-to-run-initramfs-shutdown.patch'
|
||||
'0001-udev-hwdb-Change-error-message-regarding-missing-hwd.patch'
|
||||
'initcpio-hook-udev'
|
||||
'initcpio-install-systemd'
|
||||
'initcpio-install-udev')
|
||||
md5sums=('e68dbff3cc19f66e341572d9fb2ffa89'
|
||||
'ca9e33118fd8d456563854d95512a577'
|
||||
'ade8c1b5b2c85d0a83b7bcf5aa6d131a'
|
||||
'7aaf44ce842deb449fca0f2595bbc1e4'
|
||||
'4adc3ddce027693bafa53089322e859b'
|
||||
'42ff9d59bb057637355b202157d59991'
|
||||
'92497d06e0af615be4b368fe615109c0'
|
||||
'a321d62d6ffada9e6976bdd339fa3219'
|
||||
'f72e8d086172177c224f0ce48ef54222'
|
||||
'6326988822e9d18217525b2cb25cec1d'
|
||||
md5sums=('4e2c511b0a7932d7fc9d79822273aac6'
|
||||
'90ea67a7bb237502094914622a39e281'
|
||||
'107c489f27c667be4101aecd3369b355'
|
||||
'c9db3010602913559295de3481019681'
|
||||
'bde43090d4ac0ef048e3eaee8202a407')
|
||||
|
||||
|
||||
prepare() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
patch -Np1 <../0001-nspawn-ignore-EEXIST-when-creating-mount-point.patch
|
||||
patch -Np1 <../0001-sd-dhcp-client-clean-up-raw-socket-sd_event_source-w.patch
|
||||
patch -Np1 <../0001-shared-install-avoid-prematurely-rejecting-missing-u.patch
|
||||
patch -Np1 <../0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch
|
||||
patch -Np1 <../0001-units-don-t-order-journal-flushing-afte-remote-fs.ta.patch
|
||||
patch -Np1 <../0001-units-order-sd-journal-flush-after-sd-remount-fs.patch
|
||||
patch -Np1 <../0001-units-make-systemd-journald.service-Type-notify.patch
|
||||
patch -Np1 <../0001-shutdown-fix-arguments-to-run-initramfs-shutdown.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
|
|
|
@ -137,6 +137,7 @@ build() {
|
|||
systemd-fsck@.service \
|
||||
systemd-hibernate-resume@.service \
|
||||
systemd-journald.service \
|
||||
systemd-journald-audit.socket \
|
||||
systemd-journald-dev-log.socket \
|
||||
systemd-tmpfiles-setup-dev.service \
|
||||
systemd-udev-trigger.service \
|
||||
|
|
Loading…
Reference in a new issue