diff --git a/configure.ac b/configure.ac index e592089ff..54e9aaa9f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(nix, "0.9") +AC_INIT(nix, "0.8") AC_CONFIG_SRCDIR(README) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE diff --git a/scripts/download-using-manifests.pl.in b/scripts/download-using-manifests.pl.in index 8c75ab109..ed3290c18 100644 --- a/scripts/download-using-manifests.pl.in +++ b/scripts/download-using-manifests.pl.in @@ -76,7 +76,7 @@ addToQueue $targetPath; sub isValidPath { my $p = shift; - system "@bindir@/nix-store --check-validity '$p' 2> /dev/null"; + system "@bindir@/nix-store --isvalid '$p' 2> /dev/null"; return $? == 0; } diff --git a/scripts/generate-patches.pl.in b/scripts/generate-patches.pl.in index b27181da4..3856dd568 100755 --- a/scripts/generate-patches.pl.in +++ b/scripts/generate-patches.pl.in @@ -237,10 +237,10 @@ foreach my $p (keys %dstOutPaths) { $ratio = 1 / $ratio if $ratio < 1; print " USE $srcUses $dstUses $ratio $q\n"; -# if ($ratio >= 2) { -# print " SKIPPING $q due to use ratio $ratio ($srcUses $dstUses)\n"; -# next; -# } + if ($ratio >= 2) { + print " SKIPPING $q due to use ratio $ratio ($srcUses $dstUses)\n"; + next; + } # If there are multiple matching names, include the ones # with the closest version numbers. diff --git a/src/libstore/store.cc b/src/libstore/store.cc index d61c3e454..4e531bc41 100644 --- a/src/libstore/store.cc +++ b/src/libstore/store.cc @@ -737,10 +737,10 @@ void deleteFromStore(const Path & _path) Transaction txn(nixDB); if (isValidPathTxn(txn, path)) { PathSet referers = getReferers(txn, path); - for (PathSet::iterator i = referers.begin(); - i != referers.end(); ++i) - if (*i != path && isValidPathTxn(txn, *i)) - throw Error(format("cannot delete path `%1%' because it is in use by path `%2%'") % path % *i); + if (referers.size() > 1 || + (referers.size() == 1 && + *referers.begin() != path)) + throw Error(format("cannot delete path `%1%' because it is in use") % path); invalidatePath(txn, path); } txn.commit();