aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-06-08 09:14:00 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-06-09 12:32:36 +0200
commit1b5dd9ce731f07147c998b46b5079b87e8674e30 (patch)
tree524e2012a68fb67f41fe296f825fcc76007d15d5
parent826f88165ada05e3662c9a0ec08c610c688b7355 (diff)
Add note on originating dependent and set-like configuration variables
-rw-r--r--bpkg/package-configuration.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/bpkg/package-configuration.cxx b/bpkg/package-configuration.cxx
index 97ef03c..6ec2ea3 100644
--- a/bpkg/package-configuration.cxx
+++ b/bpkg/package-configuration.cxx
@@ -64,6 +64,22 @@ namespace bpkg
// ? ($config.foo.x ? 8196 : 6144)
// : $config.foo.buf)
//
+ // Another issue with this "originating dependent" logic is that it will
+ // be tricky to scale to containers where we would need to track
+ // originating dependents for individual elements of a value rather than
+ // the whole value as we do now. As an example, consider some "set of
+ // enabled backends" configuration variable. Technically, this doesn't
+ // seem insurmountable if we make some assumptions (e.g., if a value
+ // contains multiple elements, then it is such a set-like value; or
+ // we could use actual type names).
+ //
+ // For now we recommend to use multiple bool configurations to handle such
+ // cases (and, in fact, we currently don't have any set/map-like types,
+ // which we may want to add in the future). However, one could come up
+ // with some open-ended configuration list that will be difficult to
+ // support with bool. For example, we may need to support a set of buffer
+ // sizes or some such.
+ //
// Our assumptions regarding require:
//
// - Can only set bool configuration variables and only to true.