diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-01-22 22:35:16 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-01-22 22:35:16 +0100 |
commit | 67668155c5b3c4c37717404aa73f7224fced1d81 (patch) | |
tree | 634ab6aa5e94f15ad8b2e84b4dd4167a519a98c0 | |
parent | 5401dd7595f558e759c82b1dede0c2fb687f296b (diff) | |
download | guix-67668155c5b3c4c37717404aa73f7224fced1d81.tar guix-67668155c5b3c4c37717404aa73f7224fced1d81.tar.gz |
guix-package: Fix `--roll-back' when `--profile' is not passed.
* guix-package.in (roll-back): Fix file name of PREVIOUS-PROFILE, which
could end up containing the dirname twice.
Reported by Nikita and Andreas.
* tests/guix-package.sh: Add test.
-rw-r--r-- | guix-package.in | 5 | ||||
-rw-r--r-- | tests/guix-package.sh | 14 |
2 files changed, 16 insertions, 3 deletions
diff --git a/guix-package.in b/guix-package.in index 58d6c49501..85ac358555 100644 --- a/guix-package.in +++ b/guix-package.in @@ -208,9 +208,8 @@ all of PACKAGES, a list of name/version/output/path tuples." ;; XXX: Get the previous generation number from the manifest? (let* ((number (profile-number profile)) (previous-number (previous-profile-number profile number)) - (previous-profile (format #f "~a/~a-~a-link" - (dirname profile) profile - previous-number)) + (previous-profile (format #f "~a-~a-link" + profile previous-number)) (manifest (string-append previous-profile "/manifest"))) (define (switch-link) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 7b7835dcaa..603ae98d74 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -109,7 +109,9 @@ guix-package --bootstrap -i "binutils:lib" -p "$profile" -n # Check whether `--list-available' returns something sensible. guix-package -A 'gui.*e' | grep guile +# # Try with the default profile. +# XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" export XDG_CACHE_HOME @@ -122,6 +124,18 @@ guix-package --bootstrap -i "$boot_guile" test -L "$HOME/.guix-profile" test -f "$HOME/.guix-profile/bin/guile" +if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null +then + guix-package --bootstrap -i "$boot_make" + test -f "$HOME/.guix-profile/bin/make" + first_environment="`cd $HOME/.guix-profile ; pwd`" + + guix-package --bootstrap --roll-back + test -f "$HOME/.guix-profile/bin/guile" + ! test -f "$HOME/.guix-profile/bin/make" + test "`cd $HOME/.guix-profile ; pwd`" = "$first_environment" +fi + # Failed attempt to roll back. if guix-package --bootstrap --roll-back; then false; else true; fi |