Alternative forms of metadata

Anders F Björklund afb at algonet.se
Mon Jul 28 00:06:09 PDT 2008


Jeff Johnson wrote:

>> Smart is currently using the XML version of Yum's RPM-metadata,
>> the primary/filelists/other (and group) files from createrepo:
>> http://linux.duke.edu/projects/metadata/
>>
>> Other package managers have moved to more "efficient" forms of
>> representing these, and there has been some requests that Smart
>> should read the alternative forms instead of the regular XML:
>>
>> yum sqlite: https://bugs.launchpad.net/smart/+bug/244889
>>
>> zypp .solv: https://bugs.launchpad.net/smart/+bug/251020
>>
>> ...
> The yum:sqlite format is a sqlite database, which is hardly a
> form of markup. The data in the sqlite db is equivalent to the
> XML, and the yum XML is likely (imho) to continue to be generated
> for some time.
>
> What would likely be more useful than adding yum sqlite would
> be to verify the signature on the repo xml, I'm not sure whether
> smart does that yet.

Support for the ***_db sqlite format is sorta already added
(although hackily), so it shouldn't be a major deal to just
include if proven to be useful (presumably by being faster):
http://bazaar.launchpad.net/~afb/smart/sqlite/revision/820

I have added signature checking as a separate Wishlist issue:
https://bugs.launchpad.net/smart/+bug/250941 (as per openSUSE)

> (aside) What yum really needs to do is an incremental, rather than  
> an entire,
> distribution for repo markup.
>
> I was told yesterday by someone at SuSE that the solv format is used
> for internal cache, not for distribution. That may or not be true.  
> It will
> be very tricky to use the binary .solv format outside of a zypp  
> context,
> the format is very specific to zypp with its sat-solver so far. Its  
> too early
> to tell whether .solv is useful (or not).
>
> But SuSE is doing an exceptional job of providing multiple sources
> of repo metadata. Perhaps reading the metalinker data would be more
> useful for smart than chasing .solv files.

OK, maybe mixing solv and sqlite up wasn't such a good thing. :-)

It seems like sqlite *could* make a useful optional feature, although
adding some code and a dependency on one of the python-sqlite modules.
Maybe it could be done in some more clever way than a simple boolean,
so it becomes easier for packagers et al to exclude if not wanted ?

On second glance, it looks like *.solv is not included in repomd.xml.
So it would probably make for a new channel format instead of rpm-md.

--anders




More information about the Smart mailing list