[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

DOAP

Filed under: General — Thomas @ 18:32

2006-04-08
18:32

As my Friday project of last friday, I wanted to take a look at Description of a Project and see if it would fit my needs as a release maintainer of GStreamer, and possibly other projects.

There are a number of problems I'd like to solve; some of them are:

  1. use the DOAP file for a project to centralize the short and long descriptions used everywhere (website, feeds, tracker sites, packages, ...)
  2. submit to freshmeat from the doap file
  3. send out release announcements
  4. keep track of releases and their dates on the various branches
  5. possibly keep track of the future release schedule
  6. generate an iCal file and an rss feed to get the history
  7. merge multiple files to get a combined feed for all GStreamer projects

All items of this list related to keeping track of multiple releases on the same branch seem to be outside of the scope of DOAP; sadly, it seems most things I would like to be able to do with it need this. I don't understand RDF well enough yet to know if I'm doing something wrong by stuffing multiple Version nodes with the same branch inside the DOAP file (Apache seems to be doing it, not sure if that counts) and possibly I should learn to extend DOAP in some compliant way so that I'm doing things correctly.

However, that makes it grow a little out of scope for a Friday project :)

In any case, I started off by trying to install the Redland RDF library and its python bindings. I took the .src.rpm's, rebuilt them for FC4 (I was trying on one of the other machines at the office), had to tweak here and there, and then tried a python example. That crashed with a double free. I took some time to look through the code and found a double fclose() which fixed my problem when I patched it. Submitted a patch and everything, only to find out that the same patch had already been sent to the mailing list (but not logged in the bug tracker). Well anyway, at least I can fix bugs in a completely new-to-me library.

Due to some other interruptions, Friday went quickly by.

After more experimenting, I ran into another segfault with the 1.0.3 version. I decided to clean up the spec files completely today, and build the 1.0.2 version on my laptop - which runs FC5, to see if that worked better. Yes, it did - no more crashing. So now I could focus on writing some actual programs.

RDF is something completely new to me - I thought the world had ended at XML and XSLT. Now it seems I have a new format to learn that looks a lot like XML, but apparently you can't just use XSLT on it. Not sure yet if I will then be able to integrate DOAP stuff with our current GStreamer site, which is completely built with XML and XSLT.

In any case, after some hacking, I cobbled together some basic tests which manage to generate an RSS feed and an .ics file, as well as submit project releases to freshmeat.

The rss 1.0 feed works fine in straw, but not in RSSOwl; the rss 2.0 feed works fine in straw and RSSOwl; and the .ics file works fine if I import it locally in Evolution, but importing it as on the web (and changing webcal:// to http://) makes evolution hang - not sure what's going on there.

All in all, a good first stab at trying to solve some of my releasing problems.

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

picture