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:
Eelco Dolstra 2016-01-12 17:27:40 +01:00
parent 00903fa799
commit 8906eda2f9

View file

@ -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());