Re: discussion of createrepo and repodata format future
Michael Schroeder <[email protected]> Fri, 6 Aug 2010 14:51:33 +0200
| Newsgroups | gmane.linux.rpm.metadata |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Aug 06, 2010 at 08:34:15AM -0400, seth vidal wrote: > Something that we've kicked about is mix-and-match metadata fileformats > based on what makes accessing them most functional. I know opensuse > doesn't have to muck with filedeps in pkgs but do you resolve them for > when a user knows the filename they need but not the pkg name? > > the equivalent of: yum install /usr/bin/myprogram This would work because /usr/bin/ files are in primary.xml. libzypp doesn't support on-demand download of the filelist, libsatsolver offers an interface for it. > If so - the discussion of breaking of the filelists into chunks based on > subdirs might be beneficial to you. Well, that depends on the usage pattern. As zypp doesn't support to download the filelist, we make sure that there are no (Build)Requires to files outside of the "primary" filepatterns. As /bin and /usr/bin are used in many packages, we need to download the file information for those directories anyway, so moving them from primary into seperate files makes things worse for us. > > Another problem that shows up is that caches may be different. For > > example, yum has one file per metadata. We have just one solv file per > > repository. But I guess that is just another tag under repomd tag. > > Specifying the location, and the format, so that the downloader can > > choose whether to use it or not. > > > > Also, what is the status of these tags? > > > > <revision>1277771829</revision> > > <tags> > > <repo>obsrepository://build.opensuse.org/openSUSE:11.2:Contrib/standard</repo> > > </tags> > > They shouldn't need to change at all. > > In fact my original thoughts were that repomd.xml doesn't need to > change, except to add an attribute of 'compression type' to each > datatype. Oh, that's also what I was thinking of. I didn't like the "primary_lzma" type because it's not different data, but just a different representation. I'd prefer: <data type="primary">...</data> <data type="primary" flavor="lzma">...</data> <data type="primary" flavor="sqlite">...</data> But I don't know how many repomd parsers would choke on this... Speaking of that lzma patch, I pretty much opposed it because it conflicts with the "delta download" mechanism I implemented some weeks ago. The idea is to use 'gzip --rsyncable' for gz compression, add 'zsync' checksum data to the metalink files and let libzypp download just the changed blocks with range requests. Works quite nice for our maintenance updates, it's proably not very useful for Factory (i.e. "rawhide") where the number of rebuilds is quite high. Cheers, Michael. -- Michael Schroeder [email protected] SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}