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>