On Wed, Jul 16, 2003, Matthias Kurz wrote:

> [...]
> 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.

OpenPKG .src.rpm's are actually CPIO archives of the source files (.spec
plus .patch files plus vendor tarballs, etc) which are compressed via
bzip2(1) and with an RPM header in front of the result. Either the
compression is your problem or/and the fact that AFAIK the source files
are not inserted into the CPIO payload in the same order each time.

> 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.

A clear indication that the compression is the problem.

> 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.

I think because of the compression you have no chance. The best solution
for all this, as I already mentioned, to roll the .src.rpm yourself from
the parts.
                                       Ralf S. Engelschall
                                       [EMAIL PROTECTED]
                                       www.engelschall.com

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

Reply via email to