Hi all,

I would like to introduce a new tool I have developed that may be of
interest to this community: stampdalf.

Repository: https://github.com/89luca89/stampdalf

stampdalf is a simple command-line utility written in Go that wraps
arbitrary commands and ensures filesystem timestamp reproducibility.

The tool addresses a common challenge in reproducible builds: commands
that modify files often update their access and modification times as a
side effect, even when the actual content remains unchanged or is
modified in a reproducible way (for example idempotent commands). This
can lead to non-reproducible build artifacts.

How it works:

- Before executing the wrapped command, stampdalf scans the target
directory tree and records all file timestamps (atime/mtime)
- The specified command is then executed normally.
- After command completion, stampdalf restores the original timestamps
for all pre-existing files. Any newly created files are set to Unix
epoch by default, or to SOURCE_DATE_EPOCH if the environment variable
is set.

Example usage:
stampdalf --cd ./project make build

SOURCE_DATE_EPOCH=1609459200 stampdalf --cd ./dist npm run build

The tool is intentionally minimal and has no external dependencies
beyond the Go standard library.
It compiles to a single standalone binary so it's easy to deploy and
it's portable.

I welcome any feedback, suggestions, or contributions from the
community.

Best regards,
L.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to