| |
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) |
| |
2 .\" |
| |
3 .\" Standard preamble: |
| |
4 .\" ======================================================================== |
| |
5 .de Sp \" Vertical space (when we can't use .PP) |
| |
6 .if t .sp .5v |
| |
7 .if n .sp |
| |
8 .. |
| |
9 .de Vb \" Begin verbatim text |
| |
10 .ft CW |
| |
11 .nf |
| |
12 .ne \\$1 |
| |
13 .. |
| |
14 .de Ve \" End verbatim text |
| |
15 .ft R |
| |
16 .fi |
| |
17 .. |
| |
18 .\" Set up some character translations and predefined strings. \*(-- will |
| |
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
| |
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will |
| |
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
| |
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
| |
23 .\" nothing in troff, for use with C<>. |
| |
24 .tr \(*W- |
| |
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
| |
26 .ie n \{\ |
| |
27 . ds -- \(*W- |
| |
28 . ds PI pi |
| |
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
| |
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
| |
31 . ds L" "" |
| |
32 . ds R" "" |
| |
33 . ds C` |
| |
34 . ds C' |
| |
35 'br\} |
| |
36 .el\{\ |
| |
37 . ds -- \|\(em\| |
| |
38 . ds PI \(*p |
| |
39 . ds L" `` |
| |
40 . ds R" '' |
| |
41 'br\} |
| |
42 .\" |
| |
43 .\" Escape single quotes in literal strings from groff's Unicode transform. |
| |
44 .ie \n(.g .ds Aq \(aq |
| |
45 .el .ds Aq ' |
| |
46 .\" |
| |
47 .\" If the F register is turned on, we'll generate index entries on stderr for |
| |
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index |
| |
49 .\" entries marked with X<> in POD. Of course, you'll have to process the |
| |
50 .\" output yourself in some meaningful fashion. |
| |
51 .ie \nF \{\ |
| |
52 . de IX |
| |
53 . tm Index:\\$1\t\\n%\t"\\$2" |
| |
54 .. |
| |
55 . nr % 0 |
| |
56 . rr F |
| |
57 .\} |
| |
58 .el \{\ |
| |
59 . de IX |
| |
60 .. |
| |
61 .\} |
| |
62 .\" |
| |
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
| |
64 .\" Fear. Run. Save yourself. No user-serviceable parts. |
| |
65 . \" fudge factors for nroff and troff |
| |
66 .if n \{\ |
| |
67 . ds #H 0 |
| |
68 . ds #V .8m |
| |
69 . ds #F .3m |
| |
70 . ds #[ \f1 |
| |
71 . ds #] \fP |
| |
72 .\} |
| |
73 .if t \{\ |
| |
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
| |
75 . ds #V .6m |
| |
76 . ds #F 0 |
| |
77 . ds #[ \& |
| |
78 . ds #] \& |
| |
79 .\} |
| |
80 . \" simple accents for nroff and troff |
| |
81 .if n \{\ |
| |
82 . ds ' \& |
| |
83 . ds ` \& |
| |
84 . ds ^ \& |
| |
85 . ds , \& |
| |
86 . ds ~ ~ |
| |
87 . ds / |
| |
88 .\} |
| |
89 .if t \{\ |
| |
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
| |
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
| |
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
| |
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
| |
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
| |
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
| |
96 .\} |
| |
97 . \" troff and (daisy-wheel) nroff accents |
| |
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
| |
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
| |
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
| |
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
| |
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
| |
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
| |
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
| |
105 .ds ae a\h'-(\w'a'u*4/10)'e |
| |
106 .ds Ae A\h'-(\w'A'u*4/10)'E |
| |
107 . \" corrections for vroff |
| |
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
| |
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
| |
110 . \" for low resolution devices (crt and lpr) |
| |
111 .if \n(.H>23 .if \n(.V>19 \ |
| |
112 \{\ |
| |
113 . ds : e |
| |
114 . ds 8 ss |
| |
115 . ds o a |
| |
116 . ds d- d\h'-1'\(ga |
| |
117 . ds D- D\h'-1'\(hy |
| |
118 . ds th \o'bp' |
| |
119 . ds Th \o'LP' |
| |
120 . ds ae ae |
| |
121 . ds Ae AE |
| |
122 .\} |
| |
123 .rm #[ #] #H #V #F C |
| |
124 .\" ======================================================================== |
| |
125 .\" |
| |
126 .IX Title "BUILD 8" |
| |
127 .TH BUILD 8 "OpenPKG" "BUILD(8)" "OpenPKG" |
| |
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
| |
129 .\" way too many mistakes in technical documents. |
| |
130 .if n .ad l |
| |
131 .nh |
| |
132 .SH "NAME" |
| |
133 openpkg build \- OpenPKG Package Building and Installing |
| |
134 .SH "SYNOPSIS" |
| |
135 .IX Header "SYNOPSIS" |
| |
136 \&\fBopenpkg\fR |
| |
137 \&\fBbuild\fR |
| |
138 [\fB\-R\fR \fIrpm\fR] |
| |
139 [\fB\-r\fR \fIrepository\fR] |
| |
140 [\fB\-f\fR \fIindex.rdf\fR] |
| |
141 [\fB\-u\fR] |
| |
142 [\fB\-U\fR] |
| |
143 [\fB\-z\fR] |
| |
144 [\fB\-Z\fR] |
| |
145 [\fB\-i\fR] |
| |
146 [\fB\-q\fR] |
| |
147 [\fB\-s\fR] |
| |
148 [\fB\-S\fR] |
| |
149 [\fB\-M\fR] |
| |
150 [\fB\-L\fR] |
| |
151 [\fB\-W\fR] |
| |
152 [\fB\-X\fR] |
| |
153 [\fB\-K\fR] |
| |
154 [\fB\-k\fR] |
| |
155 [\fB\-e\fR] |
| |
156 [\fB\-b\fR] |
| |
157 [\fB\-B\fR] |
| |
158 [\fB\-G\fR] |
| |
159 [\fB\-P\fR \fIpriv-cmd\fR] |
| |
160 [\fB\-N\fR \fInon-priv-cmd\fR] |
| |
161 [\fB\-p\fR \fIplatform\fR] |
| |
162 [\fB\-D\fR \fIvar\fR=\fIval\fR ...] |
| |
163 [\fB\-E\fR \fIname\fR ...] |
| |
164 [\fB\-H\fR \fIname\fR ...] |
| |
165 ([\fB\-a\fR] [\fB\-A\fR] | \fIpattern\fR ...) |
| |
166 .SH "DESCRIPTION" |
| |
167 .IX Header "DESCRIPTION" |
| |
168 The \fBopenpkg build\fR tool provides automated recursive from-scratch |
| |
169 installation of packages and the updating and upgrading of installed |
| |
170 packages. |
| |
171 .PP |
| |
172 It generates a Bourne-Shell script on standard output (\fIstdout\fR) |
| |
173 that can be executed to perform the package installation or |
| |
174 updating/upgrading procedure for all requested packages and their |
| |
175 dependencies. |
| |
176 .PP |
| |
177 Packages that are upgraded automatically trigger rebuilds of all |
| |
178 packages that depend on the upgraded package (\*(L"reverse dependencies\*(R"). |
| |
179 The dependency information is read from an \s-1XML/RDF\s0 index generated by |
| |
180 the companion tool \fBopenpkg index\fR. |
| |
181 .SH "ARGUMENTS" |
| |
182 .IX Header "ARGUMENTS" |
| |
183 Packages are selected by providing a list of name patterns. Each |
| |
184 pattern is either a package name or a name prefix followed by a '\fI*\fR' |
| |
185 character. Additionally, in order to resolve ambiguous dependencies, you |
| |
186 can append a discrimination prefix separated by a comma that matches |
| |
187 against the full "\fIname\fR\-\fIversion\fR\-\fIrevision\fR" string of a package. |
| |
188 .SH "OPTIONS" |
| |
189 .IX Header "OPTIONS" |
| |
190 The following command line options exist: |
| |
191 .IP "\fB\-R\fR \fIcommand\fR" 4 |
| |
192 .IX Item "-R command" |
| |
193 Specify the "\fBopenpkg rpm\fR" command with fully qualified path. |
| |
194 Several other internal paths are deduced from the \fIcommand\fR path, |
| |
195 so this has to be something like "\fIprefix\fR\f(CW\*(C`/bin/openpkg rpm\*(C'\fR". |
| |
196 .IP "\fB\-r\fR \fIrepository\fR" 4 |
| |
197 .IX Item "-r repository" |
| |
198 Specify the path to an OpenPKG \s-1RPM\s0 package repository. |
| |
199 This can be a \s-1URL\s0 (including \*(L"file://\*(R") to download packages from or |
| |
200 an absolute directory path (identified by leading \*(L"/\*(R") or |
| |
201 a relative directory path (identified by leading \*(L"./\*(R") to access packages directly. |
| |
202 The name of the package file is appended to this path. |
| |
203 The default is to use a \s-1URL\s0 pointing to the \fBOpenPKG\fR download service |
| |
204 as determined by the "\fBopenpkg release\fR" command. |
| |
205 .IP "\fB\-f\fR \fIindex.rdf\fR" 4 |
| |
206 .IX Item "-f index.rdf" |
| |
207 Specify the path to the primary \s-1XML/RDF\s0 index. This can be a \s-1URL\s0 or a |
| |
208 file path. If the index contains references to other indices, these |
| |
209 are recursively included automatically. The default is to use a \s-1URL\s0 |
| |
210 pointing to the \fBOpenPKG\fR \s-1FTP\s0 server as as determined by the "\fBopenpkg |
| |
211 release\fR" command. |
| |
212 .IP "\fB\-u\fR" 4 |
| |
213 .IX Item "-u" |
| |
214 The generated script will ignore binary RPMs that are stored on |
| |
215 your system. Instead it will either fetch binary RPMs or rebuild |
| |
216 from source RPMs fetched from the repository. |
| |
217 .IP "\fB\-U\fR" 4 |
| |
218 .IX Item "-U" |
| |
219 The generated script will try to upgrade all selected packages |
| |
220 including their dependencies to the most recent version. Use |
| |
221 this for usual upgrade tasks in combination with option "\fB\-a\fR". |
| |
222 .IP "\fB\-z\fR" 4 |
| |
223 .IX Item "-z" |
| |
224 The generated script will rebuild all selected packages |
| |
225 including their dependencies even when the most recent version |
| |
226 is already installed. |
| |
227 .IP "\fB\-Z\fR" 4 |
| |
228 .IX Item "-Z" |
| |
229 \&\fBopenpkg build\fR ignores all installed packages, the |
| |
230 generated script will rebuild all selected packages from scratch. |
| |
231 .IP "\fB\-i\fR" 4 |
| |
232 .IX Item "-i" |
| |
233 The generated script will ignore run-time errors. |
| |
234 .IP "\fB\-q\fR" 4 |
| |
235 .IX Item "-q" |
| |
236 Ignore all reverse dependencies. This means that all packages which are |
| |
237 rebuild do \fInot\fR trigger a rebuild of packages which depend on them. |
| |
238 \&\fI\s-1ATTENTION:\s0 this might break already installed packages and has to be |
| |
239 used with care! You should really know what you are doing.\fR |
| |
240 .IP "\fB\-s\fR" 4 |
| |
241 .IX Item "-s" |
| |
242 Generate a status map instead of the shell script. The map consists |
| |
243 of 3 columns: \fIold\fR, \fItag\fR and \fInew\fR. The \fIold\fR column shows |
| |
244 the installed version of a package (\fIname\fR\-\fIversion\fR\-\fIrelease\fR) |
| |
245 or just the package name (\fIname\fR) if no package of that name |
| |
246 is installed and the \fInew\fR column shows the repository version |
| |
247 (\fIname\fR\-\fIversion\fR\-\fIrelease\fR) of a package if it is considered for |
| |
248 installation. The \fItag\fR column shows the following possible values: |
| |
249 .RS 4 |
| |
250 .IP "\s-1OK\s0" 10 |
| |
251 .IX Item "OK" |
| |
252 The installed package is suitable and will not be touched. |
| |
253 .IP "\s-1ADD\s0" 10 |
| |
254 .IX Item "ADD" |
| |
255 There is no installed package yet. |
| |
256 .IP "\s-1UPGRADE\s0" 10 |
| |
257 .IX Item "UPGRADE" |
| |
258 The installed package is outdated and requires an update. |
| |
259 .IP "\s-1DEPEND\s0" 10 |
| |
260 .IX Item "DEPEND" |
| |
261 The installed package needs rebuilding because one of its |
| |
262 dependencies is rebuild. |
| |
263 .IP "\s-1MISMATCH\s0" 10 |
| |
264 .IX Item "MISMATCH" |
| |
265 The installed package needs rebuilding because it was build |
| |
266 with different parameters. |
| |
267 .IP "\s-1CONFLICT\s0" 10 |
| |
268 .IX Item "CONFLICT" |
| |
269 The required new package cannot be installed because it |
| |
270 conflicts with some already installed package. |
| |
271 .IP "\s-1UNDEF\s0" 10 |
| |
272 .IX Item "UNDEF" |
| |
273 The package has an invalid or ambiguous dependency. |
| |
274 .RE |
| |
275 .RS 4 |
| |
276 .RE |
| |
277 .IP "\fB\-S\fR" 4 |
| |
278 .IX Item "-S" |
| |
279 Similar to option "\fB\-s\fR" but also lists the newest versions in the |
| |
280 repository. The following \fItag\fR might appear in the map: |
| |
281 .RS 4 |
| |
282 .IP "\s-1NEW\s0" 10 |
| |
283 .IX Item "NEW" |
| |
284 The package exists in the repository but is not required yet. |
| |
285 .RE |
| |
286 .RS 4 |
| |
287 .RE |
| |
288 .IP "\fB\-M\fR" 4 |
| |
289 .IX Item "-M" |
| |
290 Similar to option "\fB\-s\fR" but print a short dependency map. |
| |
291 .IP "\fB\-L\fR" 4 |
| |
292 .IX Item "-L" |
| |
293 Print a list of packages in the repository that depend on the target. |
| |
294 .IP "\fB\-W\fR" 4 |
| |
295 .IX Item "-W" |
| |
296 Include all conditional dependencies as if all possible configuration |
| |
297 options had been switched on. This has little use in practice except for |
| |
298 generating an all-inclusive list with option "\fB\-L\fR". \fI\s-1ATTENTION:\s0 Even |
| |
299 mutually exclusive options are evaluated to be 'on', building packages |
| |
300 with option \*(L"\-W\*(R" therefore might fail or cause unusable results!\fR |
| |
301 .IP "\fB\-X\fR" 4 |
| |
302 .IX Item "-X" |
| |
303 Use the slower but more robust external Perl \s-1XML\s0 parser module |
| |
304 XML::Simple instead of the simple internal \s-1XML/RDF\s0 parser. |
| |
305 .IP "\fB\-K\fR" 4 |
| |
306 .IX Item "-K" |
| |
307 Keep packages that were installed temporarily during the build process. |
| |
308 Without this option those packages are removed. |
| |
309 .IP "\fB\-k\fR" 4 |
| |
310 .IX Item "-k" |
| |
311 Keep packages that were downloaded temporarily for installation or building. |
| |
312 Without this option those packages are removed. |
| |
313 .IP "\fB\-e\fR" 4 |
| |
314 .IX Item "-e" |
| |
315 Rebuild exact version of a package from repository even when you have |
| |
316 installed a newer version from another repository. |
| |
317 .IP "\fB\-b\fR" 4 |
| |
318 .IX Item "-b" |
| |
319 Wrap package rebuilding commands with script execution-time checks for |
| |
320 existing binary packages if the package is rebuild as a dependency. Wrap |
| |
321 package install commands with script execution-time checks for different |
| |
322 \&\s-1MD5\s0 signature checksums of binary packages and installed packages. This |
| |
323 is best to use with option "\fB\-u\fR" to defer all such checks until script |
| |
324 execution-time. |
| |
325 .IP "\fB\-B\fR" 4 |
| |
326 .IX Item "-B" |
| |
327 Same as option "\fB\-b\fR" but also check all explicit target packages for |
| |
328 existing binary packages at script execution-time. |
| |
329 .IP "\fB\-g\fR" 4 |
| |
330 .IX Item "-g" |
| |
331 The generated script will rebuild all packages selected even when the |
| |
332 most recent version is already installed. Dependencies are not affected. |
| |
333 Use this especially for updating a package with different build options |
| |
334 (see option "\fB\-D\fR"). |
| |
335 .IP "\fB\-P\fR \fIpriv-cmd\fR" 4 |
| |
336 .IX Item "-P priv-cmd" |
| |
337 Command prefix to use for generated script commands that require |
| |
338 elevated privileges (like "\fBopenpkg rpm \-Uvh\fR"). The most common tool |
| |
339 for this is \fIsudo\fR\|(8). If \fIpriv-cmd\fR starts with a dash it will be run |
| |
340 without the dash and the command line it should execute is passed as |
| |
341 a single quoted string. Use this option for upgrading privileges. For |
| |
342 instance, if you are running the \f(CW\*(C`openpkg build\*(C'\fR\*(L" command as the |
| |
343 management user, use \*(R"\f(CW\*(C`\-P sudo\*(C'\fR\*(L" to make sure that the \*(R"\fBopenpkg rpm |
| |
344 \&\-Uvh\fR" commands in the generated script execute with necessary elevated |
| |
345 privileges. |
| |
346 .IP "\fB\-N\fR \fInon-priv-cmd\fR" 4 |
| |
347 .IX Item "-N non-priv-cmd" |
| |
348 Command prefix to use for generated script commands that do \fInot\fR |
| |
349 require elevated privileges (like "\fBopenpkg rpm \-\-rebuild\fR"). The most |
| |
350 common tool for this is \fIsu\fR\|(8). If \fInon-priv-cmd\fR starts with a dash |
| |
351 it will be run without the dash and the command line it should execute |
| |
352 is passed as a single quoted string. Use this option for downgrading |
| |
353 privileges. For instance, if you are running the \f(CW\*(C`openpkg build\*(C'\fR" |
| |
354 command as the \fBroot\fR user, use "\f(CW\*(C`\-N \*(Aq\-su \- \*(C'\fR\fImusr\fR\f(CW\*(C` \-c\*(Aq\*(C'\fR" to make |
| |
355 sure that the non-privileged commands in the generated script execute |
| |
356 with privileges of the management user \fImusr\fR. |
| |
357 .IP "\fB\-p\fR \fIplatform\fR" 4 |
| |
358 .IX Item "-p platform" |
| |
359 The platform string that is matched against the \s-1XML/RDF\s0 index for binary |
| |
360 packages. The default is an empty \fIplatform\fR string so that no binary |
| |
361 packages are matched at all. |
| |
362 .IP "\fB\-D\fR \fIvar\fR=\fIval\fR" 4 |
| |
363 .IX Item "-D var=val" |
| |
364 Specify build options for selected packages. This can be either |
| |
365 "\fB\-D\fR \fIwith_xxx\fR=\fIyyy\fR\*(L" or just \*(R"\fB\-D\fR \fIwith_xxx\fR\*(L". The latter is |
| |
366 equivalent to a \*(R"\fB\-D\fR \fIwith_xxx\fR=\fIyes\fR\*(L". The parameters are matched |
| |
367 against selected packages that are already installed. If they do |
| |
368 indicate a change, the package is rebuild. There can be multiple \*(R"\fB\-D\fR" |
| |
369 options. |
| |
370 .Sp |
| |
371 If the option name is prefixed with a package name followed by |
| |
372 two colons then it applies only to the specified package, e.g., |
| |
373 "\fB\-D\fR\fIfoo::with_bar\fR". |
| |
374 .IP "\fB\-E\fR \fIname\fR" 4 |
| |
375 .IX Item "-E name" |
| |
376 Ignore a package with the specified \fIname\fR. This can be used to avoid |
| |
377 upgrading to a broken package in the repository or to skip a package |
| |
378 upgrade temporarily. If you use a wildcard pattern or the options |
| |
379 "\fB\-a\fR\*(L" or \*(R"\fB\-A\fR" then \fIname\fR will be excluded. There can be multiple |
| |
380 "\fB\-E\fR" options. |
| |
381 .IP "\fB\-H\fR \fIname\fR" 4 |
| |
382 .IX Item "-H name" |
| |
383 Hint about packages that should be preferred when more than one fits |
| |
384 a requirement. There can be multiple "\fB\-H\fR" options. |
| |
385 .IP "\fB\-a\fR" 4 |
| |
386 .IX Item "-a" |
| |
387 Select all installed packages. You cannot specify a pattern list together |
| |
388 with the "\fB\-a\fR" option. |
| |
389 .IP "\fB\-A\fR" 4 |
| |
390 .IX Item "-A" |
| |
391 Select all packages in the repository. You cannot specify a pattern list |
| |
392 together with the "\fB\-A\fR" option. |
| |
393 .SH "ARGUMENTS" |
| |
394 .IX Header "ARGUMENTS" |
| |
395 In case neither option \fB\-a\fR nor option \fB\-A\fR are specified, |
| |
396 the command line has to contain one or more package \fIpattern\fR |
| |
397 arguments. Each \fIpattern\fR can have the following forms: |
| |
398 .IP "\fIname\fR" 4 |
| |
399 .IX Item "name" |
| |
400 A regular package name. |
| |
401 .IP "\fIname\fR\fB*\fR" 4 |
| |
402 .IX Item "name*" |
| |
403 A package name wildcard pattern. |
| |
404 .IP "\fIname\fR\fB,\fR\fIname\fR[\fB\-\fR\fIversion\fR[\fB\-\fR\fIrelease\fR]]" 4 |
| |
405 .IX Item "name,name[-version[-release]]" |
| |
406 A regular package name followed by a constraint |
| |
407 which particular package should be chosen. |
| |
408 .SH "CONFIGURATION" |
| |
409 .IX Header "CONFIGURATION" |
| |
410 \&\fBopenpkg build\fR reads the configuration file \fI\f(CI$HOME\fI/.openpkg/build\fR. |
| |
411 The file lists default options, one option per line and section tags |
| |
412 of the form \f(CW\*(C`[\*(C'\fR\fIprefix\fR\f(CW\*(C`]\*(C'\fR. Options following such a tag are only |
| |
413 evaluated for the particular \fBOpenPKG\fR instance so that you can |
| |
414 define default options for multiple \fBOpenPKG\fR instances. |
| |
415 .PP |
| |
416 Example: |
| |
417 .PP |
| |
418 .Vb 2 |
| |
419 \& # global options |
| |
420 \& \-X |
| |
421 \& |
| |
422 \& [/openpkg/current] |
| |
423 \& # options for CURRENT stack only |
| |
424 \& \-r http://download.openpkg.org/stacks/current/source/ |
| |
425 \& |
| |
426 \& [/openpkg/foo] |
| |
427 \& # options for a FOO stack only |
| |
428 \& \-r http://download.openpkg.org/stacks/foo/source/ |
| |
429 .Ve |
| |
430 .SH "EXAMPLES" |
| |
431 .IX Header "EXAMPLES" |
| |
432 The following shows a few typical OpenPKG instance |
| |
433 maintenance tasks which involve the \fBopenpkg build\fR command: |
| |
434 .SS "Installation" |
| |
435 .IX Subsection "Installation" |
| |
436 The following examples shows how to initially install an OpenPKG |
| |
437 instance under \fI/openpkg\fR with Apache/PHP & MySQL: |
| |
438 .PP |
| |
439 .Vb 5 |
| |
440 \& # bootstrap the OpenPKG instance |
| |
441 \& $ curl \-L \-O http://openpkg.org/go/download/openpkg.src.sh |
| |
442 \& $ sh openpkg\-*\-*.src.sh \-\-prefix=/openpkg \e |
| |
443 \& \-\-user=openpkg \-\-group=openpkg \-\-tag=openpkg |
| |
444 \& $ sh openpkg\-*\-*.*\-*\-openpkg.sh |
| |
445 \& |
| |
446 \& # install Apache/PHP & MySQL |
| |
447 \& $ /openpkg/bin/openpkg build \e |
| |
448 \& \-D apache\-php::with_mysql=yes \e |
| |
449 \& apache apache\-php mysql | sh |
| |
450 .Ve |
| |
451 .SS "Reinstallation" |
| |
452 .IX Subsection "Reinstallation" |
| |
453 The following example shows how to rebuild and reinstall the already |
| |
454 installed package \*(L"foo\*(R": |
| |
455 .PP |
| |
456 .Vb 2 |
| |
457 \& # rebuild and reinstall package |
| |
458 \& $ /openpkg/bin/openpkg build \-g \-u foo | sh |
| |
459 .Ve |
| |
460 .SS "Change" |
| |
461 .IX Subsection "Change" |
| |
462 The following fictive example shows how to change the already |
| |
463 installed package \*(L"foo\*(R" by rebuilding and reinstalling it with the |
| |
464 "\f(CW\*(C`foo::with_bar\*(C'\fR" build-time option enabled. |
| |
465 .PP |
| |
466 .Vb 2 |
| |
467 \& # change a package |
| |
468 \& $ /openpkg/bin/openpkg build \-g \-D with_bar=yes foo | sh |
| |
469 .Ve |
| |
470 .SS "Update" |
| |
471 .IX Subsection "Update" |
| |
472 The following example shows how to update (no major |
| |
473 OpenPKG version change) an OpenPKG instance under \fI/openpkg\fR: |
| |
474 .PP |
| |
475 .Vb 2 |
| |
476 \& # update all packages to their latest version |
| |
477 \& $ /openpkg/bin/openpkg build \-Ua | sh |
| |
478 .Ve |
| |
479 .SS "Upgrade" |
| |
480 .IX Subsection "Upgrade" |
| |
481 The following examples shows a complete procedure for upgrading (major |
| |
482 OpenPKG version change) the instance under \fI/openpkg\fR to OpenPKG |
| |
483 4.X: |
| |
484 .PP |
| |
485 .Vb 3 |
| |
486 \& # upgrade the bootstrap package |
| |
487 \& $ /openpkg/bin/openpkg build \e |
| |
488 \& \-r http://download.openpkg.org/stacks/current/source/ openpkg | sh |
| |
489 \& |
| |
490 \& # upgrade the whole OpenPKG instance, in correct dependency |
| |
491 \& # order and by keeping all chosen build\-time options. |
| |
492 \& $ /openpkg/bin/openpkg build \-ZaKB | sh |
| |
493 .Ve |
| |
494 .SS "Deinstallation" |
| |
495 .IX Subsection "Deinstallation" |
| |
496 The following example shows how to deinstall |
| |
497 an entire OpenPKG intance under \fI/openpkg\fR: |
| |
498 .PP |
| |
499 .Vb 3 |
| |
500 \& # remove all packages and the instance itself |
| |
501 \& $ /openpkg/bin/openpkg rpm \-e \e |
| |
502 \& \`/openpkg/bin/openpkg rpm \-qa\` |
| |
503 .Ve |
| |
504 .SH "CAVEATS" |
| |
505 .IX Header "CAVEATS" |
| |
506 Parallel execution of \fBopenpkg build\fR causes undefined effects. |
| |
507 .SH "HISTORY" |
| |
508 .IX Header "HISTORY" |
| |
509 The \fBopenpkg build\fR command was invented in November 2002 by \fIMichael |
| |
510 van Elst\fR <mlelstv@serpens.de> under contract with \fICable |
| |
511 & Wireless\fR <http://www.cw.com/> for use inside the \fBOpenPKG\fR |
| |
512 project <http://www.openpkg.org/>. It was then further |
| |
513 refined by the \fBOpenPKG Foundation e.V.\fR as part of the OpenPKG Tool Chain. |