aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-31 22:15:06 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-31 22:15:06 +0200
commit10d86d54f05ab8e1ed98cd2f29af9f1864fc7316 (patch)
tree2668cf7103a71a9d1b28a55ae83eca2df011cbc9
parentfc91c17aa8046feeed0cce9fbac1d2ffbc723331 (diff)
downloadgnu-guix-10d86d54f05ab8e1ed98cd2f29af9f1864fc7316.tar
gnu-guix-10d86d54f05ab8e1ed98cd2f29af9f1864fc7316.tar.gz
hydra: Build the installation image.
* build-aux/hydra/gnu-system.scm (demo-os): New procedure. (qemu-jobs): Build for both x86_64-linux and i686-linux. Add 'usb-image' job that builds INSTALLATION-OS.
-rw-r--r--build-aux/hydra/gnu-system.scm32
1 files changed, 21 insertions, 11 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 0a86c6bcf3..fce91c3160 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -55,6 +55,7 @@
(gnu packages make-bootstrap)
(gnu system)
(gnu system vm)
+ (gnu system install)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
@@ -114,6 +115,12 @@ SYSTEM."
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"))
+(define (demo-os)
+ "Return the \"demo\" 'operating-system' structure."
+ (let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
+ (file (string-append dir "/demo-os.scm")))
+ (read-operating-system file)))
+
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (->alist drv)
@@ -130,17 +137,20 @@ system.")
(string->symbol system))))
`(,name . ,(cut ->alist drv))))
- (if (string=? system "x86_64-linux")
- (let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
- (file (string-append dir "/demo-os.scm"))
- (os (read-operating-system file))
- (size (* 1400 (expt 2 20)))) ; 1.4GiB
- (if (operating-system? os)
- (list (->job 'qemu-image
- (run-with-store store
- (system-qemu-image os
- #:disk-image-size size))))
- '()))
+ (define MiB
+ (expt 2 20))
+
+ (if (member system '("x86_64-linux" "i686-linux"))
+ (list (->job 'qemu-image
+ (run-with-store store
+ (system-qemu-image (demo-os)
+ #:disk-image-size
+ (* 1400 MiB)))) ; 1.4 GiB
+ (->job 'usb-image
+ (run-with-store store
+ (system-disk-image installation-os
+ #:disk-image-size
+ (* 700 MiB)))))
'()))
(define (hydra-jobs store arguments)