From 10d86d54f05ab8e1ed98cd2f29af9f1864fc7316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 May 2014 22:15:06 +0200 Subject: [PATCH] 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. --- build-aux/hydra/gnu-system.scm | 32 +++++++++++++++++++++----------- 1 file 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)