From 800d8e950f13b9cb9099c5d1270a4385d5ae55da Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 21 Mar 2003 15:58:40 +0000 Subject: [PATCH] * Added a command to list installed packages. --- src/nix.cc | 24 ++++++++++++++++++++++-- test/build/pan-build.sh | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/nix.cc b/src/nix.cc index 9f4733f5e..cc81260e3 100644 --- a/src/nix.cc +++ b/src/nix.cc @@ -237,7 +237,7 @@ void installPkg(string pkgref) string cmd; string builder; - if (!queryDB("refs", pkgref, pkgfile)) + if (!queryDB(dbRefs, pkgref, pkgfile)) throw Error("unknown package " + pkgref); cerr << "installing package " + pkgref + " from " + pkgfile + "\n"; @@ -272,7 +272,7 @@ void installPkg(string pkgref) string file; - if (!queryDB("refs", it->ref, file)) + if (!queryDB(dbRefs, it->ref, file)) throw Error("unknown file " + it->ref); if (makeRef(file) != it->ref) @@ -437,6 +437,23 @@ void verifyDB() } +void listInstalledPkgs() +{ + DBPairs instPkgs; + + enumDB(dbInstPkgs, instPkgs); + + for (DBPairs::iterator it = instPkgs.begin(); + it != instPkgs.end(); it++) + { + string descr; + if (!queryDB(dbRefs, it->first, descr)) + descr = "descriptor missing"; + cout << it->first << " " << descr << endl; + } +} + + void run(int argc, char * * argv) { UsageError argcError("wrong number of arguments"); @@ -464,6 +481,9 @@ void run(int argc, char * * argv) } else if (cmd == "reginst") { if (argc != 2) throw argcError; registerInstalledPkg(argv[0], argv[1]); + } else if (cmd == "listinst") { + if (argc != 0) throw argcError; + listInstalledPkgs(); } else throw UsageError("unknown command: " + string(cmd)); } diff --git a/test/build/pan-build.sh b/test/build/pan-build.sh index a29255881..907215f37 100755 --- a/test/build/pan-build.sh +++ b/test/build/pan-build.sh @@ -2,7 +2,7 @@ export PATH=$pkgconfig/bin:$gnet/bin:/bin:/usr/bin export PKG_CONFIG_PATH=$glib/lib/pkgconfig:$atk/lib/pkgconfig:$pango/lib/pkgconfig:$gtk/lib/pkgconfig -export LD_LIBRARY_PATH=$gnet/lib:$atk/lib:$pango/lib:$gtk/lib:$gnet/lib +export LD_LIBRARY_PATH=$glib/lib:$atk/lib:$pango/lib:$gtk/lib:$gnet/lib top=`pwd` tar xvfj $src