openpkg/build.8

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

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

mercurial