Generated GUIDs and reproducible output #9
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
jeff/zixl#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Part of #1
What to build
Id="*"onProductandPackageandGuid="*"onComponenthave zixl generate the GUID, as ADR-0003 decides: a UUIDv5 over a hash of every input (the preprocessed WiX sources and the contents of every source path) and the identity of the element asking, except that a component GUID comes from its key path alone. GUIDs written out are normalized to uppercase with braces. Timestamps come fromSOURCE_DATE_EPOCHwhen it is set.Acceptance criteria
{UPPERCASE}; a malformed one is a diagnostic.SOURCE_DATE_EPOCHset gives byte-identical installer packages.zig-uuidfor UUID generation and formatting rather than code of its own.Blocked by
Outside this repository:
zig-uuid(https://git.jcollie.dev/jeff/zig-uuid) supports Zig 0.16 only. It is to be ported to Zig 0.17 in a session of its own, following the Zig upgrade procedure, before this ticket starts.The outside blocker is resolved: zig-uuid v0.1.0 (commit 7473a97) builds with Zig 0.17.0 and adds what this ticket needs —
serializeRegistry()/fmt(.registry)for{UPPERCASE}GUIDs,deserializeaccepting braces and either case, andUUID.fromName(.v5, namespace, parts). Fetch withzig fetch --save git+https://git.jcollie.dev/jeff/zig-uuid#v0.1.0.Done in
1d6a544; CI run 7 is green.{UPPERCASE}, and malformed ones are errors;Guid=""is an untracked component;SOURCE_DATE_EPOCHset and must be byte-identical;generatedfixture installs under Wine;