Subject: bug#31757: closed (Re: bug#31757: 'guix system disk-image --format=iso9660' includes more than the OS closure)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 26 Jun 2018 12:32:02 +0000

Your bug report

#31757: 'guix system disk-image --format=iso9660' includes more than the OS closure

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31757: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31757
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#31757: 'guix system disk-image --format=iso9660' includes more than the OS closure
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Tue, 26 Jun 2018 14:30:59 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> Turns out ‘guix system disk-image --format=iso9660’ includes not sure
> the closure of the given OS, but everything that’s in the build
> environment’s store.  So typically, we end up with QEMU and all in
> addition to the store’s closure.

Fixed in 718d44cc9ff1a7e97b4e4ce028cc273c2e20cf93.

Ludo’.

Subject: 'guix system disk-image --format=iso9660' includes more than the OS closure
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Fri, 08 Jun 2018 15:23:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hey hey!

Turns out ‘guix system disk-image --format=iso9660’ includes not sure
the closure of the given OS, but everything that’s in the build
environment’s store.  So typically, we end up with QEMU and all in
addition to the store’s closure.

This stems from the fact that ‘make-iso9660-image’ does:

--8<---------------cut here---------------start------------->8---
    (apply invoke
           `(,grub-mkrescue "-o" ,target
                            ,(string-append "boot/grub/grub.cfg=" config-file)
                            ,(string-append "gnu/store=" os-drv "/..")
                            "etc=/tmp/root/etc"
                            "var=/tmp/root/var"
                            "run=/tmp/root/run"
                            ;; /mnt is used as part of the installation
                            ;; process, as the mount point for the target
                            ;; file system, so create it.
                            "mnt=/tmp/root/mnt"
                            "--"
                            "-volid" ,(string-upcase volume-id)
                            ,@(if volume-uuid
                                  `("-volume_date" "uuid"
                                    ,(string-filter (lambda (value)
                                                      (not (char=? #\- value)))
                                                    (iso9660-uuid->string
                                                     volume-uuid)))
                                  `())))
--8<---------------cut here---------------end--------------->8---

The “gnu/store=…” argument means we’re adding the whole store to the ISO.

Ludo’.