1 ## |
1 ## |
2 ## openpkg -- OpenPKG Tool Chain |
2 ## openpkg -- OpenPKG Tool Chain |
3 ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> |
3 ## Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/> |
4 ## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> |
|
5 ## |
4 ## |
6 ## Permission to use, copy, modify, and distribute this software for |
5 ## This software is property of the OpenPKG GmbH, DE MUC HRB 160208. |
7 ## any purpose with or without fee is hereby granted, provided that |
6 ## All rights reserved. Licenses which grant limited permission to use, |
8 ## the above copyright notice and this permission notice appear in all |
7 ## copy, modify and distribute this software are available from the |
9 ## copies. |
8 ## OpenPKG GmbH. |
10 ## |
9 ## |
11 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
10 ## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED |
12 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
13 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
14 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
15 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
16 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
26 |
25 |
27 =pod |
26 =pod |
28 |
27 |
29 =head1 NAME |
28 =head1 NAME |
30 |
29 |
31 B<OpenPKG> -- Cross-Platform Unix Software Packaging Facility |
30 B<OpenPKG> -- Cross-Platform Unix Software Packaging |
32 |
31 |
33 =head1 SYNOPSIS |
32 =head1 SYNOPSIS |
34 |
|
35 =over 4 |
|
36 |
|
37 =item Command Line Interface |
|
38 |
33 |
39 $ B<openpkg> [I<opt> ...] I<cmd> [I<cmd_opt> ...] [I<cmd_arg> ...] |
34 $ B<openpkg> [I<opt> ...] I<cmd> [I<cmd_opt> ...] [I<cmd_arg> ...] |
40 |
35 |
41 $ B<openpkg> B<man> I<cmd> |
36 $ B<openpkg> B<man> I<cmd> |
42 |
37 |
43 =item Project Locations |
38 =head1 DESCRIPTION |
44 |
39 |
45 http://www.openpkg.org/ web service |
|
46 http://cvs.openpkg.org/ repository service |
|
47 http://pgp.openpkg.org/ OpenPGP service |
|
48 ftp://ftp.openpkg.org/ download service |
|
49 |
|
50 =item Project Forums |
|
51 |
|
52 petidomo@openpkg.org mailing-list manager |
|
53 openpkg-announce@openpkg.org project announcements |
|
54 openpkg-dev@openpkg.org developer forum |
|
55 openpkg-users@openpkg.org users forum |
|
56 |
|
57 =item Local Documentation |
|
58 |
|
59 openpkg-rpm(1) RPM package manager |
|
60 openpkg-rpmbuild(1) RPM package manager (build only) |
|
61 openpkg-rpm2cpio(1) RPM payload utility |
|
62 openpkg-rpm-config(1) RPM C API utility |
|
63 openpkg-lsync(1) local area synchronization |
|
64 openpkg-rc(1) run-command facility |
|
65 |
|
66 =back |
|
67 |
|
68 =head1 DESCRIPTION |
|
69 |
|
70 OpenPKG is the world leading instrument for deployment and maintenance |
40 OpenPKG is the world leading instrument for deployment and maintenance |
71 of Open Source software when administration crosses Unix platform |
41 of Open Source software when administration crosses Unix platform |
72 boundaries. The OpenPKG project is a collaboration effort with the |
42 boundaries. The OpenPKG project is a collaboration effort with the |
73 goal of creating and maintaining portable and easy to install software |
43 goal of creating and maintaining portable and easy to install software |
74 packages for use on the major Unix server platforms. |
44 packages for use on the major Unix server platforms. |
80 of RPM. Instead, RPM is provided as an OpenPKG RPM package itself plus |
50 of RPM. Instead, RPM is provided as an OpenPKG RPM package itself plus |
81 a tricky bootstrapping procedure in order to allow one to create from |
51 a tricky bootstrapping procedure in order to allow one to create from |
82 scratch the initial state of the whole OpenPKG software packaging |
52 scratch the initial state of the whole OpenPKG software packaging |
83 system. |
53 system. |
84 |
54 |
|
55 =head1 TUTORIAL |
|
56 |
|
57 =over 3 |
|
58 |
|
59 =item B<1. System Preparation (optional)> |
|
60 |
|
61 Before you start, the Unix system optionally should be prepared. Here |
|
62 especially the necessary disk space requirements of OpenPKG have to be |
|
63 taken into account. |
|
64 |
|
65 # optionally direct /openpkg to at least 150MB free disk space: |
|
66 $ mkdir /storage/openpkg |
|
67 $ ln -s /storage/openpkg /openpkg |
|
68 |
|
69 # optionally direct temp-directory to at least 250MB free disk space: |
|
70 $ TMPDIR=/var/tmp |
|
71 $ export TMPDIR |
|
72 |
|
73 # switch to temporary directory: |
|
74 $ cd $TMPDIR |
|
75 |
|
76 =item B<2. Instance Bootstrapping> |
|
77 |
|
78 The next step is to bootstrap the OpenPKG instance. Here we are using |
|
79 the standard /openpkg filesystem prefix. An arbitrary prefix can be |
|
80 used as long as at least the "Bootstrap From Source" approach is used. |
|
81 |
|
82 # download bootstrap source shell package: |
|
83 $ wget http://openpkg.org/go/download/openpkg.src.sh |
|
84 |
|
85 # build bootstrap binary shell package from source shell package: |
|
86 $ sh openpkg.src.sh \ |
|
87 --prefix=/openpkg --tag=openpkg \ |
|
88 --user=openpkg --group=openpkg \ |
|
89 --tag=openpkg |
|
90 |
|
91 # install bootstrap binary script package: |
|
92 $ sh openpkg-*-*.*-openpkg.sh |
|
93 |
|
94 =item B<3. Software Deployment> |
|
95 |
|
96 Now you can install arbitrary OpenPKG software packages by either using |
|
97 the lower-level OpenPKG RPM command or the higher-level OpenPKG tool |
|
98 chain build command. As a simple illustration example the GNU Bash |
|
99 package of OpenPKG is installed. |
|
100 |
|
101 # build and install GNU Bash: |
|
102 $ /openpkg/bin/openpkg build bash | sh |
|
103 |
|
104 =item B<4. Software Usage> |
|
105 |
|
106 Finally, you can use the deployed software. Either through explicit |
|
107 paths (reasonable if leveraging OpenPKG's multiple-instance feature) or |
|
108 implicitly by merging the OpenPKG instance into the local environment. |
|
109 |
|
110 # explicit usage: |
|
111 $ /openpkg/bin/bash --version |
|
112 |
|
113 # implicit usage (alternatively) |
|
114 $ eval `/openpkg/bin/openpkg rc --eval all env` |
|
115 $ bash --version |
|
116 |
|
117 =item B<5. Go Ahead!> |
|
118 |
|
119 Want to know more now? Please read the manual pages of at least the |
|
120 deployment commands and then proceed by searching and deploying even |
|
121 more software into your OpenPKG instance. |
|
122 |
|
123 # read manual pages: |
|
124 $ /openpkg/bin/openpkg man search |
|
125 $ /openpkg/bin/openpkg man build |
|
126 |
|
127 # search for a package |
|
128 $ /openpkg/bin/openpkg search [-v] <regex> |
|
129 |
|
130 # deploy even more packages |
|
131 $ /openpkg/bin/openpkg build \ |
|
132 [-D[<package1>::]with_<name>] \ |
|
133 [-D[<package2>::]with_<name>] \ |
|
134 <package1> <package2> ... | sh |
|
135 |
|
136 For instance, to install and start an Apache HTTP server with SSL/TLS |
|
137 support you can use: |
|
138 |
|
139 $ /openpkg/bin/openpkg search -v apache | more |
|
140 $ /openpkg/bin/openpkg build -D with_mod_ssl=yes apache | sh |
|
141 $ /openpkg/bin/openpkg rc apache start |
|
142 |
|
143 =item B<6. Cleanup> |
|
144 |
|
145 OpenPKG has not convinced you? Well, it's a pity, but no problem. You |
|
146 can easily get rid of anything you installed at once (both the OpenPKG |
|
147 instance and any of its OpenPKG packages) with the following simple |
|
148 command: |
|
149 |
|
150 $ /openpkg/bin/openpkg rc all stop |
|
151 $ /openpkg/bin/openpkg rpm -e `/openpkg/bin/openpkg rpm -qa` |
|
152 |
|
153 =back |
|
154 |
|
155 =head1 SEE ALSO |
|
156 |
|
157 OpenPKG local documentation can be viewed the command "B<openpkg man> |
|
158 I<cmd>", where I<cmd> is one of the following commands: |
|
159 |
|
160 index OpenPKG package indexing |
|
161 search OpenPKG package searching |
|
162 mirror OpenPKG package mirroring |
|
163 build OpenPKG package building and installing |
|
164 rc OpenPKG run-command facility |
|
165 lsync OpenPKG local area synchronization |
|
166 |
|
167 stack OpenPKG software stack generation |
|
168 makeproxy OpenPKG proxy package generation |
|
169 dev OpenPKG development tool |
|
170 |
|
171 rpm RPM package manager |
|
172 rpm2cpio RPM payload utility |
|
173 rpm-config RPM C API utility |
|
174 rpmtool OpenPKG RPM packaging helper tool |
|
175 |
|
176 license OpenPKG license management |
|
177 release OpenPKG release information |
|
178 register OpenPKG registry client (obsolete) |
|
179 |
|
180 sea Shell Execution Archive tool |
|
181 uuid Universal Unique Identifiers tool |
|
182 |
|
183 Additionally, OpenPKG can be found under the following locations on the |
|
184 Internet: |
|
185 |
|
186 http://openpkg.org/ OpenPKG Project (Distribution) |
|
187 http://openpkg.com/ OpenPKG GmbH (Framework, Support) |
|
188 http://openpkg.net/ OpenPKG Foundation e.V. (Packages) |
|
189 |
85 =cut |
190 =cut |
86 |
191 |