~ruther/guix-local

a348b09ea9c1dd51c4ce8e16f2f0629c64b9feb6 — Ludovic Courtès 12 years ago 0b8a376
gnu: Move /etc/resolv.conf handling to the networking service.

* gnu/system/vm.scm (etc-directory): Remove 'resolv.conf'.
  (system-qemu-image): Use 'static-networking-service' with
  #:name-servers.  Don't populate the image with /etc/resolv.conf.
* gnu/system/dmd.scm (static-networking-service): Add #:name-servers
  parameter.  Use it to populate /etc/resolv.conf.
2 files changed, 14 insertions(+), 7 deletions(-)

M gnu/system/dmd.scm
M gnu/system/vm.scm
M gnu/system/dmd.scm => gnu/system/dmd.scm +12 -0
@@ 163,6 163,7 @@
(define* (static-networking-service interface ip
                                    #:key
                                    gateway
                                    (name-servers '())
                                    (inetutils inetutils)
                                    (net-tools net-tools))
  "Return a service that starts INTERFACE with address IP.  If GATEWAY is


@@ 185,6 186,17 @@ true, it must be a string specifying the default network gateway."
                     ,(if gateway
                          `(zero? (system* ,route "add" "-net" "default"
                                           "gw" ,gateway))
                          #t)
                     ,(if (pair? name-servers)
                          `(call-with-output-file "/etc/resolv.conf"
                             (lambda (port)
                               (display
                                "# Generated by 'static-networking-service'.\n"
                                port)
                               (for-each (lambda (server)
                                           (format port "nameserver ~a~%"
                                                   server))
                                         ',name-servers)))
                          #t))))
      (stop  `(lambda _
                ;; Return #f is successfully stopped.

M gnu/system/vm.scm => gnu/system/vm.scm +2 -7
@@ 517,10 517,6 @@ export LIBRARY_PATH=$HOME/.guix-profile/lib:" profile "/lib
alias ls='ls -p --color'
alias ll='ls -l'
")))
       (resolv.conf
        ;; Name resolution for default QEMU settings.
        ;; FIXME: Move to networking service.
        (text-file "resolv.conf" "nameserver 10.0.2.3\n"))

       (files -> `(("services" ,services)
                   ("protocols" ,protocols)


@@ 531,8 527,7 @@ alias ll='ls -l'
                   ("profile" ,bashrc)
                   ("passwd" ,passwd)
                   ("shadow" ,shadow)
                   ("group" ,group)
                   ("resolv.conf" ,resolv.conf))))
                   ("group" ,group))))
    (file-union files
                #:inputs `(("net" ,net-base)
                           ("pam.d" ,pam.d))


@@ 557,6 552,7 @@ alias ll='ls -l'

                        ;; QEMU networking settings.
                        (static-networking-service "eth0" "10.0.2.10"
                                                   #:name-servers '("10.0.2.3")
                                                   #:gateway "10.0.2.2")))
       (motd     (text-file "motd" "
Happy birthday, GNU!                                http://www.gnu.org/gnu30


@@ 636,7 632,6 @@ Happy birthday, GNU!                                http://www.gnu.org/gnu30
                      ("/etc/group" -> "/etc/static/group")
                      ("/etc/login.defs" -> "/etc/static/login.defs")
                      ("/etc/pam.d" -> "/etc/static/pam.d")
                      ("/etc/resolv.conf" -> "/etc/static/resolv.conf")
                      ("/etc/profile" -> "/etc/static/profile")
                      ("/etc/issue" -> "/etc/static/issue")
                      ("/etc/services" -> "/etc/static/services")