On Wed, Jul 16, 2003 at 07:14:39AM +0200, Ralf S. Engelschall wrote:
> On Tue, Jul 15, 2003, Matthias Kurz wrote:
> 
[...]
> 
> > This way i would not always need to transfer the whole rpm, when
> > only a comma is changend in the .spec-file.
> 
> These days (where lots of cleanups and other adjustments are done)
> certainly a sexy idea. But the best approach usually is to establish a
> developer/contributor environment with the openpkg-dev script and then
> just checkout the CVS sources and download the remaining (vendor) files
> directly from the Internet on demand. This way you reduce your download
> traffic really to a minimum.

I do not want to minimize my traffic, i want to _optimize_ it :-)
Monitoring the vendor files directly needs quite some work and is a
duplicated efford. Given the unreliability of the internet it is also
likely that i will get out of sync with openpkg.org soon.

The best approach, from my point of view, would be to make the rpms more
"rsync-friendly". I thought about hacking rsync, so that it can ignore
parts of a filename and recognize, when two files are very similiar.
But a few random tests (using xdelta) showed that the differences between
two versions where quite large. Hmmm, maybe i picked always packages,
where the vendor sources changed ? Or is it, because some parts of the
rpm are compressed as a whole ? I always had better results doing the
xdelta before compression.

Just tried python-2.2.3-20030716.src.rpm and python-2.2.3-20030714.src.rpm.
A direct xdelta gives a delta of 6727215 bytes. Converting the rpms with
rpm2cpio and doing a xdelta on the resulting cpio archives gives a delta of
373 bytes.
When i rename python-2.2.3-20030716.src.rpm to python-2.2.3-20030714.src.rpm
and use rsync, i get
wrote 6743450 bytes  read 36 bytes  13486972.00 bytes/sec
total size is 6742530  speedup is 1.00

Looks, like there is room for improvement. Except i did something wrong.

The other way is a little bit more complicated. Would need some
specialized (perl-)tools:
- look at a directory listing of openpkg.org to see what files changed
- extract "Release" from the filename
- find and get the matching .spec
- extract the basename of the SourceN URLs
- transfer the Sources using rsync

> I'll try to finally put together a webpage on openpkg.org which
> documents the various approaches for users, contributors and developers.
> Sorry that I've still not written such a HOWTO.

Sorry !?? :)


   (mk)

-- 
Matthias Kurz; Fuldastr. 3; D-28199 Bremen; VOICE +49 421 53 600 47
   >> Im pr�motorischen Cortex kann jeder ein Held sein. (bdw) <<
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      [EMAIL PROTECTED]

Reply via email to