openpkg/build.8

Thu, 04 Oct 2012 20:30:05 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 04 Oct 2012 20:30:05 +0200
changeset 715
c10fb90893b9
permissions
-rw-r--r--

Correct out of date build configuration, porting to Solaris 11 network
link infrastructure and new libpcap logic. This additionally allows for
device drivers in subdirectories of /dev. Correct packaged nmap
personalities and signatures to work out of the box. Finally, hack
arpd logic to properly close sockets and quit on TERM by repeating
signaling in the run command script. Sadly, all this fails to correct
the run time behaviour of honeyd which fails to bind to the IP layer.

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