macOS
brew install add-determinismlocal Homebrew formula metadata
brew
Build postprocessor to reset metadata fields for build reproducibility. Version 0.7.3 via Homebrew; verified 2026-06-09.
install
brew install add-determinismlocal Homebrew formula metadata
sudo dnf install add-determinismFedora Rawhide package metadata · add-determinism · source: dl.fedoraproject.org
nix profile install nixpkgs#add-determinismnixpkgs package indexes · pkgs/by-name/ad/add-determinism/package.nix · source: api.github.com
sudo pacman -S add-determinismArch Linux sync databases · add-determinism · source: geo.mirror.pkgbuild.com
overview
Build postprocessor to reset metadata fields for build reproducibility
history
add-determinism is a Rust package-build postprocessor for removing common sources of nondeterminism after a build has produced files. Its two command-line programs, add-det and linkdupes, are aimed at reproducible package builds rather than general end-user file cleanup.
The GitHub repository was created in March 2024, and the official README presents the project as a from-scratch Rust implementation inspired by Debian's strip-nondeterminism. The README explains the Fedora/RHEL motivation directly: the author wanted tooling suitable for RPM buildroots without pulling Perl into all build environments, and with behavior tuned for Fedora-style artifacts such as Python bytecode.
The project quickly grew beyond a single timestamp scrubber. add-det rewrites supported archive and generated-file formats in place while preserving safety on failures; linkdupes handles duplicate files in build trees while accounting for SOURCE_DATE_EPOCH and SELinux contexts.
The README documents intended integration with RPM build-root postprocessing through --brp mode and links to redhat-rpm-config pull requests adding add-det and linkdupes to %__os_install_post. The supplied package-manager metadata also shows packaging in Homebrew, Fedora/DNF, Nix, and Arch/pacman.
Package maintainers run add-det over files or directories to clamp or strip metadata in ar, jar, javadoc HTML, gzip, pyc, and zip outputs. In check mode it reports files that would be modified without rewriting them, which makes it useful in reproducibility tests.
linkdupes walks build output trees and hardlinks files with identical content and compatible metadata. Its package-build angle is that it can clamp mtimes against SOURCE_DATE_EPOCH and avoid unsafe hardlinking across mismatched SELinux contexts.
This is a small but very package-manager-native tool: it encodes distro build-root concerns, reproducible-build conventions, and RPM macro integration in one binary crate. For package nerds, the interesting part is not a new file format but a practical attempt to make post-build cleanup deterministic, portable across builders, and cheap to add to packaging pipelines.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
add-det | cli | global executable | |
linkdupes | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/keszybz/add-determinism
install metadata
| Package key | brew:add-determinism |
|---|---|
| Version | 0.7.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/add-determinism |
| Homepage | https://github.com/keszybz/add-determinism |
| Repository | https://github.com/keszybz/add-determinism |
| Upstream docs | https://github.com/keszybz/add-determinism#readme |
| License | GPL-3.0-or-later |
| Source archive | https://github.com/keszybz/add-determinism/archive/refs/tags/v0.7.3.tar.gz |
| Last updated | 2026-06-09T00:53:04Z |
| Pulse | updated |
| Build dependencies | pkgconf, rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | add-determinism |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
add-determinism
nix profile install nixpkgs#add-determinismadd-determinism 0.7.3-2.fc45
RPM buildroot helper to strip nondeterministic bits in files
https://crates.io/crates/add-determinism
sudo dnf install add-determinismadd-determinism 0.7.3-1
Build postprocessor to reset metadata fields for build reproducibility
https://github.com/keszybz/add-determinism
sudo pacman -S add-determinismlinkdupes 0.7.3-2.fc45
RPM buildroot helper to hardlink identical files
https://crates.io/crates/add-determinism
sudo dnf install linkdupessource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.