summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@gmx.com>2023-03-26 13:55:14 +0100
committerPierre Langlois <pierre.langlois@gmx.com>2023-03-26 14:15:16 +0100
commit42fbe62d52a82d1003c3d7039d3c4a46806c5cee (patch)
tree443c231c3213a6cc404d95db8724dfca3f1821a3
parent36b22aa75aefd92c980fdfaafb8b6e440eab6505 (diff)
downloadguix-42fbe62d52a82d1003c3d7039d3c4a46806c5cee.tar.gz
linux-container: Remove hosts-service-type when network is shared.
Fixes <https://issues.guix.gnu.org/61627>.

* gnu/system/linux-container.scm (container-essential-services): When
shared-network? is true, remove the hosts-service-type service kind.
-rw-r--r--gnu/system/linux-container.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index c2fd55d48e..409386a84f 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Google LLC
 ;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2023 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,9 +50,12 @@ from OS that are needed on the bare metal and not in a container."
   (define base
     (remove (lambda (service)
               (memq (service-kind service)
-                    (list (service-kind %linux-bare-metal-service)
-                          firmware-service-type
-                          system-service-type)))
+                    (cons* (service-kind %linux-bare-metal-service)
+                           firmware-service-type
+                           system-service-type
+                           (if shared-network?
+                               (list hosts-service-type)
+                               '()))))
             (operating-system-default-essential-services os)))
 
   (cons (service system-service-type