|
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. |