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.master
parent
fc91c17aa8
commit
10d86d54f0
|
@ -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)
|
||||
|
|
Reference in New Issue