[Rpm-metadata] CVS access problem

Hans-Peter Jansen hpj at urpla.net
Wed Jul 19 20:26:36 UTC 2006

Hi Paul,

Am Mittwoch, 19. Juli 2006 14:35 schrieb Paul Nasrat:
> On Wed, 2006-06-28 at 19:03 +0200, Hans-Peter Jansen wrote:
> > Am Mittwoch, 28. Juni 2006 17:37 schrieb Jeff Johnson:
> > > Hint:
> >
> > Seth, for your convenience, it's also attached.. Without this, e.g.
> > VMwareWorkstation rpms will get the None cache file chksum tag,
> > which defeats its purpose. On the downside, it requires to rebuild
> > the whole repocache.
> Hans is this the only outstanding patch of yours? 

Yep, no other serious issues from my side (other than it could do much 
faster, but unfortunately no spare time to tackle this [again]). 
[I wrote this three hours ago]

But since you asked so nice, I just took the opportunity to implement 
timestamp checking again. From createrepo.8:
-C --checkts	Don't generate repo metadata, if their timestamps are newer 
than its rpms. This option decreases the processing time drastically 
again, if you happen to run it on an unmodified repo, but it is 
(currently) mutual exclusive with the --split option.

I did this already a year ago, but took the wrong timestamp, which made 
it rather unreliable. In the meantime, I've learned from another 
problem, that there is no simple way to manipulate file ctimes other 
than setting a different system time.

I think, this implementation is quite robust, if the repo is located on 
a decent file system (other the vfat and the like). It's running since 
about an hour here. For my usage pattern, it's a great achievement, 
since I locally mirror a bunch of repos with rsync a few times per day, 
and trigger createrepo on each, which is quite noticeable when using 
the cachedir option only.

Here are some numbers (admittedly a pathologic case):

# du -sh inst-source
13G     inst-source
# find inst-source -name \*.rpm | wc -l

First run, no cache, no repo:
# time createrepo -q inst-source

real    4m1.900s
user    3m31.414s
sys     0m20.946s

Second run:
# time createrepo -qc repocache inst-source

real    1m42.746s
user    1m30.029s
sys     0m2.385s

Now with timestamp check:
# time createrepo -qCc repocache inst-source

real    0m0.699s
user    0m0.456s
sys     0m0.208s

Not too bad, isn't it ;-) Let me know, what you think.

> If so I'll commit 
> it and release later today - else send me the patch set and then I'll
> do the same.

Great, thanks for caring.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: createrepo-checktsoption-take3.diff
Type: text/x-diff
Size: 5220 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/rpm-metadata/attachments/20060719/7a41b960/attachment.bin 

More information about the Rpm-metadata mailing list