[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [EXTERNAL]Re: Modifying squashfs usage for `guix pack` for supportin

From: Josh Marshall
Subject: Re: [EXTERNAL]Re: Modifying squashfs usage for `guix pack` for supporting singularity
Date: Thu, 12 Mar 2020 17:58:59 +0000

While the images seem to work well in most cases, removing ways for bits to 
change seems to be in the spirit of guix, and so the "-all-time" and 
"-mkfs-time" options remove one source of change.  Additionally, without the 
"--no-recovery" an extra file is made which is not useful to the process, and 
for my manual testing seemed to cause write or permission issues which could 
cause failures.  Guix already handles the failure cases in mksquashfs which the 
recovery file is for and so the redundant work is not helpful, can cause 
problems, slows down the process, and requires more resources.

As for the information given by `guix pack --list-formats`, I'd change to 
something like the following:

  tarball       Self-contained tarball, ready to run directly on any Linux 
  squashfs      Container suitable for Singularity 2.x and 3.x
  OCI       OCI compliant tarball ready for 'docker load' and usable by 
Singularity 3.x
  sif         Unsupported; container preferred by Singularity 3.x

For more information, refer to

From: Ludovic Courtès <address@hidden>
Sent: Thursday, March 12, 2020 12:39 PM
To: Josh Marshall
Cc: address@hidden
Subject: Re: [EXTERNAL]Re: Modifying squashfs usage for `guix pack` for 
supporting singularity

Hi Josh,

Josh Marshall <address@hidden> skribis:

> Thanks for getting back to me on this.
> For the options I mentioned in the email, and the one not yet tracked
> in email since it is only in IRC is "--no-recovery".  These are what
> stood out to me when reading the `mksquashfs` documentation (
> ) and
> looking at `guix/scripts/pack.scm'.

Perhaps I’m missing something, but it’s still not clear to me why these
options would be needed, especially since images produced with ‘guix
pack -f squashfs’ today appear to work well.

What am I missing?

> The knowledge you're saying about the `guix pack` options is not
> communicated by `guix pack --list-formats`, which yields
> ```
> $ guix pack --list-formats
> The supported formats for 'guix pack' are:
>   tarball       Self-contained tarball, ready to run on another machine
>   squashfs      Squashfs image suitable for Singularity
>   docker        Tarball ready for 'docker load'
> ```

Right, it just says “docker”, not “OCI”.  The manual is a bit more

What would you suggest adding?

> All this seems to be tangential to the fact that `guix pack --format=squashfs 
> ...` fails on CentOS7 for an undescribed reason:
> ```
> $ guix pack --format=squashfs bash-minimal


> \builder for 
> `/gnu/store/saar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv' 
> failed with exit code 1
> build of 
> /gnu/store/saar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv 
> failed
> View build log at 
> '/var/log/guix/drvs/sa/ar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv.bz2'.

Could you email address@hidden with the command above, the output of
‘guix describe’, and the contents of

CentOS 7 runs a very old kernel, so it could be that we’re using some
unsupported feature.

Thanks for your feedback!


The information in this email, including attachments, may be confidential and 
is intended solely for the addressee(s). If you believe you received this email 
by mistake, please notify the sender by return email as soon as possible.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]