debexpo (Debian package exposition) is a web application that allows one to run a user-friendly public Debian package repository with social interaction that one may be used to from social networking sites. debexpo will be the basis for the mentors.debian.net site but will be useful for others as well. debexpo is the project I am working on for this year’s Summer of Code for Debian under the watch of Christoph Haas

debexpo is more than just a web application though. It was based on suggestions by you, and therefore it has some nifty features:

  • Uploading is done through HTTP PUT directly in debexpo, and handled immediately. This means that packages can be available within seconds of you uploading the package instead of having to wait for a cron job running an importer.
  • debexpo supports plugins for several stages of package life-cycle. The main use of these are for QA purposes on the package, such as automatically running Lintian, checking the watch file, or checking bugs closed actually belong to the package in question, but there is scope for much more. Plugins are easy so you can customize a repository to check for whatever you want. Other cool plugins allow features such as pulling an orig.tar.gz from Debian if it is absent from the upload and not in the repository already. Plugins provide you the option to customize your repository for any purpose.
  • Users will be able to have their own personal repository (much like Launchpad’s PPAs) to host binary packages. This is simply achieved by creating a new user, uploading, and adding the appropriate entry to your sources.list.
  • Sponsors will be able to tell debexpo what kind of packages he or she likes to see, and a filtered package list will be shown. These kind of filters will include whether it’s a python package, or C library, whether it uses CDBS or straight debhelper, or even whether the maintainer is in the New Maintainer process (this is clearly a mentors-specific feature).
  • Packages will be able to be commented on by other users, in the same way as Ubuntu’s REVU tool. This keeps package discussion in one place, and Debian Developers can claim to have uploaded the package. This is useful to stop the scenario of a Debian Developer reviewing a package that has requested a sponsor, and then finding the package has been uploaded already after the initial uploader left no mention of this.
  • And more to come.

Development can be tracked through its Trac instance: http://debexpo.workaround.org/, where I invite you to submit tickets or even submit patches! Its Git repository is public: http://debexpo.workaround.org/debexpo.git (and mirrored here). Last but not least, the there is also a low-traffic mailing list.

I invite you to try it out, and report bugs. Posting to the list is a great way to get in contact.

There is little visible eye-candy in your browser to show for the work so far as nearly all the work so far has gone into the backend. A sneak peek at what it looks like at the moment is available though:

As you can see, the theme is somewhat familiar. Hopefully, as the SoC program nears an end, this will be fixed.

Oh, and hello: this is my first post to Planet Debian.

So, Bongo 0.3.0 was released yesterday. It has some interesting new features, most notably CalDAV support! I just finished the Debian packages of 0.3.0:

bongoproject (0.3.0-1) experimental; urgency=low

  * New upstream release.
  * Added bongoproject to bongoproject-tools depends. (Closes: #438836)
  * debian/patches:
    + Removed apache-config.diff -- now upstream.
    + Removed sqlite-3.3.17.diff -- now upstream.
    + Removed hawkeye-apache.diff -- now upstream.
    + Removed smtpd-rset.diff -- now upstream.
    + Removed change-libexecdir.diff -- not necessary.
    + Updated remove-bongo-external.diff.
    + Added standalone-etc-default.diff -- allows bongo-standalone to get
      options from /etc/default/bongoproject.
  * Moved bongoproject-tools to pycentral.
  * debian/copyright:
    + Removed cURL license info. This is now gone from import/.
    + Added myself and email addresses.
    + Added information about having repacked the tarball.
  * Bumped Standards-Version to 3.7.3.
  * debian/control:
    + Corrected typo in long descriptions.
    + Added Homepage field.
    + Added Vcs-{Git,Browser} fields.
    + Added python-lxml build-dep and bongoproject-web dep.
    + Removed ldap-utils and slapd deps.
    + Changed bongoproject-dbg to Priority: extra.
    + Misc. dependency updates.
    + Changed bongoproject to Arch: all.
  * debian/rules:
    + Updated install/python-bongoproject rule.
    + Removed libexecdir hack.
    + Added rule to remove empty /usr/lib directory from bongoproject-web.
    + Added --enable-debug-cflags configure argument to produce a proper dbg
      package.
  * debian/*.install: Updated list of files to be installed.
  * debian/*-overrides/: Removed lintian & linda overrides.
  * debian/README.Debian: Updated instructions.
  * debian/bongoproject.postinst: Added call to "bongo-config install".
  * Renamed libbongoproject0-dev package to libbongoproject-dev.
  * Added new package, libbongoproject-runtime, to contain .so files for use
    with the tools.
  * debian/bongoproject.default: Added comments, updated and modified for use
    with the new bongo-standalone agent.

 -- Jonny Lamb  Thu, 31 Jan 2008 16:17:45 +0000

Visit Installation/Debian for instructions on getting these packages. I’ll try and get these uploaded to Debian very soon.

I got a little bored of looking at gitweb with no syntax highlighting, so I shoved in support for Enscript:

Also, it’s easier to select source straight from the browser without the line numbers prefixing every line — something one does every day, of course:

Of course, there are a few bugs and limitations in this. I just wanted to blog with some pretty pictures, I suppose. Now I can see why I’ve never touched perl before though.

I’ve been messing with Empathy recently while setting up a Jabber server, and I thought I’d try out telepathy-butterfly (the Telepathy MSN connection manager). The packages in unstable/experimental kind-of worked, but there were some distinct features missing. Upstream’s devel branches of the three main components (telepathy-butterfly, pymsn and telepathy-python) contained most of the functionality I was after. It seems the last release (which is packaged) is rather old.

I created some packages of these snapshots. Add the following lines to /etc/apt/sources.list:

deb http://jonnylamb.com/debian/telepathy-butterfly ./

And execute:

sudo apt-get install python-telepathy python-msn telepathy-butterfly

I haven’t blogged in a little while, so I thought I’d break the trend.

Recently I started adding CalDAV support into Bongo. This is actually progressing very well. I’m working on the sundial branch in Subversion. If you want to try it out, then you can checkout using:

svn co http://svn.gna.org/svn/bongo/branches/sundial/

And then install how one normally would from source. To try out the CalDAV support, you must be running standalone — Apache will simply not work at the moment. Point your client at:

http://server:port/dav/username/calendar/

You should be asked for username and password, but the auth system is a little broken at the moment. It is next on my list of things to do with Sundial, and hopefully I’ll commit a fix for that tonight, but I might not have time..

Remember that this is three or four days old and not only will it have bugs, but if you glance at the code, there are many TODOs floating around, so this is very alpha quality software. With respect to CalDAV client support, I’ve done most of the testing on Mozilla Sunbird and in my opinion that has the best CalDAV support, but Evolution should work (it did last night)! Come find me on IRC if you have any questions.

New Debian and Ubuntu packages for the 0.2.0 release. Here is the changelog entry:

bongoproject (0.2.0-2) experimental; urgency=low

  * Added ldap-utils to bongoproject depends.
  * Updated description in init script.
  * Added slapd to bongoproject depends.
  * Corrected s/Pache/Apache/ typo in README.Debian.
  * Corrected s/varius/various/ typo in bongoproject-data long description.
  * Added spamassassin and clamav-daemon to bongoproject recommends.
  * Corrected s/STANDALONE_OPTS/RUN_STANDALONE_OPTS/ in init script, and
    also its reference in README.Debian.
  * Correct reference to /etc/default/bongo in README.Debian.
  * Changed small path issue to make it more flexible with locales.
  * Created bongoproject-tools package which contains the CLI apps.
  * Added patch sqlite-3.3.17.diff to enable Bongo to work with SQLite >=
    3.3.17. This was fixed in r92 upstream.
  * Added patch smtpd-rset.diff to enable proper behaviour of RSET command
    in SMTPD. This was fixed in r94 upstream.
  * Added patch hawkeye-apache.diff to enable Hawkeye to work with Apache2. This
    was fixed in r123 upstream.
  * Added patch apache-config.diff to enable the output of a nice working
    Apache2 config file.
  * Added the Apache2 config file to bongoproject-web.examples.
  * Updated instructions in README.Debian.

 -- Jonny Lamb   Fri, 06 Jul 2007 12:29:41 +0100

Details on their installation can be found on either the Installation/Debian or Installation/Ubuntu pages of the wiki.

Right, exams are now over so I have more time to concentrate on other things.

I have a list of things I’d like to do over the summer. I won’t go into them as I don’t want to be tied to anything in particular, but it includes numerous Bongo enhancements, other SynCE stuff, finally some maemo developing, and also some Debian-specific stuff.

I’ll blog about any specific developments in the future though.

There are a number of advances that SynCE has undertaken, and more to come!

Done:

  • New release (obviously)
  • New logo
  • Repository clean-up: I spent a while today moving lots of things round, creating new branches, and deleting a lot! It is much more accessible now. This took quite a few commits, and as a result, SynCE and myself got on the 9th most active project, and 8th most active author respectively, of the day, on cia.vc!
  • Debian packages of Subversion versions
  • Bug tracker clean-up

Coming soon:

  • New website: The current wiki is straining and is becoming more complex I believe. The new website, although still a wiki, will have a slightly different purpose, as explained in the next point.
  • New documentation in docbook form: Instead of putting installation instructions in the wiki, a docbook documentation module will be set-up. This is good because the source will be in svn and all the different formats (HTML, PDF, RTF, TXT…) can be built nightly. It will also be much cleaner than in a wiki, and another great advantage is that one can read it off-line. I will create a very easy-to-follow guide for people to contribute to this documentation though.
  • New release into Debian: voc has agreed to sponsor release packages into Debian. Now that 0.10.0 is out, I can start working on these.

A new version of SynCE is finally out, after roughly a years wait!

This is the first version that supports Windows Mobile 5 out of the box!

Debian packages will be provided soon, and should be uploaded into Debian soon too.

Following from my previous blog post, my first worry has now been fixed!

However, there is a new one! Let’s see how this one progresses!