michael@428: .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) michael@13: .\" michael@13: .\" Standard preamble: michael@13: .\" ======================================================================== michael@13: .de Sp \" Vertical space (when we can't use .PP) michael@13: .if t .sp .5v michael@13: .if n .sp michael@13: .. michael@13: .de Vb \" Begin verbatim text michael@13: .ft CW michael@13: .nf michael@13: .ne \\$1 michael@13: .. michael@13: .de Ve \" End verbatim text michael@13: .ft R michael@13: .fi michael@13: .. michael@13: .\" Set up some character translations and predefined strings. \*(-- will michael@13: .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left michael@428: .\" double quote, and \*(R" will give a right double quote. \*(C+ will michael@428: .\" give a nicer C++. Capital omega is used to do unbreakable dashes and michael@428: .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, michael@428: .\" nothing in troff, for use with C<>. michael@428: .tr \(*W- michael@13: .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' michael@13: .ie n \{\ michael@13: . ds -- \(*W- michael@13: . ds PI pi michael@13: . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch michael@13: . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch michael@13: . ds L" "" michael@13: . ds R" "" michael@13: . ds C` michael@13: . ds C' michael@13: 'br\} michael@13: .el\{\ michael@13: . ds -- \|\(em\| michael@13: . ds PI \(*p michael@13: . ds L" `` michael@13: . ds R" '' michael@13: 'br\} michael@13: .\" michael@428: .\" Escape single quotes in literal strings from groff's Unicode transform. michael@428: .ie \n(.g .ds Aq \(aq michael@428: .el .ds Aq ' michael@428: .\" michael@13: .\" If the F register is turned on, we'll generate index entries on stderr for michael@428: .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index michael@13: .\" entries marked with X<> in POD. Of course, you'll have to process the michael@13: .\" output yourself in some meaningful fashion. michael@428: .ie \nF \{\ michael@13: . de IX michael@13: . tm Index:\\$1\t\\n%\t"\\$2" michael@13: .. michael@13: . nr % 0 michael@13: . rr F michael@13: .\} michael@428: .el \{\ michael@428: . de IX michael@428: .. michael@428: .\} michael@13: .\" michael@13: .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). michael@13: .\" Fear. Run. Save yourself. No user-serviceable parts. michael@13: . \" fudge factors for nroff and troff michael@13: .if n \{\ michael@13: . ds #H 0 michael@13: . ds #V .8m michael@13: . ds #F .3m michael@13: . ds #[ \f1 michael@13: . ds #] \fP michael@13: .\} michael@13: .if t \{\ michael@13: . ds #H ((1u-(\\\\n(.fu%2u))*.13m) michael@13: . ds #V .6m michael@13: . ds #F 0 michael@13: . ds #[ \& michael@13: . ds #] \& michael@13: .\} michael@13: . \" simple accents for nroff and troff michael@13: .if n \{\ michael@13: . ds ' \& michael@13: . ds ` \& michael@13: . ds ^ \& michael@13: . ds , \& michael@13: . ds ~ ~ michael@13: . ds / michael@13: .\} michael@13: .if t \{\ michael@13: . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" michael@13: . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' michael@13: . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' michael@13: . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' michael@13: . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' michael@13: . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' michael@13: .\} michael@13: . \" troff and (daisy-wheel) nroff accents michael@13: .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' michael@13: .ds 8 \h'\*(#H'\(*b\h'-\*(#H' michael@13: .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] michael@13: .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' michael@13: .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' michael@13: .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] michael@13: .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] michael@13: .ds ae a\h'-(\w'a'u*4/10)'e michael@13: .ds Ae A\h'-(\w'A'u*4/10)'E michael@13: . \" corrections for vroff michael@13: .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' michael@13: .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' michael@13: . \" for low resolution devices (crt and lpr) michael@13: .if \n(.H>23 .if \n(.V>19 \ michael@13: \{\ michael@13: . ds : e michael@13: . ds 8 ss michael@13: . ds o a michael@13: . ds d- d\h'-1'\(ga michael@13: . ds D- D\h'-1'\(hy michael@13: . ds th \o'bp' michael@13: . ds Th \o'LP' michael@13: . ds ae ae michael@13: . ds Ae AE michael@13: .\} michael@13: .rm #[ #] #H #V #F C michael@13: .\" ======================================================================== michael@13: .\" michael@13: .IX Title "OPENPKG 1" michael@13: .TH OPENPKG 1 "OpenPKG" "OPENPKG(8)" "OpenPKG" michael@428: .\" For nroff, turn off justification. Always turn off hyphenation; it makes michael@428: .\" way too many mistakes in technical documents. michael@428: .if n .ad l michael@428: .nh michael@13: .SH "NAME" michael@428: OpenPKG \-\- Cross\-Platform Unix Software Packaging michael@13: .SH "SYNOPSIS" michael@13: .IX Header "SYNOPSIS" michael@13: $ \fBopenpkg\fR [\fIopt\fR ...] \fIcmd\fR [\fIcmd_opt\fR ...] [\fIcmd_arg\fR ...] michael@428: .PP michael@13: $ \fBopenpkg\fR \fBman\fR \fIcmd\fR michael@13: .SH "DESCRIPTION" michael@13: .IX Header "DESCRIPTION" michael@13: OpenPKG is the world leading instrument for deployment and maintenance michael@13: of Open Source software when administration crosses Unix platform michael@13: boundaries. The OpenPKG project is a collaboration effort with the michael@13: goal of creating and maintaining portable and easy to install software michael@13: packages for use on the major Unix server platforms. michael@13: .PP michael@13: The unique OpenPKG architecture leverages proven technologies like michael@13: Red Hat Package Manager (\s-1RPM\s0) to establish a unified administration michael@13: environment, independent of the underlying operating system. OpenPKG michael@13: is completely self-contained and does not even need a preinstallation michael@13: of \s-1RPM\s0. Instead, \s-1RPM\s0 is provided as an OpenPKG \s-1RPM\s0 package itself plus michael@13: a tricky bootstrapping procedure in order to allow one to create from michael@13: scratch the initial state of the whole OpenPKG software packaging michael@13: system. michael@428: .SH "TUTORIAL" michael@428: .IX Header "TUTORIAL" michael@428: .IP "\fB1. System Preparation (optional)\fR" 3 michael@428: .IX Item "1. System Preparation (optional)" michael@428: Before you start, the Unix system optionally should be prepared. Here michael@428: especially the necessary disk space requirements of OpenPKG have to be michael@428: taken into account. michael@428: .Sp michael@428: .Vb 3 michael@428: \& # optionally direct /openpkg to at least 150MB free disk space: michael@428: \& $ mkdir /storage/openpkg michael@428: \& $ ln \-s /storage/openpkg /openpkg michael@428: \& michael@428: \& # optionally direct temp\-directory to at least 250MB free disk space: michael@428: \& $ TMPDIR=/var/tmp michael@428: \& $ export TMPDIR michael@428: \& michael@428: \& # switch to temporary directory: michael@428: \& $ cd $TMPDIR michael@428: .Ve michael@428: .IP "\fB2. Instance Bootstrapping\fR" 3 michael@428: .IX Item "2. Instance Bootstrapping" michael@428: The next step is to bootstrap the OpenPKG instance. Here we are using michael@428: the standard /openpkg filesystem prefix. An arbitrary prefix can be michael@428: used as long as at least the \*(L"Bootstrap From Source\*(R" approach is used. michael@428: .Sp michael@428: .Vb 2 michael@428: \& # download bootstrap source shell package: michael@428: \& $ wget http://openpkg.org/go/download/openpkg.src.sh michael@428: \& michael@428: \& # build bootstrap binary shell package from source shell package: michael@428: \& $ sh openpkg.src.sh \e michael@428: \& \-\-prefix=/openpkg \-\-tag=openpkg \e michael@428: \& \-\-user=openpkg \-\-group=openpkg \e michael@428: \& \-\-tag=openpkg michael@428: \& michael@428: \& # install bootstrap binary script package: michael@428: \& $ sh openpkg\-*\-*.*\-openpkg.sh michael@428: .Ve michael@428: .IP "\fB3. Software Deployment\fR" 3 michael@428: .IX Item "3. Software Deployment" michael@428: Now you can install arbitrary OpenPKG software packages by either using michael@428: the lower-level OpenPKG \s-1RPM\s0 command or the higher-level OpenPKG tool michael@428: chain build command. As a simple illustration example the \s-1GNU\s0 Bash michael@428: package of OpenPKG is installed. michael@428: .Sp michael@428: .Vb 2 michael@428: \& # build and install GNU Bash: michael@428: \& $ /openpkg/bin/openpkg build bash | sh michael@428: .Ve michael@428: .IP "\fB4. Software Usage\fR" 3 michael@428: .IX Item "4. Software Usage" michael@428: Finally, you can use the deployed software. Either through explicit michael@428: paths (reasonable if leveraging OpenPKG's multiple-instance feature) or michael@428: implicitly by merging the OpenPKG instance into the local environment. michael@428: .Sp michael@428: .Vb 2 michael@428: \& # explicit usage: michael@428: \& $ /openpkg/bin/bash \-\-version michael@428: \& michael@428: \& # implicit usage (alternatively) michael@428: \& $ eval \`/openpkg/bin/openpkg rc \-\-eval all env\` michael@428: \& $ bash \-\-version michael@428: .Ve michael@428: .IP "\fB5. Go Ahead!\fR" 3 michael@428: .IX Item "5. Go Ahead!" michael@428: Want to know more now? Please read the manual pages of at least the michael@428: deployment commands and then proceed by searching and deploying even michael@428: more software into your OpenPKG instance. michael@428: .Sp michael@428: .Vb 3 michael@428: \& # read manual pages: michael@428: \& $ /openpkg/bin/openpkg man search michael@428: \& $ /openpkg/bin/openpkg man build michael@428: \& michael@428: \& # search for a package michael@428: \& $ /openpkg/bin/openpkg search [\-v] michael@428: \& michael@428: \& # deploy even more packages michael@428: \& $ /openpkg/bin/openpkg build \e michael@428: \& [\-D[::]with_] \e michael@428: \& [\-D[::]with_] \e michael@428: \& ... | sh michael@428: .Ve michael@428: .Sp michael@428: For instance, to install and start an Apache \s-1HTTP\s0 server with \s-1SSL/TLS\s0 michael@428: support you can use: michael@428: .Sp michael@428: .Vb 3 michael@428: \& $ /openpkg/bin/openpkg search \-v apache | more michael@428: \& $ /openpkg/bin/openpkg build \-D with_mod_ssl=yes apache | sh michael@428: \& $ /openpkg/bin/openpkg rc apache start michael@428: .Ve michael@428: .IP "\fB6. Cleanup\fR" 3 michael@428: .IX Item "6. Cleanup" michael@428: OpenPKG has not convinced you? Well, it's a pity, but no problem. You michael@428: can easily get rid of anything you installed at once (both the OpenPKG michael@428: instance and any of its OpenPKG packages) with the following simple michael@428: command: michael@428: .Sp michael@428: .Vb 2 michael@428: \& $ /openpkg/bin/openpkg rc all stop michael@428: \& $ /openpkg/bin/openpkg rpm \-e \`/openpkg/bin/openpkg rpm \-qa\` michael@428: .Ve michael@428: .SH "SEE ALSO" michael@428: .IX Header "SEE ALSO" michael@428: OpenPKG local documentation can be viewed the command "\fBopenpkg man\fR michael@428: \&\fIcmd\fR", where \fIcmd\fR is one of the following commands: michael@428: .PP michael@428: .Vb 6 michael@428: \& index OpenPKG package indexing michael@428: \& search OpenPKG package searching michael@428: \& mirror OpenPKG package mirroring michael@428: \& build OpenPKG package building and installing michael@428: \& rc OpenPKG run\-command facility michael@428: \& lsync OpenPKG local area synchronization michael@428: \& michael@428: \& stack OpenPKG software stack generation michael@428: \& makeproxy OpenPKG proxy package generation michael@428: \& dev OpenPKG development tool michael@428: \& michael@428: \& rpm RPM package manager michael@428: \& rpm2cpio RPM payload utility michael@428: \& rpm\-config RPM C API utility michael@428: \& rpmtool OpenPKG RPM packaging helper tool michael@428: \& michael@428: \& license OpenPKG license management michael@428: \& release OpenPKG release information michael@428: \& register OpenPKG registry client (obsolete) michael@428: \& michael@428: \& sea Shell Execution Archive tool michael@428: \& uuid Universal Unique Identifiers tool michael@428: .Ve michael@428: .PP michael@428: Additionally, OpenPKG can be found under the following locations on the michael@428: Internet: michael@428: .PP michael@428: .Vb 3 michael@428: \& http://openpkg.org/ OpenPKG Project (Distribution) michael@428: \& http://openpkg.com/ OpenPKG GmbH (Framework, Support) michael@428: \& http://openpkg.net/ OpenPKG Foundation e.V. (Packages) michael@428: .Ve