diff options
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r-- | gnu/packages/admin.scm | 180 |
1 files changed, 168 insertions, 12 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2e072deed7..3dc5f35af0 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -25,6 +25,8 @@ ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Brett Gilio <brettg@posteo.net> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> +;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,9 +57,11 @@ #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dns) #:use-module (gnu packages file) @@ -110,6 +114,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages elf) #:use-module (gnu packages mpi) + #:use-module (gnu packages version-control) #:use-module (gnu packages web)) (define-public aide @@ -684,7 +689,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "10") + (bind-patch-version "11") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -825,7 +830,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "1hvhdaar9swh5087kzkbmav1nbn19rxh0m60x0d7gri0v8689fxj")))) + "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1")))) ;; When cross-compiling, we need the cross Coreutils and sed. ;; Otherwise just use those from %FINAL-INPUTS. @@ -846,14 +851,14 @@ tools: server, client, and relay agent.") (define-public libpcap (package (name "libpcap") - (version "1.9.0") + (version "1.9.1") (source (origin (method url-fetch) (uri (string-append "https://www.tcpdump.org/release/libpcap-" version ".tar.gz")) (sha256 (base32 - "06bhydl4vr4z9c3vahl76f2j96z1fbrcl7wwismgs4sris08inrf")))) + "153h1378diqyc27jjgz6gg5nxmb4ddk006d9xg69nqavgiikflk3")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -874,14 +879,14 @@ network statistics collection, security monitoring, network debugging, etc.") (define-public tcpdump (package (name "tcpdump") - (version "4.9.2") + (version "4.9.3") (source (origin (method url-fetch) (uri (string-append "https://www.tcpdump.org/release/tcpdump-" version ".tar.gz")) (sha256 (base32 - "0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr")))) + "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c")))) (build-system gnu-build-system) (inputs `(("libpcap" ,libpcap) ("openssl" ,openssl))) @@ -1718,7 +1723,7 @@ track changes in important system configuration files.") (define-public libcap-ng (package (name "libcap-ng") - (version "0.7.9") + (version "0.7.10") (source (origin (method url-fetch) (uri (string-append @@ -1726,7 +1731,7 @@ track changes in important system configuration files.") version ".tar.gz")) (sha256 (base32 - "0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa")))) + "1gzzy12agfa9ddipdf72h9y68zqqnvsjjylv4vnq6hj4w2safk58")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1901,6 +1906,101 @@ ad hoc task execution, and multinode orchestration---including trivializing things like zero-downtime rolling updates with load balancers.") (license license:gpl3+))) +(define-public debops + (package + (name "debops") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debops/debops") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "052b2dykdn35pdpn9s4prawl6nl6yzih8nyf54hpvhpisvjrm1v5")) + (patches + (search-patches "debops-constants-for-external-program-names.patch" + "debops-debops-defaults-fall-back-to-less.patch")))) + (build-system python-build-system) + (native-inputs + `(("git" ,git))) + (inputs + `(("ansible" ,ansible) + ("encfs" ,encfs) + ("fuse" ,fuse) + ("util-linux" ,util-linux) ;; for umount + ("findutils" ,findutils) + ("gnupg" ,gnupg) + ("which" ,which))) + (propagated-inputs + `(("python-future" ,python-future) + ("python-distro" ,python-distro))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'nuke-debops-update + (lambda _ + (chmod "bin/debops-update" #o755) ; FIXME work-around git-fetch issue + (with-output-to-file "bin/debops-update" + (lambda () + (format #t "#!/bin/sh +echo 'debops is installed via guix. guix-update is useless in this case. +Please use `guix package -u debops` instead.'"))) + #t)) + ;; patch shebangs only in actuall scripts, not in files included in + ;; roles (which are to be delivered to the targte systems) + (delete `patch-generated-file-shebangs) + (replace 'patch-source-shebangs + (lambda _ + (for-each patch-shebang + (find-files "bin" + (lambda (file stat) + ;; Filter out symlinks. + (eq? 'regular (stat:type stat))) + #:stat lstat)))) + (add-after 'unpack 'fix-paths + (lambda _ + (define (substitute-program-names file) + ;; e.g. ANSIBLE_PLAYBOOK = '/gnu/store/…/bin/ansible-playbook' + (for-each + (lambda (name) + (let ((varname (string-upcase + (string-map + (lambda (c) (if (char=? c #\-) #\_ c)) + name)))) + (substitute* file + (((string-append "^(" varname " = )'.*'") line prefix) + (string-append prefix "'" (which name) "'"))))) + '("ansible-playbook" "encfs" "find" "fusermount" + "umount" "gpg" "ansible" "which"))) + (for-each substitute-program-names + '("bin/debops" + "bin/debops-padlock" + "bin/debops-task" + "debops/__init__.py" + "debops/cmds/__init__.py")) + #t))))) + (home-page "https://www.debops.org/") + (synopsis "Collection of general-purpose Ansible roles") + (description "The Ansible roles provided by that can be used to manage +Debian or Ubuntu hosts. In addition, a default set of Ansible playbooks can +be used to apply the provided roles in a controlled way, using Ansible +inventory groups. + +The roles are written with a high customization in mind, which can be done +using Ansible inventory. This way the role and playbook code can be shared +between multiple environments, with different configuration in to each one. + +Services can be managed on a single host, or spread between multiple hosts. +DebOps provides support for different SQL and NoSQL databases, web servers, +programming languages and specialized applications useful in a data center +environment or in a cluster. The project can also be used to deploy +virtualization environments using KVM/libvirt, Docker or LXC technologies to +manage virtual machines and/or containers.") + (license license:gpl3+))) + (define-public emacs-ansible-doc (let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0")) (package @@ -2751,6 +2851,62 @@ used in screenshots to show other users what operating system or distribution you are running, what theme or icon set you are using, etc.") (license license:expat))) +(define-public screenfetch + (package + (name "screenfetch") + (version "3.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KittyKatt/screenFetch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13i7dczbqwhws08zzrdraki1zkqv0qkbgx9c1r8vmg5qr9f7hfzg")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out"))) + (mkdir-p (string-append out "/bin/")) + (copy-file (string-append source "/screenfetch-dev") + (string-append out "/bin/screenfetch")) + (install-file (string-append source "/screenfetch.1") + (string-append out "/man/man1/")) + (install-file (string-append source "/COPYING") + (string-append out "/share/doc/" ,name "-" ,version)) + (substitute* (string-append out "/bin/screenfetch") + (("/usr/bin/env bash") + (string-append (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (wrap-program + (string-append out "/bin/screenfetch") + `("PATH" ":" prefix + (,(string-append (assoc-ref %build-inputs "bc") "/bin:" + (assoc-ref %build-inputs "scrot") "/bin:" + (assoc-ref %build-inputs "xdpyinfo") "/bin" + (assoc-ref %build-inputs "xprop") "/bin")))) + (substitute* (string-append out "/bin/screenfetch") + (("#!#f") + (string-append "#!" (assoc-ref %build-inputs "bash") + "/bin/bash"))))))) + (inputs + `(("bash" ,bash) + ("bc" ,bc) + ("scrot" ,scrot) + ("xdpyinfo" ,xdpyinfo) + ("xprop" ,xprop))) + (home-page "https://github.com/KittyKatt/screenFetch") + (synopsis "System information script") + (description "Bash screenshot information tool which can be used to +generate those nifty terminal theme information and ASCII distribution logos in +everyone's screenshots nowadays.") + (license license:gpl3))) + (define-public nnn (package (name "nnn") @@ -3185,7 +3341,7 @@ Logitech Unifying Receiver.") (package (name "lynis") ;; Also update the ‘lynis-sdk’ input to the commit matching this release. - (version "2.7.4") + (version "2.7.5") (source (origin (method git-fetch) @@ -3194,7 +3350,7 @@ Logitech Unifying Receiver.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k")) + (base32 "1lkkbvxm0rgrrlx0szaxmf8ghc3d26wal96sgqk84m37mvs1f7p0")) (modules '((guix build utils))) (snippet '(begin @@ -3211,10 +3367,10 @@ Logitech Unifying Receiver.") (method git-fetch) (uri (git-reference (url "https://github.com/CISOfy/lynis-sdk") - (commit "90f301e21c204792cf372f1cf05890a562f2e31b"))) + (commit "bf1c1d95121da9ca79a9eac5a15ed8d81e34094d"))) (file-name (git-file-name "lynis-sdk" version)) (sha256 - (base32 "1d0smr1fxrvbc3hl8lzy33im9ahzr0hgs3kk09r8g8xccjkcm52l")))))) + (base32 "1ndz5v0039dqa87cva2dk55a8hkw0fibsw8hh2ddmny9qkr4l3dp")))))) (arguments `(#:phases (modify-phases %standard-phases |