diff options
author | regnat <rg@regnat.ovh> | 2020-10-20 15:14:02 +0200 |
---|---|---|
committer | regnat <rg@regnat.ovh> | 2020-12-11 20:41:32 +0100 |
commit | 3ac9d74eb1de0f696bb0384132f7ecc7d057f9d6 (patch) | |
tree | 59ad4e56ef7e20b10d01fb7fd78daf7e9f41c8a1 /src/libstore/local.mk | |
parent | 58cdab64acd4807f73768fb32acdde39b501799f (diff) |
Rework the db schema for derivation outputs
Add a new table for tracking the derivation output mappings.
We used to hijack the `DerivationOutputs` table for that, but (despite its
name), it isn't a really good fit:
- Its entries depend on the drv being a valid path, making it play badly with
garbage collection and preventing us to copy a drv output without copying
the whole drv closure too;
- It dosen't guaranty that the output path exists;
By using a different table, we can experiment with a different schema better
suited for tracking the output mappings of CA derivations.
(incidentally, this also fixes #4138)
Diffstat (limited to 'src/libstore/local.mk')
-rw-r--r-- | src/libstore/local.mk | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstore/local.mk b/src/libstore/local.mk index dfe1e2cc4..03c4351ac 100644 --- a/src/libstore/local.mk +++ b/src/libstore/local.mk @@ -48,7 +48,7 @@ ifneq ($(sandbox_shell),) libstore_CXXFLAGS += -DSANDBOX_SHELL="\"$(sandbox_shell)\"" endif -$(d)/local-store.cc: $(d)/schema.sql.gen.hh +$(d)/local-store.cc: $(d)/schema.sql.gen.hh $(d)/ca-specific-schema.sql.gen.hh $(d)/build.cc: @@ -58,7 +58,7 @@ $(d)/build.cc: @echo ')foo"' >> $@.tmp @mv $@.tmp $@ -clean-files += $(d)/schema.sql.gen.hh +clean-files += $(d)/schema.sql.gen.hh $(d)/ca-specific-schema.sql.gen.hh $(eval $(call install-file-in, $(d)/nix-store.pc, $(prefix)/lib/pkgconfig, 0644)) |