RFD: remove build-hook setting #911

Open
opened 2025-07-10 18:14:41 +00:00 by pennae · 2 comments
Owner

build-hook and its associated nix __build-remote are extremely cursed. each remote build uses its own build-hook process, which holds on to a single local store connection and another single remote store connection (which itself usually holds on to a single ssh process). scheduling of remote builders is complicated immensely by this because it all happens through file locks, the additional localstore connection causes overhead, and the behavior differences of ssh and ssh-ng remotes are a major headache.

we should probably just remove build-hook altogether. an rpc-based system will not have any use for build hooks as they exist today, and what little can be gained from build hooks can also be got from plugins that add custom store url schemes. we haven't been able to find any use of build-hook out there either.

this is not about removing pre-build-hook or post-build-hook, just build-hook. we've already deprecated build-hook a while ago.

`build-hook` and its associated `nix __build-remote` are extremely cursed. each remote build uses its own build-hook process, which holds on to a single local store connection and another single remote store connection (which itself usually holds on to a single ssh process). scheduling of remote builders is complicated immensely by this because it all happens through file locks, the additional localstore connection causes overhead, and the behavior differences of ssh and ssh-ng remotes are a major headache. we should probably just remove `build-hook` altogether. an rpc-based system will not have any use for build hooks as they exist today, and what little can be gained from build hooks can also be got from plugins that add custom store url schemes. we haven't been able to find *any* use of `build-hook` out there either. this is *not* about removing `pre-build-hook` or `post-build-hook`, just `build-hook`. we've already deprecated `build-hook` a while ago.
Owner

should we get this done in 2.95.0? if so, please add release blocker to it

should we get this done in 2.95.0? if so, please add release blocker to it
Author
Owner

not entirely sure yet. we'll add it as a blocker just so we don't forget about it, if 2.95 ends up taking too long we can also postpone this a bit

not entirely sure yet. we'll add it as a blocker just so we don't forget about it, if 2.95 ends up taking too long we can also postpone this a bit
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/lix#911
No description provided.