build: a build no longer dirties the tree
v3/include/version.h is written by every build (kernel/Makefile and v3/Makefile, both FORCE), with a timestamp and the last build's ARCH; the committed copy was stale (LITHOS_VERSION 2.1.0). Untracked, and .gitignore's entry corrected: it said include/version.h, the path before the move to v3/, and matched nothing. capsules/BLOCK_MAP.md differed on every build only in mkcapsule's "Generated ... <timestamp>" header. The timestamp is dropped, so the manifest changes only when the capsules do; two runs are byte-identical. mkcapsule's warnings unchanged (5, #143). Captain Bob, 2026-11-11: untrack version.h and fix the ignore; drop the manifest timestamp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
This commit is contained in:
+2
-1
@@ -16,7 +16,8 @@ docs/api/
|
||||
*.iml
|
||||
|
||||
# generated headers
|
||||
include/version.h
|
||||
# v3/include/version.h is written by every build (kernel/Makefile, v3/Makefile): untracked 2026-11-11
|
||||
v3/include/version.h
|
||||
|
||||
# bundles / archives
|
||||
*.bundle
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-10-17T02:58:45Z -->
|
||||
<!-- Generated by mkcapsule --manifest (no timestamp: it changes only with the capsules) -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
|
||||
+2
-7
@@ -740,11 +740,6 @@ static int cmp_blockref(const void *a, const void *b) {
|
||||
}
|
||||
|
||||
static void generate_manifest(FILE *out) {
|
||||
time_t now = time(NULL);
|
||||
struct tm *tm_ptr = gmtime(&now);
|
||||
char timestamp[64];
|
||||
strftime(timestamp, sizeof(timestamp), "%Y-%m-%dT%H:%M:%SZ", tm_ptr);
|
||||
|
||||
qsort(manifest_entries, (size_t)manifest_count,
|
||||
sizeof(ManifestEntry), cmp_manifest_name);
|
||||
|
||||
@@ -762,11 +757,11 @@ static void generate_manifest(FILE *out) {
|
||||
|
||||
fprintf(out,
|
||||
"# Capsule Block Manifest — Auto-generated\n"
|
||||
"<!-- Generated by mkcapsule --manifest %s -->\n"
|
||||
"<!-- Generated by mkcapsule --manifest (no timestamp: it changes only with the capsules) -->\n"
|
||||
"<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->\n"
|
||||
"<!-- Hand-written justifications and immutability notes live -->\n"
|
||||
"<!-- in MANIFEST.md alongside this auto-generated index. -->\n"
|
||||
"\n", timestamp);
|
||||
"\n");
|
||||
|
||||
/* Capsule summary */
|
||||
fprintf(out, "## Capsule Summary\n\n");
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#ifndef STARFORTH_VERSION_H
|
||||
#define STARFORTH_VERSION_H
|
||||
|
||||
#define STARFORTH_VERSION "3.2.0"
|
||||
#define STARFORTH_ARCH "amd64"
|
||||
#define STARFORTH_TARGET "kernel"
|
||||
#define STARFORTH_TIMESTAMP "2026-10-16T22:58:44-04:00"
|
||||
#define STARFORTH_VERSION_FULL "StarForth v3.2.0 amd64 kernel 2026-10-16T22:58:44-04:00"
|
||||
|
||||
#define LITHOS_VERSION "2.1.0"
|
||||
#define LITHOS_VERSION_STR "LithosAnanke v2.1.0 amd64"
|
||||
|
||||
#endif /* STARFORTH_VERSION_H */
|
||||
Reference in New Issue
Block a user