23 .ft R |
15 .ft R |
24 .fi |
16 .fi |
25 .. |
17 .. |
26 .\" Set up some character translations and predefined strings. \*(-- will |
18 .\" Set up some character translations and predefined strings. \*(-- will |
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
28 .\" double quote, and \*(R" will give a right double quote. | will give a |
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will |
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
31 .\" expand to `' in nroff, nothing in troff, for use with C<>. |
23 .\" nothing in troff, for use with C<>. |
32 .tr \(*W-|\(bv\*(Tr |
24 .tr \(*W- |
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
34 .ie n \{\ |
26 .ie n \{\ |
35 . ds -- \(*W- |
27 . ds -- \(*W- |
36 . ds PI pi |
28 . ds PI pi |
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
46 . ds PI \(*p |
38 . ds PI \(*p |
47 . ds L" `` |
39 . ds L" `` |
48 . ds R" '' |
40 . ds R" '' |
49 'br\} |
41 'br\} |
50 .\" |
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 .\" |
51 .\" If the F register is turned on, we'll generate index entries on stderr for |
47 .\" If the F register is turned on, we'll generate index entries on stderr for |
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index |
53 .\" entries marked with X<> in POD. Of course, you'll have to process the |
49 .\" entries marked with X<> in POD. Of course, you'll have to process the |
54 .\" output yourself in some meaningful fashion. |
50 .\" output yourself in some meaningful fashion. |
55 .if \nF \{\ |
51 .ie \nF \{\ |
56 . de IX |
52 . de IX |
57 . tm Index:\\$1\t\\n%\t"\\$2" |
53 . tm Index:\\$1\t\\n%\t"\\$2" |
58 .. |
54 .. |
59 . nr % 0 |
55 . nr % 0 |
60 . rr F |
56 . rr F |
61 .\} |
57 .\} |
62 .\" |
58 .el \{\ |
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
59 . de IX |
64 .\" way too many mistakes in technical documents. |
60 .. |
65 .hy 0 |
61 .\} |
66 .if n .na |
|
67 .\" |
62 .\" |
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
69 .\" Fear. Run. Save yourself. No user-serviceable parts. |
64 .\" Fear. Run. Save yourself. No user-serviceable parts. |
70 . \" fudge factors for nroff and troff |
65 . \" fudge factors for nroff and troff |
71 .if n \{\ |
66 .if n \{\ |
128 .rm #[ #] #H #V #F C |
123 .rm #[ #] #H #V #F C |
129 .\" ======================================================================== |
124 .\" ======================================================================== |
130 .\" |
125 .\" |
131 .IX Title "OPENPKG 1" |
126 .IX Title "OPENPKG 1" |
132 .TH OPENPKG 1 "OpenPKG" "OPENPKG(8)" "OpenPKG" |
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 |
133 .SH "NAME" |
132 .SH "NAME" |
134 \&\fBOpenPKG\fR \-\- Cross\-Platform Unix Software Packaging Facility |
133 OpenPKG \-\- Cross\-Platform Unix Software Packaging |
135 .SH "SYNOPSIS" |
134 .SH "SYNOPSIS" |
136 .IX Header "SYNOPSIS" |
135 .IX Header "SYNOPSIS" |
137 .IP "Command Line Interface" 4 |
|
138 .IX Item "Command Line Interface" |
|
139 $ \fBopenpkg\fR [\fIopt\fR ...] \fIcmd\fR [\fIcmd_opt\fR ...] [\fIcmd_arg\fR ...] |
136 $ \fBopenpkg\fR [\fIopt\fR ...] \fIcmd\fR [\fIcmd_opt\fR ...] [\fIcmd_arg\fR ...] |
140 .Sp |
137 .PP |
141 $ \fBopenpkg\fR \fBman\fR \fIcmd\fR |
138 $ \fBopenpkg\fR \fBman\fR \fIcmd\fR |
142 .IP "Project Locations" 4 |
|
143 .IX Item "Project Locations" |
|
144 .Vb 4 |
|
145 \& http://www.openpkg.org/ web service |
|
146 \& http://cvs.openpkg.org/ repository service |
|
147 \& http://pgp.openpkg.org/ OpenPGP service |
|
148 \& ftp://ftp.openpkg.org/ download service |
|
149 .Ve |
|
150 .IP "Project Forums" 4 |
|
151 .IX Item "Project Forums" |
|
152 .Vb 4 |
|
153 \& petidomo@openpkg.org mailing-list manager |
|
154 \& openpkg-announce@openpkg.org project announcements |
|
155 \& openpkg-dev@openpkg.org developer forum |
|
156 \& openpkg-users@openpkg.org users forum |
|
157 .Ve |
|
158 .IP "Local Documentation" 4 |
|
159 .IX Item "Local Documentation" |
|
160 .Vb 6 |
|
161 \& openpkg-rpm(1) RPM package manager |
|
162 \& openpkg-rpmbuild(1) RPM package manager (build only) |
|
163 \& openpkg-rpm2cpio(1) RPM payload utility |
|
164 \& openpkg-rpm-config(1) RPM C API utility |
|
165 \& openpkg-lsync(1) local area synchronization |
|
166 \& openpkg-rc(1) run-command facility |
|
167 .Ve |
|
168 .SH "DESCRIPTION" |
139 .SH "DESCRIPTION" |
169 .IX Header "DESCRIPTION" |
140 .IX Header "DESCRIPTION" |
170 OpenPKG is the world leading instrument for deployment and maintenance |
141 OpenPKG is the world leading instrument for deployment and maintenance |
171 of Open Source software when administration crosses Unix platform |
142 of Open Source software when administration crosses Unix platform |
172 boundaries. The OpenPKG project is a collaboration effort with the |
143 boundaries. The OpenPKG project is a collaboration effort with the |
179 is completely self-contained and does not even need a preinstallation |
150 is completely self-contained and does not even need a preinstallation |
180 of \s-1RPM\s0. Instead, \s-1RPM\s0 is provided as an OpenPKG \s-1RPM\s0 package itself plus |
151 of \s-1RPM\s0. Instead, \s-1RPM\s0 is provided as an OpenPKG \s-1RPM\s0 package itself plus |
181 a tricky bootstrapping procedure in order to allow one to create from |
152 a tricky bootstrapping procedure in order to allow one to create from |
182 scratch the initial state of the whole OpenPKG software packaging |
153 scratch the initial state of the whole OpenPKG software packaging |
183 system. |
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 |