guix-devel
[Top][All Lists]
Advanced

[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 14:05:01 +0000

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 ( 
https://github.com/plougher/squashfs-tools/blob/master/USAGE ) and looking at 
`guix/scripts/pack.scm'.  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'
```

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
substitute: 
/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: 
warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
substitute: 
/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: 
warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/saar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv
   /gnu/store/84vj4wgqm46rws1v73h9gc3hr29xdrs6-singularity-environment.sh.drv
   /gnu/store/iwrrg2knk45h4fps88jqfg92ff1x44zi-profile.drv
The following profile hooks will be built:
   /gnu/store/dgh995fyb41gr3il8r2770j2hlf22nzv-fonts-dir.drv
   /gnu/store/h5dr8a6vpzrk80wrjz586k3axpz9bhqa-manual-database.drv
   /gnu/store/svyngf4v16q3j8lgsql508573mvc64my-info-dir.drv
   /gnu/store/svyydyprj7id6gfz6hsifaf7v4g02brj-ca-certificate-bundle.drv
building CA certificate bundle...
building fonts directory...
building directory of Info manuals...
building database for manual pages...
building /gnu/store/iwrrg2knk45h4fps88jqfg92ff1x44zi-profile.drv...
building 
/gnu/store/84vj4wgqm46rws1v73h9gc3hr29xdrs6-singularity-environment.sh.drv...
/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: 
warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: 
warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
building 
/gnu/store/saar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv...
\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'.
guix pack: error: build of 
`/gnu/store/saar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv' 
failed
```

According to the OCI description, Singularity's .sif format could be skipped, 
but at my work it is /the/ standard format.  It sounds like there should be in 
program changes to describe supported container formats, and which systems 
support which.  This is in addition to getting squashfs container format 
working on CentOS7, and applying some changes to more correctly use 
`mksquashfs`.

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

Hi Josh,

Apologies for the delay!  (In general, it’s probably safer to report
bugs to address@hidden because they’re tracked and are less likely to
fall through the cracks.)

Josh Marshall <address@hidden> skribis:

> I ran into some trouble today when trying to package an image for singularity 
> on CentOS7.  nxck suggested I go into the cdoe and try adding the "-noappend" 
> option to mksquashfs in 'guix/guix/scripts/pack.scm'.  While looking at it, 
> it seems that it performs a multistep process to modify the squashfs image, 
> which kind of goes against the design of the utility.  A SO page ( 
> https://unix.stackexchange.com/a/459372 ) suggested the full hierarchy be 
> created and then added in a single invocation.  Does anyone have any opinions 
> on such a change or useful insights?

[...]

> It also appears the `-mkfs-time 0`, `-all-time 0`, and `-UTC` arguments have 
> been missing.

Could you explain what error you got and what makes you think these
options were missing?

IME, the images produced by ‘guix pack -f squashfs’ work fine with
Singularity 2.x and 3.x.

> Docker and Singularity havebeen moving towards support of the Open Containers 
> Initative, which prompts the discussion of if the docker and sinfularity 
> (squashfs) pack options should be depricated in favor of this standard: 
> https://github.com/opencontainers/image-spec

In fact, ‘guix pack -f docker’ produces an OCI image, IIUC.

Singularity 3.x introduced the Singularity Image Format (SIF), which is
yet another format.  AIUI, SIF is the recommended format for Singularity
3.x, isn’t it?

Thanks,
Ludo’.
---

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.

Attachment: ar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv.bz2
Description: ar594fgxibr6vkrpjq2n2l5mpyycpp-squashfs-pack.gz.squashfs.drv.bz2


reply via email to

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