mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
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.
This commit is contained in:
parent
7fe1432a2e
commit
ca5b73114f
5 changed files with 4 additions and 123 deletions
|
@ -1086,8 +1086,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/shadow-CVE-2018-7169.patch \
|
||||
%D%/packages/patches/shepherd-close-fds.patch \
|
||||
%D%/packages/patches/shepherd-herd-status-sorted.patch \
|
||||
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
|
||||
%D%/packages/patches/slim-session.patch \
|
||||
%D%/packages/patches/slim-config.patch \
|
||||
|
|
|
@ -159,16 +159,14 @@ (define-public progress
|
|||
(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")))
|
||||
|
|
|
@ -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)))))
|
|
@ -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
|
||||
|
|
@ -105,7 +105,7 @@ (define %default-rotations
|
|||
read)))
|
||||
(kill pid SIGHUP))))
|
||||
(log-rotation
|
||||
(files '("/var/log/shepherd.log" "/var/log/guix-daemon.log")))))
|
||||
(files '("/var/log/guix-daemon.log")))))
|
||||
|
||||
(define (log-rotation->config rotation)
|
||||
"Return a string-valued gexp representing the rottlog configuration snippet
|
||||
|
|
Loading…
Reference in a new issue