summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-14 17:28:43 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-14 23:49:02 +0200
commit150d8e6414cad90e1da7d767251b874688e89e26 (patch)
tree94a9e0922ad92a8e9c2773565b492f0c4dd27f01
parent5975881687edff21251f28c9d1c22fe890268863 (diff)
downloadguix-150d8e6414cad90e1da7d767251b874688e89e26.tar.gz
services: static-networking-service: Wait for udev, except for loopback.
Reported by DusXMT on #guix.

* gnu/services/networking.scm (static-networking-service): Add
  'requirement' field.  Change 'documentation' to be a string literal.
-rw-r--r--gnu/services/networking.scm10
1 files changed, 8 insertions, 2 deletions
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 6a7d194659..ce924a55bf 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -50,9 +50,15 @@ gateway."
   (with-monad %store-monad
     (return
      (service
+
+      ;; Unless we're providing the loopback interface, wait for udev to be up
+      ;; and running so that INTERFACE is actually usable.
+      (requirement (if (memq 'loopback provision)
+                       '()
+                       '(udev)))
+
       (documentation
-       (string-append "Set up networking on the '" interface
-                      "' interface using a static IP address."))
+       "Bring up the networking interface using a static IP address.")
       (provision provision)
       (start #~(lambda _
                  ;; Return #t if successfully started.