summary refs log tree commit diff
path: root/build-aux
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 /build-aux
parentfc91c17aa8046feeed0cce9fbac1d2ffbc723331 (diff)
downloadguix-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.
Diffstat (limited to 'build-aux')
-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)