#archlinux #reproducibility #build

bin+lib arch-repro-status

Check the reproducibility status of your Arch Linux packages

3 stable releases

1.3.11 Nov 1, 2023
1.3.10 Jul 11, 2023
1.3.9 Jun 7, 2023

#393 in Command line utilities

MIT and GPL-3.0 licenses

2.5MB
823 lines

arch-repro-status

A CLI tool for querying the reproducibility status of the Arch Linux packages using data from a rebuilderd instance such as reproducible.archlinux.org. It can show the reproducibility status of:

  • packages that belong to an individual package maintainer (uses the data from archlinux.org/packages)
  • currently installed packages on the system (uses the data from pacman local database) You can inspect the build logs and diffoscope of the packages by enabling the interactive mode via -i.

Installation

Arch Linux

pacman -S arch-repro-status

Also see archlinux-tools group for other useful tools!

crates.io

cargo install arch-repro-status

Usage

arch-repro-status [OPTIONS]
Options:
  -q, --quiet                    Disables logging
  -v, --verbose...               Increases the logging verbosity
  -a, --all                      Checks all of the packages on the system
  -m, --maintainer <MAINTAINER>  Sets the username of the maintainer [env: MAINTAINER=]
  -r, --rebuilderd <URL>         Sets the address of the rebuilderd instance [env: REBUILDERD=] [default: https://reproducible.archlinux.org]
  -b, --dbpath <PATH>            Sets the path to the pacman database [env: DBPATH=] [default: /var/lib/pacman]
      --repos <REPO>             Sets the repositories to query [default: core,extra,multilib]
  -n, --pkgnames <PKGNAME>       Sets the specific packages to query for [env: PKGNAMES=]
  -f, --filter <STATUS>          Sets the filter for package status [env: FILTER=] [possible values: GOOD, BAD, UNKWN]
  -i, --inspect                  Views the build log or diffoscope of the interactively selected package
  -p, --pager <PAGER>            Sets the pager for viewing files [env: PAGER=] [default: less]
  -c, --cache-dir <DIR>          Sets the cache directory for log files [env: CACHE_DIR=]
  -h, --help                     Print help
  -V, --version                  Print version

Listing packages

arch-repro-status

Listing user packages

arch-repro-status -m orhun

Listing maintainer packages

Inspecting packages

arch-repro-status -i -f BAD

Inspecting user packages

arch-repro-status -i -m orhun -f BAD

Inspecting maintainer packages

Examples

# specify a maintainer (optional)
export MAINTAINER=<username>
# print out BAD results
arch-repro-status -f BAD
# enable interactive mode
arch-repro-status -i -v -f BAD
# use `bat` to view files
arch-repro-status -i -v --pager bat
# specify rebuilderd
arch-repro-status --rebuilderd https://wolfpit.net/rebuild/
# specify specific packages (optional)
arch-repro-status --pkgnames bpftrace,libbpf

License

The MIT License

Dependencies

~15–32MB
~526K SLoC