openpkg/stack.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 "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.

mercurial