summaryrefslogtreecommitdiffstats
path: root/docs/mock.1
blob: 28c2629dd49e0d6b097fc8ea68ed42c72fa57452 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
.TH "mock" "1" "0.7" "Seth Vidal" ""
.SH "NAME"
.LP 
mock \- build SRPMs in a chroot
.SH "SYNTAX"
.LP 
mock  [options] \fB\-\-rebuild\fR \fISRPM [\fISRPM...\fR]
.LP
mock  [options] \fB\-\-chroot\fR \fI<cmd>\fR
.LP
mock  [options] {\fB\-\-init\fR|\fBclean\fR|\fBshell\fR}
.LP
mock  [options] \fB\-\-installdeps\fR {SRPM|RPM}
.LP
mock  [options] \fB\-\-install\fR PACKAGE

.SH "DESCRIPTION"
.LP 
Mock is a simple program that will build source RPMs inside a chroot. It
doesn't do anything terribly fancy other than populate a chroot with the
contents specified by a configuration file, then build any input SRPM(s) in
that chroot. 
.LP
The content of a chroot is specified by the configuration specified with the
\fB\-r\fR option. The default configuration file is /etc/mock/default.cfg,
which is usually a symlink to one of the installed configurations.
.LP
There is a site-wide configuration file, /etc/mock/defaults.cfg, which can be
used to specify site-wide options. The shipped version of this file has no
active options, but does have a list of all of the configuration options,
examples of how to set them, and their default values.
.LP
For backwards compatibility, old-style commands, ("rebuild", "init", "clean",
etc.) without leading '\-\-' are still accepted, but are deprecated. See
COMMANDS section, below, for detailed listing of all commands.
.SH "OPTIONS"
.LP 
.TP 
\fB\-r\fR \fICHROOT\fP
Uses specified chroot configuration as defined in
/etc/mock/<\fIchroot\fP>.cfg. If none specified, uses the chroot linked
to by /etc/mock/default.cfg 
.TP 
\fB\-\-offline\fR
Run in 'offline' mode where we tell 'yum' to run completely from local cache. Also disables cache expiry for the mock yum cache.
.TP 
\fB\-\-no\-clean\fR
Do not clean chroot before building package.
.TP 
\fB\-\-cleanup\-after\fR
Clean chroot after building. Use with \-\-resultdir. Only active for '\-\-rebuild'.
.TP 
\fB\-\-no\-cleanup\-after\fR
Dont clean chroot after building. If automatic cleanup is enabled, use this to disable.
.TP 
\fB\-\-arch=\fR\fIARCH\fP
Specify target build arch.
.TP 
\fB\-\-define=\fR"\fIMACRO EXPR\fP"
Specify macro definitions used for the build.  This option may be used multiple times, just as the rpmbuild \-\-define option can be.  For example:

\fB\-\-define "with_extra_cheese 1" \-\-define="packager Monkey"\fR
.TP 
\fB\-\-with=\fR\fIOPTION\fP
Enable configure OPTION for build.  This option may be used multiple times.  For example:

\fB\-\-with extra_cheese\fR
.TP 
\fB\-\-without=\fR\fIOPTION\fP
Disable configure OPTION for build.  This option may be used multiple times.  For example:

\fB\-\-without anchovies\fR
.TP 
\fB\-\-resultdir=\fR\fIRESULTDIR\fP
Change directory where resulting files (RPMs and build logs) are written. Resultdir can contain python-string substitutions for any variable in the chroot config. For example:

\fB\-\-resultdir=./my/'%(dist)s'/'%(target_arch)s'/\fR
.TP
\fB\-\-uniqueext=\fR\fItext\fP
Arbitrary, unique extension to append to buildroot directory name
.TP
\fB\-\-configdir=\fR\fICONFIGDIR\fP
Change directory where config files are found
.TP
\fB\-\-rpmbuild_timeout=\fR\fISECONDS\fP
Fail build if rpmbuild takes longer than 'timeout' seconds
.TP 
\fB\-\-help\fR
Show usage information and exit.
.TP 
\fB\-\-version\fR
Show version number and exit.
.SH "COMMANDS"
.LP
.TP
\fB\-\-clean\fR \- purge the chroot tree
.TP 
\fB\-\-init\fR \- initialize a chroot (clean, install chroot packages, etc.)
.TP
\fB\-\-rebuild\fR \- If no command is specified, rebuild is assumed. Rebuilds the specified SRPM(s). The buildroot is cleaned first, unless --no-clean is specified.
.TP 
\fB\-\-chroot\fR|\fB\-\-shell\fR \- run the specified command within the chroot (which must already be initialized -- no 'clean' is performed). If no command specified, /bin/sh is run.
.TP
\fB\-\-installdeps\fR \- find out deps for SRPM or RPM, and do a yum install to put them in the buildroot. Buildroot must already be initialized -- no 'clean' is performed
.TP
\fB\-\-install\fR \- Do a yum install PACKAGE inside the buildroot. Buildroot must already be initialized -- no 'clean' is performed
.SH "FILES"
.LP 
\fI/etc/mock/\fP \- default configuration directory
.LP
\fI/var/lib/mock\fP \- directory where chroots are created
.SH "EXAMPLES"
.LP 
To rebuild test.src.rpm under the default chroot:
.LP
.RS 5
\fBmock --rebuild /path/to/test.src.rpm\fR
.RE
.LP
To specify a different chroot (which must be defined in /etc/mock):
.LP
.RS 5
\fBmock \-r fedora\-8\-i386\-core --rebuild /path/to/test.src.rpm\fR
.RE
.SH "BUGS"
.LP
To report bugs in mock, go to:
.LP
.RS 5
\fIhttp://bugzilla.redhat.com/bugzilla\fR.
.RE
.LP
Select the query option, using product \fBFedora Hosted Projects\fR
and component \fBmock\fR and press the \fBStart Search\fR
button. If there is a bug similar to the one you are seeing, add your
information to the comments. If not, go to the new bug page using the
same product and component and fill in the form.
.SH "AUTHORS"
.LP 
Michael Brown <mebrown@michaels-house.net>
.LP 
Clark Williams <williams@redhat.com>
.LP 
Seth Vidal <skvidal@linux.duke.edu>
.LP
and a cast of...tens
.SH "SEE ALSO"
.LP 
yum(8) rpmbuild(8)
http://fedoraproject.org/wiki/Projects/Mock