summaryrefslogtreecommitdiff
path: root/doc/man/makerepropkg.1.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/makerepropkg.1.asciidoc')
-rw-r--r--doc/man/makerepropkg.1.asciidoc59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/man/makerepropkg.1.asciidoc b/doc/man/makerepropkg.1.asciidoc
new file mode 100644
index 0000000..4e694b3
--- /dev/null
+++ b/doc/man/makerepropkg.1.asciidoc
@@ -0,0 +1,59 @@
+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
+linkman: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
+link:https://reproducible-builds.org/[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
+
+include::include/footer.asciidoc[]