GNU bug report logs - #31592
Add Singularity and squashfs image support to guix pack.

Previous Next

Package: guix-patches;

Reported by: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>

Date: Fri, 25 May 2018 14:30:02 UTC

Severity: normal

Done: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 31592 <at> debbugs.gnu.org
Subject: [bug#31592] [PATCH 4/4] pack: Add support for squashfs images.
Date: Sun, 27 May 2018 20:17:46 +0200
Ludovic Courtès <ludovic.courtes <at> inria.fr> writes:

> Woohoo!
>
> Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de> skribis:
>
>> * guix/scripts/pack.scm (%formats): Add "squashfs" format.
>> (guix-pack): Adjust "archiver" dependent on pack-format.
>> (squashfs-image): New procedure.
>
> [...]
>
>> +          (exit
>> +           (and
>> +            ;; Add all store items.  Unfortunately mksquashfs throws away all
>> +            ;; ancestor directories and only keeps the basename.  We fix this
>> +            ;; in the following invocations of mksquashfs.
>> +            (zero? (apply system* "mksquashfs"
>
> This code should use ‘invoke’ everywhere, which would alleviate the need
> for the clumsy (exit (and …)) idiom.

Okay.

>> +                   (reverse (filter (negate string-null?)
>> +                                    (string-split (%store-directory) #\/))))
>
> I think this is equivalent to:
>
>   (reverse (string-tokenize (%store-directory)
>                             (char-set-complement (char-set #\/))))
>
> Alternately, you can use (remove …) instead of (filter (negate …) …).

Good points.

> One last thing: could you update guix.texi and the ‘--help’ output?

Absolutely!

> I suppose using the squashfs format allows us to bypass the bug
> described at
> <https://github.com/singularityware/singularity/issues/1487>, right?

I generated an image containing “emacs”, “bash”, and “coreutils” and
both “singularity shell” and “singularity exec” worked fine, so I think
this problem does not affect squashfs images.

Thanks for the review!

I’ll update the patches, write some documentation, and push them in the
coming days.

-- 
Ricardo




This bug report was last modified 7 years and 43 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.