gnu: libvirt: Use /etc as the sysconfdir.

* gnu/packages/qemu.scm (libvirt)[arguments]: Add '--sysconfdir=/etc' to
configure flags.  Replace the 'do-not-mkdir-in-/var' phase with a modified
'install' phase.
This commit is contained in:
宋文武 2017-06-25 20:56:42 +08:00
parent 1a80e4d7fc
commit a4b9392151
No known key found for this signature in database
GPG Key ID: 26525665AE727D37
1 changed files with 9 additions and 10 deletions

View File

@ -289,6 +289,7 @@ all common programming languages. Vala bindings are also provided.")
#:tests? #f #:tests? #f
#:configure-flags #:configure-flags
(list "--with-polkit" (list "--with-polkit"
"--sysconfdir=/etc"
"--localstatedir=/var") "--localstatedir=/var")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -299,16 +300,14 @@ all common programming languages. Vala bindings are also provided.")
"gnulib/tests/test-posix_spawn2.c") "gnulib/tests/test-posix_spawn2.c")
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
#t)) #t))
(add-after 'unpack 'do-not-mkdir-in-/var (replace 'install
;; Since the localstatedir should be /var at runtime, we must ;; Since the sysconfdir and localstatedir should be /etc and /var
;; prevent writing to /var at installation time. ;; at runtime, we must prevent writing to them at installation
(lambda* (#:key outputs #:allow-other-keys) ;; time.
(let* ((out (assoc-ref outputs "out")) (lambda _
(localstatedir (string-append out "/var"))) (zero? (system* "make" "install"
(substitute* '("src/Makefile.in" "sysconfdir=/tmp/etc"
"daemon/Makefile.in") "localstatedir=/tmp/var")))))))
(("\\$\\(DESTDIR\\)\\$\\(localstatedir)") localstatedir)))
#t)))))
(inputs (inputs
`(("libxml2" ,libxml2) `(("libxml2" ,libxml2)
("gnutls" ,gnutls) ("gnutls" ,gnutls)