summary refs log tree commit diff
path: root/gnu/packages/admin.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r--gnu/packages/admin.scm114
1 files changed, 71 insertions, 43 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index cb3de79713..6083691e19 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
 ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
@@ -29,8 +29,9 @@
 ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;;
@@ -91,6 +92,7 @@
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages inkscape)
@@ -130,6 +132,7 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+;; This package uses su instead of sudo (because of SpaceFM).
 (define-public ktsuss
   (package
     (name "ktsuss")
@@ -146,17 +149,13 @@
        (file-name (git-file-name name version))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     `(#:configure-flags
-       (list "--enable-sudo=yes")
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
            (lambda _
              (substitute* "configure.ac"
                (("supath=`which su 2>/dev/null`")
-                "supath=/run/setuid-programs/su")
-               (("sudopath=`which sudo 2>/dev/null`")
-                "sudopath=/run/setuid-programs/sudo"))
+                "supath=/run/setuid-programs/su"))
              #t)))))
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -260,10 +259,10 @@ and provides a \"top-like\" mode (monitoring).")
      `(("pkg-config" ,pkg-config)
 
        ;; This is the Guile we use as a cross-compiler...
-       ("guile" ,guile-2.2.7)))
+       ("guile" ,guile-3.0)))
     (inputs
      ;; ... and this is the one that appears in shebangs when cross-compiling.
-     `(("guile" ,guile-2.2.7)                ;for <https://bugs.gnu.org/37757>
+     `(("guile" ,guile-3.0)
 
        ;; The 'shepherd' command uses Readline when used interactively.  It's
        ;; an unusual use case though, so we don't propagate it.
@@ -277,15 +276,18 @@ interface and is based on GNU Guile.")
     (license license:gpl3+)
     (home-page "https://www.gnu.org/software/shepherd/")))
 
-(define-public guile3.0-shepherd
+(define-public guile2.2-shepherd
   (package
     (inherit shepherd)
-    (name "guile3.0-shepherd")
+    (name "guile2.2-shepherd")
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("guile" ,guile-next)))
+       ("guile" ,guile-2.2)))
     (inputs
-     `(("guile" ,guile-next)))))
+     `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-shepherd
+  (deprecated-package "guile3.0-shepherd" shepherd))
 
 (define-public guile2.0-shepherd
   (package
@@ -491,6 +493,7 @@ re-executing them as necessary.")
              (method url-fetch)
              (uri (string-append "mirror://gnu/inetutils/inetutils-"
                                  version ".tar.gz"))
+             (patches (search-patches "inetutils-hurd.patch"))
              (sha256
               (base32
                "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
@@ -502,13 +505,27 @@ re-executing them as necessary.")
                            ;; cross-compiling (by default it does not.)
                            ,@(if (%current-target-system)
                                  '("--with-path-procnet-dev=/proc/net/dev")
+                                 '())
+                           ,@(if (hurd-target?)
+                                 '("--disable-rcp"
+                                   "--disable-rexec"
+                                   "--disable-rexecd"
+                                   "--disable-rlogin"
+                                   "--disable-rlogind"
+                                   "--disable-rsh"
+                                   "--disable-rshd"
+                                   "--disable-uucpd"
+                                   "--disable-whois")
                                  '()))
        ;; On some systems, 'libls.sh' may fail with an error such as:
        ;; "Failed to tell switch -a apart from -A".
        #:parallel-tests? #f))
     (inputs `(("ncurses" ,ncurses)
               ("readline" ,readline)))        ;for 'ftp'
-    (native-inputs `(("netstat" ,net-tools))) ;for tests
+    (native-inputs (if (member (%current-system)
+                               (package-supported-systems net-tools))
+                       `(("netstat" ,net-tools))  ;for tests
+                       '()))
     (home-page "https://www.gnu.org/software/inetutils/")
     (synopsis "Basic networking utilities")
     (description
@@ -526,6 +543,7 @@ hostname.")
               (uri (string-append
                     "https://github.com/shadow-maint/shadow/releases/"
                     "download/" version "/shadow-" version ".tar.xz"))
+              (patches (search-patches "shadow-hurd-pctrl.patch"))
               (sha256
                (base32
                 "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3"))))
@@ -559,11 +577,7 @@ hostname.")
                (for-each delete-file (find-files man "^groups\\."))
                #t))))))
 
-    (inputs  (if (string-contains (or (%current-target-system)
-                                      (%current-system))
-                                  "-linux")
-                 `(("linux-pam" ,linux-pam))
-                 '()))
+    (inputs `(("linux-pam" ,linux-pam)))
     (home-page "https://github.com/shadow-maint/shadow")
     (synopsis "Authentication-related tools such as passwd, su, and login")
     (description
@@ -590,13 +604,17 @@ login, passwd, su, groupadd, and useradd.")
      `(#:phases
        (modify-phases %standard-phases
          (replace 'configure
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+           (lambda* (#:key inputs outputs target #:allow-other-keys)
              (let* ((out    (assoc-ref outputs "out"))
                     (man8   (string-append out "/share/man/man8"))
                     (sbin   (string-append out "/sbin"))
                     (shadow (assoc-ref inputs "shadow"))
                     (login  (string-append shadow "/bin/login")))
                (substitute* "Makefile"
+                 ,@(if (%current-target-system)
+                       '((("CC=.*$")
+                          (string-append "CC=" target "-gcc\n")))
+                       '())
                  (("^SBINDIR.*")
                   (string-append "SBINDIR = " out
                                  "/sbin\n"))
@@ -947,8 +965,9 @@ connection alive.")
          ("file" ,file)))
 
       (inputs `(("inetutils" ,inetutils)
-                ("net-tools" ,net-tools)
-                ("iproute" ,iproute)
+                ,@(if (hurd-target?) '()
+                      `(("net-tools" ,net-tools)
+                        ("iproute" ,iproute)))
 
                 ;; isc-dhcp bundles a copy of BIND, which has proved vulnerable
                 ;; in the past.  Use a BIND-VERSION of our choosing instead.
@@ -1258,7 +1277,7 @@ system administrator.")
 (define-public sudo
   (package
     (name "sudo")
-    (version "1.8.31p1")
+    (version "1.9.0")
     (source (origin
               (method url-fetch)
               (uri
@@ -1268,7 +1287,7 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "1n0mdmgcs92af34xxsnsh1arrngymhdmwd9srjgjbk65q7xzsg67"))
+                "0p7r3cl16pjwbc48ff1gbhjw51lngrghvwblxz5lxpyzqlwi88xb"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1277,7 +1296,16 @@ system administrator.")
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
-       (list "--with-logpath=/var/log/sudo.log"
+       (list (string-append "--docdir=" (assoc-ref %outputs "out")
+                            "/share/doc/" ,name "-" ,version)
+
+             ;; XXX: Disable Python support when cross-compiling because
+             ;; 'configure' tries to run 'python', which fails.
+             ,(if (%current-target-system)
+                  "--disable-python"
+                  "--enable-python")              ; for plug-ins written in ~
+
+             "--with-logpath=/var/log/sudo.log"
              "--with-rundir=/var/run/sudo" ; must be cleaned up at boot time
              "--with-vardir=/var/db/sudo"
              "--with-iologdir=/var/log/sudo-io"
@@ -1302,17 +1330,20 @@ system administrator.")
                ;; prematurely.
                (("@CONFIGURE_ARGS@") "\"\""))
              (substitute* (find-files "." "Makefile\\.in")
+               ;; Allow installation as non-root.
                (("-o [[:graph:]]+ -g [[:graph:]]+")
-                ;; Allow installation as non-root.
                 "")
+               ;; Don't try to create /etc/sudoers.
                (("^install: (.*)install-sudoers(.*)" _ before after)
-                ;; Don't try to create /etc/sudoers.
                 (string-append "install: " before after "\n"))
+               ;; Don't try to create /run/sudo.
                (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
-                ;; Don't try to create /run/sudo.
                 "$(TMPDIR)/dummy")
+               ;; Install example sudo{,_logsrvd}.conf to the right place.
+               (("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)")
+                "$(DESTDIR)/$(docdir)/examples")
+               ;; Don't try to create /var/db/sudo.
                (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
-                ;; Don't try to create /var/db/sudo.
                 "$(TMPDIR)/dummy"))
 
              ;; ‘Checking existing [/etc/]sudoers file for syntax errors’ is
@@ -1328,9 +1359,12 @@ system administrator.")
     (native-inputs
      `(("groff" ,groff)))
     (inputs
-     `(("linux-pam" ,linux-pam)
-       ("zlib" ,zlib)
-       ("coreutils" ,coreutils)))
+     `(("coreutils" ,coreutils)
+       ("linux-pam" ,linux-pam)
+       ,@(if (%current-target-system)
+             '()
+             `(("python" ,python)))
+       ("zlib" ,zlib)))
     (home-page "https://www.sudo.ws/")
     (synopsis "Run commands as root")
     (description
@@ -1770,12 +1804,12 @@ characters can be replaced as well, as can UTF-8 characters.")
     (build-system gnu-build-system)
     (inputs
      `(("ntfs-3g" ,ntfs-3g)
-       ("util-linux" ,util-linux)
+       ("util-linux" ,util-linux "lib")
        ("openssl" ,openssl)
        ;; FIXME: add reiserfs.
        ("zlib" ,zlib)
        ("e2fsprogs" ,e2fsprogs)
-       ("libjpeg" ,libjpeg)
+       ("libjpeg" ,libjpeg-turbo)
        ("ncurses" ,ncurses)))
     (home-page "https://www.cgsecurity.org/wiki/TestDisk")
     (synopsis "Data recovery tool")
@@ -2900,14 +2934,7 @@ buffers.")
         (base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f              ; many of the tests try to load kernel modules
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'bootstrap
-           (lambda _
-             ;; Don't run configure in this phase.
-             (setenv "NOCONFIGURE" "1")
-             (invoke "sh" "autogen.sh"))))))
+     `(#:tests? #f))            ; many of the tests try to load kernel modules
     (inputs
      `(("cairo" ,cairo)
        ("elfutils" ,elfutils)           ; libdw
@@ -3646,6 +3673,7 @@ tcpdump and snoop.")
        ("lvm2" ,lvm2)
        ("openssl" ,openssl)
        ("pcre" ,pcre)
+       ("libmount" ,util-linux "lib")
        ("util-linux" ,util-linux)))
     (arguments
      `(#:configure-flags