Tracker.debian.org is live

Maybe do you remember, last year I mentored a Google Summer of code whose aim was to replace our well known Package Tracking System with something more modern, usable by derivatives and more easily hackable. The result of this project is a new Django-based software called Distro Tracker.

Warning, some internals aheadWith the help of the Debian System Administrators, it’s now setup on tracker.debian.org!

This service is also managed by the Debian QA team, it’s deployed in /srv/tracker.debian.org/ (on ticharich.debian.org, a VM) if you want to verify something on the live installation. It runs under the “qa” user (so members of the “qa-core” group can administer it).

That said you can reproduce the setup on your workstation quite easily, just by checking out the git repository and applying this change:

--- a/distro_tracker/project/settings/local.py
+++ b/distro_tracker/project/settings/local.py
@@ -10,6 +10,7 @@ overrides on top of those type-of-installation-specific settings.
 
 from .defaults import INSTALLED_APPS
 from .selected import *
+from .debian import *
 
 ## Add your custom settings here

Speaking of contributing, the documentation includes a “Contributing” section to get you up and running, ready to do your first contribution!

Now go use this new service and report any issue against the new tracker.debian.org pseudo-package (BTW tracker.debian.org knows about pseudo-packages, example here).

There are many small things that need to be fixed/improved, if you know Python/Django and would like to start contributing to Debian, here’s your chance! 🙂

My Free Software Activities in September 2013

This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (86.18 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.

Package Tracking System^U Distro Tracker

Marko Lalic implemented quite a few interesting features in the last weeks of the Google Summer of Code (support of teams most notably). Unfortunately he didn’t deploy (yet) the latest changes on pts.debian.net.

Given the good work he made over the summer, I marked him as successful in his GSOC. Hopefully he will stick around and continue to contribute, he promised to try to handle some mass renaming that we agreed upon. Effectively, after much bike-shedding, I decided that the software would be called “Distro Tracker”.

Once those last-minute cleanups are done, I plan to request “tracker.debian.org” to Debian System Administrators. This means that it will be deployed in parallel to the current PTS at least until we’re at feature parity in the new codebase.

The new codebase should be much more easy to get started with, so I should do some promotion and invite people to contribute to it… possibly by writing some short “how to get started” documentation.

I started by creating a dedicated wiki page: http://wiki.debian.org/qa.debian.org/distro-tracker

Misc packaging

I got two REJECTs from ftpmasters this month (one for galette, one for dolibarr). I took care of fixing the various issues in galette and the package has been promptly accepted afterwards. For dolibarr, I mentored the upstream maintainer about the various problems and got him to fix it. It took a bit more time and the package is thus still in NEW.

I packaged wordpress 3.6, and then wordpress 3.6.1 (security update). python-django also had multiple security updates this month, I took care of one or two uploads but Luke Faraone dealt with most of them (including backports to Squeeze!).

I packaged Publican 3.6.1 and uploaded dh-linktree 0.4 to fix a FTBFS issue introduced with Perl 5.18.

Of anecdotal importance, but I also filed bug #721849 after seeing how much energy was spent to ensure debian/rules didn’t contain an improper copyright statement.

Thanks

See you next month for a new summary of my activities.

My Free Software Activities in August 2013

This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (47.50 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.

Package Tracking System

There are only 2-3 weeks left in the summer of code project dedicated to rewrite the package tracking system. We have come a long way during August… check it out yourself in pts.debian.net.

The rewrite doesn’t have all the features of the old PTS yet, but I opted to keep some of the easy and less interesting features for others to re-implement. Instead I asked Marko to work in the coming weeks on new features that will bring more value, like the possibility to have user accounts with the possibility to easily review and tweak all your subscriptions on the web, and like the possibility to subscribe to groups of packages (i.e. those managed by a team).

Our main problem right now is that exim has a pretty poor default behavior of forking hundreds of processes if you get hundreds of mails (in a batch) to an address that delivers via a pipe (postfix is saner, it serializes the deliveries on pipes). The new PTS is much more modular and its memory footprint is bigger (about 3 times more for the process that delivers mails, 30Mb instead of 10Mb), and in such a situation we managed to run out of memory… for now we worked around the situation with an exim setting that queues mails once the load gets too high but it’s a poor workaround IMO. We could obviously implement our own queue and a daemon but I’d like to avoid this. So who knows how to tell exim to behave? 🙂

On the positive side, Marko has gotten some feedback from people who like the new PTS and are using it daily already. And several persons have expressed their interest to work on the new codebase already.

On my side, I created a package so that it’s easy to deploy for derivatives. In this process, I revamped the way we manage the Django settings (for development and for production). The package is not finished yet, but it’s mostly usable already. But I still want to do some cleanup/refactoring in the models before others start deploying it. We must also enable South to make it possible to upgrade easily afterwards.

DebConf 13 in Vaumarcus

From August 10th to 17th, I was attending DebConf 13. It matched the only week of vacation that my wife had this summer so we went there with the whole family (that is with a 3 years old son, and 6 months old one). Thus I could not immerse myself in Debconf and missed all the nice things that happen outside of the talk rooms. I picked 3-4 interesting talks per day and I spent the rest with my family.

On the positive side, I was pleased that my wife could meet (or at least see) some other Debian people. She knows quite a few (of you) by name because I have been telling her Debian stories for years now…

Debian France

Debian France sold quite some merchandise during Debconf but I didn’t take care of that. It was supervised by Sylvestre Ledru but fortunately he got the help of multiple persons, both to bring everything there, to sell it, and to bring back the rest.

The good news of the month is that the upstream author of galette published a new version with all the features that we ordered him a few months ago. We send now automatic reminders to members who must renew their subscription, we have automatic update of our accounting books (in a ledger file in a git repository) when we people donate or pay their subscription via the paypal form on our website.

I was so pleased to finally have this that I took some hours to finalize the packaging of galette, so that it could be uploaded to Debian. It’s now waiting in the NEW queue. I also spent multiple hours to write the python script that is executed by galette and that updates the accounting files.

Misc Debian stuff

Debian Packaging. I did two uploads of logidee-tools to fix bugs #718671 and #718836. I created a package for Dolibarr a PHP-based CRM and ERP software (it doesn’t do accounting however), it’s sitting in the NEW queue for almost a month already. I forwarded #719000 to the upstream Publican developers. I filed #720393 to request a new upstream version of libphp-mailer.

git-multimail. After its deployment on Alioth last month, Niels Thykier reported me a case where it lead to bounces, I filed this as a new upstream ticket and in fact I fixed it myself a few days after. I got the fixed version installed on Alioth.

dpkg. I investigated why the the automatic builds of dpkg were no longer happening and asked Michael Prokop if he could install a newer version of gettext in the build chroot. He told me that he would need a backport for that so I asked Santiago Vila if he was willing to provide it and he kindly accepted. A few days after, the package was in backports and I’m now again running the latest dpkg out of git thanks to the nice service provided by Michael.

Misc discussions. The thread about “user planets” drifted into a discussion of how to avoid “promotional posts” on such planets and in that context someone again brought up the Debian Machine Usage Policy as a way to shut down any kind of (self-)promotional content on planet if there’s money involved. This always irritates me and this time I opted to ask James Troup about the origin of that clause in the DMUP. So who is willing to work with DSA to fix the DMUP so that people stop abusing it in contexts where it doesn’t make sense?

I also participated in some discussions concerning dgit. I like the ideas behind the tool, but I’m saddened by the behavior of Ian Jackson. I helped him to fill his gap of knowledge about new sources formats but he keeps on bashing about the “3.0 (quilt)” source format both in the manual page and in the output of the program. He believes that dgit is no longer an experiment but the truth is that it’s still a poorly commented Perl script doing lots of hackish things.

Kali Linux

Between Debconf and all, I haven’t done much for Kali except a couple of fixes. There’s a nice story of how I tracked a bug in live-installer on the Kali blog. That fix has been committed to Debian. I also improved live-build to include xfsprogs/jfsutils on the ISO image when you include the debian-installer (so that you don’t end up in problems when you pick JFS or XFS as file systems for your installation).

Thanks

See you next month for a new summary of my activities.

My Free Software Activities in July 2013

This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (167.67 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.

The Debian Administrator’s Handbook

After the successful crowdfunding campaign, I had a bunch of rewards to ship: I subcontracted most of the job but I had to take care of the books with dedication. I also dealt regularly with books/stickers coming back to the sender (due to invalid address or people not picking up their parcels in the post-office).

After the rewards, we had to take care to actually finalize the liberation of the French translation. I merged the translations we had in Git and Roland updated/translated a few strings that weren’t in the original book in French. Then I have put the book online.

Last but not least, I started to work on updating the English book for Debian 7 (Roland started way before me) and we have put some updated chapters up for review.

Debian France

Elections. After Debian France’s general assembly, the new board of administrators voted the officers: I have been re-elected as President, Sylvestre continues as Treasurer but we have a new Secretary in the person of Alexandre Delanoë. Welcome Alexandre!

I did the administrative work to register the new board/officers in the « Tribunal d’instance » and to give access to the internal git repositories to the new members.

Galette. I also did a bunch of tests on Galette’s new features that Debian France ordered to the upstream author. They should all land in the next upstream release due in the next weeks. \o/

Accounting. I worked on the accounting to bring it up-to-date so that Sylvestre can pick up the work from now on. We’re learning how to best use ledger for our needs.

PTS rewrite

I continued to spend about 12 hours a week to mentor Marko Lalic who is rewriting the Package Tracking System. I’m pretty happy with the results so far so I marked him as “pass” for the mid-term evaluation required by Google. You can have a look at the documentation and the web interface is starting to show some content.

The email interface is fully working and I have configured the real PTS to forward all mails to our test instance (pts.debian.net) so that you can use the rewritten PTS for real-life work. Mail your subscription commands to control@pts.debian.net and start using it!

Thanks to the test driven development methodology we’re using, we’re pretty confident that it works reasonably well! 🙂

I also packaged python-django-jsonfield (still in NEW) since Marko has been using this python module in his code, and filed bug #717900 on sqlite3 to raise a limit that we have hit with queries made by the PTS.

Kali Linux

I used the Calxeda Highbank node donated to Debian by Offensive Security to test the new -armmp kernel flavor on it. It seemed to work except for a missing network driver (filed in #717269).

Misc Debian work

Issues with social networks. With the move of identi.ca to pump.io, we don’t have any possibility to auto-post status updates based on RSS feeds. Identi.ca’s @debian account was also configured to push updates to the @debian account on twitter.com (and from there it was grabbed in the Debian page on Facebook). This is also gone… so to limit the damage, I setup twitterfeed.com so that the twitter/facebook accounts continue to have updates). If you’re looking for a development project, here’s an area that is not well covered by free software! We need code to do what twitterfeed does… and we need that code to also support pump.io.

Dpkg work. It’s been a long time since I last pushed some code to dpkg’s git repository. I took care of reworking and merging a patch submitted by Steve Langasek to fix #716948 (an issue with dpkg-maintscript-helper rm_conffile messing with conffiles that the package no longer owns).

Git mail notification. When I was still administrator of Alioth, I wrote git-commit-notice (a fork of Git’s post-receive-email) and many packaging projects are using this hook script to send commit notices to mailing lists. This script has not been updated for multiple years and it started spewing warnings recently due to deprecated features in Wheezy’s git. So I looked at updating it and while doing so I discovered a much better replacement with git-multimail. Thus I adapted git-commit-notice to work on top of this new script. The result has now been installed on git.debian.org (this is to be properly announced in the next DeveloperNews).

Misc work. I packaged sql-ledger 3.0.5-1, forwarded #714739 on publican, and I participated in discussions to move the French Debian planets to planet.debian.org.

Thanks

See you next month for a new summary of my activities.