forked from lix-project/lix
Skip substituters with an incompatible store directory
This commit is contained in:
parent
cf198952d0
commit
e24e2caaaf
|
@ -3132,6 +3132,11 @@ void SubstitutionGoal::tryNext()
|
|||
sub = subs.front();
|
||||
subs.pop_front();
|
||||
|
||||
if (sub->storeDir != worker.store.storeDir) {
|
||||
tryNext();
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// FIXME: make async
|
||||
info = sub->queryPathInfo(storePath);
|
||||
|
|
|
@ -787,6 +787,7 @@ PathSet LocalStore::querySubstitutablePaths(const PathSet & paths)
|
|||
{
|
||||
PathSet res;
|
||||
for (auto & sub : getDefaultSubstituters()) {
|
||||
if (sub->storeDir != storeDir) continue;
|
||||
if (!sub->wantMassQuery()) continue;
|
||||
for (auto & path : paths) {
|
||||
if (res.count(path)) continue;
|
||||
|
@ -804,6 +805,7 @@ void LocalStore::querySubstitutablePathInfos(const PathSet & paths,
|
|||
SubstitutablePathInfos & infos)
|
||||
{
|
||||
for (auto & sub : getDefaultSubstituters()) {
|
||||
if (sub->storeDir != storeDir) continue;
|
||||
for (auto & path : paths) {
|
||||
if (infos.count(path)) continue;
|
||||
debug(format("checking substituter ‘%s’ for path ‘%s’")
|
||||
|
|
Loading…
Reference in a new issue