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 "STACK 8" |
michael@428 | 127 | .TH STACK 8 "OpenPKG" "STACK(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 stack \- OpenPKG Software Stack Generation |
michael@428 | 134 | .SH "SYNOPSIS" |
michael@428 | 135 | .IX Header "SYNOPSIS" |
michael@428 | 136 | \&\fBopenpkg stack\fR |
michael@428 | 137 | [\fB\-h\fR|\fB\-\-help\fR] |
michael@428 | 138 | [\fB\-v\fR|\fB\-\-verbose\fR \fIlevel\fR] |
michael@428 | 139 | [\fB\-o\fR|\fB\-\-output\fR \fIdir\fR] |
michael@428 | 140 | [\fB\-D\fR|\fB\-\-define\fR \fIname\fR=\fIvalue\fR ...] |
michael@428 | 141 | [\fB\-u\fR|\fB\-\-unversioned\fR] |
michael@428 | 142 | [\fB\-q\fR|\fB\-\-query\fR] |
michael@428 | 143 | \&\fI\fIname\fI.stk\fR |
michael@428 | 144 | .SH "DESCRIPTION" |
michael@428 | 145 | .IX Header "DESCRIPTION" |
michael@428 | 146 | The \fBopenpkg stack\fR command reads a OpenPKG software stack definition |
michael@428 | 147 | \&\fI\fIname\fI.stk\fR, generates a OpenPKG software stack deployment script |
michael@428 | 148 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR, determines, downloads and |
michael@428 | 149 | stores all required corresponding OpenPKG source packages under |
michael@428 | 150 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.d/*.src.{sh,rpm}\fR. |
michael@428 | 151 | .PP |
michael@428 | 152 | On executing the generated OpenPKG software stack deployment |
michael@428 | 153 | script \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR, an OpenPKG |
michael@428 | 154 | instance is created (or reused if existing), all packages |
michael@428 | 155 | built and installed in topologically correct dependency order |
michael@428 | 156 | and the resulting OpenPKG binary packages stored as |
michael@428 | 157 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.d/*.{sh,rpm}\fR. |
michael@428 | 158 | .PP |
michael@428 | 159 | The main design decisions and intentions of OpenPKG software stacks are: |
michael@428 | 160 | .IP "1." 4 |
michael@428 | 161 | OpenPKG software stacks can be centrally defined in a single file |
michael@428 | 162 | \&\fI\fIname\fI.stk\fR, similar to the definition of OpenPKG software packages in |
michael@428 | 163 | \&\fI\fIname\fI.spec\fR files. This definition includes both OpenPKG framework |
michael@428 | 164 | bootstrap parameters, OpenPKG package build parameters and OpenPKG |
michael@428 | 165 | software stack specific deployment-time prolog and epilog scripts. |
michael@428 | 166 | .IP "2." 4 |
michael@428 | 167 | OpenPKG software stacks depend on particular OpenPKG software packages |
michael@428 | 168 | (and perhaps even their particular versions) and by downloading and |
michael@428 | 169 | locally storing all relevant OpenPKG software packages an OpenPKG |
michael@428 | 170 | software stack remains stable and self-contained \*(-- even if new versions |
michael@428 | 171 | of OpenPKG software packages are released. |
michael@428 | 172 | .IP "3." 4 |
michael@428 | 173 | For generating the OpenPKG software stack files, an OpenPKG instance |
michael@428 | 174 | and its \fBopenpkg stack\fR command is required, but executing the OpenPKG |
michael@428 | 175 | software stack deployment script does \s-1NOT\s0 require any pre-existing |
michael@428 | 176 | OpenPKG instances. |
michael@428 | 177 | .IP "4." 4 |
michael@428 | 178 | By wrapping \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR and |
michael@428 | 179 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.d/\fR into a \fIShell Execution |
michael@428 | 180 | Archive\fR \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.sh\fR with the \fBopenpkg |
michael@428 | 181 | sea\fR command, you can provide a single self-contained file for building |
michael@428 | 182 | and installing an OpenPKG software stack from OpenPKG source packages. |
michael@428 | 183 | .IP "5." 4 |
michael@428 | 184 | By wrapping \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR and |
michael@428 | 185 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.d/\fR |
michael@428 | 186 | into a \fIShell Execution Archive\fR |
michael@428 | 187 | \&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.sh\fR with the |
michael@428 | 188 | \&\fBopenpkg sea\fR command, you can provide a single self-contained file for |
michael@428 | 189 | installing an OpenPKG software stack from OpenPKG binary packages. |
michael@428 | 190 | .SH "COMMAND-LINE OPTIONS AND ARGUMENTS" |
michael@428 | 191 | .IX Header "COMMAND-LINE OPTIONS AND ARGUMENTS" |
michael@428 | 192 | .IP "\fB\-h\fR|\fB\-\-help\fR" 4 |
michael@428 | 193 | .IX Item "-h|--help" |
michael@428 | 194 | Just shows a short usage information for the \fBopenpkg stack\fR command. |
michael@428 | 195 | .IP "\fB\-v\fR|\fB\-\-verbose\fR \fIlevel\fR" 4 |
michael@428 | 196 | .IX Item "-v|--verbose level" |
michael@428 | 197 | Sets the verbosity level for outputs, from \f(CW0\fR (no output at all) to 4 |
michael@428 | 198 | (all possible outputs). The default is \f(CW4\fR. |
michael@428 | 199 | .IP "\fB\-o\fR|\fB\-\-output\fR \fIdir\fR" 4 |
michael@428 | 200 | .IX Item "-o|--output dir" |
michael@428 | 201 | The output directory for the OpenPKG software stack files. |
michael@428 | 202 | The default is the current directory (\fI.\fR). |
michael@428 | 203 | .IP "[\fB\-D\fR|\fB\-\-define\fR \fIname\fR=\fIvalue\fR ...]" 4 |
michael@428 | 204 | .IX Item "[-D|--define name=value ...]" |
michael@428 | 205 | On-the-fly overrides the value of option macro \f(CW\*(C`%{\f(CIname\f(CW}\*(C'\fR with |
michael@428 | 206 | \&\fIvalue\fR. Use this to generate a variant of an OpenPKG software stack |
michael@428 | 207 | without modifying the software stack definition file. |
michael@428 | 208 | .IP "[\fB\-u\fR|\fB\-\-unversioned\fR]" 4 |
michael@428 | 209 | .IX Item "[-u|--unversioned]" |
michael@428 | 210 | By default \fBopenpkg stack\fR creates the file |
michael@428 | 211 | \&\f(CW\*(C`\f(CIname\f(CW\-\f(CIversion\f(CW\-\f(CIrelease\f(CW.sh\*(C'\fR (deployment script) and the |
michael@428 | 212 | directory \f(CW\*(C`\f(CIname\f(CW\-\f(CIversion\f(CW\-\f(CIrelease\f(CW.src.d/\*(C'\fR (source packages). |
michael@428 | 213 | With this option the names are \f(CW\*(C`\f(CIname\f(CW.sh\*(C'\fR and \f(CW\*(C`\f(CIname\f(CW.src.d/\*(C'\fR only. |
michael@428 | 214 | .IP "[\fB\-q\fR|\fB\-\-query\fR]" 4 |
michael@428 | 215 | .IX Item "[-q|--query]" |
michael@428 | 216 | Forces a different operation mode where a shell script is output |
michael@428 | 217 | on \fIstdout\fR containing variable definitions in the format |
michael@428 | 218 | \&\f(CW\*(C`\f(CIname\f(CW="\f(CIvalue\f(CW";\*(C'\fR with information about the software stack |
michael@428 | 219 | definition. The provided variable names are \f(CW\*(C`name\*(C'\fR, \f(CW\*(C`summary\*(C'\fR, |
michael@428 | 220 | \&\f(CW\*(C`packager\*(C'\fR, \f(CW\*(C`version\*(C'\fR and \f(CW\*(C`release\*(C'\fR for the corresponding headers, |
michael@428 | 221 | plus variables for all defined software stack options (see \f(CW%option\fR |
michael@428 | 222 | section below). |
michael@428 | 223 | .IP "\fIname\fR\fI.stk\fR" 4 |
michael@428 | 224 | .IX Item "name.stk" |
michael@428 | 225 | The mandatory OpenPKG software stack definition file. |
michael@428 | 226 | See below under \fB\s-1SOFTWARE\s0 \s-1STACK\s0 \s-1DEFINITION\s0\fR for details. |
michael@428 | 227 | .SH "SOFTWARE STACK DEFINITION" |
michael@428 | 228 | .IX Header "SOFTWARE STACK DEFINITION" |
michael@428 | 229 | An OpenPKG software stack is defined by a configuration file |
michael@428 | 230 | containing headers (\f(CW\*(C`Foo:\*(C'\fR) and sections (<%foo>). |
michael@428 | 231 | .SS "Configuration Headers" |
michael@428 | 232 | .IX Subsection "Configuration Headers" |
michael@428 | 233 | .IP "\fBName\fR" 4 |
michael@428 | 234 | .IX Item "Name" |
michael@428 | 235 | The name of the OpenPKG software stack. Also used as a prefix for many |
michael@428 | 236 | files. Should match the regular expression \f(CW\*(C`^[a\-z][a\-zA\-Z0\-9]+\*(C'\fR, |
michael@428 | 237 | although this is not enforced. Example: \f(CW\*(C`Name: example\*(C'\fR. |
michael@428 | 238 | .IP "\fBSummary\fR" 4 |
michael@428 | 239 | .IX Item "Summary" |
michael@428 | 240 | A single line, shortly summarizing the purpose of the OpenPKG software |
michael@428 | 241 | stack. Example: \f(CW\*(C`Summary: Example Stack\*(C'\fR. |
michael@428 | 242 | .IP "\fBPackager\fR" 4 |
michael@428 | 243 | .IX Item "Packager" |
michael@428 | 244 | Name of the packager of the OpenPKG software software stack. |
michael@428 | 245 | Example: \f(CW\*(C`Packager: OpenPKG GmbH\*(C'\fR. |
michael@428 | 246 | .IP "\fBVersion\fR" 4 |
michael@428 | 247 | .IX Item "Version" |
michael@428 | 248 | Version identifier of the OpenPKG software stack. Describes the |
michael@428 | 249 | \&\fIlogical\fR revision of the software stack definition. Should match the |
michael@428 | 250 | regular expression \f(CW\*(C`^[0\-9]+\e.[0\-9]\e.[0\-9]+$\*(C'\fR, although this is not |
michael@428 | 251 | enforced. Example: \f(CW\*(C`Version: 1.0.0\*(C'\fR. |
michael@428 | 252 | .IP "\fBRelease\fR" 4 |
michael@428 | 253 | .IX Item "Release" |
michael@428 | 254 | Release identifier of the OpenPKG software stack. Describes the |
michael@428 | 255 | \&\fIphysical\fR revision of the stack definition. Should be in the format |
michael@428 | 256 | \&\f(CW\*(C`YYYYMMDD\*(C'\fR and hence match the regular expression \f(CW\*(C`^[0\-9]{8}$\*(C'\fR, |
michael@428 | 257 | although this is not enforced. Example: \f(CW\*(C`Release: 20120101\*(C'\fR. |
michael@428 | 258 | .SS "Configuration Sections" |
michael@428 | 259 | .IX Subsection "Configuration Sections" |
michael@428 | 260 | .ie n .IP "\fB\fB%options\fB\fR" 4 |
michael@428 | 261 | .el .IP "\fB\f(CB%options\fB\fR" 4 |
michael@428 | 262 | .IX Item "%options" |
michael@428 | 263 | Zero or more options for the OpenPKG software stack, one per line, in |
michael@428 | 264 | the format "\fIname\fR \fIdefault-value\fR". Options can be overridden on |
michael@428 | 265 | the command-line with \fB\-D\fR\fIname\fR=\fIvalue\fR. Example: \f(CW\*(C`with_ssl yes\*(C'\fR. |
michael@428 | 266 | Option values can be expanded in all headers and sections through the |
michael@428 | 267 | following constructs: |
michael@428 | 268 | .RS 4 |
michael@428 | 269 | .ie n .IP "\*(C`%{\f(CIname\f(CW}\*(C'" 4 |
michael@428 | 270 | .el .IP "\f(CW\*(C`%{\f(CIname\f(CW}\*(C'\fR" 4 |
michael@428 | 271 | .IX Item "%{name}" |
michael@428 | 272 | Expand to the value of option \fIname\fR. |
michael@428 | 273 | .ie n .IP "\*(C`%{?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'" 4 |
michael@428 | 274 | .el .IP "\f(CW\*(C`%{?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'\fR" 4 |
michael@428 | 275 | .IX Item "%{?name:value}" |
michael@428 | 276 | Expand to \fIvalue\fR if option \fIname\fR is defined. |
michael@428 | 277 | .ie n .IP "\*(C`%{!?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'" 4 |
michael@428 | 278 | .el .IP "\f(CW\*(C`%{!?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'\fR" 4 |
michael@428 | 279 | .IX Item "%{!?name:value}" |
michael@428 | 280 | Expand to \fIvalue\fR if option \fIname\fR is \s-1NOT\s0 defined. |
michael@428 | 281 | .RE |
michael@428 | 282 | .RS 4 |
michael@428 | 283 | .RE |
michael@428 | 284 | .ie n .IP "\fB\fB%description\fB\fR" 4 |
michael@428 | 285 | .el .IP "\fB\f(CB%description\fB\fR" 4 |
michael@428 | 286 | .IX Item "%description" |
michael@428 | 287 | A single textual paragraph describing the purpose of the OpenPKG |
michael@428 | 288 | software stack in more detail than header \f(CW\*(C`Summary\*(C'\fR. |
michael@428 | 289 | .ie n .IP "\fB\fB%framework\fB\fR" 4 |
michael@428 | 290 | .el .IP "\fB\f(CB%framework\fB\fR" 4 |
michael@428 | 291 | .IX Item "%framework" |
michael@428 | 292 | The command-line parameters passed to the OpenPKG framework |
michael@428 | 293 | bootstrap source shell package \fIopenpkg\-*.src.sh\fR. Usually at |
michael@428 | 294 | least the parameters \fB\-\-prefix=\fR\fIpath\fR, \fB\-\-user=\fR\fIusername\fR, |
michael@428 | 295 | \&\fB\-\-group=\fR\fIgroupname\fR and \fB\-\-tag=\fR\fItagname\fR are given here. In order |
michael@428 | 296 | to allow an OpenPKG software stack to be easily reused one creates |
michael@428 | 297 | the options (see \f(CW%option\fR above) named \f(CW\*(C`prefix\*(C'\fR, \f(CW\*(C`user\*(C'\fR, \f(CW\*(C`group\*(C'\fR |
michael@428 | 298 | and \f(CW\*(C`tag\*(C'\fR and then use \f(CW\*(C`\-\-prefix=%{prefix}\*(C'\fR, \f(CW\*(C`\-\-user=%{user}\*(C'\fR, |
michael@428 | 299 | \&\f(CW\*(C`\-\-group=%{group}\*(C'\fR and \f(CW\*(C`\-\-tag=%{tag}\*(C'\fR in this \f(CW%framework\fR section. |
michael@428 | 300 | .ie n .IP "\fB\fB%packages\fB\fR" 4 |
michael@428 | 301 | .el .IP "\fB\f(CB%packages\fB\fR" 4 |
michael@428 | 302 | .IX Item "%packages" |
michael@428 | 303 | The packages to build and install for the OpenPKG software stack, in |
michael@428 | 304 | the format of "\fB\-D\f(BIpackage\fB::\f(BIoption\fB=\f(BIvalue\fB\fR\*(L" and \*(R"\fIpackage\fR" |
michael@428 | 305 | specifications as understood by the \f(CW\*(C`openpkg build\*(C'\fR tool. Example: |
michael@428 | 306 | \&\f(CW\*(C`\-Dapache::with_mod_ssl=yes \-Dapache\-php::with_json=yes apache |
michael@428 | 307 | apache\-php\*(C'\fR. |
michael@428 | 308 | .ie n .IP "\fB\fB%prolog\fB\fR" 4 |
michael@428 | 309 | .el .IP "\fB\f(CB%prolog\fB\fR" 4 |
michael@428 | 310 | .IX Item "%prolog" |
michael@428 | 311 | A shell script executed before installation of all packages. |
michael@428 | 312 | The variable \f(CW$prefix\fR is available to access the |
michael@428 | 313 | OpenPKG software stack without having to hard-code a path. |
michael@428 | 314 | .ie n .IP "\fB\fB%epilog\fB\fR" 4 |
michael@428 | 315 | .el .IP "\fB\f(CB%epilog\fB\fR" 4 |
michael@428 | 316 | .IX Item "%epilog" |
michael@428 | 317 | A shell script executed after installation of all packages. This |
michael@428 | 318 | is usually used for applying OpenPKG software stack specific |
michael@428 | 319 | configurations. The variable \f(CW$prefix\fR is available to access the |
michael@428 | 320 | OpenPKG software stack without having to hard-code a path. Example: |
michael@428 | 321 | \&\f(CW\*(C`echo "openldap_enable=no" >>$prefix/etc/rc.conf\*(C'\fR. |
michael@428 | 322 | .SH "EXAMPLES" |
michael@428 | 323 | .IX Header "EXAMPLES" |
michael@428 | 324 | .Vb 1 |
michael@428 | 325 | \& $ cat xamp.stk |
michael@428 | 326 | \& |
michael@428 | 327 | \& Name: xamp |
michael@428 | 328 | \& Summary: Apache\-MySQL\-PHP Server |
michael@428 | 329 | \& Packager: OpenPKG GmbH |
michael@428 | 330 | \& Version: 1.0.0 |
michael@428 | 331 | \& Release: 20120407 |
michael@428 | 332 | \& |
michael@428 | 333 | \& %description |
michael@428 | 334 | \& This software stack contains a so\-called xAMP web stack, consisting |
michael@428 | 335 | \& of the major components Apache, MySQL and PHP. |
michael@428 | 336 | \& |
michael@428 | 337 | \& %options |
michael@428 | 338 | \& repo http://download.openpkg.org/stacks/current/source/ |
michael@428 | 339 | \& prefix /xamp |
michael@428 | 340 | \& user xamp |
michael@428 | 341 | \& group xamp |
michael@428 | 342 | \& tag xamp |
michael@428 | 343 | \& with_ldap no |
michael@428 | 344 | \& with_ssl no |
michael@428 | 345 | \& addr 127.0.0.1 |
michael@428 | 346 | \& |
michael@428 | 347 | \& %repository |
michael@428 | 348 | \& %{repo} |
michael@428 | 349 | \& |
michael@428 | 350 | \& %framework |
michael@428 | 351 | \& \-\-prefix=%{prefix} |
michael@428 | 352 | \& \-\-user=%{user} |
michael@428 | 353 | \& \-\-group=%{group} |
michael@428 | 354 | \& \-\-tag=%{tag} |
michael@428 | 355 | \& |
michael@428 | 356 | \& %packages |
michael@428 | 357 | \& \-D apache::with_mod_dav=yes |
michael@428 | 358 | \& \-D apache::with_mod_deflate=yes |
michael@428 | 359 | \& \-D apache::with_mod_ldap=%{with_ldap} |
michael@428 | 360 | \& \-D apache::with_mod_proxy=yes |
michael@428 | 361 | \& \-D apache::with_mod_ssl=%{with_ssl} |
michael@428 | 362 | \& \-D apache\-php::with_curl=yes |
michael@428 | 363 | \& \-D apache\-php::with_freetype=yes |
michael@428 | 364 | \& \-D apache\-php::with_gd=yes |
michael@428 | 365 | \& \-D apache\-php::with_iconv=yes |
michael@428 | 366 | \& \-D apache\-php::with_json=yes |
michael@428 | 367 | \& \-D apache\-php::with_mbregex=yes |
michael@428 | 368 | \& \-D apache\-php::with_mbstring=yes |
michael@428 | 369 | \& \-D apache\-php::with_mysql=yes |
michael@428 | 370 | \& \-D apache\-php::with_openldap=%{with_ldap} |
michael@428 | 371 | \& \-D apache\-php::with_session=yes |
michael@428 | 372 | \& \-D apache\-php::with_simplexml=yes |
michael@428 | 373 | \& \-D apache\-php::with_sqlite=yes |
michael@428 | 374 | \& \-D apache\-php::with_ssl=%{with_ssl} |
michael@428 | 375 | \& \-D apache\-php::with_xml=yes |
michael@428 | 376 | \& \-D apache\-php::with_zlib=yes |
michael@428 | 377 | \& apache |
michael@428 | 378 | \& apache\-php |
michael@428 | 379 | \& mysql |
michael@428 | 380 | \& |
michael@428 | 381 | \& %epilog |
michael@428 | 382 | \& shtool subst \e |
michael@428 | 383 | \& \-e \*(Aqs;127\e.0\e.0\e.1:%{addr};g\*(Aq \e |
michael@428 | 384 | \& %{prefix}/etc/apache/apache.conf |
michael@428 | 385 | \& if [ ".%{with_ldap}" = .yes ]; then |
michael@428 | 386 | \& echo "openldap_enable=\e"no\e"" >>%{prefix}/etc/rc.conf |
michael@428 | 387 | \& fi |
michael@428 | 388 | \& |
michael@428 | 389 | \& $ openpkg stack \-v4 \e |
michael@428 | 390 | \& \-Dprefix=/v/xamp \-Duser=xamp\-sw \-Dgroup=xamp\-sw \e |
michael@428 | 391 | \& \-\-unversioned xamp.stk |
michael@428 | 392 | \& |
michael@428 | 393 | \& $ openpkg sea \-o xamp.src.sh xamp.sh xamp.src.d/ |
michael@428 | 394 | \& |
michael@428 | 395 | \& $ sh xamp.src.sh \-v4 \-S sudo |
michael@428 | 396 | \& |
michael@428 | 397 | \& $ openpkg sea \-o xamp.bin.sh xamp.sh xamp.*\-*.d/ |
michael@428 | 398 | .Ve |
michael@428 | 399 | .SH "HISTORY" |
michael@428 | 400 | .IX Header "HISTORY" |
michael@428 | 401 | The \fBopenpkg stack\fR command was implemented in April 2012 by \fIRalf S. Engelschall\fR |
michael@428 | 402 | <rse@engelschall.com> for the OpenPKG Framework of the OpenPKG GmbH. |