From a807edfae8428bf426ee6ae849a7a24d74d39202 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Oct 2012 11:20:16 -0400 Subject: Handle repairing paths that are in build-chroot-dirs --- src/libstore/build.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 6c40b6686dcc..b62991dff0f3 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1875,6 +1875,13 @@ void DerivationGoal::startBuilder() } } + /* If we're repairing, it's possible that we're rebuilding a + path that is in settings.dirsInChroot (typically the + dependencies of /bin/sh). Throw them out. */ + if (repair) + foreach (DerivationOutputs::iterator, i, drv.outputs) + dirsInChroot.erase(i->second.path); + #else throw Error("chroot builds are not supported on this platform"); #endif -- cgit 1.4.1