forked from lix-project/lix
Fix 1755 permission on temporary directories left behind by ‘-K’
This commit is contained in:
parent
767101824a
commit
862c4c5ec5
|
@ -1471,9 +1471,9 @@ HookReply DerivationGoal::tryBuildHook()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void chmod(const Path & path, mode_t mode)
|
void chmod_(const Path & path, mode_t mode)
|
||||||
{
|
{
|
||||||
if (::chmod(path.c_str(), 01777) == -1)
|
if (chmod(path.c_str(), mode) == -1)
|
||||||
throw SysError(format("setting permissions on `%1%'") % path);
|
throw SysError(format("setting permissions on `%1%'") % path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1675,7 +1675,7 @@ void DerivationGoal::startBuilder()
|
||||||
instead.) */
|
instead.) */
|
||||||
Path chrootTmpDir = chrootRootDir + "/tmp";
|
Path chrootTmpDir = chrootRootDir + "/tmp";
|
||||||
createDirs(chrootTmpDir);
|
createDirs(chrootTmpDir);
|
||||||
chmod(chrootTmpDir, 01777);
|
chmod_(chrootTmpDir, 01777);
|
||||||
|
|
||||||
/* Create a /etc/passwd with entries for the build user and the
|
/* Create a /etc/passwd with entries for the build user and the
|
||||||
nobody account. The latter is kind of a hack to support
|
nobody account. The latter is kind of a hack to support
|
||||||
|
@ -1719,7 +1719,7 @@ void DerivationGoal::startBuilder()
|
||||||
precaution, make the fake Nix store only writable by the
|
precaution, make the fake Nix store only writable by the
|
||||||
build user. */
|
build user. */
|
||||||
createDirs(chrootRootDir + nixStore);
|
createDirs(chrootRootDir + nixStore);
|
||||||
chmod(chrootRootDir + nixStore, 01777);
|
chmod_(chrootRootDir + nixStore, 01777);
|
||||||
|
|
||||||
foreach (PathSet::iterator, i, inputPaths) {
|
foreach (PathSet::iterator, i, inputPaths) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
|
Loading…
Reference in a new issue