Introduction and rdf vs metadata
Christian Haugan Toldnes <[email protected]> Wed, 21 Apr 2004 22:18:05 +0200
| Newsgroups | gmane.linux.redhat.rpm.python |
|---|---|
| Organization | Private/Personal |
| Message-ID | <[email protected]> |
First off, I'm new to this list, so I'll introduce myself. I am the current head of development of the swup (software updater) project discussed in an other thread. Swup has been used as the updater system in Trustix Secure Linux since version 1.5 of the distribution, released in Aug 2001, but was also available for the older 1.2 release (Nov 2000) The format of the rdf files have stayed the same throughout the period, and is still used in the current version with minor improvements. I started maintaining swup in late 2002. The setup of the rdf files is as follows: latest.rdf - includes initial information about the packages in this repository. name, version, release, epoch in addition to the Summary header. (much like repomd.xml) resourcelist.rdf - includes a list of all resources the various packages in the repository provides, and a url to the rdf for that resource. filelist - a list of all files provided by the packages in this repository. in addition one has one rdf file for each package, with the full information about that package, and what resources it requires, and what resources it conflicts against. We also have one rdf file for each resource, which includes information about what packages provides this resource, and where to find the rdf for that package (url). rdfgen (the utility that generates the information) can link to other repositories, thus making it possible to not include the total number of packages needed to address every requirement found. Many repositories can be linked together. The design with many small files was chosen because that limits the download rate to the minimum needed. both rdfgen and swup (the client side resolver/installer/upgrader) uses a completely modular package driver, so it is possible to write a package driver for any format, and both utilities will be able to work transparently. Today we only have a driver for the rpm format. The utilities uses md5sums to minimize download further by checking if the md5sum has changed since last download, and uses gpg for integrity checking of each package and rdf, thus providing excellent security. I haven't looked much into metadata, but from the readme-file I see that it's a bit more extensive than the rdf format. the rdf format only includes information that we have found suitable for the functionality and for the users. To me it _seems_ that metadata is designed to be suitable for known package formats and _utilities_ that are widely different (think deb vs rpm and apt vs yum). The rdf format is however written to be a resource data format (rdf), and have not been made to fit every current updater, which I feel have helped keeping it small and suitable for it's task. I don't know it the idea behind metadata is to be suitable for both rpm and deb, but as a distribution developer (Trustix Secure Linux) I find such a goal very little valuable. We will never find ourself in a position where a mix of formats are a good solution for any OS with purpose other than play. (It's too much requirements, conflicts etc) Again: I'm not sure that this is one of the goals, but the format may indicate exactly that. This is a long mail for a introduction, but I hope to have given both some background about me, and swup. (Tor Hveem have mentioned swup earlier, and is co-developer of the project.) I hope that this posting will be a good starting point for the discussion even though I expect it to have been alive for quite some time without my participation.. ;) kind regards c LINKS: Trustix Secure Linux: http://www.trustix.org/ Swup: http://swup.trustix.org/ -- Christian H. Toldnes Before you ask technical questions, please read this: <URL: http://www.catb.org/~esr/faqs/smart-questions.html>