Subject: Re: bug#40649: VM image file lacks ".qcow2" extension, which confuses GNOME Boxes
From: Maxim Cournoyer <[email-masked]>
To: Leo Famulari <[email-masked]>
Cc: [email-masked], mray <[email-masked]>
Date: Tue, 04 May 2021 23:55:00 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

Leo Famulari <[email-masked]> writes:

> On Wed, Apr 15, 2020 at 10:36:11PM +0200, mray wrote:
>> Hi there,
>> 
>> the QEMU Image download links toa file that misses the "*.qcow2" filetype.
>> 
>> That way Gnome Boxes is not able to start the image. I suggest renaming
>> all respective files.
>
> We could use something like the attached patch (untested!), but I'll
> wait for review from a maintainer since they would have to deal with any
> breakage.
>
> From a9bc503689e7d524265fd23811627323d8059ece Mon Sep 17 00:00:00 2001
> From: Leo Famulari <[email-masked]>
> Date: Thu, 28 May 2020 22:43:16 -0400
> Subject: [PATCH] maint: Add a file extension to the VM image.
>
> This allows the file to be opened easily in GNOME Boxes.
>
> Fixes <https://bugs.gnu.org/40649>.
>
> * Makefile.am (release): Add ".qcow2" to the name of the VM image.
> * doc/guix.texi (Running Guix in a VM): Adjust accordingly.
> ---
>  Makefile.am   | 6 +++---
>  doc/guix.texi | 2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index 5b64386b53..f1031863de 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -836,9 +836,9 @@ release: dist-with-updated-version
>  	    echo "failed to produced Guix VM image for $$system" >&2 ;			\
>  	    exit 1 ;									\
>  	  fi ;										\
> -	  xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" ;	\
> -	  mv "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp"			\
> -	     "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz" ;			\
> +	  xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2.xz.tmp" ;	\
> +	  mv "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2.xz.tmp"		\
> +	     "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2.xz" ;		\
>  	done
>  	@echo
>  	@echo "Congratulations!  All the release files are now in $(releasedir)."
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 5b9942d420..0adadf69fa 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -27747,7 +27747,7 @@ Whether or not the droplet should be created with IPv6 networking.
>  @cindex virtual machine
>  To run Guix in a virtual machine (VM), one can use the pre-built Guix VM image
>  distributed at
> -@url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.xz}.
> +@url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2.xz}.
>  This image is a compressed image in QCOW format.  You will first need to
>  decompress with @command{xz -d}, and then you can pass it to an emulator such
>  as QEMU (see below for details).

Eh, sorry for not seeing this earlier; I've applied the same fix on the
version-1.3.0 branch with commit
ebf5d77eab148394c6db0dd135ea119ca377aaed, so at least this is fixed in
the soon released Guix v1.3.0 (planned for the 10th of May!).

Closing.

Maxim