diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-06-09 18:12:42 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-06-09 18:15:07 +0200 |
commit | 44bbfc24e4bcc48d0e3343cd3d83452721af8c36 (patch) | |
tree | 29cbadf06ead137e58bbf193e953dd6e82013da3 | |
parent | 74443c30f3e20655a046c0d3ea236822ef130968 (diff) |
linux-container: Adjust to 'modify-services' semantic change.
This is a followup to dbbc7e946131ba257728f1d05b96c4339b7ee88b:
'nscd-service-type' isn't necessarily present in OS, so we cannot use
the 'modify-services' as it would now error out. This was happening
with the "guix system docker-image" test in 'tests/guix-system.sh'.
* gnu/system/linux-container.scm (containerized-operating-system): Use
'filter-map' instead of 'remove' + 'modify-services'.
-rw-r--r-- | gnu/system/linux-container.scm | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 409386a84f..7c45dbccaf 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -150,15 +150,18 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS." (essential-services (container-essential-services this-operating-system #:shared-network? shared-network?)) - (services (append (remove (lambda (service) - (memq (service-kind service) - services-to-drop)) - (modify-services (operating-system-user-services os) - (nscd-service-type - config => (nscd-configuration - (inherit config) - (caches %nscd-container-caches))))) - services-to-add)) + (services + (append services-to-add + (filter-map (lambda (s) + (cond ((memq (service-kind s) services-to-drop) + #f) + ((eq? nscd-service-type (service-kind s)) + (service nscd-service-type + (nscd-configuration + (inherit (service-value s)) + (caches %nscd-container-caches)))) + (else s))) + (operating-system-user-services os)))) (file-systems (append (map mapping->fs (if shared-network? (append %network-file-mappings mappings) |