MAKEREPROPKG(1)

NAME
makerepropkg - Rebuild a package to see if it is reproducible

SYNOPSIS

makerepropkg [OPTIONS] [<package_file|pkgname>...]

DESCRIPTION

Given the path to a built pacman package(s), attempt to rebuild it using the PKGBUILD in the current directory. The package will be built in an environment as closely matching the environment of the initial package as possible, by building up a chroot to match the information exposed in the package’s BUILDINFO(5) manifest. On success, the resulting package will be compared to the input package, and makerepropkg will report whether the artifacts are identical.

When given multiple packages, additional package files are assumed to be split packages and will be treated as additional artifacts to compare during the verification step.

A valid target(s) for pacman -S can be specified instead, and makerepropkg will download it to the cache if needed. This is mostly useful to specify which repository to retrieve from. If no positional arguments are specified, the targets will be sourced from the PKGBUILD.

In either case, the package name will be converted to a filename from the cache, and makerepropkg will proceed as though this filename was initially specified.

This implements a verifier for pacman/libalpm packages in accordance with the Reproducible Builds project.

OPTIONS

-d
    If packages are not reproducible, compare them using diffoscope.

-c
    Set the pacman cache directory.

-M <file>
    Location of a makepkg config file.

-l <chroot>
    The directory name to use as the chroot namespace Useful for maintaining multiple copies Default: $USER

-h
    Show this usage message

BUGS

Bugs can be reported on the bug tracker https://bugs.archlinux.org in the Arch Linux category and title prefixed with [devtools] or via arch-projects@archlinux.org.

AUTHORS

Maintainers:

    • Aaron Griffin <aaronmgriffin@gmail.com>

    • Allan McRae <allan@archlinux.org>

    • Bartłomiej Piotrowski <bpiotrowski@archlinux.org>

    • Dan McGee <dan@archlinux.org>

    • Dave Reisner <dreisner@archlinux.org>

    • Evangelos Foutras <evangelos@foutrelis.com>

    • Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

    • Jelle van der Waa <jelle@archlinux.org>

    • Levente Polyak <anthraxx@archlinux.org>

    • Pierre Schmitz <pierre@archlinux.de>

    • Sébastien Luttringer <seblu@seblu.net>

    • Sven-Hendrik Haase <svenstaro@gmail.com>

    • Thomas Bächler <thomas@archlinux.org>

For additional contributors, use git shortlog -s on the devtools.git repository.