blob: d491914e025796e20552bea515424da429d921dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
'\" t
.\" Title: makerepropkg
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" 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] [<package_file|pkgname>\&...]
.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 <file>
.RS 4
Location of a makepkg config file\&.
.RE
.PP
\fB\-l\fR <chroot>
.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\&.
|