| 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 |