| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 |
|
| 19 | |
| 20 | |
| 21 | |
| 22 |
|
| 23 | guix archive --version
|
| 24 |
|
| 25 | archive="t-archive-$$"
|
| 26 | archive_alt="t-archive-alt-$$"
|
| 27 | tmpdir="t-archive-dir-$$"
|
| 28 | rm -f "$archive" "$archive_alt"
|
| 29 | rm -rf "$tmpdir"
|
| 30 |
|
| 31 | trap 'rm -f "$archive" "$archive_alt"; chmod -R +w "$tmpdir"; rm -rf "$tmpdir"' EXIT
|
| 32 |
|
| 33 | guix archive --export guile-bootstrap > "$archive"
|
| 34 | guix archive --export guile-bootstrap:out > "$archive_alt"
|
| 35 | cmp "$archive" "$archive_alt"
|
| 36 |
|
| 37 | guix archive --export \
|
| 38 | -e '(@ (gnu packages bootstrap) %bootstrap-guile)' > "$archive_alt"
|
| 39 | cmp "$archive" "$archive_alt"
|
| 40 |
|
| 41 | guix archive --export `guix build guile-bootstrap` > "$archive_alt"
|
| 42 | cmp "$archive" "$archive_alt"
|
| 43 |
|
| 44 | |
| 45 | guix archive --import < "$archive"
|
| 46 |
|
| 47 | guix archive --export something-that-does-not-exist && false
|
| 48 |
|
| 49 | |
| 50 | guix build guile-bootstrap > "$archive"
|
| 51 | guix archive --missing < "$archive"
|
| 52 | test "`guix archive --missing < "$archive"`" = ""
|
| 53 |
|
| 54 | |
| 55 | echo "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo" >> "$archive"
|
| 56 | echo "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bar" >> "$archive"
|
| 57 | guix archive --missing < "$archive" > "$archive_alt"
|
| 58 | echo "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo" > "$archive"
|
| 59 | echo "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bar" >> "$archive"
|
| 60 | cmp "$archive" "$archive_alt"
|
| 61 |
|
| 62 | |
| 63 | echo something invalid > "$archive"
|
| 64 | guix archive --missing < "$archive" && false
|
| 65 |
|
| 66 | |
| 67 | guile -c "(use-modules (guix serialization))
|
| 68 | (call-with-output-file \"$archive\"
|
| 69 | (lambda (port)
|
| 70 | (write-file \"$(guix build guile-bootstrap)\" port)))"
|
| 71 | guix archive -x "$tmpdir" < "$archive"
|
| 72 | test -x "$tmpdir/bin/guile"
|
| 73 | test -d "$tmpdir/lib/guile"
|
| 74 |
|
| 75 | |
| 76 | guix archive -t < "$archive" | grep "^D /share/guile"
|
| 77 | guix archive -t < "$archive" | grep "^x /bin/guile"
|
| 78 | guix archive -t < "$archive" | grep "^r /share/guile.*/boot-9\.scm"
|
| 79 |
|
| 80 | echo foo | guix archive --authorize && false
|
| 81 |
|
| 82 | exit 0
|