'\" t .\" Title: makerepropkg .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/14/2024 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "MAKEREPROPKG" "1" "02/14/2024" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" makerepropkg \- Rebuild a package to see if it is reproducible .SH "SYNOPSIS" .sp makerepropkg [OPTIONS] [\&...] .SH "DESCRIPTION" .sp 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\(cqs \fBBUILDINFO\fR(5) manifest\&. On success, the resulting package will be compared to the input package, and makerepropkg will report whether the artifacts are identical\&. .sp 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\&. .sp 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\&. .sp 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\&. .sp This implements a verifier for pacman/libalpm packages in accordance with the Reproducible Builds project\&. .SH "OPTIONS" .PP \fB\-d\fR .RS 4 If packages are not reproducible, compare them using diffoscope\&. .RE .PP \fB\-n\fR .RS 4 Do not run the check() function in the PKGBUILD\&. .RE .PP \fB\-c\fR .RS 4 Set the pacman cache directory\&. .RE .PP \fB\-M\fR .RS 4 Location of a makepkg config file\&. .RE .PP \fB\-l\fR .RS 4 The directory name to use as the chroot namespace Useful for maintaining multiple copies Default: $USER .RE .PP \fB\-h\fR .RS 4 Show this usage message .RE .SH "HOMEPAGE" .sp \fIhttps://gitlab\&.archlinux\&.org/archlinux/devtools\fR .sp Please report bugs and feature requests in the issue tracker\&. Please do your best to provide a reproducible test case for bugs\&.