summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-03-22 11:42:22 +0100
committerLudovic Courtès <ludo@gnu.org>2018-03-22 11:43:30 +0100
commitca5b73114f13e6f34ded3c415721939c196e07dd (patch)
tree11cd8f82d7299f5817831d0b9507c7dacc7125fd /gnu/packages
parent7fe1432a2ec2b8a7dfbfe882044dadadccd2e2c8 (diff)
downloadguix-ca5b73114f13e6f34ded3c415721939c196e07dd.tar.gz
gnu: shepherd: Update to 0.4.0.
* gnu/packages/admin.scm (shepherd): Update to 0.4.0.  Remove patches.
* gnu/packages/patches/shepherd-close-fds.patch,
gnu/packages/patches/shepherd-herd-status-sorted.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove them.
* gnu/services/admin.scm (%default-rotations): Remove
/var/log/shepherd.log.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm8
-rw-r--r--gnu/packages/patches/shepherd-close-fds.patch36
-rw-r--r--gnu/packages/patches/shepherd-herd-status-sorted.patch79
3 files changed, 3 insertions, 120 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 7a9f79ede0..6ed1c322fa 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -159,16 +159,14 @@ and provides a \"top-like\" mode (monitoring).")
 (define-public shepherd
   (package
     (name "shepherd")
-    (version "0.3.2")
+    (version "0.4.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
+              (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))
-              (patches (search-patches "shepherd-close-fds.patch"
-                                       "shepherd-herd-status-sorted.patch"))))
+                "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
diff --git a/gnu/packages/patches/shepherd-close-fds.patch b/gnu/packages/patches/shepherd-close-fds.patch
deleted file mode 100644
index 2078b15265..0000000000
--- a/gnu/packages/patches/shepherd-close-fds.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-commit 3e346a2a84b099766ea8a3a4a4549f6172483062
-Author: Ludovic Courtès <ludo@gnu.org>
-Date:   Sun Dec 3 22:30:03 2017 +0100
-
-    service: In 'exec-command', close open ports before 'execl'.
-    
-    This gets rid of annoying "Bad file descriptor" warnings from shepherd.
-    
-    * modules/shepherd/service.scm (exec-command): In 'loop', invoke
-    'close-port' and the ports returned by (fdes->ports i).
-
-diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm
-index b2d8bc5..0ad28a0 100644
---- a/modules/shepherd/service.scm
-+++ b/modules/shepherd/service.scm
-@@ -1,5 +1,5 @@
- ;; service.scm -- Representation of services.
--;; Copyright (C) 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-+;; Copyright (C) 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
- ;; Copyright (C) 2002, 2003 Wolfgang Järling <wolfgang@pro-linux.de>
- ;; Copyright (C) 2014 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
- ;; Copyright (C) 2016 Alex Kost <alezost@gmail.com>
-@@ -744,6 +744,14 @@ false."
- 
-        (let loop ((i 3))
-          (when (< i max-fd)
-+           ;; First try to close any ports associated with file descriptor I.
-+           ;; Otherwise the finalization thread might get around to closing
-+           ;; those ports eventually, which will raise an EBADF exception (on
-+           ;; 2.2), leading to messages like "error in the finalization
-+           ;; thread: Bad file descriptor".
-+           (for-each (lambda (port)
-+                       (catch-system-error (close-port port)))
-+                     (fdes->ports i))
-            (catch-system-error (close-fdes i))
-            (loop (+ i 1)))))
diff --git a/gnu/packages/patches/shepherd-herd-status-sorted.patch b/gnu/packages/patches/shepherd-herd-status-sorted.patch
deleted file mode 100644
index c6b9d870eb..0000000000
--- a/gnu/packages/patches/shepherd-herd-status-sorted.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From cc9564586729a5bb90dd5d2722b543fdde9ab821 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
-Date: Sun, 4 Feb 2018 21:56:36 +0100
-Subject: [PATCH] herd: 'herd status' now sorts the result.
-
-Partly fixes <https://bugs.gnu.org/30299>.
-Reported by Mark H Weaver <mhw@netris.org>.
-
-Previously 'tests/basic.sh' could occasionally fail on:
-
-  test "`$herd status`" == "$pristine_status"
-
-because the order of stopped services were not always the same.  Indeed,
-those services come from 'service-list' on the shepherd side, which uses
-'hash-fold' to traverse the service hash table, and the traversal order
-of 'hash-fold' is undefined.
-
-* modules/shepherd/scripts/herd.scm (display-status-summary)[service<?]:
-New procedure.
-[display-services]: Call 'sort' and use the above.
----
- modules/shepherd/scripts/herd.scm | 8 ++++++--
- modules/shepherd/service.scm      | 5 +++--
- 2 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/modules/shepherd/scripts/herd.scm b/modules/shepherd/scripts/herd.scm
-index ebcd1e1..697446c 100644
---- a/modules/shepherd/scripts/herd.scm
-+++ b/modules/shepherd/scripts/herd.scm
-@@ -1,5 +1,5 @@
- ;; herd.scm -- The program to herd the Shepherd.
--;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
-+;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
- ;; Copyright (C) 2002, 2003 Wolfgang Jährling <wolfgang@pro-linux.de>
- ;;
- ;; This file is part of the GNU Shepherd.
-@@ -46,13 +46,17 @@ of pairs."
- 
- (define (display-status-summary services)
-   "Display a summary of the status of all of SERVICES."
-+  (define (service<? service1 service2)
-+    (string<? (symbol->string (service-canonical-name service1))
-+              (symbol->string (service-canonical-name service2))))
-+
-   (define (display-services header bullet services)
-     (unless (null? services)
-       (display header)
-       (for-each (lambda (service)
-                   (format #t " ~a ~a~%" bullet
-                           (service-canonical-name service)))
--                services)))
-+                (sort services service<?))))      ;get deterministic output
-   (call-with-values
-       (lambda ()
-         (partition (match-lambda
-diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm
-index 0ad28a0..83600e4 100644
---- a/modules/shepherd/service.scm
-+++ b/modules/shepherd/service.scm
-@@ -1,5 +1,5 @@
- ;; service.scm -- Representation of services.
--;; Copyright (C) 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-+;; Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
- ;; Copyright (C) 2002, 2003 Wolfgang Järling <wolfgang@pro-linux.de>
- ;; Copyright (C) 2014 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
- ;; Copyright (C) 2016 Alex Kost <alezost@gmail.com>
-@@ -949,7 +949,8 @@ Return #f if service is not found."
-                  %services))
- 
- (define (service-list)
--  "Return the list of services currently defined."
-+  "Return the list of services currently defined.  Note: The order of the list
-+returned in unspecified."
-   (hash-fold (lambda (name services result)
-                (let ((service (lookup-canonical-service name services)))
-                  (if service
--- 
-2.16.1
-