[arch-commits] Commit in systemd/trunk (4 files)
Evangelos Foutras
foutrelis at archlinux.org
Wed May 27 17:55:08 UTC 2015
Date: Wednesday, May 27, 2015 @ 19:55:08
Author: foutrelis
Revision: 239819
upgpkg: systemd 220-2
- Backport fix for incorrect SIGCHLD handling in --daemon mode (FS#45086).
- Use git sources to work around incomplete release tarball.
- Enable gnuefi support.
Modified:
systemd/trunk/PKGBUILD
Deleted:
systemd/trunk/0001-udevd-worker-fully-clean-up-unnecessary-fds.patch
systemd/trunk/0002-udevd-worker-modernize-a-bit.patch
systemd/trunk/0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch
------------------------------------------------------------+
0001-udevd-worker-fully-clean-up-unnecessary-fds.patch | 34 ------
0002-udevd-worker-modernize-a-bit.patch | 58 -----------
0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch | 45 --------
PKGBUILD | 38 +++----
4 files changed, 18 insertions(+), 157 deletions(-)
Deleted: 0001-udevd-worker-fully-clean-up-unnecessary-fds.patch
===================================================================
--- 0001-udevd-worker-fully-clean-up-unnecessary-fds.patch 2015-05-27 17:31:03 UTC (rev 239818)
+++ 0001-udevd-worker-fully-clean-up-unnecessary-fds.patch 2015-05-27 17:55:08 UTC (rev 239819)
@@ -1,34 +0,0 @@
-From 6d1b1e0bc6bd020218afc5f05286bf372be283d5 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Sun, 24 May 2015 15:10:04 +0200
-Subject: [PATCH 1/3] udevd: worker - fully clean up unnecessary fds
-
-These are only ever used in the parent process, so close them early in the worker.
----
- src/udev/udevd.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index afd4640..d8cb046 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -329,11 +329,15 @@ static void worker_spawn(Manager *manager, struct event *event) {
-
- manager_workers_free(manager);
- event_queue_cleanup(manager, EVENT_UNDEF);
-+
- manager->monitor = udev_monitor_unref(manager->monitor);
-+ manager->ctrl_conn_blocking = udev_ctrl_connection_unref(manager->ctrl_conn_blocking);
- manager->ctrl = udev_ctrl_unref(manager->ctrl);
-+
-+ manager->fd_ep = safe_close(manager->fd_ep);
- manager->fd_signal = safe_close(manager->fd_signal);
-+ manager->fd_inotify = safe_close(manager->fd_inotify);
- manager->worker_watch[READ_END] = safe_close(manager->worker_watch[READ_END]);
-- manager->fd_ep = safe_close(manager->fd_ep);
-
- sigfillset(&mask);
- fd_signal = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC);
---
-2.4.1
-
Deleted: 0002-udevd-worker-modernize-a-bit.patch
===================================================================
--- 0002-udevd-worker-modernize-a-bit.patch 2015-05-27 17:31:03 UTC (rev 239818)
+++ 0002-udevd-worker-modernize-a-bit.patch 2015-05-27 17:55:08 UTC (rev 239819)
@@ -1,58 +0,0 @@
-From 2dd9f98d2d7a06a8e28729da6339fce50d66e9cc Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Sun, 24 May 2015 15:14:43 +0200
-Subject: [PATCH 2/3] udevd: worker - modernize a bit
-
-Initialize structs when declaring rather than using memzero().
----
- src/udev/udevd.c | 18 +++++++-----------
- 1 file changed, 7 insertions(+), 11 deletions(-)
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index d8cb046..4a44b03 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -316,10 +316,11 @@ static void worker_spawn(Manager *manager, struct event *event) {
- switch (pid) {
- case 0: {
- struct udev_device *dev = NULL;
-+ _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL;
- int fd_monitor;
- _cleanup_close_ int fd_signal = -1, fd_ep = -1;
-- _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL;
-- struct epoll_event ep_signal, ep_monitor;
-+ struct epoll_event ep_signal = { .events = EPOLLIN };
-+ struct epoll_event ep_monitor = { .events = EPOLLIN };
- sigset_t mask;
- int r = 0;
-
-@@ -345,6 +346,10 @@ static void worker_spawn(Manager *manager, struct event *event) {
- r = log_error_errno(errno, "error creating signalfd %m");
- goto out;
- }
-+ ep_signal.data.fd = fd_signal;
-+
-+ fd_monitor = udev_monitor_get_fd(worker_monitor);
-+ ep_monitor.data.fd = fd_monitor;
-
- fd_ep = epoll_create1(EPOLL_CLOEXEC);
- if (fd_ep < 0) {
-@@ -352,15 +357,6 @@ static void worker_spawn(Manager *manager, struct event *event) {
- goto out;
- }
-
-- memzero(&ep_signal, sizeof(struct epoll_event));
-- ep_signal.events = EPOLLIN;
-- ep_signal.data.fd = fd_signal;
--
-- fd_monitor = udev_monitor_get_fd(worker_monitor);
-- memzero(&ep_monitor, sizeof(struct epoll_event));
-- ep_monitor.events = EPOLLIN;
-- ep_monitor.data.fd = fd_monitor;
--
- if (epoll_ctl(fd_ep, EPOLL_CTL_ADD, fd_signal, &ep_signal) < 0 ||
- epoll_ctl(fd_ep, EPOLL_CTL_ADD, fd_monitor, &ep_monitor) < 0) {
- r = log_error_errno(errno, "fail to add fds to epoll: %m");
---
-2.4.1
-
Deleted: 0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch
===================================================================
--- 0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch 2015-05-27 17:31:03 UTC (rev 239818)
+++ 0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch 2015-05-27 17:55:08 UTC (rev 239819)
@@ -1,45 +0,0 @@
-From 040e689654ef08c63ab93bf0875865398e8d9c91 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg at jklm.no>
-Date: Sun, 24 May 2015 15:20:36 +0200
-Subject: [PATCH 3/3] udevd: event - fix event queue in daemenozied mode
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We would enforce that events could only be added to the queue from the
-main process, but that brake in daemonized mode. Relax the restriction
-to only allow one process to add events to the queue.
-
-Reported by Mantas Mikulėnas.
----
- src/udev/udevd.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index 4a44b03..b33a262 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -564,7 +564,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
- assert(manager);
- assert(dev);
-
-- /* only the main process can add events to the queue */
-+ /* only one process can add events to the queue */
-+ if (manager->pid == 0)
-+ manager->pid = getpid();
-+
- assert(manager->pid == getpid());
-
- event = new0(struct event, 1);
-@@ -1300,8 +1303,6 @@ static int manager_new(Manager **ret) {
- if (!manager)
- return log_oom();
-
-- manager->pid = getpid();
--
- manager->fd_ep = -1;
- manager->fd_ctrl = -1;
- manager->fd_uevent = -1;
---
-2.4.1
-
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-05-27 17:31:03 UTC (rev 239818)
+++ PKGBUILD 2015-05-27 17:55:08 UTC (rev 239819)
@@ -4,42 +4,39 @@
pkgbase=systemd
pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
pkgver=220
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gobject-introspection' 'gperf'
'gtk-doc' 'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt'
'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers' 'lz4' 'pam'
- 'python' 'python-lxml' 'quota-tools' 'shadow' 'xz')
+ 'python' 'python-lxml' 'quota-tools' 'shadow' 'xz' 'gnu-efi-libs' 'git')
options=('strip' 'debug')
-source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
+source=("git://anongit.freedesktop.org/systemd/systemd#tag=v$pkgver"
'initcpio-hook-udev'
'initcpio-install-systemd'
- 'initcpio-install-udev'
- '0001-udevd-worker-fully-clean-up-unnecessary-fds.patch'
- '0002-udevd-worker-modernize-a-bit.patch'
- '0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch')
-md5sums=('60acd92b04c0f5faa806678abd433014'
+ 'initcpio-install-udev')
+md5sums=('SKIP'
'90ea67a7bb237502094914622a39e281'
'8516a7bd65157d0115c113118c10c3f3'
- 'bde43090d4ac0ef048e3eaee8202a407'
- '498cf4130f8ae5d0d8262baf49d79459'
- '9549dd7a683be0e6ac798f3caa433458'
- 'fee8074218b71bf5e4195d5c15bba61a')
+ 'bde43090d4ac0ef048e3eaee8202a407')
prepare() {
- cd "$pkgname-$pkgver"
+ cd "$pkgname"
- rm -f src/journal/audit_type-to-name.h src/udev/keyboard-keys-from-name.gperf
+ # udevd: event - fix event queue in daemenozied mode
+ # http://cgit.freedesktop.org/systemd/systemd/commit/?id=040e689654ef
+ git cherry-pick -n 040e689654ef
- patch -Np1 < ../0001-udevd-worker-fully-clean-up-unnecessary-fds.patch
- patch -Np1 < ../0002-udevd-worker-modernize-a-bit.patch
- patch -Np1 < ../0003-udevd-event-fix-event-queue-in-daemenozied-mode.patch
+ # udevd: fix SIGCHLD handling in --daemon mode
+ # http://cgit.freedesktop.org/systemd/systemd/commit/?id=86c3bece38bc
+ git cherry-pick -n 86c3bece38bc
+ ./autogen.sh
}
build() {
- cd "$pkgname-$pkgver"
+ cd "$pkgname"
local timeservers=({0..3}.arch.pool.ntp.org)
@@ -51,6 +48,7 @@
--enable-gtk-doc \
--enable-lz4 \
--enable-compat-libs \
+ --enable-gnuefi \
--disable-audit \
--disable-ima \
--disable-kdbus \
@@ -98,7 +96,7 @@
etc/udev/udev.conf)
install="systemd.install"
- make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+ make -C "$pkgname" DESTDIR="$pkgdir" install
# don't write units to /etc by default. some of these will be re-enabled on
# post_install.
@@ -108,7 +106,7 @@
rm -r "$pkgdir/usr/lib/rpm"
# add back tmpfiles.d/legacy.conf
- install -m644 "systemd-$pkgver/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
+ install -m644 "$pkgname/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
sed -i 's#GROUP="dialout"#GROUP="uucp"#g;
More information about the arch-commits
mailing list