diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-03-29 17:34:41 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-03-29 17:34:41 +0200 |
commit | 5576cfabf3485e0cf794cc3de085a3578151ee64 (patch) | |
tree | 8ca4093d05fda6b0064d0fca429353327ec491f9 /gnu/build | |
parent | 12cb6c31df4b90d58658e88a256e36b6808e1064 (diff) | |
parent | e086d2f68b90a39bae07ae46572e5cc6b0fc4308 (diff) | |
download | guix-5576cfabf3485e0cf794cc3de085a3578151ee64.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/activation.scm | 5 | ||||
-rw-r--r-- | gnu/build/vm.scm | 20 |
2 files changed, 19 insertions, 6 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 6c0d603ddf..68ecd6bc71 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -179,7 +179,8 @@ properties. Return #t on success." `("-G" ,(string-join supplementary-groups ",")) '()) ,@(if comment `("-c" ,comment) '()) - ;; Don't use '--move-home', so ignore HOME. + ;; Don't use '--move-home'. + ,@(if home `("-d" ,home) '()) ,@(if shell `("-s" ,shell) '()) ,name))) (zero? (apply system* "usermod" args)))) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 7f6801b9dd..527b4c495d 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -125,6 +126,7 @@ the #:references-graphs parameter of 'derivation'." (number->string disk-image-size))) (mkdir "xchg") + (mkdir "tmp") (match references-graphs ((graph-files ...) @@ -145,6 +147,12 @@ the #:references-graphs parameter of 'derivation'." "-virtfs" (string-append "local,id=xchg_dev,path=xchg" ",security_model=none,mount_tag=xchg") + "-virtfs" + ;; Some programs require more space in /tmp than is normally + ;; available in the guest. Accommodate such programs by sharing a + ;; temporary directory. + (string-append "local,id=tmp_dev,path=tmp" + ",security_model=none,mount_tag=tmp") "-kernel" linux "-initrd" initrd (append @@ -307,11 +315,14 @@ it, run its initializer, and unmount it." (define* (root-partition-initializer #:key (closures '()) copy-closures? (register-closures? #t) - system-directory) + system-directory + (deduplicate? #t)) "Return a procedure to initialize a root partition. -If REGISTER-CLOSURES? is true, register all of CLOSURES is the partition's -store. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition. +If REGISTER-CLOSURES? is true, register all of CLOSURES in the partition's +store. If DEDUPLICATE? is true, then also deduplicate files common to +CLOSURES and the rest of the store when registering the closures. If +COPY-CLOSURES? is true, copy all of CLOSURES to the partition. SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (lambda (target) (define target-store @@ -336,7 +347,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (display "registering closures...\n") (for-each (lambda (closure) (register-closure target - (string-append "/xchg/" closure))) + (string-append "/xchg/" closure) + #:deduplicate? deduplicate?)) closures) (unless copy-closures? (umount target-store))) |