forked from lix-project/lix
Canonicalize gids to 0
Previously files in the Nix store were owned by root or by nixbld, depending on whether they were created by a substituter or by a builder. This doesn't matter much, but causes spurious diffoscope differences. So use root everywhere.
This commit is contained in:
parent
00903fa799
commit
8906eda2f9
|
@ -602,10 +602,10 @@ static void canonicalisePathMetaData_(const Path & path, uid_t fromUid, InodesSe
|
||||||
users group); we check for this case below. */
|
users group); we check for this case below. */
|
||||||
if (st.st_uid != geteuid()) {
|
if (st.st_uid != geteuid()) {
|
||||||
#if HAVE_LCHOWN
|
#if HAVE_LCHOWN
|
||||||
if (lchown(path.c_str(), geteuid(), (gid_t) -1) == -1)
|
if (lchown(path.c_str(), geteuid(), getegid()) == -1)
|
||||||
#else
|
#else
|
||||||
if (!S_ISLNK(st.st_mode) &&
|
if (!S_ISLNK(st.st_mode) &&
|
||||||
chown(path.c_str(), geteuid(), (gid_t) -1) == -1)
|
chown(path.c_str(), geteuid(), getegid()) == -1)
|
||||||
#endif
|
#endif
|
||||||
throw SysError(format("changing owner of ‘%1%’ to %2%")
|
throw SysError(format("changing owner of ‘%1%’ to %2%")
|
||||||
% path % geteuid());
|
% path % geteuid());
|
||||||
|
|
Loading…
Reference in a new issue