diff --git a/src/libstore/local-overlay-store.cc b/src/libstore/local-overlay-store.cc index 4cb50aef0..2e3564df9 100644 --- a/src/libstore/local-overlay-store.cc +++ b/src/libstore/local-overlay-store.cc @@ -15,6 +15,17 @@ LocalOverlayStore::LocalOverlayStore(const Params & params) } +void LocalOverlayStore::registerDrvOutput(const Realisation & info) +{ + // First do queryRealisation on lower layer to populate DB + auto res = lowerStore->queryRealisation(info.id); + if (res) + LocalStore::registerDrvOutput(*res); + + LocalStore::registerDrvOutput(info); +} + + static RegisterStoreImplementation regLocalOverlayStore; } diff --git a/src/libstore/local-overlay-store.hh b/src/libstore/local-overlay-store.hh index 3129bb7a0..e5329f5d9 100644 --- a/src/libstore/local-overlay-store.hh +++ b/src/libstore/local-overlay-store.hh @@ -69,6 +69,8 @@ public: private: // Overridden methods… + + void registerDrvOutput(const Realisation & info) override; }; }