1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

guix-package: When rolling back to nothingness, point to the empty profile.

Suggested by Andreas Enge <andreas@enge.fr> at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00316.html>.

* guix-package.in (roll-back): Check whether PROFILE is valid using
  `file-exists?'.  When NUMBER is zero, just emit a notice.  When
  PREVIOUS-NUMBER is zero and PREVIOUS-PROFILE does not exist, build the
  empty profile, and link to it.
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix-package): Document the new behavior.
This commit is contained in:
Ludovic Courtès
2013-01-27 17:18:55 +01:00
parent 29767aaef6
commit d9307267b3
3 changed files with 39 additions and 11 deletions

View File

@@ -81,9 +81,14 @@ then
test "`readlink_base "$profile"`" = "$profile-1-link"
test -x "$profile/bin/guile" && ! test -x "$profile/bin/make"
# Failed attempt to roll back because there's no previous generation.
if guix-package --roll-back -p "$profile";
then false; else true; fi
# Move to the empty profile.
for i in `seq 1 3`
do
guix-package --bootstrap --roll-back -p "$profile"
! test -f "$profile/bin"
! test -f "$profile/lib"
test "`readlink_base "$profile"`" = "$profile-0-link"
done
# Reinstall after roll-back to generation 1.
guix-package --bootstrap -p "$profile" -i "$boot_make"
@@ -136,9 +141,15 @@ then
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
# Move to the empty profile.
default_profile="`readlink "$HOME/.guix-profile"`"
for i in `seq 1 3`
do
guix-package --bootstrap --roll-back
! test -f "$HOME/.guix-profile/bin"
! test -f "$HOME/.guix-profile/lib"
test "`readlink "$default_profile"`" = "$default_profile-0-link"
done
# Extraneous argument.
! guix-package install foo-bar