;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages acl) #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages base) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (guix build-system gnu)) (define-public acl (package (name "acl") (version "2.2.52") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/acl/acl-" version ".src.tar.gz")) (sha256 (base32 "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p")) (patches (search-patches "acl-hurd-path-max.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; FIXME: Investigate test suite failures #:test-target "tests" #:phases (alist-cons-after 'build 'patch-exec-bin-sh (lambda _ (substitute* "test/run" (("/bin/sh") (which "sh")))) (alist-replace 'install (lambda _ (zero? (system* "make" "install" "install-lib" "install-dev"))) %standard-phases)))) (inputs `(("attr" ,attr))) (native-inputs `(("gettext" ,gnu-gettext) ("perl" ,perl))) (home-page "http://savannah.nongnu.org/projects/acl") (synopsis "Library and tools for manipulating access control lists") (description "Library and tools for manipulating access control lists.") (license (list gpl2+ lgpl2.1+)))) 7c37d3008c31060460&showmsg=1'>Expand)Author 2022-03-10services: startup: Add description....* gnu/services.scm (hurd-startup-service-type)[description]: New field. Ludovic Courtès 2021-11-27services: Document the 'delete' clause of 'modify-services'....* doc/guix.texi (Service Reference): Mention the 'delete' clause of 'modify-services'. * gnu/services.scm (modify-services): Likewise in docstring. Ludovic Courtès 2021-08-12system: Handle 'setuid-programs' deprecation handling as a field sanitizer....Previously, evaluating an OS configuration with a childhurd (for instance) would produce tens of lines like: guix system: warning: representing setuid programs with '#<file-append #<package shadow@4.8.1 gnu/packages/admin.scm:798 7ff97f6f7640> "/bin/passwd">' is deprecated; use 'setuid-program' instead Now, it prints this one line: gnu/system/hurd.scm:105:2: warning: representing setuid programs with file-like objects is deprecated; use 'setuid-program' instead This change also means that extensions of 'setuid-program-service-type' now have to provide a list of <setuid-program>, so it's stricter in this sense. * gnu/services.scm (setuid-program-file-like-deprecated): Remove. (setuid-program-service-type)[extend]: Remove 'setuid-program-file-like-deprecated' call. Assume CONFIG and EXTENSIONS are already lists of <setuid-program> records. * gnu/system.scm (<operating-system>)[setuid-programs]: Add 'sanitize' property. Change accessor name from '%operating-system-setuid-programs' to 'operating-system-setuid-programs'. (operating-system-default-essential-services) (hurd-default-essential-services): Adjust accordingly. (ensure-setuid-program-list): New macro. (%ensure-setuid-program-list): New procedure, based on 'setuid-program-file-like-deprecated'. Ludovic Courtès 2021-07-29services: setuid: More configurable setuid support....New record <setuid-program> with fields for setting the specific user and group, as well as specifically selecting the setuid and setgid bits, for a program within the setuid-program-service. * gnu/services.scm (setuid-program-file-like-deprecated): New function. (setuid-program-service-type): Make use of setuid-program->activation-gexp. Adjust the extend property to handle <setuid-program>. * gnu/build/activation.scm (activate-setuid-programs): Update to expect a <setuid-record> list for each program entry. * gnu/system.scm: (operating-system-setuid-programs): Renamed to %operating-system-setuid-programs and replace it with new procedure. (operating-system-default-essential-services, hurd-default-essential-services): Replace operating-system-setuid-programs with %operating-system-setuid-programs. * gnu/system/setuid.scm: New file. * doc/guix.texi (Setuid Programs): Document <setuid-program>. Co-authored-by: Brice Waegeneire <brice@waegenei.re> Chris Lemmer-Webber