OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   17-Feb-2004 14:22:55
  Branch: HEAD                             Handle: 2004021713225400

  Added files:
    openpkg-src/openpkg-tool
                            openpkg-build.1 openpkg-build.pod openpkg-index.1
                            openpkg-index.pod
  Modified files:
    openpkg-src/openpkg-tool
                            Makefile openpkg-build.pl openpkg-index.pl
                            openpkg-tool.spec
  Removed files:
    openpkg-src/openpkg-tool
                            openpkg.1 openpkg.pod openpkg.sh

  Log:
    switch to new world order by using 'openpkg rpm' and its framework

  Summary:
    Revision    Changes     Path
    1.3         +7  -2      openpkg-src/openpkg-tool/Makefile
    1.1         +384 -0     openpkg-src/openpkg-tool/openpkg-build.1
    1.100       +5  -3      openpkg-src/openpkg-tool/openpkg-build.pl
    1.1         +330 -0     openpkg-src/openpkg-tool/openpkg-build.pod
    1.1         +204 -0     openpkg-src/openpkg-tool/openpkg-index.1
    1.22        +5  -3      openpkg-src/openpkg-tool/openpkg-index.pl
    1.1         +118 -0     openpkg-src/openpkg-tool/openpkg-index.pod
    1.82        +23 -23     openpkg-src/openpkg-tool/openpkg-tool.spec
    1.12        +0  -440    openpkg-src/openpkg-tool/openpkg.1
    1.21        +0  -397    openpkg-src/openpkg-tool/openpkg.pod
    1.7         +0  -89     openpkg-src/openpkg-tool/openpkg.sh
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/Makefile
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 Makefile
  --- openpkg-src/openpkg-tool/Makefile 28 Jul 2003 17:17:11 -0000      1.2
  +++ openpkg-src/openpkg-tool/Makefile 17 Feb 2004 13:22:54 -0000      1.3
  @@ -1,4 +1,9 @@
   
  -openpkg.1: openpkg.pod
  -     pod2man --section=1 --quotes=none --release="openpkg-tool" --center="OpenPKG 
Maintenance" openpkg.pod >openpkg.1
  +all: openpkg-index.1 openpkg-build.1
  +
  +openpkg-index.1: openpkg-index.pod
  +     pod2man --section=1 --quotes=none --release="openpkg-index" --center="OpenPKG 
Maintenance" openpkg-index.pod >openpkg-index.1
  +
  +openpkg-build.1: openpkg-build.pod
  +     pod2man --section=1 --quotes=none --release="openpkg-build" --center="OpenPKG 
Maintenance" openpkg-build.pod >openpkg-build.1
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-build.1
  ============================================================================
  $ cvs diff -u -r0 -r1.1 openpkg-build.1
  --- /dev/null 2004-02-17 14:22:54.000000000 +0100
  +++ openpkg-build.1   2004-02-17 14:22:54.000000000 +0100
  @@ -0,0 +1,384 @@
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\"
  +.\" Standard preamble:
  +.\" ========================================================================
  +.de Sh \" Subsection heading
  +.br
  +.if t .Sp
  +.ne 5
  +.PP
  +\fB\\$1\fR
  +.PP
  +..
  +.de Sp \" Vertical space (when we can't use .PP)
  +.if t .sp .5v
  +.if n .sp
  +..
  +.de Vb \" Begin verbatim text
  +.ft CW
  +.nf
  +.ne \\$1
  +..
  +.de Ve \" End verbatim text
  +.ft R
  +.fi
  +..
  +.\" Set up some character translations and predefined strings.  \*(-- will
  +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  +.\" double quote, and \*(R" will give a right double quote.  | will give a
  +.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
  +.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
  +.\" expand to `' in nroff, nothing in troff, for use with C<>.
  +.tr \(*W-|\(bv\*(Tr
  +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  +.ie n \{\
  +.    ds -- \(*W-
  +.    ds PI pi
  +.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
  +.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
  +.    ds L" ""
  +.    ds R" ""
  +.    ds C` 
  +.    ds C' 
  +'br\}
  +.el\{\
  +.    ds -- \|\(em\|
  +.    ds PI \(*p
  +.    ds L" ``
  +.    ds R" ''
  +'br\}
  +.\"
  +.\" If the F register is turned on, we'll generate index entries on stderr for
  +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
  +.\" entries marked with X<> in POD.  Of course, you'll have to process the
  +.\" output yourself in some meaningful fashion.
  +.if \nF \{\
  +.    de IX
  +.    tm Index:\\$1\t\\n%\t"\\$2"
  +..
  +.    nr % 0
  +.    rr F
  +.\}
  +.\"
  +.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  +.\" way too many mistakes in technical documents.
  +.hy 0
  +.if n .na
  +.\"
  +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  +.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
  +.    \" fudge factors for nroff and troff
  +.if n \{\
  +.    ds #H 0
  +.    ds #V .8m
  +.    ds #F .3m
  +.    ds #[ \f1
  +.    ds #] \fP
  +.\}
  +.if t \{\
  +.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  +.    ds #V .6m
  +.    ds #F 0
  +.    ds #[ \&
  +.    ds #] \&
  +.\}
  +.    \" simple accents for nroff and troff
  +.if n \{\
  +.    ds ' \&
  +.    ds ` \&
  +.    ds ^ \&
  +.    ds , \&
  +.    ds ~ ~
  +.    ds /
  +.\}
  +.if t \{\
  +.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  +.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  +.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  +.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  +.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  +.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  +.\}
  +.    \" troff and (daisy-wheel) nroff accents
  +.ds : 
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  +.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  +.ds ae a\h'-(\w'a'u*4/10)'e
  +.ds Ae A\h'-(\w'A'u*4/10)'E
  +.    \" corrections for vroff
  +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  +.    \" for low resolution devices (crt and lpr)
  +.if \n(.H>23 .if \n(.V>19 \
  +\{\
  +.    ds : e
  +.    ds 8 ss
  +.    ds o a
  +.    ds d- d\h'-1'\(ga
  +.    ds D- D\h'-1'\(hy
  +.    ds th \o'bp'
  +.    ds Th \o'LP'
  +.    ds ae ae
  +.    ds Ae AE
  +.\}
  +.rm #[ #] #H #V #F C
  +.\" ========================================================================
  +.\"
  +.IX Title "OPENPKG-BUILD 1"
  +.TH OPENPKG-BUILD 1 "2004-02-17" "openpkg-build" "OpenPKG Maintenance"
  +.SH "NAME"
  +\&\fBopenpkg build\fR \- \fBOpenPKG\fR Maintenance Tool (Building)
  +.SH "VERSION"
  +.IX Header "VERSION"
  +openpkg build XX-VERSION-XX
  +.SH "SYNOPSIS"
  +.IX Header "SYNOPSIS"
  +\&\fBopenpkg\fR 
  +\&\fBbuild\fR 
  +[\fB\-R\fR \fIrpm\fR]
  +[\fB\-r\fR \fIrepository\fR]
  +[\fB\-f\fR \fIindex.rdf\fR]
  +[\fB\-u\fR] 
  +[\fB\-U\fR] 
  +[\fB\-z\fR]
  +[\fB\-Z\fR]
  +[\fB\-i\fR]
  +[\fB\-q\fR]
  +[\fB\-s\fR]
  +[\fB\-S\fR]
  +[\fB\-M\fR]
  +[\fB\-L\fR]
  +[\fB\-W\fR]
  +[\fB\-X\fR]
  +[\fB\-K\fR]
  +[\fB\-e\fR]
  +[\fB\-b\fR]
  +[\fB\-B\fR]
  +[\fB\-G\fR]
  +[\fB\-P\fR \fIpriv-cmd\fR]
  +[\fB\-N\fR \fInon-priv-cmd\fR]
  +[\fB\-p\fR \fIplatform\fR]
  +[\fB\-D\fR\fIvar\fR=\fIval\fR ...]
  +[\fB\-E\fR \fIname\fR ...]
  +[\fB\-H\fR \fIname\fR ...]
  +([\fB\-a\fR] [\fB\-A\fR] | \fIpatternlist\fR)
  +.SH "DESCRIPTION"
  +.IX Header "DESCRIPTION"
  +The \fBopenpkg build\fR tool provides automated recursive from-scratch
  +installation and updating of existing \s-1RPM\s0 packages (\fBopenpkg build\fR).
  +It writes a shell script to standard output that installs or upgrades
  +software packages including all dependencies. Packages that are upgraded
  +automatically trigger rebuilds of all packages that depend on the
  +upgraded package (\*(L"reverse dependencies\*(R"). The dependency information is
  +read from an index generated by \fBopenpkg index\fR.
  +.PP
  +Packages are selected by providing a list of name patterns. Each
  +pattern is either a package name or a prefix followed by a '*'
  +character. Additionally you can append a discrimination prefix separated
  +by a comma that matches against the full name-version-revision
  +string.
  +.SH "OPTIONS"
  +.IX Header "OPTIONS"
  +The following command line options exist:
  +.IP "\fB\-R\fR \fIrpm\fR" 4
  +.IX Item "-R rpm"
  +Specify a path to the installed \fBOpenPKG\fR \f(CW\*(C`rpm\*(C'\fR command. Several
  +other internal paths are deduced from the \fIrpm\fR path, so this should be
  +something like "\fI%{l_prefix}\fR\f(CW\*(C`/bin/openpkg rpm\*(C'\fR".
  +.IP "\fB\-r\fR \fIrepository\fR" 4
  +.IX Item "-r repository"
  +Specify a path to an \s-1RPM\s0 repository, this can be a \s-1URL\s0 or a directory
  +path. The name of the package file is appended to this path.
  +The default is to use a \s-1URL\s0 pointing to the \fBOpenPKG\fR \s-1FTP\s0 server.
  +.IP "\fB\-f\fR \fIindex.rdf\fR" 4
  +.IX Item "-f index.rdf"
  +Specify a path to the primary \s-1XML/RDF\s0 index, this can be a \s-1URL\s0 or a
  +file path. If the index contains references to other indexes these are
  +included automatically. The default is to use a \s-1URL\s0 pointing to the
  +\&\fBOpenPKG\fR \s-1FTP\s0 server for the \fBOpenPKG\fR release you are using.
  +.IP "\fB\-u\fR" 4
  +.IX Item "-u"
  +The generated script will ignore binary RPMs that are stored on
  +your system. Instead it will either fetch binary RPMs or rebuild
  +from source RPMs fetched from the repository.
  +.IP "\fB\-U\fR" 4
  +.IX Item "-U"
  +The generated script will try to upgrade all selected packages
  +including their dependencies to the most recent version.
  +.IP "\fB\-z\fR" 4
  +.IX Item "-z"
  +The generated script will rebuild all selected packages
  +including their dependencies even when the most recent version
  +is already installed.
  +.IP "\fB\-Z\fR" 4
  +.IX Item "-Z"
  +\&\fBopenpkg build\fR ignores all installed packages, the
  +script will rebuild all selected packages from scratch. 
  +Note that this doesn't work together with the \fB\-a\fR option.
  +.IP "\fB\-i\fR" 4
  +.IX Item "-i"
  +The generated script will ignore errors. However, if a build
  +phase fails the install phase is still skipped.
  +.IP "\fB\-q\fR" 4
  +.IX Item "-q"
  +Ignore all reverse dependencies.
  +\&\fI\s-1ATTENTION:\s0 this might break already installed packages!\fR
  +.IP "\fB\-s\fR" 4
  +.IX Item "-s"
  +Print a status map instead of the install script. The map consists
  +of 3 columns: \*(L"old\*(R", \*(L"tag\*(R" and \*(L"new\*(R". \*(L"old\*(R" shows 
the installed
  +version of a package or just the package name if no package of
  +that name is installed and \*(L"new\*(R" shows the repository version
  +of a package if it is considered for installation. \*(L"tag\*(R" has the
  +following possible values:
  +.RS 4
  +.IP "\s-1OK\s0" 4
  +.IX Item "OK"
  +The installed package is suitable and will not be touched.
  +.IP "\s-1ADD\s0" 4
  +.IX Item "ADD"
  +There is no installed package yet.
  +.IP "\s-1UPGRADE\s0" 4
  +.IX Item "UPGRADE"
  +The installed package is outdated and requires an update.
  +.IP "\s-1DEPEND\s0" 4
  +.IX Item "DEPEND"
  +The installed package needs rebuilding because one of its
  +dependencies is rebuilt.
  +.IP "\s-1MISMATCH\s0" 4
  +.IX Item "MISMATCH"
  +The installed package needs rebuilding because it was build
  +with different parameters.
  +.IP "\s-1CONFLICT\s0" 4
  +.IX Item "CONFLICT"
  +The required new package cannot be installed because it
  +conflicts with some already installed package.
  +.IP "\s-1UNDEF\s0" 4
  +.IX Item "UNDEF"
  +The package has an invalid or ambiguous dependency.
  +.RE
  +.RS 4
  +.RE
  +.IP "\fB\-S\fR" 4
  +.IX Item "-S"
  +Similar to \fB\-s\fR but also lists the newest versions in the
  +repository. The following tag might appear in the map.
  +.RS 4
  +.IP "\s-1NEW\s0" 4
  +.IX Item "NEW"
  +The package exists in the repository but isn't required yet.
  +.RE
  +.RS 4
  +.RE
  +.IP "\fB\-M\fR" 4
  +.IX Item "-M"
  +Similar to \fB\-s\fR but print a short dependency map.
  +.IP "\fB\-L\fR" 4
  +.IX Item "-L"
  +Print a list of packages in the repository that depend on the target.
  +.IP "\fB\-W\fR" 4
  +.IX Item "-W"
  +Include all conditional dependencies as if all possible configuration
  +options had been switched on. This has little use except for generating
  +an all-inclusive list with the \fB\-L\fR option.
  +\&\fI\s-1ATTENTION:\s0 Even mutually exclusive options are evaluated to be 'on',
  +building packages with \f(BI\-W\fI therefore might fail or cause unusable
  +results!\fR
  +.IP "\fB\-X\fR" 4
  +.IX Item "-X"
  +Ignore an installed \s-1XML\s0 parser module but use the internal
  +simple text parser instead.
  +.IP "\fB\-K\fR" 4
  +.IX Item "-K"
  +Keep packages that were installed temporarily during the build process.
  +.IP "\fB\-e\fR" 4
  +.IX Item "-e"
  +Rebuild exact version from repository even when you have installed
  +a newer version from another repository.
  +.IP "\fB\-b\fR" 4
  +.IX Item "-b"
  +Wrap rebuild commands with build-time check for existing binary packages
  +if the package is rebuilt as a dependency. This is best to use with
  +\&\fB\-u\fR to defer all such checks until build\-time.
  +.IP "\fB\-B\fR" 4
  +.IX Item "-B"
  +Same as \-b but also check all packages for existing binary packages
  +at run\-time.
  +.IP "\fB\-g\fR" 4
  +.IX Item "-g"
  +The generated script will rebuild all packages selected even when the
  +most recent version is already installed. Dependencies are not affected.
  +.IP "\fB\-P\fR \fIpriv-cmd\fR" 4
  +.IX Item "-P priv-cmd"
  +Command prefix to use for install commands that require elevated
  +privileges. The most common tool for this is \fIsudo\fR\|(8). If \fIpriv-cmd\fR
  +starts with a dash it will be run without the dash and the command
  +line it should execute is passed as a single quoted string.
  +.IP "\fB\-N\fR \fInon-priv-cmd\fR" 4
  +.IX Item "-N non-priv-cmd"
  +Command prefix to use for install commands that do not require elevated
  +privileges. The most common tool for this is \fIsudo\fR\|(8). If \fIpriv-cmd\fR
  +starts with a dash it will be run without the dash and the command
  +line it should execute is passed as a single quoted string.
  +.IP "\fB\-p\fR \fIplatform\fR" 4
  +.IX Item "-p platform"
  +The platform string that is matched against the index for binary
  +packages. Default is an empty string so that no binary packages
  +are matched.
  +.IP "\fB\-D\fR\fIvar\fR=\fIval\fR" 4
  +.IX Item "-Dvar=val"
  +Specify configuration options for selected packages. This can be
  +either \fB\-D\fR\fIwith_xxx\fR=\fIyyy\fR or just \fB\-D\fR\fIwith_xxx\fR, the
  +latter is equivalent to a \fB\-D\fR\fIwith_xxx\fR=\fIyes\fR. The parameters
  +are matched against selected packages that are already installed. If
  +they do indicate a change, the package is rebuild. There can be multiple
  +\&\fB\-D\fR options.
  +.Sp
  +If the option name is prefixed with a package name followed by two colons
  +then it applies only to the specified package. E.g. 
\fB\-D\fR\fIgcc::with_binutils\fR.
  +.IP "\fB\-E\fR \fIname\fR" 4
  +.IX Item "-E name"
  +Ignore a package with the specified \fIname\fR. This can be used to avoid
  +upgrading to a broken package in the repository. There can be multiple
  +\&\fB\-E\fR options.
  +.IP "\fB\-H\fR \fIname\fR" 4
  +.IX Item "-H name"
  +Hint about packages that should be preferred when more than one fits
  +a requirement. There can be multiple \fB\-E\fR options.
  +.IP "\fB\-a\fR" 4
  +.IX Item "-a"
  +Select all installed packages. Do not specify a pattern list together
  +with the \fB\-a\fR option.
  +.IP "\fB\-A\fR" 4
  +.IX Item "-A"
  +Select all packages in the repository. Do not specify a pattern list together
  +with the \fB\-A\fR option.
  +.SH "CONFIGURATION"
  +.IX Header "CONFIGURATION"
  +\&\fBopenpkg build\fR reads the configuration file \fI$HOME/.openpkg/build\fR.
  +The file lists default options, one option per line and section tags
  +of the form \f(CW\*(C`[\*(C'\fR\fIprefix\fR\f(CW\*(C`]\*(C'\fR. Options following 
such a tag are only
  +evaluated if the selected \s-1RPM\s0 path matches the prefix so that you can
  +define default options for multiple \fBOpenPKG\fR hierarchies.
  +.SH "CAVEATS"
  +.IX Header "CAVEATS"
  +Parallel execution of \fBopenpkg build\fR causes undefined effects.
  +.SH "SEE ALSO"
  +.IX Header "SEE ALSO"
  +\&\fIrpm\fR\|(8), \fIsudo\fR\|(8)
  +.SH "HISTORY"
  +.IX Header "HISTORY"
  +The \fBopenpkg build\fR command was invented in November 2002 by \fIMichael
  +van Elst\fR <[EMAIL PROTECTED]> under contract with \fICable
  +& Wireless\fR <http://www.cw.com/> for use inside the \fBOpenPKG\fR
  +project <http://www.openpkg.org/>.
  +.SH "AUTHORS"
  +.IX Header "AUTHORS"
  +.Vb 2
  +\& Michael van Elst
  +\& [EMAIL PROTECTED]
  +.Ve
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-build.pl
  ============================================================================
  $ cvs diff -u -r1.99 -r1.100 openpkg-build.pl
  --- openpkg-src/openpkg-tool/openpkg-build.pl 26 Aug 2003 14:41:36 -0000      1.99
  +++ openpkg-src/openpkg-tool/openpkg-build.pl 17 Feb 2004 13:22:54 -0000      1.100
  @@ -155,7 +155,9 @@
   
   my($RPM,$CURL,$PROG);
   
  -$RPM = $opt_R || $env{''}->{'R'} || '@l_prefix@/bin/rpm';
  +$RPM = $opt_R || $env{''}->{'R'} ||
  +    ((-f "@l_prefix@/bin/openpkg" && -f "@l_prefix@/libexec/rpm") ?
  +    "@l_prefix@/bin/openpkg rpm" : "@l_prefix@/bin/rpm");
   $RPM = (`which $RPM` =~ m{^(/.*)})[0] if ($RPM !~ m|^/|);
   die "FATAL: cannot locate rpm in path\n" unless $RPM =~ m{^/};
   
  @@ -167,7 +169,7 @@
   }
   
   $CURL = $RPM;
  -$CURL =~ s/\/bin\/rpm$/\/lib\/openpkg\/curl/
  +$CURL =~ s/\/bin\/(openpkg )?rpm$/\/lib\/openpkg\/curl/
       or die "FATAL: cannot deduce curl path from $RPM\n";
   
   ($PROG) = $0 =~ /(?:.*\/)?(.*)/;
  @@ -1063,7 +1065,7 @@
       $fetch = defined $fn ? $fn : $url;
   
       $bzip2 = $RPM;
  -    $bzip2 =~ s/bin\/rpm$/lib\/openpkg\/bzip2/
  +    $bzip2 =~ s/bin\/(openpkg )?rpm$/lib\/openpkg\/bzip2/
           or die "FATAL: cannot deduce bzip2 path from $RPM\n";
   
       $fetch !~ /\.bz2$/ || -x $bzip2
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-build.pod
  ============================================================================
  $ cvs diff -u -r0 -r1.1 openpkg-build.pod
  --- /dev/null 2004-02-17 14:22:54.000000000 +0100
  +++ openpkg-build.pod 2004-02-17 14:22:54.000000000 +0100
  @@ -0,0 +1,330 @@
  +##
  +##  openpkg.pod -- OpenPKG Maintenance Tool (manual page)
  +##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2003 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +=pod
  +
  +=head1 NAME
  +
  +B<openpkg build> - B<OpenPKG> Maintenance Tool (Building)
  +
  +=head1 VERSION
  +
  +openpkg build XX-VERSION-XX
  +
  +=head1 SYNOPSIS
  +
  +B<openpkg> 
  +B<build> 
  +[B<-R> I<rpm>]
  +[B<-r> I<repository>]
  +[B<-f> I<index.rdf>]
  +[B<-u>] 
  +[B<-U>] 
  +[B<-z>]
  +[B<-Z>]
  +[B<-i>]
  +[B<-q>]
  +[B<-s>]
  +[B<-S>]
  +[B<-M>]
  +[B<-L>]
  +[B<-W>]
  +[B<-X>]
  +[B<-K>]
  +[B<-e>]
  +[B<-b>]
  +[B<-B>]
  +[B<-G>]
  +[B<-P> I<priv-cmd>]
  +[B<-N> I<non-priv-cmd>]
  +[B<-p> I<platform>]
  +[B<-D>I<var>=I<val> ...]
  +[B<-E> I<name> ...]
  +[B<-H> I<name> ...]
  +([B<-a>] [B<-A>] | I<patternlist>)
  +
  +=head1 DESCRIPTION
  +
  +The B<openpkg build> tool provides automated recursive from-scratch
  +installation and updating of existing RPM packages (B<openpkg build>).
  +It writes a shell script to standard output that installs or upgrades
  +software packages including all dependencies. Packages that are upgraded
  +automatically trigger rebuilds of all packages that depend on the
  +upgraded package ("reverse dependencies"). The dependency information is
  +read from an index generated by B<openpkg index>.
  +
  +Packages are selected by providing a list of name patterns. Each
  +pattern is either a package name or a prefix followed by a '*'
  +character. Additionally you can append a discrimination prefix separated
  +by a comma that matches against the full name-version-revision
  +string.
  +
  +=head1 OPTIONS
  +
  +The following command line options exist:
  +
  +=over 4
  +
  +=item B<-R> I<rpm>
  +
  +Specify a path to the installed B<OpenPKG> C<rpm> command. Several
  +other internal paths are deduced from the I<rpm> path, so this should be
  +something like "I<%{l_prefix}>C</bin/openpkg rpm>".
  +
  +=item B<-r> I<repository>
  +
  +Specify a path to an RPM repository, this can be a URL or a directory
  +path. The name of the package file is appended to this path.
  +The default is to use a URL pointing to the B<OpenPKG> FTP server.
  +
  +=item B<-f> I<index.rdf>
  +
  +Specify a path to the primary XML/RDF index, this can be a URL or a
  +file path. If the index contains references to other indexes these are
  +included automatically. The default is to use a URL pointing to the
  +B<OpenPKG> FTP server for the B<OpenPKG> release you are using.
  +
  +=item B<-u>
  +
  +The generated script will ignore binary RPMs that are stored on
  +your system. Instead it will either fetch binary RPMs or rebuild
  +from source RPMs fetched from the repository.
  +
  +=item B<-U>
  +
  +The generated script will try to upgrade all selected packages
  +including their dependencies to the most recent version.
  +
  +=item B<-z>
  +
  +The generated script will rebuild all selected packages
  +including their dependencies even when the most recent version
  +is already installed.
  +
  +=item B<-Z>
  +
  +B<openpkg build> ignores all installed packages, the
  +script will rebuild all selected packages from scratch. 
  +Note that this doesn't work together with the B<-a> option.
  +
  +=item B<-i>
  +
  +The generated script will ignore errors. However, if a build
  +phase fails the install phase is still skipped.
  +
  +=item B<-q>
  +
  +Ignore all reverse dependencies.
  +I<ATTENTION: this might break already installed packages!>
  +
  +=item B<-s>
  +
  +Print a status map instead of the install script. The map consists
  +of 3 columns: "old", "tag" and "new". "old" shows the installed
  +version of a package or just the package name if no package of
  +that name is installed and "new" shows the repository version
  +of a package if it is considered for installation. "tag" has the
  +following possible values:
  +
  +=over 4
  +
  +=item OK
  +
  +The installed package is suitable and will not be touched.
  +
  +=item ADD
  +
  +There is no installed package yet.
  +
  +=item UPGRADE
  +
  +The installed package is outdated and requires an update.
  +
  +=item DEPEND
  +
  +The installed package needs rebuilding because one of its
  +dependencies is rebuilt.
  +
  +=item MISMATCH
  +
  +The installed package needs rebuilding because it was build
  +with different parameters.
  +
  +=item CONFLICT
  +
  +The required new package cannot be installed because it
  +conflicts with some already installed package.
  +
  +=item UNDEF
  +
  +The package has an invalid or ambiguous dependency.
  +
  +=back
  +
  +=item B<-S>
  +
  +Similar to B<-s> but also lists the newest versions in the
  +repository. The following tag might appear in the map.
  +
  +=over 4
  +
  +=item NEW
  +
  +The package exists in the repository but isn't required yet.
  +
  +=back
  +
  +=item B<-M>
  +
  +Similar to B<-s> but print a short dependency map.
  +
  +=item B<-L>
  +
  +Print a list of packages in the repository that depend on the target.
  +
  +=item B<-W>
  +
  +Include all conditional dependencies as if all possible configuration
  +options had been switched on. This has little use except for generating
  +an all-inclusive list with the B<-L> option.
  +I<ATTENTION: Even mutually exclusive options are evaluated to be 'on',
  +building packages with B<-W> therefore might fail or cause unusable
  +results!>
  +
  +=item B<-X>
  +
  +Ignore an installed XML parser module but use the internal
  +simple text parser instead.
  +
  +=item B<-K>
  +
  +Keep packages that were installed temporarily during the build process.
  +
  +=item B<-e>
  +
  +Rebuild exact version from repository even when you have installed
  +a newer version from another repository.
  +
  +=item B<-b>
  +
  +Wrap rebuild commands with build-time check for existing binary packages
  +if the package is rebuilt as a dependency. This is best to use with
  +B<-u> to defer all such checks until build-time.
  +
  +=item B<-B>
  +
  +Same as -b but also check all packages for existing binary packages
  +at run-time.
  +
  +=item B<-g>
  +
  +The generated script will rebuild all packages selected even when the
  +most recent version is already installed. Dependencies are not affected.
  +
  +=item B<-P> I<priv-cmd>
  +
  +Command prefix to use for install commands that require elevated
  +privileges. The most common tool for this is sudo(8). If I<priv-cmd>
  +starts with a dash it will be run without the dash and the command
  +line it should execute is passed as a single quoted string.
  +
  +=item B<-N> I<non-priv-cmd>
  +
  +Command prefix to use for install commands that do not require elevated
  +privileges. The most common tool for this is sudo(8). If I<priv-cmd>
  +starts with a dash it will be run without the dash and the command
  +line it should execute is passed as a single quoted string.
  +
  +=item B<-p> I<platform>
  +
  +The platform string that is matched against the index for binary
  +packages. Default is an empty string so that no binary packages
  +are matched.
  +
  +=item B<-D>I<var>=I<val>
  +
  +Specify configuration options for selected packages. This can be
  +either B<-D>I<with_xxx>=I<yyy> or just B<-D>I<with_xxx>, the
  +latter is equivalent to a B<-D>I<with_xxx>=I<yes>. The parameters
  +are matched against selected packages that are already installed. If
  +they do indicate a change, the package is rebuild. There can be multiple
  +B<-D> options.
  +
  +If the option name is prefixed with a package name followed by two colons
  +then it applies only to the specified package. E.g. B<-D>I<gcc::with_binutils>.
  +
  +=item B<-E> I<name>
  +
  +Ignore a package with the specified I<name>. This can be used to avoid
  +upgrading to a broken package in the repository. There can be multiple
  +B<-E> options.
  +
  +=item B<-H> I<name>
  +
  +Hint about packages that should be preferred when more than one fits
  +a requirement. There can be multiple B<-E> options.
  +
  +=item B<-a>
  +
  +Select all installed packages. Do not specify a pattern list together
  +with the B<-a> option.
  +
  +=item B<-A>
  +
  +Select all packages in the repository. Do not specify a pattern list together
  +with the B<-A> option.
  +
  +=back
  +
  +=head1 CONFIGURATION
  +
  +B<openpkg build> reads the configuration file I<$HOME/.openpkg/build>.
  +The file lists default options, one option per line and section tags
  +of the form C<[>I<prefix>C<]>. Options following such a tag are only
  +evaluated if the selected RPM path matches the prefix so that you can
  +define default options for multiple B<OpenPKG> hierarchies.
  +
  +=head1 CAVEATS
  +
  +Parallel execution of B<openpkg build> causes undefined effects.
  +
  +=head1 SEE ALSO
  +
  +rpm(8), sudo(8)
  +
  +=head1 HISTORY
  +
  +The B<openpkg build> command was invented in November 2002 by I<Michael
  +van Elst> E<lt>[EMAIL PROTECTED]<gt> under contract with I<Cable
  +& Wireless> E<lt>http://www.cw.com/E<gt> for use inside the B<OpenPKG>
  +project E<lt>http://www.openpkg.org/E<gt>.
  +
  +=head1 AUTHORS
  +
  + Michael van Elst
  + [EMAIL PROTECTED]
  +
  +=cut
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-index.1
  ============================================================================
  $ cvs diff -u -r0 -r1.1 openpkg-index.1
  --- /dev/null 2004-02-17 14:22:54.000000000 +0100
  +++ openpkg-index.1   2004-02-17 14:22:54.000000000 +0100
  @@ -0,0 +1,204 @@
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\"
  +.\" Standard preamble:
  +.\" ========================================================================
  +.de Sh \" Subsection heading
  +.br
  +.if t .Sp
  +.ne 5
  +.PP
  +\fB\\$1\fR
  +.PP
  +..
  +.de Sp \" Vertical space (when we can't use .PP)
  +.if t .sp .5v
  +.if n .sp
  +..
  +.de Vb \" Begin verbatim text
  +.ft CW
  +.nf
  +.ne \\$1
  +..
  +.de Ve \" End verbatim text
  +.ft R
  +.fi
  +..
  +.\" Set up some character translations and predefined strings.  \*(-- will
  +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  +.\" double quote, and \*(R" will give a right double quote.  | will give a
  +.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
  +.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
  +.\" expand to `' in nroff, nothing in troff, for use with C<>.
  +.tr \(*W-|\(bv\*(Tr
  +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  +.ie n \{\
  +.    ds -- \(*W-
  +.    ds PI pi
  +.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
  +.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
  +.    ds L" ""
  +.    ds R" ""
  +.    ds C` 
  +.    ds C' 
  +'br\}
  +.el\{\
  +.    ds -- \|\(em\|
  +.    ds PI \(*p
  +.    ds L" ``
  +.    ds R" ''
  +'br\}
  +.\"
  +.\" If the F register is turned on, we'll generate index entries on stderr for
  +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
  +.\" entries marked with X<> in POD.  Of course, you'll have to process the
  +.\" output yourself in some meaningful fashion.
  +.if \nF \{\
  +.    de IX
  +.    tm Index:\\$1\t\\n%\t"\\$2"
  +..
  +.    nr % 0
  +.    rr F
  +.\}
  +.\"
  +.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  +.\" way too many mistakes in technical documents.
  +.hy 0
  +.if n .na
  +.\"
  +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  +.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
  +.    \" fudge factors for nroff and troff
  +.if n \{\
  +.    ds #H 0
  +.    ds #V .8m
  +.    ds #F .3m
  +.    ds #[ \f1
  +.    ds #] \fP
  +.\}
  +.if t \{\
  +.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  +.    ds #V .6m
  +.    ds #F 0
  +.    ds #[ \&
  +.    ds #] \&
  +.\}
  +.    \" simple accents for nroff and troff
  +.if n \{\
  +.    ds ' \&
  +.    ds ` \&
  +.    ds ^ \&
  +.    ds , \&
  +.    ds ~ ~
  +.    ds /
  +.\}
  +.if t \{\
  +.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  +.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  +.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  +.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  +.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  +.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  +.\}
  +.    \" troff and (daisy-wheel) nroff accents
  +.ds : 
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  +.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  +.ds ae a\h'-(\w'a'u*4/10)'e
  +.ds Ae A\h'-(\w'A'u*4/10)'E
  +.    \" corrections for vroff
  +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  +.    \" for low resolution devices (crt and lpr)
  +.if \n(.H>23 .if \n(.V>19 \
  +\{\
  +.    ds : e
  +.    ds 8 ss
  +.    ds o a
  +.    ds d- d\h'-1'\(ga
  +.    ds D- D\h'-1'\(hy
  +.    ds th \o'bp'
  +.    ds Th \o'LP'
  +.    ds ae ae
  +.    ds Ae AE
  +.\}
  +.rm #[ #] #H #V #F C
  +.\" ========================================================================
  +.\"
  +.IX Title "OPENPKG-INDEX 1"
  +.TH OPENPKG-INDEX 1 "2004-02-17" "openpkg-index" "OpenPKG Maintenance"
  +.SH "NAME"
  +\&\fBopenpkg index\fR \- \fBOpenPKG\fR Maintenance Tool (Indexing)
  +.SH "VERSION"
  +.IX Header "VERSION"
  +openpkg index XX-VERSION-XX
  +.SH "SYNOPSIS"
  +.IX Header "SYNOPSIS"
  +\&\fBopenpkg\fR 
  +\&\fBindex\fR 
  +[\fB\-r\fR \fIresource\fR] 
  +[\fB\-p\fR \fIplatform\fR]
  +[\fB\-C\fR \fIcache.db\fR] 
  +[\fB\-o\fR \fIindex.rdf\fR] 
  +[\fB\-c\fR] 
  +[\fB\-i\fR] 
  +\&\fIdir\fR ...
  +.SH "DESCRIPTION"
  +.IX Header "DESCRIPTION"
  +The \fBopenpkg index\fR tool is a frontend for indexing of \s-1RPM\s0 files. It
  +creates an \s-1XML/RDF\s0 based resource index for \s-1RPM\s0 \fI.spec\fR files in a
  +source tree or from an \s-1RPM\s0 package repository. The index holds enough
  +information to support an automated build process by \fBopenpkg build\fR.
  +.SH "OPTIONS"
  +.IX Header "OPTIONS"
  +The following command line options exist:
  +.IP "\fB\-r\fR \fIresource\fR" 4
  +.IX Item "-r resource"
  +The name of the resource stored in the index. The default is
  +"\f(CW\*(C`OpenPKG\-CURRENT/Source/\*(C'\fR".
  +.IP "\fB\-p\fR \fIplatform\fR" 4
  +.IX Item "-p platform"
  +\&\fBopenpkg index\fR adds a platform attribute for binary RPMs. This
  +must be unique to correctly identify a specific architecture, \s-1OS\s0
  +and build environment.
  +.IP "\fB\-C\fR \fIcache.db\fR" 4
  +.IX Item "-C cache.db"
  +Cache all \fI.spec\fR files into this Berkeley-DB file when indexing source
  +RPMs. The cache is refreshed automatically when the source RPMs are more
  +recent than the cache entry. The \fB\-C\fR option requires an installed
  +DB_File perl module.
  +.IP "\fB\-o\fR \fIindex.rdf\fR" 4
  +.IX Item "-o index.rdf"
  +Name of the output \s-1XML/RDF\s0 file, default is to write to \fIstdout\fR.
  +.IP "\fB\-c\fR" 4
  +.IX Item "-c"
  +Compress output with \f(CW\*(C`bzip2\*(C'\fR. Use the \fB\-o\fR option to specify a 
\fI.bz2\fR
  +suffix.
  +.IP "\fB\-i\fR" 4
  +.IX Item "-i"
  +The specified directories are \s-1RPM\s0 repositories. Build index over
  +all \fI.rpm\fR files in these directories and all subdirectories.
  +If a subdirectory already contains a \f(CW\*(C`00INDEX.rdf\*(C'\fR or 
\f(CW\*(C`00INDEX.rdf.*\*(C'\fR
  +file then skip scanning the subdirectory, instead add a reference
  +to the index file into the new index.
  +.Sp
  +Without this option the directories are source trees with a subdirectory
  +per package and a \fIpackage\fR\f(CW\*(C`.spec\*(C'\fR file inside each 
subdirectory.
  +.SH "SEE ALSO"
  +.IX Header "SEE ALSO"
  +\&\fIrpm\fR\|(8).
  +.SH "HISTORY"
  +.IX Header "HISTORY"
  +The \fBopenpkg index\fR command was invented in November 2002 by \fIMichael
  +van Elst\fR <[EMAIL PROTECTED]> under contract with \fICable
  +& Wireless\fR <http://www.cw.com/> for use inside the \fBOpenPKG\fR
  +project <http://www.openpkg.org/>.
  +.SH "AUTHORS"
  +.IX Header "AUTHORS"
  +.Vb 2
  +\& Michael van Elst
  +\& [EMAIL PROTECTED]
  +.Ve
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-index.pl
  ============================================================================
  $ cvs diff -u -r1.21 -r1.22 openpkg-index.pl
  --- openpkg-src/openpkg-tool/openpkg-index.pl 2 Sep 2003 08:17:20 -0000       1.21
  +++ openpkg-src/openpkg-tool/openpkg-index.pl 17 Feb 2004 13:22:54 -0000      1.22
  @@ -35,8 +35,10 @@
   use DirHandle;
   
   my $l_prefix = '@l_prefix@';
  -my $RPM = "$l_prefix/bin/rpm";
  -my $R2C = "$l_prefix/bin/rpm2cpio";
  +my $RPM = ((-f "$l_prefix/bin/openpkg" && -f "$l_prefix/libexec/rpm") ?
  +          "$l_prefix/bin/openpkg rpm" : "$l_prefix/bin/rpm");
  +my $R2C = ((-f "$l_prefix/bin/openpkg" && -f "$l_prefix/libexec/rpm2cpio") ?
  +          "$l_prefix/bin/openpkg rpm2cpio" : "$l_prefix/bin/rpm2cpio");
   my $BZ  = "$l_prefix/lib/openpkg/bzip2 -9";
   
   #########################################################################
  @@ -935,7 +937,7 @@
   
   if ($#ARGV < 0) {
       print "openpkg:index:USAGE: $0 [-r resource] [-p platform] [-C cache.db] [-o 
index.rdf] [-c] [-i] dir ...\n";
  -    die "\n";
  +    exit(1);
   }
   
   if ($opt_C) {
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-index.pod
  ============================================================================
  $ cvs diff -u -r0 -r1.1 openpkg-index.pod
  --- /dev/null 2004-02-17 14:22:54.000000000 +0100
  +++ openpkg-index.pod 2004-02-17 14:22:54.000000000 +0100
  @@ -0,0 +1,118 @@
  +##
  +##  openpkg-index.pod -- OpenPKG Maintenance Tool (manual page)
  +##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2003 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +=pod
  +
  +=head1 NAME
  +
  +B<openpkg index> - B<OpenPKG> Maintenance Tool (Indexing)
  +
  +=head1 VERSION
  +
  +openpkg index XX-VERSION-XX
  +
  +=head1 SYNOPSIS
  +
  +B<openpkg> 
  +B<index> 
  +[B<-r> I<resource>] 
  +[B<-p> I<platform>]
  +[B<-C> I<cache.db>] 
  +[B<-o> I<index.rdf>] 
  +[B<-c>] 
  +[B<-i>] 
  +I<dir> ...
  +
  +=head1 DESCRIPTION
  +
  +The B<openpkg index> tool is a frontend for indexing of RPM files. It
  +creates an XML/RDF based resource index for RPM F<.spec> files in a
  +source tree or from an RPM package repository. The index holds enough
  +information to support an automated build process by B<openpkg build>.
  +
  +=head1 OPTIONS
  +
  +The following command line options exist:
  +
  +=over 4
  +
  +=item B<-r> I<resource>
  +
  +The name of the resource stored in the index. The default is
  +"C<OpenPKG-CURRENT/Source/>".
  +
  +=item B<-p> I<platform>
  +
  +B<openpkg index> adds a platform attribute for binary RPMs. This
  +must be unique to correctly identify a specific architecture, OS
  +and build environment.
  +
  +=item B<-C> I<cache.db>
  +
  +Cache all F<.spec> files into this Berkeley-DB file when indexing source
  +RPMs. The cache is refreshed automatically when the source RPMs are more
  +recent than the cache entry. The B<-C> option requires an installed
  +DB_File perl module.
  +
  +=item B<-o> I<index.rdf>
  +
  +Name of the output XML/RDF file, default is to write to F<stdout>.
  +
  +=item B<-c>
  +
  +Compress output with C<bzip2>. Use the B<-o> option to specify a F<.bz2>
  +suffix.
  +
  +=item B<-i>
  +
  +The specified directories are RPM repositories. Build index over
  +all F<.rpm> files in these directories and all subdirectories.
  +If a subdirectory already contains a C<00INDEX.rdf> or C<00INDEX.rdf.*>
  +file then skip scanning the subdirectory, instead add a reference
  +to the index file into the new index.
  +
  +Without this option the directories are source trees with a subdirectory
  +per package and a I<package>C<.spec> file inside each subdirectory.
  +
  +=back
  +
  +=head1 SEE ALSO
  +
  +rpm(8).
  +
  +=head1 HISTORY
  +
  +The B<openpkg index> command was invented in November 2002 by I<Michael
  +van Elst> E<lt>[EMAIL PROTECTED]<gt> under contract with I<Cable
  +& Wireless> E<lt>http://www.cw.com/E<gt> for use inside the B<OpenPKG>
  +project E<lt>http://www.openpkg.org/E<gt>.
  +
  +=head1 AUTHORS
  +
  + Michael van Elst
  + [EMAIL PROTECTED]
  +
  +=cut
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-tool.spec
  ============================================================================
  $ cvs diff -u -r1.81 -r1.82 openpkg-tool.spec
  --- openpkg-src/openpkg-tool/openpkg-tool.spec        5 Feb 2004 22:31:13 -0000      
 1.81
  +++ openpkg-src/openpkg-tool/openpkg-tool.spec        17 Feb 2004 13:22:54 -0000     
 1.82
  @@ -33,22 +33,23 @@
   Class:        PLUS
   Group:        Bootstrapping
   License:      GPL
  -Version:      20040205
  -Release:      20040205
  +Version:      20040217
  +Release:      20040217
   
   #   list of sources
  -Source0:      openpkg.sh
  -Source1:      openpkg-index.pl
  -Source2:      openpkg-build.pl
  -Source3:      openpkg.pod
  -Source4:      openpkg.1
  -Source5:      Makefile
  +Source0:      openpkg-index.pl
  +Source1:      openpkg-index.pod
  +Source2:      openpkg-index.1
  +Source3:      openpkg-build.pl
  +Source4:      openpkg-build.pod
  +Source5:      openpkg-build.1
  +Source6:      Makefile
   
   #   build information
   Prefix:       %{l_prefix}
   BuildRoot:    %{l_buildroot}
  -BuildPreReq:  OpenPKG, openpkg
  -PreReq:       OpenPKG, openpkg
  +BuildPreReq:  OpenPKG, openpkg >= 20040217
  +PreReq:       OpenPKG, openpkg >= 20040217
   AutoReq:      no
   AutoReqProv:  no
   
  @@ -66,27 +67,26 @@
   %install
       rm -rf $RPM_BUILD_ROOT
       %{l_shtool} mkdir -f -p -m 755 \
  -        $RPM_BUILD_ROOT%{l_prefix}/bin \
  -        $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg \
  -        $RPM_BUILD_ROOT%{l_prefix}/man/man1
  -    %{l_shtool} install -c -m 755 \
  -        -e 's;@openpkg_tool_prefix@;%{l_prefix};g' \
  -        -e 's;@version@;%{version};g' \
  -        %{SOURCE openpkg.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/openpkg
  -    %{l_shtool} install -c -m 644 \
  -        -e 's;XX-VERSION-XX;%{version};g' \
  -        %{SOURCE openpkg.1} $RPM_BUILD_ROOT%{l_prefix}/man/man1/
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg
       %{l_shtool} install -c -m 755 \
           -e 's;@l_prefix@;%{l_prefix};g' \
           %{SOURCE openpkg-index.pl} \
  -        $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.pl
       %{l_shtool} install -c -m 755 \
           -e 's;@l_prefix@;%{l_prefix};g' \
           %{SOURCE openpkg-build.pl} \
  -        $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.pl
  +    %{l_shtool} install -c -m 644 \
  +        -e 's;XX-VERSION-XX;%{version};g' \
  +        %{SOURCE openpkg-index.1} \
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/index.1
  +    %{l_shtool} install -c -m 644 \
  +        -e 's;XX-VERSION-XX;%{version};g' \
  +        %{SOURCE openpkg-build.1} \
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/build.1
       %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
           %{l_files_std} \
  -        '%not %dir %{l_prefix}/lib/openpkg'
  +        '%not %dir %{l_prefix}/libexec/openpkg'
   
   %files -f files
   
  @@ .
  rm -f openpkg-src/openpkg-tool/openpkg.1 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg.1
  ============================================================================
  [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED]
  @@ .
  rm -f openpkg-src/openpkg-tool/openpkg.pod <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg.pod
  ============================================================================
  [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED]
  @@ .
  rm -f openpkg-src/openpkg-tool/openpkg.sh <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg.sh
  ============================================================================
  [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED]
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to