From 5e086ba8c39fc5c39cbbe452b33313c4e5782cd2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 10 Mar 2020 11:00:17 +0100 Subject: [PATCH 1/4] nix-perl: Fix segfault in queryPathInfo) --- perl/lib/Nix/Store.xs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs index fefcd5ae6..1ca734e75 100644 --- a/perl/lib/Nix/Store.xs +++ b/perl/lib/Nix/Store.xs @@ -102,7 +102,7 @@ SV * queryPathInfo(char * path, int base32) PPCODE: try { auto info = store()->queryPathInfo(store()->parseStorePath(path)); - if (info->deriver) + if (!info->deriver) XPUSHs(&PL_sv_undef); else XPUSHs(sv_2mortal(newSVpv(store()->printStorePath(*info->deriver).c_str(), 0))); From 983fab7ea994c3e377e82e4c2f5dbb097820990a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 10 Mar 2020 11:06:55 +0100 Subject: [PATCH 2/4] dotgraph.cc: Remove dead code --- src/nix-store/dotgraph.cc | 71 --------------------------------------- 1 file changed, 71 deletions(-) diff --git a/src/nix-store/dotgraph.cc b/src/nix-store/dotgraph.cc index a9d0dbbed..c9837b3e7 100644 --- a/src/nix-store/dotgraph.cc +++ b/src/nix-store/dotgraph.cc @@ -44,46 +44,6 @@ static string makeNode(const string & id, std::string_view label, } -#if 0 -string pathLabel(const Path & nePath, const string & elemPath) -{ - return (string) nePath + "-" + elemPath; -} - - -void printClosure(const Path & nePath, const StoreExpr & fs) -{ - PathSet workList(fs.closure.roots); - PathSet doneSet; - - for (PathSet::iterator i = workList.begin(); i != workList.end(); ++i) { - cout << makeEdge(pathLabel(nePath, *i), nePath); - } - - while (!workList.empty()) { - Path path = *(workList.begin()); - workList.erase(path); - - if (doneSet.insert(path).second) { - ClosureElems::const_iterator elem = fs.closure.elems.find(path); - if (elem == fs.closure.elems.end()) - throw Error(format("bad closure, missing path '%1%'") % path); - - for (StringSet::const_iterator i = elem->second.refs.begin(); - i != elem->second.refs.end(); ++i) - { - workList.insert(*i); - cout << makeEdge(pathLabel(nePath, *i), pathLabel(nePath, path)); - } - - cout << makeNode(pathLabel(nePath, path), - symbolicName(path), "#ff0000"); - } - } -} -#endif - - void printDotGraph(ref store, StorePathSet && roots) { StorePathSet workList(std::move(roots)); @@ -104,37 +64,6 @@ void printDotGraph(ref store, StorePathSet && roots) cout << makeEdge(std::string(p.to_string()), std::string(p.to_string())); } } - -#if 0 - StoreExpr ne = storeExprFromPath(path); - - string label, colour; - - if (ne.type == StoreExpr::neDerivation) { - for (PathSet::iterator i = ne.derivation.inputs.begin(); - i != ne.derivation.inputs.end(); ++i) - { - workList.insert(*i); - cout << makeEdge(*i, path); - } - - label = "derivation"; - colour = "#00ff00"; - for (StringPairs::iterator i = ne.derivation.env.begin(); - i != ne.derivation.env.end(); ++i) - if (i->first == "name") label = i->second; - } - - else if (ne.type == StoreExpr::neClosure) { - label = ""; - colour = "#00ffff"; - printClosure(path, ne); - } - - else abort(); - - cout << makeNode(path, label, colour); -#endif } cout << "}\n"; From 8a1d8701f6efa07534e4e0500bc561f1c33fc25f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 10 Mar 2020 11:11:46 +0100 Subject: [PATCH 3/4] nix-store -q --graph: Fix edges Fixes #3389. --- src/nix-store/dotgraph.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nix-store/dotgraph.cc b/src/nix-store/dotgraph.cc index c9837b3e7..667d917f5 100644 --- a/src/nix-store/dotgraph.cc +++ b/src/nix-store/dotgraph.cc @@ -61,7 +61,7 @@ void printDotGraph(ref store, StorePathSet && roots) for (auto & p : store->queryPathInfo(path)->references) { if (p != path) { workList.insert(p.clone()); - cout << makeEdge(std::string(p.to_string()), std::string(p.to_string())); + cout << makeEdge(std::string(p.to_string()), std::string(path.to_string())); } } } From e063c71a79d43e3864468a8481c0dfd12586af58 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 11 Mar 2020 10:33:23 +0100 Subject: [PATCH 4/4] nixos.org/releases -> releases.nixos.org --- doc/manual/installation/installing-binary.xml | 2 +- scripts/install.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/manual/installation/installing-binary.xml b/doc/manual/installation/installing-binary.xml index 394d8053b..3f57f47b5 100644 --- a/doc/manual/installation/installing-binary.xml +++ b/doc/manual/installation/installing-binary.xml @@ -142,7 +142,7 @@ sudo rm /Library/LaunchDaemons/org.nixos.nix-daemon.plist NixOS.org hosts version-specific installation URLs for all Nix versions since 1.11.16, at - https://nixos.org/releases/nix/nix-VERSION/install. + https://releases.nixos.org/nix/nix-version/install. diff --git a/scripts/install.in b/scripts/install.in index 76cb3b1fd..4500fd54a 100644 --- a/scripts/install.in +++ b/scripts/install.in @@ -30,7 +30,7 @@ case "$(uname -s).$(uname -m)" in *) oops "sorry, there is no binary distribution of Nix for your platform";; esac -url="https://nixos.org/releases/nix/nix-@nixVersion@/nix-@nixVersion@-$system.tar.xz" +url="https://releases.nixos.org/nix/nix-@nixVersion@/nix-@nixVersion@-$system.tar.xz" tarball="$tmpDir/$(basename "$tmpDir/nix-@nixVersion@-$system.tar.xz")"