speeding repository rebuild (compared to yum)

Marc MERLIN <[email protected]> Tue, 7 Sep 2004 09:51:37 -0700
Newsgroups gmane.linux.conectiva.apt-rpm
Message-ID <[email protected]>
Hi,

Having been a debian user for a while, when apt-rpm came out, it was the
obvious choice for me when I built a repository (and yum was still new back
then)

My problem is that I now have 600+ contrib RPMs that I maintain in
a tree, and every time I add one, the rebuild takes 20-30mn (which is not
as bad as rebuilding the RH9 pository when they were still coming out with
updates, as that rebuild would take about 1H with the 1000+ RPMs)

My understanding is that the index rebuild opens up all the RPMs, and
computes all the dependencies then, which is why it takes that long.
However, I've also been told that yum extract the metadata and puts it into
a different file, allowing clients to download that and do the dependency
processing on their side.
Considering that a yum repository update then runs almost instantly (i.e for
as long as it takes to take out the metadata out of whatever new RPMs you
installed), that's quite appealing.

Right now, I'm running genbasedir as such:
genbasedir --flat --bloat --bz2only `pwd` RPMS.glibc2.0 RPMS.glibc2.2  RPMS.noarch RPMS.glibc2.1  RPMS.glibc2.3  RPMS.RH2.1AS
and I use apt-0.5.5cnc5-fr2

I've seriously considered switching to yum, but I do automated rpm installs
and updates from unattended cron, and I absolutely need 
apt-get install --trivial-only
and
apt-get upgrade (and not dist-upgrade)
In other words, I need installs and upgrades with the absolute guarantee
that no extra package will be installed, or nothing will be removed as a
result. As far as I can tell, yum does not provide that functionality.

So, is there any way I can make rebuilds faster (I know I can make one
repository per glibc version, but most of the wait comes from the
RPMS.glibc2.3 directory), or use apt-rpm/yum in a way to achieve what I'm
currently doing without 30mn delays every time I add an RPM?
(I know about removing --bloat, but I can't do that with RH9, and random
contrib RPMs, can I?)

Thanks
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems & security ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/   |   Finger [email protected] for PGP key