Split Lix dev derivation build into "build" and then "specialize" parts #574

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

The specific goal of this is to remove the dependency between Lix's version number and its derivation hash, such that if the source code to lix itself doesn't change (e.g. releng changes, nix-eval-jobs changes if/when we move it into the lix repo proper), the rebuild takes half a second to just make a lix with the new version.

There are two parts to this:

  • Deal with self-references
  • Deal with querying lix's own version

The latter can be done with objcopy into a section inside libstore, for instance. The self-references can be fixed with the same methodology, but we would have to identify where they all are at, and introduce an objcopy'able section that includes them.

The end result of this is hopefully that we can eliminate a substantial number of pointless lix rebuilds and have our work on filesets for source code actually be useful.

The specific goal of this is to remove the dependency between Lix's version number and its derivation hash, such that if the source code to lix itself doesn't change (e.g. releng changes, nix-eval-jobs changes if/when we move it into the lix repo proper), the rebuild takes half a second to just make a lix with the new version. There are two parts to this: - Deal with self-references - Deal with querying lix's own version The latter can be done with objcopy into a section inside libstore, for instance. The self-references can be fixed with the same methodology, but we would have to identify where they all are at, and introduce an objcopy'able section that includes them. The end result of this is hopefully that we can eliminate a substantial number of pointless lix rebuilds and have our work on filesets for source code actually be useful.
Author
Owner

dupe #384 ?

dupe https://git.lix.systems/lix-project/lix/issues/384 ?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#574
No description provided.