forked from lix-project/lix
Filter build-chroot-dirs entries that conflict with derivation outputs
Fixes https://github.com/NixOS/nixpkgs/issues/9504. Note that this means we may have a non-functional /bin/sh in the chroot while rebuilding Bash or one of its dependencies. Ideally those packages don't rely on /bin/sh though.
This commit is contained in:
parent
d711fe8f5e
commit
73332fd342
|
@ -1998,13 +1998,13 @@ void DerivationGoal::startBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we're repairing or checking, it's possible that we're
|
/* If we're repairing, checking or rebuilding part of a
|
||||||
|
multiple-outputs derivation, it's possible that we're
|
||||||
rebuilding a path that is in settings.dirsInChroot
|
rebuilding a path that is in settings.dirsInChroot
|
||||||
(typically the dependencies of /bin/sh). Throw them
|
(typically the dependencies of /bin/sh). Throw them
|
||||||
out. */
|
out. */
|
||||||
if (buildMode != bmNormal)
|
for (auto & i : drv->outputs)
|
||||||
for (auto & i : drv->outputs)
|
dirsInChroot.erase(i.second.path);
|
||||||
dirsInChroot.erase(i.second.path);
|
|
||||||
|
|
||||||
#elif SANDBOX_ENABLED
|
#elif SANDBOX_ENABLED
|
||||||
/* We don't really have any parent prep work to do (yet?)
|
/* We don't really have any parent prep work to do (yet?)
|
||||||
|
|
Loading…
Reference in a new issue