mbox series

[bug#33259,0/8] 'guix pack': Better '--localstatedir' handling and more tests

Message ID 20181104220130.4551-1-ludo@gnu.org
Headers show
Series 'guix pack': Better '--localstatedir' handling and more tests | expand

Message

Ludovic Courtès Nov. 4, 2018, 10:01 p.m. UTC
Hello Guix!

These patches ensure ‘--localstatedir’ is properly handled by the
Docker and Squashfs backends of ‘guix pack’ (until now they ignored
this option.)

They also add ‘guix pack’ tests, which were severely lacking until now,
including a ‘guix pack -R’ test using the user’s store.  While doing
that, I also fixed a bug whereby ‘guix pack’ tarballs would contain
writable directories (whereas normally every file in the store is
read-only.)

Feedback welcome!

Ludo’.

Ludovic Courtès (8):
  pack: Move store database creation to a separate derivation.
  pack: Import (guix store database) only when '--localstatedir' is
    passed.
  install: Add 'install-database-and-gc-roots'.
  pack: Docker backend now honors '--localstatedir'.
  pack: Squashfs backend now honors '--localstatedir'.
  pack: Add test for 'self-contained-tarball' with localstatedir.
  store-copy: Canonicalize the mtime and permissions of the store copy.
  pack: Add test for '--relocatable'.

 Makefile.am                    |   1 +
 gnu/build/install.scm          |  77 ++++---
 gnu/build/vm.scm               |  19 +-
 guix/build/store-copy.scm      |  28 +++
 guix/docker.scm                |  16 +-
 guix/scripts/pack.scm          | 379 +++++++++++++++++++--------------
 tests/guix-pack-relocatable.sh |  61 ++++++
 tests/guix-pack.sh             |  28 +--
 tests/pack.scm                 | 156 ++++++++++++--
 9 files changed, 525 insertions(+), 240 deletions(-)
 create mode 100644 tests/guix-pack-relocatable.sh