From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44744) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRzFx-0002V8-7N for guix-patches@gnu.org; Mon, 03 Jul 2017 07:11:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRzFu-0002tu-1t for guix-patches@gnu.org; Mon, 03 Jul 2017 07:11:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46786) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dRzFt-0002tg-Tr for guix-patches@gnu.org; Mon, 03 Jul 2017 07:11:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dRzFt-0004SS-Ol for guix-patches@gnu.org; Mon, 03 Jul 2017 07:11:01 -0400 Subject: [bug#27521] [PATCH] build: Allow specifying volume-uuid with make-iso9660-image. Resent-Message-ID: From: Danny Milosavljevic Date: Mon, 3 Jul 2017 13:10:43 +0200 Message-Id: <20170703111043.20712-1-dannym@scratchpost.org> In-Reply-To: <878tk6rmvo.fsf@gnu.org> References: <878tk6rmvo.fsf@gnu.org> 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: 27521@debbugs.gnu.org * gnu/build/file-systems.scm (iso9660-uuid->string): Export. * gnu/build/vm.scm (make-iso9660-image): Add volume-uuid. --- gnu/build/file-systems.scm | 1 + gnu/build/vm.scm | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 16160a659..b6930497d 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -48,6 +48,7 @@ string->ext3-uuid string->ext4-uuid string->btrfs-uuid + iso9660-uuid->string bind-mount diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 860c98346..4239bc2fb 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -353,18 +353,27 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (error "failed to create GRUB EFI image")))) (define* (make-iso9660-image grub config-file os-drv target - #:key (volume-id "GuixSD")) + #:key (volume-id "GuixSD") (volume-uuid #f)) "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as Grub configuration and OS-DRV as the stuff in it." (let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue"))) (mkdir-p "/tmp/root/var/run") (mkdir-p "/tmp/root/run") - (unless (zero? (system* grub-mkrescue "-o" target - (string-append "boot/grub/grub.cfg=" config-file) - (string-append "gnu/store=" os-drv "/..") + (unless (zero? (apply system* + `(,grub-mkrescue "-o" ,target + ,(string-append "boot/grub/grub.cfg=" config-file) + ,(string-append "gnu/store=" os-drv "/..") "var=/tmp/root/var" "run=/tmp/root/run" - "--" "-volid" (string-upcase volume-id))) + "--" + "-volid" ,(string-upcase volume-id) + ,@(if volume-uuid + `("-volume_date" "uuid" + ,(string-filter (lambda (value) + (not (char=? #\- value))) + (iso9660-uuid->string + volume-uuid))) + `())))) (error "failed to create ISO image")))) (define* (initialize-hard-disk device