summary refs log tree commit diff
path: root/tests/guix-pack.sh
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-11-04 22:05:32 +0100
committerLudovic Courtès <ludo@gnu.org>2018-11-06 23:21:24 +0100
commit72dc64f8f720268930eed448abfc15d2a0eca3cf (patch)
tree25ba24f00fc197f9b53a5921faa09d8f16f0c85f /tests/guix-pack.sh
parent1ff53787dbd4b1846ae523aef86ada3996de5e6d (diff)
downloadguix-72dc64f8f720268930eed448abfc15d2a0eca3cf.tar.gz
store-copy: Canonicalize the mtime and permissions of the store copy.
Fixes a bug whereby directories in the output of 'guix pack -f tarball'
would not be read-only.

* guix/build/store-copy.scm (reset-permissions): New procedure.
(populate-store): Pass #:keep-mtime? #t to 'copy-recursively'.  Call
'reset-permissions'.
* tests/pack.scm ("self-contained-tarball"): In CHECK, define
'canonical?' and use it to check that every file has an mtime of 1 and
is read-only.
* tests/guix-pack.sh: Invoke "chmod -Rf +w" before "rm -rf" in trap.
Diffstat (limited to 'tests/guix-pack.sh')
-rw-r--r--tests/guix-pack.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh
index 8c1f556426..a43f4d128f 100644
--- a/tests/guix-pack.sh
+++ b/tests/guix-pack.sh
@@ -49,7 +49,7 @@ the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`"
 # exists because /opt/gnu/bin may be an absolute symlink to a store item that
 # has been GC'd.
 test_directory="`mktemp -d`"
-trap 'rm -rf "$test_directory"' EXIT
+trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
 cd "$test_directory"
 tar -xf "$the_pack"
 test -L opt/gnu/bin