Thu, 04 Oct 2012 20:30:05 +0200
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. |