Automic VaultAutomic Vault

brew

Install add-determinism with Homebrew, dnf, Nix, pacman

Build postprocessor to reset metadata fields for build reproducibility. Version 0.7.3 via Homebrew; verified 2026-06-09.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install add-determinism

local Homebrew formula metadata

Linux

Fedora dnfverified · 92%
sudo dnf install add-determinism

Fedora Rawhide package metadata · add-determinism · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#add-determinism

nixpkgs package indexes · pkgs/by-name/ad/add-determinism/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S add-determinism

Arch Linux sync databases · add-determinism · source: geo.mirror.pkgbuild.com

overview

Package summary

Build postprocessor to reset metadata fields for build reproducibility

Commands and aliases

  • add-det
  • linkdupes

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2024-03: GitHub repository created.
  • 2024: v0.1.0 appears in the official tag list.
  • Current README: add-det and linkdupes are documented as build postprocessors for reproducible package builds.

Related projects

  • strip-nondeterminism is cited by the README as the inspiration.
  • redhat-rpm-config is cited by the README for RPM post-install integration.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
add-detcliglobal executable
linkdupescliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.7.3
manager updated2026-06-09
local dataok
upstreamcurrent
latest detectedv0.7.3

https://github.com/keszybz/add-determinism

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:add-determinism
Version0.7.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/add-determinism
Homepagehttps://github.com/keszybz/add-determinism
Repositoryhttps://github.com/keszybz/add-determinism
Upstream docshttps://github.com/keszybz/add-determinism#readme
LicenseGPL-3.0-or-later
Source archivehttps://github.com/keszybz/add-determinism/archive/refs/tags/v0.7.3.tar.gz
Last updated2026-06-09T00:53:04Z
Pulseupdated
Build dependenciespkgconf, rust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameadd-determinism
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

add-determinism

nix profile install nixpkgs#add-determinism
  • normalized package name match
  • Matched by: Add Determinism
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ad/add-determinism/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
dnf95%

add-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-determinism
  • License: GPL-3.0-or-later AND MIT AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT)
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: rust-add-determinism
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Add Determinism
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: add-determinism from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

add-determinism 0.7.3-1

Build postprocessor to reset metadata fields for build reproducibility

https://github.com/keszybz/add-determinism

sudo pacman -S add-determinism
  • License: GPL-3.0-only
  • Architecture: x86_64
  • 4 dependencies
  • normalized package name match
  • Matched by: Add Determinism
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: add-determinism from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
dnf92%

linkdupes 0.7.3-2.fc45

RPM buildroot helper to hardlink identical files

https://crates.io/crates/add-determinism

sudo dnf install linkdupes
  • License: GPL-3.0-or-later AND MIT AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Zlib
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: rust-add-determinism
  • 4 dependencies
  • 1 provides
  • installed executable or alias match
  • Matched by: Linkdupes
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: linkdupes from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment