From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:36419) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJgLy-0005ov-T3 for guix-patches@gnu.org; Thu, 25 Apr 2019 11:32:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJgLx-00017D-U3 for guix-patches@gnu.org; Thu, 25 Apr 2019 11:32:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:45602) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hJgLx-000178-R1 for guix-patches@gnu.org; Thu, 25 Apr 2019 11:32:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hJgLx-0006Ls-Mc for guix-patches@gnu.org; Thu, 25 Apr 2019 11:32:01 -0400 Subject: [bug#35428] [WIP v2] vm: Pass xorriso customizer. Resent-Message-ID: From: Danny Milosavljevic Date: Thu, 25 Apr 2019 17:31:41 +0200 Message-Id: <20190425153141.29025-1-dannym@scratchpost.org> In-Reply-To: <20190425152306.22872-1-dannym@scratchpost.org> References: <20190425152306.22872-1-dannym@scratchpost.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 35428@debbugs.gnu.org * gnu/build/vm.scm (make-iso9660-image): Accept XORRISO. Neutralize frontend. * gnu/system/vm.scm (iso9660-image): Pass XORRISO. * gnu/packages/cdrom.scm (xorriso)[arguments]<#:phases>[install-frontends]: Add phase. --- gnu/build/vm.scm | 10 ++++++++-- gnu/packages/cdrom.scm | 9 +++++++++ gnu/system/vm.scm | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 372cf63c68..5bcf67714a 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -422,7 +422,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." ;; Graft the configuration file onto the image. (string-append "boot/grub/grub.cfg=" config-file)))) -(define* (make-iso9660-image grub config-file os-drv target +(define* (make-iso9660-image xorriso grub config-file os-drv target #:key (volume-id "Guix_image") (volume-uuid #f) register-closures? (closures '())) "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as @@ -430,6 +430,9 @@ GRUB configuration and OS-DRV as the stuff in it." (define grub-mkrescue (string-append grub "/bin/grub-mkrescue")) + (define grub-mkrescue-sed.sh + (string-append xorriso "/bin/grub-mkrescue-sed.sh")) + (define target-store (string-append "/tmp/root" (%store-directory))) @@ -482,9 +485,12 @@ GRUB configuration and OS-DRV as the stuff in it." #x77777777) 16)) + (setenv "MKRESCUE_SED_MODE" "original") (let ((pipe (apply open-pipe* OPEN_WRITE - grub-mkrescue "-o" target + grub-mkrescue + (string-append "--xorriso=" grub-mkrescue-sed.sh) + "-o" target (string-append "boot/grub/grub.cfg=" config-file) "etc=/tmp/root/etc" "var=/tmp/root/var" diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 2193a94f86..cd548e24ce 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -164,6 +164,15 @@ libcdio.") (base32 "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-frontends + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-bin (string-append out "/bin"))) + (install-file "frontend/grub-mkrescue-sed.sh" out-bin) + #t)))))) (inputs `(("acl" ,acl) ("readline" ,readline) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 92b03b01ad..8a1272aff9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -301,7 +301,8 @@ INPUTS is a list of inputs (as for packages)." inputs))) (set-path-environment-variable "PATH" '("bin" "sbin") inputs) - (make-iso9660-image #$(bootloader-package bootloader) + (make-iso9660-image #$xorriso + #$(bootloader-package bootloader) #$bootcfg-drv #$os "/xchg/guixsd.iso"