openpkg/openpkg.pod

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 13
cb59d6afeb61
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 ##
     2 ##  openpkg -- OpenPKG Tool Chain
     3 ##  Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/>
     4 ##
     5 ##  This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
     6 ##  All rights reserved. Licenses which grant limited permission to use,
     7 ##  copy, modify and distribute this software are available from the
     8 ##  OpenPKG GmbH.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    23 ##  openpkg.pod: Minimum Execution Frontend (Language: Perl POD)
    24 ##
    26 =pod
    28 =head1 NAME
    30 B<OpenPKG> -- Cross-Platform Unix Software Packaging
    32 =head1 SYNOPSIS
    34 $ B<openpkg> [I<opt> ...] I<cmd> [I<cmd_opt> ...] [I<cmd_arg> ...]
    36 $ B<openpkg> B<man> I<cmd>
    38 =head1 DESCRIPTION
    40 OpenPKG is the world leading instrument for deployment and maintenance
    41 of Open Source software when administration crosses Unix platform
    42 boundaries. The OpenPKG project is a collaboration effort with the
    43 goal of creating and maintaining portable and easy to install software
    44 packages for use on the major Unix server platforms.
    46 The unique OpenPKG architecture leverages proven technologies like
    47 Red Hat Package Manager (RPM) to establish a unified administration
    48 environment, independent of the underlying operating system. OpenPKG
    49 is completely self-contained and does not even need a preinstallation
    50 of RPM. Instead, RPM is provided as an OpenPKG RPM package itself plus
    51 a tricky bootstrapping procedure in order to allow one to create from
    52 scratch the initial state of the whole OpenPKG software packaging
    53 system.
    55 =head1 TUTORIAL
    57 =over 3
    59 =item B<1. System Preparation (optional)>
    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.
    65  # optionally direct /openpkg to at least 150MB free disk space:
    66  $ mkdir /storage/openpkg
    67  $ ln -s /storage/openpkg /openpkg
    69  # optionally direct temp-directory to at least 250MB free disk space:
    70  $ TMPDIR=/var/tmp
    71  $ export TMPDIR
    73  # switch to temporary directory:
    74  $ cd $TMPDIR
    76 =item B<2. Instance Bootstrapping>
    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.
    82  # download bootstrap source shell package:
    83  $ wget http://openpkg.org/go/download/openpkg.src.sh
    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
    91  # install bootstrap binary script package:
    92  $ sh openpkg-*-*.*-openpkg.sh
    94 =item B<3. Software Deployment>
    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.
   101  # build and install GNU Bash:
   102  $ /openpkg/bin/openpkg build bash | sh
   104 =item B<4. Software Usage>
   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.
   110  # explicit usage:
   111  $ /openpkg/bin/bash --version
   113  # implicit usage (alternatively)
   114  $ eval `/openpkg/bin/openpkg rc --eval all env`
   115  $ bash --version
   117 =item B<5. Go Ahead!>
   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.
   123  # read manual pages:
   124  $ /openpkg/bin/openpkg man search
   125  $ /openpkg/bin/openpkg man build
   127  # search for a package
   128  $ /openpkg/bin/openpkg search [-v] <regex>
   130  # deploy even more packages
   131  $ /openpkg/bin/openpkg build \
   132    [-D[<package1>::]with_<name>] \
   133    [-D[<package2>::]with_<name>] \
   134    <package1> <package2> ... | sh
   136 For instance, to install and start an Apache HTTP server with SSL/TLS
   137 support you can use:
   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
   143 =item B<6. Cleanup>
   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:
   150  $ /openpkg/bin/openpkg rc all stop
   151  $ /openpkg/bin/openpkg rpm -e `/openpkg/bin/openpkg rpm -qa`
   153 =back
   155 =head1 SEE ALSO
   157 OpenPKG local documentation can be viewed the command "B<openpkg man>
   158 I<cmd>", where I<cmd> is one of the following commands:
   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
   167  stack           OpenPKG software stack generation
   168  makeproxy       OpenPKG proxy package generation
   169  dev             OpenPKG development tool
   171  rpm             RPM package manager
   172  rpm2cpio        RPM payload utility
   173  rpm-config      RPM C API utility
   174  rpmtool         OpenPKG RPM packaging helper tool
   176  license         OpenPKG license management
   177  release         OpenPKG release information
   178  register        OpenPKG registry client (obsolete)
   180  sea             Shell Execution Archive tool
   181  uuid            Universal Unique Identifiers tool
   183 Additionally, OpenPKG can be found under the following locations on the
   184 Internet:
   186  http://openpkg.org/  OpenPKG Project (Distribution)
   187  http://openpkg.com/  OpenPKG GmbH (Framework, Support)
   188  http://openpkg.net/  OpenPKG Foundation e.V. (Packages)
   190 =cut

mercurial