New tool: stampdalf - A filesystem timestamp preservation tool

Luca Di Maio luca.dimaio1 at gmail.com
Thu Dec 18 07:31:22 UTC 2025


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 866 bytes
Desc: This is a digitally signed message part
URL: <http://lists.reproducible-builds.org/pipermail/rb-general/attachments/20251218/88fb4502/attachment.sig>


More information about the rb-general mailing list