Op zaterdag 2 december 2006 01:11, schreef Andreas Hanke:
> No, that's not what was asked for.
>
> Just as an example for repomd:
>
> You have a repository with package A-1 and B-1. createrepo writes the
> filelists of both packages into filelists.xml.
>
> Now A gets upgraded to A-1.1. Which is a great thing, because the
> package manager has to download the whole filelists.xml again, even
> though package B has not been touched at all.
>
> What you describe covers only the fact that the metadata aren't
> downloaded again if nothing changed. But if even the slightest thing
> changed, everything is downloaded from scratch, even the parts that have
> not been changed.
>
> Solutions:
>
> - Use a smarter protocol that can "fix" this design problem, e.g. rsync
> instead of http/ftp.
>
> - Think about a smarter metadata format. SUSE had one (the old
> plain-text patchinfos) and threw it away in favour of repomd.
>
> - Extend the repomd format to suck less, e.g. by splitting filelists.xml
> into filelists-dec06.xml, filelists-jan07.xml, filelists-feb07.xml so
> that at least the unchanged filelists from previous months aren't
> downloaded over and over again.

That's why I proposed to md5summing the filelist.

A package with multi versions has often the same files.  Especially in the 
released distribution as only security or important bug fixes are applied to 
packages.  That means that the filelist of packages A-1.1 and A-1.2 is the 
same.  It also means that the md5sum of the filelist of those 2 packages are 
the same.  This could even be valid for multiple version of distribution.  So 
when the client has a database with the md5sum of the filelist as key and 
as "payload" the filelist, the client can easily determine the filelist 
belonging to a package.  How this should work in details, I have not worked 
out, but it might save a lot of bandwith.

-- 
Richard Bos
Without a home the journey is endless
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to