Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C`
34 . ds C'
35 'br\}
36 .el\{\
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 . de IX
53 . tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 . nr % 0
56 . rr F
57 .\}
58 .el \{\
59 . de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
66 .if n \{\
67 . ds #H 0
68 . ds #V .8m
69 . ds #F .3m
70 . ds #[ \f1
71 . ds #] \fP
72 .\}
73 .if t \{\
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 . ds #V .6m
76 . ds #F 0
77 . ds #[ \&
78 . ds #] \&
79 .\}
80 . \" simple accents for nroff and troff
81 .if n \{\
82 . ds ' \&
83 . ds ` \&
84 . ds ^ \&
85 . ds , \&
86 . ds ~ ~
87 . ds /
88 .\}
89 .if t \{\
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 . ds : e
114 . ds 8 ss
115 . ds o a
116 . ds d- d\h'-1'\(ga
117 . ds D- D\h'-1'\(hy
118 . ds th \o'bp'
119 . ds Th \o'LP'
120 . ds ae ae
121 . ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "OPENPKG 1"
127 .TH OPENPKG 1 "OpenPKG" "OPENPKG(8)" "OpenPKG"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 OpenPKG \-\- Cross\-Platform Unix Software Packaging
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 $ \fBopenpkg\fR [\fIopt\fR ...] \fIcmd\fR [\fIcmd_opt\fR ...] [\fIcmd_arg\fR ...]
137 .PP
138 $ \fBopenpkg\fR \fBman\fR \fIcmd\fR
139 .SH "DESCRIPTION"
140 .IX Header "DESCRIPTION"
141 OpenPKG is the world leading instrument for deployment and maintenance
142 of Open Source software when administration crosses Unix platform
143 boundaries. The OpenPKG project is a collaboration effort with the
144 goal of creating and maintaining portable and easy to install software
145 packages for use on the major Unix server platforms.
146 .PP
147 The unique OpenPKG architecture leverages proven technologies like
148 Red Hat Package Manager (\s-1RPM\s0) to establish a unified administration
149 environment, independent of the underlying operating system. OpenPKG
150 is completely self-contained and does not even need a preinstallation
151 of \s-1RPM\s0. Instead, \s-1RPM\s0 is provided as an OpenPKG \s-1RPM\s0 package itself plus
152 a tricky bootstrapping procedure in order to allow one to create from
153 scratch the initial state of the whole OpenPKG software packaging
154 system.
155 .SH "TUTORIAL"
156 .IX Header "TUTORIAL"
157 .IP "\fB1. System Preparation (optional)\fR" 3
158 .IX Item "1. System Preparation (optional)"
159 Before you start, the Unix system optionally should be prepared. Here
160 especially the necessary disk space requirements of OpenPKG have to be
161 taken into account.
162 .Sp
163 .Vb 3
164 \& # optionally direct /openpkg to at least 150MB free disk space:
165 \& $ mkdir /storage/openpkg
166 \& $ ln \-s /storage/openpkg /openpkg
167 \&
168 \& # optionally direct temp\-directory to at least 250MB free disk space:
169 \& $ TMPDIR=/var/tmp
170 \& $ export TMPDIR
171 \&
172 \& # switch to temporary directory:
173 \& $ cd $TMPDIR
174 .Ve
175 .IP "\fB2. Instance Bootstrapping\fR" 3
176 .IX Item "2. Instance Bootstrapping"
177 The next step is to bootstrap the OpenPKG instance. Here we are using
178 the standard /openpkg filesystem prefix. An arbitrary prefix can be
179 used as long as at least the \*(L"Bootstrap From Source\*(R" approach is used.
180 .Sp
181 .Vb 2
182 \& # download bootstrap source shell package:
183 \& $ wget http://openpkg.org/go/download/openpkg.src.sh
184 \&
185 \& # build bootstrap binary shell package from source shell package:
186 \& $ sh openpkg.src.sh \e
187 \& \-\-prefix=/openpkg \-\-tag=openpkg \e
188 \& \-\-user=openpkg \-\-group=openpkg \e
189 \& \-\-tag=openpkg
190 \&
191 \& # install bootstrap binary script package:
192 \& $ sh openpkg\-*\-*.*\-openpkg.sh
193 .Ve
194 .IP "\fB3. Software Deployment\fR" 3
195 .IX Item "3. Software Deployment"
196 Now you can install arbitrary OpenPKG software packages by either using
197 the lower-level OpenPKG \s-1RPM\s0 command or the higher-level OpenPKG tool
198 chain build command. As a simple illustration example the \s-1GNU\s0 Bash
199 package of OpenPKG is installed.
200 .Sp
201 .Vb 2
202 \& # build and install GNU Bash:
203 \& $ /openpkg/bin/openpkg build bash | sh
204 .Ve
205 .IP "\fB4. Software Usage\fR" 3
206 .IX Item "4. Software Usage"
207 Finally, you can use the deployed software. Either through explicit
208 paths (reasonable if leveraging OpenPKG's multiple-instance feature) or
209 implicitly by merging the OpenPKG instance into the local environment.
210 .Sp
211 .Vb 2
212 \& # explicit usage:
213 \& $ /openpkg/bin/bash \-\-version
214 \&
215 \& # implicit usage (alternatively)
216 \& $ eval \`/openpkg/bin/openpkg rc \-\-eval all env\`
217 \& $ bash \-\-version
218 .Ve
219 .IP "\fB5. Go Ahead!\fR" 3
220 .IX Item "5. Go Ahead!"
221 Want to know more now? Please read the manual pages of at least the
222 deployment commands and then proceed by searching and deploying even
223 more software into your OpenPKG instance.
224 .Sp
225 .Vb 3
226 \& # read manual pages:
227 \& $ /openpkg/bin/openpkg man search
228 \& $ /openpkg/bin/openpkg man build
229 \&
230 \& # search for a package
231 \& $ /openpkg/bin/openpkg search [\-v] <regex>
232 \&
233 \& # deploy even more packages
234 \& $ /openpkg/bin/openpkg build \e
235 \& [\-D[<package1>::]with_<name>] \e
236 \& [\-D[<package2>::]with_<name>] \e
237 \& <package1> <package2> ... | sh
238 .Ve
239 .Sp
240 For instance, to install and start an Apache \s-1HTTP\s0 server with \s-1SSL/TLS\s0
241 support you can use:
242 .Sp
243 .Vb 3
244 \& $ /openpkg/bin/openpkg search \-v apache | more
245 \& $ /openpkg/bin/openpkg build \-D with_mod_ssl=yes apache | sh
246 \& $ /openpkg/bin/openpkg rc apache start
247 .Ve
248 .IP "\fB6. Cleanup\fR" 3
249 .IX Item "6. Cleanup"
250 OpenPKG has not convinced you? Well, it's a pity, but no problem. You
251 can easily get rid of anything you installed at once (both the OpenPKG
252 instance and any of its OpenPKG packages) with the following simple
253 command:
254 .Sp
255 .Vb 2
256 \& $ /openpkg/bin/openpkg rc all stop
257 \& $ /openpkg/bin/openpkg rpm \-e \`/openpkg/bin/openpkg rpm \-qa\`
258 .Ve
259 .SH "SEE ALSO"
260 .IX Header "SEE ALSO"
261 OpenPKG local documentation can be viewed the command "\fBopenpkg man\fR
262 \&\fIcmd\fR", where \fIcmd\fR is one of the following commands:
263 .PP
264 .Vb 6
265 \& index OpenPKG package indexing
266 \& search OpenPKG package searching
267 \& mirror OpenPKG package mirroring
268 \& build OpenPKG package building and installing
269 \& rc OpenPKG run\-command facility
270 \& lsync OpenPKG local area synchronization
271 \&
272 \& stack OpenPKG software stack generation
273 \& makeproxy OpenPKG proxy package generation
274 \& dev OpenPKG development tool
275 \&
276 \& rpm RPM package manager
277 \& rpm2cpio RPM payload utility
278 \& rpm\-config RPM C API utility
279 \& rpmtool OpenPKG RPM packaging helper tool
280 \&
281 \& license OpenPKG license management
282 \& release OpenPKG release information
283 \& register OpenPKG registry client (obsolete)
284 \&
285 \& sea Shell Execution Archive tool
286 \& uuid Universal Unique Identifiers tool
287 .Ve
288 .PP
289 Additionally, OpenPKG can be found under the following locations on the
290 Internet:
291 .PP
292 .Vb 3
293 \& http://openpkg.org/ OpenPKG Project (Distribution)
294 \& http://openpkg.com/ OpenPKG GmbH (Framework, Support)
295 \& http://openpkg.net/ OpenPKG Foundation e.V. (Packages)
296 .Ve