compile_checksum.sh¶
Generates MD5 checksums for all Pascal source files.
Overview¶
compile_checksum.sh iterates over every .pas file under src/ and appends its MD5 hash to checksums.md5. This file serves as a source-level fingerprint used by compile_vergen.sh to produce a build integrity checksum.
Prerequisites¶
md5sumandfindmust be available.- The
src/directory must exist and contain.pasfiles.
Inputs¶
All *.pas files found recursively under src/, up to 10 levels deep.
Outputs¶
| File | Description |
|---|---|
checksums.md5 |
A file containing one md5sum-format line per Pascal source file. |
Behavior¶
- Truncates (or creates)
checksums.md5with an empty write (echo >). - Finds all directories under
src/(up to 10 levels deep). - For each directory, iterates over
*.pasfiles and computes their MD5 checksum. - Skips files matching any of the following conditions:
- Path contains
.svn(Subversion metadata). - The glob matched no files (literal
*.passtring). - Path contains
include/asuro.pas. - Appends each valid checksum line to
checksums.md5.
Notes¶
- The resulting
checksums.md5is consumed bycompile_vergen.sh, which hashes the checksum file itself to produce a single build fingerprint constant embedded in the kernel. - The
.svnexclusion is a legacy filter from when the project used Subversion for version control.