From fcc5ae151bb78006e7acc5ab8bf6b54692281777 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Apr 2003 15:01:15 +0000 Subject: [PATCH] * Remove build directory from a package directory after building it. --- src/nix.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/nix.cc b/src/nix.cc index a8d2d7880..973c36727 100644 --- a/src/nix.cc +++ b/src/nix.cc @@ -332,6 +332,11 @@ build: if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) throw Error("unable to build package"); + + /* Remove write permission from the build directory. */ + int res = system(("chmod -R -w " + path).c_str()); // !!! escaping + if (WEXITSTATUS(res) != 0) + throw Error("cannot remove write permission from " + path); } catch (exception &) { system(("rm -rf " + path).c_str()); @@ -411,10 +416,10 @@ void delPkg(string hash) string path; checkHash(hash); if (queryDB(dbInstPkgs, hash, path)) { - int res = system(("rm -rf " + path).c_str()); // !!! escaping - delDB(dbInstPkgs, hash); // not a bug + int res = system(("chmod -R +w " + path + " && rm -rf " + path).c_str()); // !!! escaping + delDB(dbInstPkgs, hash); // not a bug ??? if (WEXITSTATUS(res) != 0) - throw Error("cannot delete " + path); + cerr << "errors deleting " + path + ", ignoring" << endl; } }