openpkg/stack.8

changeset 428
f880f219c566
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/openpkg/stack.8	Tue Jul 31 12:23:42 2012 +0200
     1.3 @@ -0,0 +1,402 @@
     1.4 +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
     1.5 +.\"
     1.6 +.\" Standard preamble:
     1.7 +.\" ========================================================================
     1.8 +.de Sp \" Vertical space (when we can't use .PP)
     1.9 +.if t .sp .5v
    1.10 +.if n .sp
    1.11 +..
    1.12 +.de Vb \" Begin verbatim text
    1.13 +.ft CW
    1.14 +.nf
    1.15 +.ne \\$1
    1.16 +..
    1.17 +.de Ve \" End verbatim text
    1.18 +.ft R
    1.19 +.fi
    1.20 +..
    1.21 +.\" Set up some character translations and predefined strings.  \*(-- will
    1.22 +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
    1.23 +.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
    1.24 +.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
    1.25 +.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
    1.26 +.\" nothing in troff, for use with C<>.
    1.27 +.tr \(*W-
    1.28 +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
    1.29 +.ie n \{\
    1.30 +.    ds -- \(*W-
    1.31 +.    ds PI pi
    1.32 +.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
    1.33 +.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
    1.34 +.    ds L" ""
    1.35 +.    ds R" ""
    1.36 +.    ds C` 
    1.37 +.    ds C' 
    1.38 +'br\}
    1.39 +.el\{\
    1.40 +.    ds -- \|\(em\|
    1.41 +.    ds PI \(*p
    1.42 +.    ds L" ``
    1.43 +.    ds R" ''
    1.44 +'br\}
    1.45 +.\"
    1.46 +.\" Escape single quotes in literal strings from groff's Unicode transform.
    1.47 +.ie \n(.g .ds Aq \(aq
    1.48 +.el       .ds Aq '
    1.49 +.\"
    1.50 +.\" If the F register is turned on, we'll generate index entries on stderr for
    1.51 +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
    1.52 +.\" entries marked with X<> in POD.  Of course, you'll have to process the
    1.53 +.\" output yourself in some meaningful fashion.
    1.54 +.ie \nF \{\
    1.55 +.    de IX
    1.56 +.    tm Index:\\$1\t\\n%\t"\\$2"
    1.57 +..
    1.58 +.    nr % 0
    1.59 +.    rr F
    1.60 +.\}
    1.61 +.el \{\
    1.62 +.    de IX
    1.63 +..
    1.64 +.\}
    1.65 +.\"
    1.66 +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
    1.67 +.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
    1.68 +.    \" fudge factors for nroff and troff
    1.69 +.if n \{\
    1.70 +.    ds #H 0
    1.71 +.    ds #V .8m
    1.72 +.    ds #F .3m
    1.73 +.    ds #[ \f1
    1.74 +.    ds #] \fP
    1.75 +.\}
    1.76 +.if t \{\
    1.77 +.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
    1.78 +.    ds #V .6m
    1.79 +.    ds #F 0
    1.80 +.    ds #[ \&
    1.81 +.    ds #] \&
    1.82 +.\}
    1.83 +.    \" simple accents for nroff and troff
    1.84 +.if n \{\
    1.85 +.    ds ' \&
    1.86 +.    ds ` \&
    1.87 +.    ds ^ \&
    1.88 +.    ds , \&
    1.89 +.    ds ~ ~
    1.90 +.    ds /
    1.91 +.\}
    1.92 +.if t \{\
    1.93 +.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
    1.94 +.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
    1.95 +.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
    1.96 +.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
    1.97 +.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
    1.98 +.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
    1.99 +.\}
   1.100 +.    \" troff and (daisy-wheel) nroff accents
   1.101 +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
   1.102 +.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
   1.103 +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
   1.104 +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
   1.105 +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
   1.106 +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
   1.107 +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
   1.108 +.ds ae a\h'-(\w'a'u*4/10)'e
   1.109 +.ds Ae A\h'-(\w'A'u*4/10)'E
   1.110 +.    \" corrections for vroff
   1.111 +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
   1.112 +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
   1.113 +.    \" for low resolution devices (crt and lpr)
   1.114 +.if \n(.H>23 .if \n(.V>19 \
   1.115 +\{\
   1.116 +.    ds : e
   1.117 +.    ds 8 ss
   1.118 +.    ds o a
   1.119 +.    ds d- d\h'-1'\(ga
   1.120 +.    ds D- D\h'-1'\(hy
   1.121 +.    ds th \o'bp'
   1.122 +.    ds Th \o'LP'
   1.123 +.    ds ae ae
   1.124 +.    ds Ae AE
   1.125 +.\}
   1.126 +.rm #[ #] #H #V #F C
   1.127 +.\" ========================================================================
   1.128 +.\"
   1.129 +.IX Title "STACK 8"
   1.130 +.TH STACK 8 "OpenPKG" "STACK(8)" "OpenPKG"
   1.131 +.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
   1.132 +.\" way too many mistakes in technical documents.
   1.133 +.if n .ad l
   1.134 +.nh
   1.135 +.SH "NAME"
   1.136 +openpkg stack \- OpenPKG Software Stack Generation
   1.137 +.SH "SYNOPSIS"
   1.138 +.IX Header "SYNOPSIS"
   1.139 +\&\fBopenpkg stack\fR
   1.140 +[\fB\-h\fR|\fB\-\-help\fR]
   1.141 +[\fB\-v\fR|\fB\-\-verbose\fR \fIlevel\fR]
   1.142 +[\fB\-o\fR|\fB\-\-output\fR \fIdir\fR]
   1.143 +[\fB\-D\fR|\fB\-\-define\fR \fIname\fR=\fIvalue\fR ...]
   1.144 +[\fB\-u\fR|\fB\-\-unversioned\fR]
   1.145 +[\fB\-q\fR|\fB\-\-query\fR]
   1.146 +\&\fI\fIname\fI.stk\fR
   1.147 +.SH "DESCRIPTION"
   1.148 +.IX Header "DESCRIPTION"
   1.149 +The \fBopenpkg stack\fR command reads a OpenPKG software stack definition
   1.150 +\&\fI\fIname\fI.stk\fR, generates a OpenPKG software stack deployment script
   1.151 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR, determines, downloads and
   1.152 +stores all required corresponding OpenPKG source packages under
   1.153 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.d/*.src.{sh,rpm}\fR.
   1.154 +.PP
   1.155 +On executing the generated OpenPKG software stack deployment
   1.156 +script \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR, an OpenPKG
   1.157 +instance is created (or reused if existing), all packages
   1.158 +built and installed in topologically correct dependency order
   1.159 +and the resulting OpenPKG binary packages stored as
   1.160 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.d/*.{sh,rpm}\fR.
   1.161 +.PP
   1.162 +The main design decisions and intentions of OpenPKG software stacks are:
   1.163 +.IP "1." 4
   1.164 +OpenPKG software stacks can be centrally defined in a single file
   1.165 +\&\fI\fIname\fI.stk\fR, similar to the definition of OpenPKG software packages in
   1.166 +\&\fI\fIname\fI.spec\fR files. This definition includes both OpenPKG framework
   1.167 +bootstrap parameters, OpenPKG package build parameters and OpenPKG
   1.168 +software stack specific deployment-time prolog and epilog scripts.
   1.169 +.IP "2." 4
   1.170 +OpenPKG software stacks depend on particular OpenPKG software packages
   1.171 +(and perhaps even their particular versions) and by downloading and
   1.172 +locally storing all relevant OpenPKG software packages an OpenPKG
   1.173 +software stack remains stable and self-contained \*(-- even if new versions
   1.174 +of OpenPKG software packages are released.
   1.175 +.IP "3." 4
   1.176 +For generating the OpenPKG software stack files, an OpenPKG instance
   1.177 +and its \fBopenpkg stack\fR command is required, but executing the OpenPKG
   1.178 +software stack deployment script does \s-1NOT\s0 require any pre-existing
   1.179 +OpenPKG instances.
   1.180 +.IP "4." 4
   1.181 +By wrapping \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR and
   1.182 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.d/\fR into a \fIShell Execution
   1.183 +Archive\fR \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].src.sh\fR with the \fBopenpkg
   1.184 +sea\fR command, you can provide a single self-contained file for building
   1.185 +and installing an OpenPKG software stack from OpenPKG source packages.
   1.186 +.IP "5." 4
   1.187 +By wrapping \fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].sh\fR and
   1.188 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.d/\fR
   1.189 +into a \fIShell Execution Archive\fR
   1.190 +\&\fI\fIname\fI[\-\fIversion\fI\-\fIrelease\fI].\fIplatform\fI\-\fItag\fI.sh\fR with the
   1.191 +\&\fBopenpkg sea\fR command, you can provide a single self-contained file for
   1.192 +installing an OpenPKG software stack from OpenPKG binary packages.
   1.193 +.SH "COMMAND-LINE OPTIONS AND ARGUMENTS"
   1.194 +.IX Header "COMMAND-LINE OPTIONS AND ARGUMENTS"
   1.195 +.IP "\fB\-h\fR|\fB\-\-help\fR" 4
   1.196 +.IX Item "-h|--help"
   1.197 +Just shows a short usage information for the \fBopenpkg stack\fR command.
   1.198 +.IP "\fB\-v\fR|\fB\-\-verbose\fR \fIlevel\fR" 4
   1.199 +.IX Item "-v|--verbose level"
   1.200 +Sets the verbosity level for outputs, from \f(CW0\fR (no output at all) to 4
   1.201 +(all possible outputs). The default is \f(CW4\fR.
   1.202 +.IP "\fB\-o\fR|\fB\-\-output\fR \fIdir\fR" 4
   1.203 +.IX Item "-o|--output dir"
   1.204 +The output directory for the OpenPKG software stack files.
   1.205 +The default is the current directory (\fI.\fR).
   1.206 +.IP "[\fB\-D\fR|\fB\-\-define\fR \fIname\fR=\fIvalue\fR ...]" 4
   1.207 +.IX Item "[-D|--define name=value ...]"
   1.208 +On-the-fly overrides the value of option macro \f(CW\*(C`%{\f(CIname\f(CW}\*(C'\fR with
   1.209 +\&\fIvalue\fR. Use this to generate a variant of an OpenPKG software stack
   1.210 +without modifying the software stack definition file.
   1.211 +.IP "[\fB\-u\fR|\fB\-\-unversioned\fR]" 4
   1.212 +.IX Item "[-u|--unversioned]"
   1.213 +By default \fBopenpkg stack\fR creates the file
   1.214 +\&\f(CW\*(C`\f(CIname\f(CW\-\f(CIversion\f(CW\-\f(CIrelease\f(CW.sh\*(C'\fR (deployment script) and the
   1.215 +directory \f(CW\*(C`\f(CIname\f(CW\-\f(CIversion\f(CW\-\f(CIrelease\f(CW.src.d/\*(C'\fR (source packages).
   1.216 +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.
   1.217 +.IP "[\fB\-q\fR|\fB\-\-query\fR]" 4
   1.218 +.IX Item "[-q|--query]"
   1.219 +Forces a different operation mode where a shell script is output
   1.220 +on \fIstdout\fR containing variable definitions in the format
   1.221 +\&\f(CW\*(C`\f(CIname\f(CW="\f(CIvalue\f(CW";\*(C'\fR with information about the software stack
   1.222 +definition. The provided variable names are \f(CW\*(C`name\*(C'\fR, \f(CW\*(C`summary\*(C'\fR,
   1.223 +\&\f(CW\*(C`packager\*(C'\fR, \f(CW\*(C`version\*(C'\fR and \f(CW\*(C`release\*(C'\fR for the corresponding headers,
   1.224 +plus variables for all defined software stack options (see \f(CW%option\fR
   1.225 +section below).
   1.226 +.IP "\fIname\fR\fI.stk\fR" 4
   1.227 +.IX Item "name.stk"
   1.228 +The mandatory OpenPKG software stack definition file.
   1.229 +See below under \fB\s-1SOFTWARE\s0 \s-1STACK\s0 \s-1DEFINITION\s0\fR for details.
   1.230 +.SH "SOFTWARE STACK DEFINITION"
   1.231 +.IX Header "SOFTWARE STACK DEFINITION"
   1.232 +An OpenPKG software stack is defined by a configuration file
   1.233 +containing headers (\f(CW\*(C`Foo:\*(C'\fR) and sections (<%foo>).
   1.234 +.SS "Configuration Headers"
   1.235 +.IX Subsection "Configuration Headers"
   1.236 +.IP "\fBName\fR" 4
   1.237 +.IX Item "Name"
   1.238 +The name of the OpenPKG software stack. Also used as a prefix for many
   1.239 +files. Should match the regular expression \f(CW\*(C`^[a\-z][a\-zA\-Z0\-9]+\*(C'\fR,
   1.240 +although this is not enforced. Example: \f(CW\*(C`Name: example\*(C'\fR.
   1.241 +.IP "\fBSummary\fR" 4
   1.242 +.IX Item "Summary"
   1.243 +A single line, shortly summarizing the purpose of the OpenPKG software
   1.244 +stack. Example: \f(CW\*(C`Summary: Example Stack\*(C'\fR.
   1.245 +.IP "\fBPackager\fR" 4
   1.246 +.IX Item "Packager"
   1.247 +Name of the packager of the OpenPKG software software stack.
   1.248 +Example: \f(CW\*(C`Packager: OpenPKG GmbH\*(C'\fR.
   1.249 +.IP "\fBVersion\fR" 4
   1.250 +.IX Item "Version"
   1.251 +Version identifier of the OpenPKG software stack. Describes the
   1.252 +\&\fIlogical\fR revision of the software stack definition. Should match the
   1.253 +regular expression \f(CW\*(C`^[0\-9]+\e.[0\-9]\e.[0\-9]+$\*(C'\fR, although this is not
   1.254 +enforced. Example: \f(CW\*(C`Version: 1.0.0\*(C'\fR.
   1.255 +.IP "\fBRelease\fR" 4
   1.256 +.IX Item "Release"
   1.257 +Release identifier of the OpenPKG software stack. Describes the
   1.258 +\&\fIphysical\fR revision of the stack definition. Should be in the format
   1.259 +\&\f(CW\*(C`YYYYMMDD\*(C'\fR and hence match the regular expression \f(CW\*(C`^[0\-9]{8}$\*(C'\fR,
   1.260 +although this is not enforced. Example: \f(CW\*(C`Release: 20120101\*(C'\fR.
   1.261 +.SS "Configuration Sections"
   1.262 +.IX Subsection "Configuration Sections"
   1.263 +.ie n .IP "\fB\fB%options\fB\fR" 4
   1.264 +.el .IP "\fB\f(CB%options\fB\fR" 4
   1.265 +.IX Item "%options"
   1.266 +Zero or more options for the OpenPKG software stack, one per line, in
   1.267 +the format "\fIname\fR \fIdefault-value\fR". Options can be overridden on
   1.268 +the command-line with \fB\-D\fR\fIname\fR=\fIvalue\fR. Example: \f(CW\*(C`with_ssl yes\*(C'\fR.
   1.269 +Option values can be expanded in all headers and sections through the
   1.270 +following constructs:
   1.271 +.RS 4
   1.272 +.ie n .IP "\*(C`%{\f(CIname\f(CW}\*(C'" 4
   1.273 +.el .IP "\f(CW\*(C`%{\f(CIname\f(CW}\*(C'\fR" 4
   1.274 +.IX Item "%{name}"
   1.275 +Expand to the value of option \fIname\fR.
   1.276 +.ie n .IP "\*(C`%{?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'" 4
   1.277 +.el .IP "\f(CW\*(C`%{?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'\fR" 4
   1.278 +.IX Item "%{?name:value}"
   1.279 +Expand to \fIvalue\fR if option \fIname\fR is defined.
   1.280 +.ie n .IP "\*(C`%{!?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'" 4
   1.281 +.el .IP "\f(CW\*(C`%{!?\f(CIname\f(CW:\f(CIvalue\f(CW}\*(C'\fR" 4
   1.282 +.IX Item "%{!?name:value}"
   1.283 +Expand to \fIvalue\fR if option \fIname\fR is \s-1NOT\s0 defined.
   1.284 +.RE
   1.285 +.RS 4
   1.286 +.RE
   1.287 +.ie n .IP "\fB\fB%description\fB\fR" 4
   1.288 +.el .IP "\fB\f(CB%description\fB\fR" 4
   1.289 +.IX Item "%description"
   1.290 +A single textual paragraph describing the purpose of the OpenPKG
   1.291 +software stack in more detail than header \f(CW\*(C`Summary\*(C'\fR.
   1.292 +.ie n .IP "\fB\fB%framework\fB\fR" 4
   1.293 +.el .IP "\fB\f(CB%framework\fB\fR" 4
   1.294 +.IX Item "%framework"
   1.295 +The command-line parameters passed to the OpenPKG framework
   1.296 +bootstrap source shell package \fIopenpkg\-*.src.sh\fR. Usually at
   1.297 +least the parameters \fB\-\-prefix=\fR\fIpath\fR, \fB\-\-user=\fR\fIusername\fR,
   1.298 +\&\fB\-\-group=\fR\fIgroupname\fR and \fB\-\-tag=\fR\fItagname\fR are given here. In order
   1.299 +to allow an OpenPKG software stack to be easily reused one creates
   1.300 +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
   1.301 +and \f(CW\*(C`tag\*(C'\fR and then use \f(CW\*(C`\-\-prefix=%{prefix}\*(C'\fR, \f(CW\*(C`\-\-user=%{user}\*(C'\fR,
   1.302 +\&\f(CW\*(C`\-\-group=%{group}\*(C'\fR and \f(CW\*(C`\-\-tag=%{tag}\*(C'\fR in this \f(CW%framework\fR section.
   1.303 +.ie n .IP "\fB\fB%packages\fB\fR" 4
   1.304 +.el .IP "\fB\f(CB%packages\fB\fR" 4
   1.305 +.IX Item "%packages"
   1.306 +The packages to build and install for the OpenPKG software stack, in
   1.307 +the format of "\fB\-D\f(BIpackage\fB::\f(BIoption\fB=\f(BIvalue\fB\fR\*(L" and \*(R"\fIpackage\fR"
   1.308 +specifications as understood by the \f(CW\*(C`openpkg build\*(C'\fR tool. Example:
   1.309 +\&\f(CW\*(C`\-Dapache::with_mod_ssl=yes \-Dapache\-php::with_json=yes apache
   1.310 +apache\-php\*(C'\fR.
   1.311 +.ie n .IP "\fB\fB%prolog\fB\fR" 4
   1.312 +.el .IP "\fB\f(CB%prolog\fB\fR" 4
   1.313 +.IX Item "%prolog"
   1.314 +A shell script executed before installation of all packages.
   1.315 +The variable \f(CW$prefix\fR is available to access the
   1.316 +OpenPKG software stack without having to hard-code a path.
   1.317 +.ie n .IP "\fB\fB%epilog\fB\fR" 4
   1.318 +.el .IP "\fB\f(CB%epilog\fB\fR" 4
   1.319 +.IX Item "%epilog"
   1.320 +A shell script executed after installation of all packages. This
   1.321 +is usually used for applying OpenPKG software stack specific
   1.322 +configurations. The variable \f(CW$prefix\fR is available to access the
   1.323 +OpenPKG software stack without having to hard-code a path. Example:
   1.324 +\&\f(CW\*(C`echo "openldap_enable=no" >>$prefix/etc/rc.conf\*(C'\fR.
   1.325 +.SH "EXAMPLES"
   1.326 +.IX Header "EXAMPLES"
   1.327 +.Vb 1
   1.328 +\& $ cat xamp.stk
   1.329 +\& 
   1.330 +\& Name:         xamp
   1.331 +\& Summary:      Apache\-MySQL\-PHP Server
   1.332 +\& Packager:     OpenPKG GmbH
   1.333 +\& Version:      1.0.0
   1.334 +\& Release:      20120407
   1.335 +\&  
   1.336 +\& %description
   1.337 +\&     This software stack contains a so\-called xAMP web stack, consisting
   1.338 +\&     of the major components Apache, MySQL and PHP.
   1.339 +\&  
   1.340 +\& %options
   1.341 +\&     repo      http://download.openpkg.org/stacks/current/source/
   1.342 +\&     prefix    /xamp
   1.343 +\&     user      xamp
   1.344 +\&     group     xamp
   1.345 +\&     tag       xamp
   1.346 +\&     with_ldap no
   1.347 +\&     with_ssl  no
   1.348 +\&     addr      127.0.0.1
   1.349 +\&  
   1.350 +\& %repository
   1.351 +\&     %{repo}
   1.352 +\&  
   1.353 +\& %framework
   1.354 +\&     \-\-prefix=%{prefix}
   1.355 +\&     \-\-user=%{user}
   1.356 +\&     \-\-group=%{group}
   1.357 +\&     \-\-tag=%{tag}
   1.358 +\&  
   1.359 +\& %packages
   1.360 +\&     \-D apache::with_mod_dav=yes
   1.361 +\&     \-D apache::with_mod_deflate=yes
   1.362 +\&     \-D apache::with_mod_ldap=%{with_ldap}
   1.363 +\&     \-D apache::with_mod_proxy=yes
   1.364 +\&     \-D apache::with_mod_ssl=%{with_ssl}
   1.365 +\&     \-D apache\-php::with_curl=yes
   1.366 +\&     \-D apache\-php::with_freetype=yes
   1.367 +\&     \-D apache\-php::with_gd=yes
   1.368 +\&     \-D apache\-php::with_iconv=yes
   1.369 +\&     \-D apache\-php::with_json=yes
   1.370 +\&     \-D apache\-php::with_mbregex=yes
   1.371 +\&     \-D apache\-php::with_mbstring=yes
   1.372 +\&     \-D apache\-php::with_mysql=yes
   1.373 +\&     \-D apache\-php::with_openldap=%{with_ldap}
   1.374 +\&     \-D apache\-php::with_session=yes
   1.375 +\&     \-D apache\-php::with_simplexml=yes
   1.376 +\&     \-D apache\-php::with_sqlite=yes
   1.377 +\&     \-D apache\-php::with_ssl=%{with_ssl}
   1.378 +\&     \-D apache\-php::with_xml=yes
   1.379 +\&     \-D apache\-php::with_zlib=yes
   1.380 +\&     apache
   1.381 +\&     apache\-php
   1.382 +\&     mysql
   1.383 +\&  
   1.384 +\& %epilog
   1.385 +\&     shtool subst \e
   1.386 +\&         \-e \*(Aqs;127\e.0\e.0\e.1:%{addr};g\*(Aq \e
   1.387 +\&         %{prefix}/etc/apache/apache.conf
   1.388 +\&     if [ ".%{with_ldap}" = .yes ]; then
   1.389 +\&         echo "openldap_enable=\e"no\e"" >>%{prefix}/etc/rc.conf
   1.390 +\&     fi
   1.391 +\&  
   1.392 +\& $ openpkg stack \-v4 \e
   1.393 +\&   \-Dprefix=/v/xamp \-Duser=xamp\-sw \-Dgroup=xamp\-sw \e
   1.394 +\&   \-\-unversioned xamp.stk
   1.395 +\&
   1.396 +\& $ openpkg sea \-o xamp.src.sh xamp.sh xamp.src.d/
   1.397 +\&
   1.398 +\& $ sh xamp.src.sh \-v4 \-S sudo
   1.399 +\&
   1.400 +\& $ openpkg sea \-o xamp.bin.sh xamp.sh xamp.*\-*.d/
   1.401 +.Ve
   1.402 +.SH "HISTORY"
   1.403 +.IX Header "HISTORY"
   1.404 +The \fBopenpkg stack\fR command was implemented in April 2012 by \fIRalf S. Engelschall\fR
   1.405 +<rse@engelschall.com> for the OpenPKG Framework of the OpenPKG GmbH.

mercurial