aboutsummaryrefslogtreecommitdiff
path: root/gnu/build/vm.scm
diff options
context:
space:
mode:
authorChris Marusich <cmmarusich@gmail.com>2017-10-21 14:40:58 -0700
committerChristopher Baines <mail@cbaines.net>2017-11-27 18:49:39 +0000
commitac8f218b292df0df335645790938eec524408037 (patch)
tree1e788e4bc1250f40ebd80ddfcc4841e41d3136a2 /gnu/build/vm.scm
parent9071581bf58993551c6f7723a6f33ef9c8576722 (diff)
downloadguix-ac8f218b292df0df335645790938eec524408037.tar
guix-ac8f218b292df0df335645790938eec524408037.tar.gz
Make it possible to build GuixSD docker imagesdocker-system
Diffstat (limited to 'gnu/build/vm.scm')
-rw-r--r--gnu/build/vm.scm14
1 files changed, 10 insertions, 4 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 7537f81509..19c47e1ffc 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -294,11 +294,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
@@ -317,13 +320,16 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(unless copy-closures?
;; XXX: 'guix-register' wants to palpate the things it registers, so
;; bind-mount the store on the target.
+ (display "making target store directory\n")
(mkdir-p target-store)
+ (display "bind-mounting\n")
(mount (%store-directory) target-store "" MS_BIND))
(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)))