aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-08-09 02:12:01 +0200
committereldritch horrors <pennae@lix.systems>2024-08-09 19:30:45 +0000
commit35a2f28a46613ad185b96d6e38c3f5d13bfc79b5 (patch)
tree0a28b6b92cdfabd0ab09de8b3095a3cd5d5412ac
parent790d1079e1da414f730c9d03c4c8ecc4c40d5c4d (diff)
libstore: deprecate the build-hook setting
implementing a build hook is pretty much impossible without either being a nix, or blindly forwarding the important bits of all build requests to some kind of nix. we've found no uses of build-hook in the wild, and the build-hook protocol (apart from being entirely undocumented) is not able to convey any kind of versioning information between hook and daemon. if we want to upgrade this infrastructure (which we do), this must not stay Change-Id: I1ec4976a35adf8105b8ca9240b7984f8b91e147e
-rw-r--r--doc/manual/rl-next/deprecate-build-hook.md8
-rw-r--r--src/libstore/globals.hh8
2 files changed, 14 insertions, 2 deletions
diff --git a/doc/manual/rl-next/deprecate-build-hook.md b/doc/manual/rl-next/deprecate-build-hook.md
new file mode 100644
index 000000000..30de1298d
--- /dev/null
+++ b/doc/manual/rl-next/deprecate-build-hook.md
@@ -0,0 +1,8 @@
+---
+synopsis: "The `build-hook` setting is now deprecated"
+category: Breaking Changes
+---
+
+Build hooks communicate with the daemon using a custom, internal, undocumented protocol that is entirely unversioned and cannot be changed.
+Since we intend to change it anyway we must unfortunately deprecate the current build hook infrastructure.
+We do not expect this to impact most users—we have not found any uses of `build-hook` in the wild—but if this does affect you, we'd like to hear from you!
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index 1aeb462d4..4709ac715 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -248,14 +248,18 @@ public:
)",
{"build-timeout"}};
- Setting<Strings> buildHook{this, {}, "build-hook",
+ Setting<Strings> buildHook{
+ AbstractSetting::deprecated_t{},
+ this, {}, "build-hook",
R"(
The path to the helper program that executes remote builds.
Lix communicates with the build hook over `stdio` using a custom protocol to request builds that cannot be performed directly by the Nix daemon.
The default value is the internal Lix binary that implements remote building.
- > **Important**
+ > **Warning**
+ >
+ > This setting is deprecated and will be removed in a future version of Lix.
>
> Change this setting only if you really know what you’re doing.
)"};