# Install strip-nondeterminism with Homebrew, apk, apt, Nix, pacman, zypper

Tool for stripping bits of non-deterministic information from files. Version 1.15.1 via Homebrew; verified 2026-06-08.

## Install

```sh
sudo av install brew:strip-nondeterminism
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install strip-nondeterminism
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add strip-nondeterminism
```

  Evidence: Alpine Linux edge package indexes: strip-nondeterminism from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install dh-strip-nondeterminism
```

  Evidence: Debian stable package indexes: dh-strip-nondeterminism from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#strip-nondeterminism
```

  Evidence: nixpkgs package indexes: strip-nondeterminism from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S strip-nondeterminism
```

  Evidence: Arch Linux sync databases: strip-nondeterminism from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install strip-nondeterminism
```

  Evidence: openSUSE Tumbleweed package metadata: strip-nondeterminism from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:strip-nondeterminism
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/strip-nondeterminism>
- **Version:** 1.15.1
- **Source summary:** Tool for stripping bits of non-deterministic information from files
- **Homepage:** <https://salsa.debian.org/reproducible-builds/strip-nondeterminism>
- **Repository:** <https://salsa.debian.org/reproducible-builds/strip-nondeterminism>
- **Upstream docs:** <https://manpages.debian.org/testing/dh-strip-nondeterminism/dh_strip_nondeterminism.1p.en.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://salsa.debian.org/reproducible-builds/strip-nondeterminism/-/archive/1.15.1/strip-nondeterminism-1.15.1.tar.bz2>
- **Last updated:** 2026-06-08T19:20:03Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- strip-nondeterminism (cli)
- strip-nondeterminism (alias)

## Uses from macOS

- perl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.15.1
- Package-manager updated: 2026-06-08
- Local data: ok
- Upstream repository: https://salsa.debian.org/reproducible-builds/strip-nondeterminism
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

strip-nondeterminism is a Debian Reproducible Builds tool and Perl library for removing timestamps, file ordering, and similar nondeterministic metadata from build artifacts.

### Project history

The Reproducible Builds history page says strip-nondeterminism came out of 2014 Debian reproducible-build discussions, when Andrew Ayer took on a generic post-processing tool for file formats such as gzip, Zip, Jar, Javadoc, and static archives.

The Salsa project page describes StripNondeterminism as a Perl library for stripping nondeterministic information from many file and archive formats and says it is integrated into Debian's debhelper system. The Salsa project metadata shows the current repository created on 2018-05-15.

### Adoption history

The Debian manpage documents both the standalone `strip-nondeterminism` command and `dh_strip_nondeterminism`, the debhelper program that examines package build directories and strips reproducibility-breaking metadata automatically.

The supplied package-manager facts show packaging beyond Debian and Ubuntu, including apk, Homebrew, Nix, pacman, and zypper. That spread follows the broader reproducible-builds movement across distributions.

### How it is used

As a standalone CLI, `strip-nondeterminism [-t filetype] filename ...` post-processes files when the build itself cannot be made deterministic. In Debian packaging, `dh_strip_nondeterminism` is used as a debhelper step that guesses applicable files using `file(1)` and filenames.

Package maintainers use it for the boring but essential cleanup work that makes binary packages rebuild byte-for-byte: normalizing timestamps and metadata in archives rather than patching every upstream build system immediately.

### Why package nerds care

This is package-nerd infrastructure in the purest sense: almost invisible to end users, but central to making archives auditable, rebuildable, and less dependent on trust in a single build machine.

It matters because package ecosystems discovered that reproducibility is often won by many small normalizers, policy hooks, and metadata conventions rather than one grand compiler switch.

### Timeline

- 2013: Reproducible Builds history records Debian's first large-scale reproducibility rebuilds.
- 2014: Reproducible Builds history records the idea and first release of strip-nondeterminism after DebConf14 discussions.
- 2015: Reproducible Builds history records the wider Debian announcement of reproducible-build proof-of-concept results.
- 2018-05-15: Salsa project metadata records creation of the current repository.
- 2026: Debian manpages document current standalone and debhelper command behavior.

### Related projects

- Debhelper, dpkg, diffoscope, reprotest, SOURCE_DATE_EPOCH, and the broader Reproducible Builds project are adjacent package-infrastructure work.

### Sources

- <https://manpages.debian.org/testing/dh-strip-nondeterminism/dh_strip_nondeterminism.1p.en.html>
- <https://manpages.debian.org/testing/strip-nondeterminism/strip-nondeterminism.1p.en.html>
- <https://reproducible-builds.org/docs/history/>
- <https://salsa.debian.org/reproducible-builds/strip-nondeterminism>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** strip-nondeterminism
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - dh-strip-nondeterminism - 1.14.1-2: normalized package name match | Debian stable package indexes: dh-strip-nondeterminism from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | file non-deterministic information stripper — Debhelper add-on | https://reproducible-builds.org/
- Debian apt - libfile-stripnondeterminism-perl - 1.14.1-2: normalized package name match | Debian stable package indexes: libfile-stripnondeterminism-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | file non-deterministic information stripper — Perl module | https://reproducible-builds.org/
- Debian apt - strip-nondeterminism - 1.14.1-2: normalized package name match | Debian stable package indexes: strip-nondeterminism from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | file non-deterministic information stripper — stand-alone tool | https://reproducible-builds.org/
- Nix - strip-nondeterminism: normalized package name match | nixpkgs package indexes: strip-nondeterminism from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - dh-strip-nondeterminism - 1.13.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: dh-strip-nondeterminism from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | file non-deterministic information stripper — Debhelper add-on | https://reproducible-builds.org/
- Ubuntu apt - libfile-stripnondeterminism-perl - 1.13.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libfile-stripnondeterminism-perl from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | file non-deterministic information stripper — Perl module | https://reproducible-builds.org/
- Ubuntu apt - strip-nondeterminism - 1.13.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: strip-nondeterminism from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | file non-deterministic information stripper — stand-alone tool | https://reproducible-builds.org/
- apk - strip-nondeterminism - 1.15.0-r0: normalized package name match | Alpine Linux edge package indexes: strip-nondeterminism from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for stripping bits of non-deterministic information from files | https://salsa.debian.org/reproducible-builds/strip-nondeterminism
- pacman - strip-nondeterminism - 1.15.1-1: normalized package name match | Arch Linux sync databases: strip-nondeterminism from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Tool for stripping bits of non-deterministic information from files | https://salsa.debian.org/reproducible-builds/strip-nondeterminism
- zypper - strip-nondeterminism - 1.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: strip-nondeterminism from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A tool for stripping non-deterministic information | https://anonscm.debian.org/git/reproducible/strip-nondeterminism.git


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, metadata.
- [add-determinism](https://www.automicvault.com/pkg/brew/add-determinism/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, reproducible-builds.
- [colormake](https://www.automicvault.com/pkg/brew/colormake/) - Shares av.db curated category or tags: build-tools, cli, developer-tools.
- [compiledb](https://www.automicvault.com/pkg/brew/compiledb/) - Shares av.db curated category or tags: build-tools, cli, developer-tools.
- [crosstool-ng](https://www.automicvault.com/pkg/brew/crosstool-ng/) - Shares av.db curated category or tags: build-tools, cli, developer-tools.
- [haskell-stack](https://www.automicvault.com/pkg/brew/haskell-stack/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, reproducible-builds.
- [lazymake](https://www.automicvault.com/pkg/brew/lazymake/) - Shares av.db curated category or tags: build-tools, cli, developer-tools.
- [pkg-config-wrapper](https://www.automicvault.com/pkg/brew/pkg-config-wrapper/) - Shares av.db curated category or tags: build-tools, cli, developer-tools.
- [reprepro](https://www.automicvault.com/pkg/brew/reprepro/) - Local package facts share a topical domain. Shared terms: cli, debian, developer, developer-tools.
- [diffoscope](https://www.automicvault.com/pkg/brew/diffoscope/) - Local package facts share a topical domain. Shared terms: builds, cli, developer, developer-tools, files.

## Combined YAML source

View the package source record on GitHub. [combined/strip-nondeterminism.yml](https://github.com/automic-vault/db/blob/main/combined/strip-nondeterminism.yml)


## Sources

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