Make the revisionSuffix bit a specialization step *after* the expensive build so you don't get excess rebuilds while working on repo nix infra #384

Open
opened 2024-06-10 01:11:39 +00:00 by jade · 1 comment
Owner

It's very goofy that you get Lix rebuilds while poking at things in the repo that aren't Lix, which are caused by revisionSuffix changing to -dirty, e.g. This should be fixed so that the Lix derivation gets fixed up. Ideally we also deal with self-references and replace them correctly by some means, perhaps objcopy into a purpose-made section for self-references.

Then the specialization step would just be: copy all the bins over and forbid references to the original output path, then objcopy in the version information.

Sure, you can force officialRelease = true, which fixes this temporarily, but we could do this cleanly instead.

It's very goofy that you get Lix rebuilds while poking at things in the repo that aren't Lix, which are caused by revisionSuffix changing to -dirty, e.g. This should be fixed so that the Lix derivation gets fixed up. Ideally we also deal with self-references and replace them correctly by some means, perhaps objcopy into a purpose-made section for self-references. Then the specialization step would just be: copy all the bins over and forbid references to the original output path, then objcopy in the version information. Sure, you can force officialRelease = true, which fixes this temporarily, but we could do this cleanly instead.
Member

This issue was mentioned on Gerrit on the following CLs:

  • commit message in cl/2438 ("packaging: stop including lix-clang-tidy inside main src fileset")
<!-- GERRIT_LINKBOT: {"cls": [{"backlink": "https://gerrit.lix.systems/c/lix/+/2438", "number": 2438, "kind": "commit message"}], "cl_meta": {"2438": {"change_title": "packaging: stop including lix-clang-tidy inside main src fileset"}}} --> This issue was mentioned on Gerrit on the following CLs: * commit message in [cl/2438](https://gerrit.lix.systems/c/lix/+/2438) ("packaging: stop including lix-clang-tidy inside main src fileset")
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#384
No description provided.