guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/07: daemon: Filter build-chroot-dirs entries that conflict with deriv


From: Ludovic Courtès
Subject: 02/07: daemon: Filter build-chroot-dirs entries that conflict with derivation outputs.
Date: Wed, 02 Dec 2015 17:39:09 +0000

civodul pushed a commit to branch master
in repository guix.

commit 60c7c364f81309adb6e22e2cbf250669916b7d11
Author: Eelco Dolstra <address@hidden>
Date:   Wed Sep 2 14:54:12 2015 +0200

    daemon: 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.
---
 nix/libstore/build.cc |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index ab33f57..64678a5 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -1870,13 +1870,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
            (typically the dependencies of /bin/sh).  Throw them
            out. */
-        if (buildMode != bmNormal)
-            foreach (DerivationOutputs::iterator, i, drv.outputs)
-                dirsInChroot.erase(i->second.path);
+        for (auto & i : drv.outputs)
+            dirsInChroot.erase(i.second.path);
 
 #else
         throw Error("chroot builds are not supported on this platform");



reply via email to

[Prev in Thread] Current Thread [Next in Thread]