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.

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

Looking at these instructions for SynCE just sickens me. I really want to strongly suggest one doesn’t follow the instructions, but not only does it look as if I’m too late, it also highlights how horrible the SynCE documentation is. Currently the new docs are stored in a less-than-finished docbook file in Subversion: http://synce.svn.sourceforge.net/viewvc/synce/trunk/synce-docs/. If you’re good with Docbook and want to help, email me.

On other SynCE notes, the new site is ready, but the docs are preventing me using the site.

Debian BBQ tomorrow. Lack of laptop means lack of general communication.

Bongo has just made it into Debian Experimental, as shown on its packages.debian.org page.

This is good because it’s made it through the NEW queue, and so any subsequent version will be uploaded into Debian a lot quicker. To install this straight from Debian, add this to your /etc/apt/sources.list: (Note: You must be running the unstable distribution)

deb http://ftp.debian.org/debian experimental main
deb-src http://ftp.debian.org/debian experimental main

The version in the archive is 0.2.0-3. This has not been put into my repository on my site yet. Here is the changelog entry:

bongoproject (0.2.0-3) experimental; urgency=low

  * Initial release into Debian (Closes: #419476)
  * Changed ${Source-Version} to ${binary:Version} and made deps binNMU
    compatible.
  * Wrapped deps and build-deps.
  * Added debug package bongoproject-dbg.
  * Added python dependency to bongoproject-tools.
  * Updated short descriptions.
  * Updated copyright file.
  * Added README.Package file to explain some of the library importing
    stuff.
  * Added patch remove-bongo-external.diff to remove the dependency on
    bongo.external python libraries.
  * Added python-vobject, python-simplejson and python-dateutil to
    python-bongoproject Depends.
  * Added python-simpletal to bongoproject-web Depends.
  * Updated copyright to use new FSF address.

 -- Jonny Lamb   Mon, 30 Jul 2007 22:08:57 +0100

Hopefully in the near future I should create some packages for Ubuntu and Debian (etch) for 0.2.0-3, although as you can see from the changelog entry, there’s no real feature difference. Also should get my git repository for package management up soon, when I get my new server. Bear with me.

P.S. If you are reading this in a feed reader, or through the planet, then visit my site and check out my new theme. It’s nice.

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.

Everyone seems to be blogging about it, so I thought I’d join the crowd.

I’ve already been to some talks on Hildon, Xul, Telepathy, memory usage, accessibility and collaborative document editing. There has been a mixed amount of interestingness throughout the talks, but generally it’s great!

Tomorrow starts the core schedule and there are some great talks planned, including lots of Maemo/embedded ones.

Last weekend was Lugradio Live. It wasn’t exactly the greatest of events ever, but was satisfactory! The Debian stand was a little quiet as we had nothing to sell, and we only had a laptop and TFT on the table. I don’t think many knew what we were exhibiting. Although, I doubt LRL is really the place for a Debian stand.

However, the main purpose of my presence was to meet up with fellow Bongoers. It was an interesting time and was nice to meet the others. Alex has written a report about it.

To prove that I was there, I’ve found a photo on flickr. Although, even before I could blog about the event, this photo has been vandalised.

GUADEC starts on Sunday. Should be good! I’ve noticed a number of interesting talks there, mainly about Hildon/Maemo.

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.

The Bongo Project reached its second milestone in its roadmap recently.

The release notes contain the complete list, but here are some details of what’s new in this release:

  • the brand-new “hawkeye” web administration tool;
  • antivirus and antispam are now supported;
  • support for encrypted SMTP sessions.

I’ve been doing a few things with Bongo recently too:

  • Debian packages — these have finally been finished for the new release, and are publicly available. Add the following lines to /etc/apt/sources.list:
    deb http://jonnylamb.com/debian/bongo debian-etch/
    deb http://jonnylamb.com/debian/bongo ubuntu-feisty/
  • Man pages — to shut Lintian up, I shoved some man pages upstream.
  • Cleaning up import/ — I’m trying to get the imported libraries gone as although they’re convenient, they have reasons of why they’re not great. I’ve been creating a number of patches to try sort out this problem.
  • Looking at libical — Although all the other libraries in import/ are rather generic (E.g. CLucene, cURL), the libical library is not. I suspect I will blog and post to bongo-devel about this later though, rather than now.
  • Darter — I spoke to Alex about a lightweight Dragonfly some time ago, and I’ve started on it. It will be a non-javascript way to get your Bongo junk across the web. It is aimed at devices like mobile phones or, mobile internet browsers (E.g. Nokia Internet tablets). This will be called Darter. Thanks to Pat for this name. It is a smaller Dragonfly, and the name seems to point to speed too!

I just wrote this little introductory guide to packaging using git-buildpackage. I’m still rather a rookie in both Git and git-buildpackage, so I hope it’s correct!