As said before, I am trying to create a central build server for
OpenPKG 1.2 that is meant to serve binary RPMs. The clients will be a
bunch of Suns running Solaris 9 and should alert me if there are
updates for rpms they have installed.

If anyone has an infrastructure in place that does this, please speak
up! At least I did not got very far with any of the tools available
for rpm based Linux Distributions: yum, autorpm, current/up2date,
autoupdate, grab. (Most of them  either require rpmlib or rpm-python.)
So I decided to give openpkg-tool a shot.

I've read the man page a dozen time, tried to build a few index files
and test for updates against them. Unfortunately I am quite confused
now.

>From "man openpkg":

     openpkg index creates an XML/RDF based resource index for
     RPM .spec files in a source tree or from an RPM package
     repository.

So I this is what I need for my first step: an INDEX out of which the
build host can tell whether any packages need to be rebuilt. (The
second step would be an index over all binaries that the clients could
use). I want an index of binary rpms for Solaris 2.9, so I need

-p solaris-2.9

To start with I would like openpkg to tell me when there are updates
that I haven't built yet, so I need a combined index of BIN and UPD.
(I wanted to add my own dir UPD-BIN later). /export/openpkg contains a
fresh mirror of release/1.2, where BIN is from sparc64-solaris9. "man
openpkg" says

     -i  The specified directories are RPM repositories. Build
         index over all .rpm files in these directories and all
         subdirectories. If a subdirectory already contains a
         00INDEX.rdf or 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 package.spec file
         inside each subdirectory.

Two points here:

- I need to specify my directories with "-i", since they contain
binary pakckages and not a source tree. (second paragraph).

- My index file should be small: it should only contain references to
the two instances of 00INDEX.RDF.bz2 that are provided with the
distribution.

Hence I tried:

$openpkg index -p solaris-2.9 -o ./BIN-UPD-INDEX.rdf -i
/export/openpkg/BIN /export/openpkg/UPD

This yields "Broken Pipe" 11 times. I guess I haven't installed some
tool openpkg needs. Any idea what the reason could be?

Secondly, BIN+UPD-INDEX.rdf is huge, contains lots of rpm entries and
and I cannot find a reference to the existing 00INDEXes.

To track down where the problem is creeping in, I tried

openpkg index -p solaris-2.9 -o ./BIN-INDEX.rdf.bz2 -c -i
/export/openpkg/BIN
which builds an index nicely (again: full index, no references) and

openpkg build -f BIN-INDEX.rdf.bz2 -p solaris-2.9 -s -a | grep -v "^#"

Tells me (without surprise) that all installed packages are OK. To
check wheter the "Broken Pipe" messages were perhaps harmless, I tried

openpkg build -f BIN+UPD-INDEX.rdf.bz2 -p solaris-2.9 -s -a | grep -v
"^#"

This also tells me that all installed packages are OK. But clearly the
version of squid installed is old

$rpm -q squid
squid-2.5.1-1.2.0

whereas

$ls -1 /export/openpkg/UPD/squid*
/export/openpkg/UPD/squid-2.5.1-1.2.1.src.rpm

Now my final questions are:

How do I get the UPD into an index so that I can check that I have to
rebuild packages?

Am I completely on the wrong track and should I look for a completely
different tool for the job?

Thanks for reading this far.

Cheers,
Ingo

______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      [EMAIL PROTECTED]

Reply via email to