[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