Raphaël Hertzog: My Free Software Activities in February 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 (78.31 , thanks everybody!), then you can learn how I spent your money. Otherwise it s just an interesting status update on my various projects.
Debian packaging
I wanted to update publican to the latest upstream release but I stopped after a few hours of work during which I filed two bugs that a modicum of testing should have caught before release. So I decided to wait for the next minor release.
I uploaded python-django 1.4.4 and 1.4.5, new upstream maintenance and security releases which thus went into wheezy. I also prepared a stable update of Django (1.2.3-3+squeeze5) which required me to backport the last 2 sets of security patches.
I uploaded a new revision of wordpress to fix a problem with TinyMCE (#700289) and to update/add many translation files (#697208).
Bug reporting and misc fixes
Live-build issue. I experienced some intermittent failures when building HDD live images with live-build on armel. Daniel Baumann directed me to the problematic piece of code (the oversizing of the image size was not enough) so I committed a small fix by increasing the oversizing factor to 6%.
Live-config issue. I also reported another issue that I diagnosed in live-config (#701788), namely that the script which setups sudo was failing when the default user is root.
git-buildpackage issue. I filed #700411 after noticing that git-import-orig imported the debian directory provided by upstream. Those directories are not used with 3.0 (quilt) source package and their presence in the upstream branch is thus harmful: any change to the upstream debian directory will result in conflicts when you merge a new upstream release in your packaging branch.
rubygems integration. Later I had to package a bunch of ruby applications that were using Bundler and I wanted to reuse as many packaged ruby modules that I could. But for this, those modules had to provide the required rubygems meta-information. I filed #700419 to request those on rake-compiler and with the help of C dric Boutillier (and others on #debian-ruby), we identified a bunch of ruby modules which could get those with a simple recompilation. I filed bin-nmu requests in #700605.
Misc bugs. simple-cdd offers to select profiles to install but I noticed that the associated debconf template was not translated (#700915). The startup scripts (provided by initscripts) in charge of activating the swap are supposed to handle a noswap kernel command line option to disable swap. In #701301, I reported that the option was not working correctly if quiet was present first in the command line due to spurious break statements.
Debian France
Administrative work. We were late for some legal procedures so I wrote the report of the last general assembly and sent it to the Tribunal d instance of Sarreguemines to record the changes in the administrative board. I also completed the special register of the association, it s a notebook that is legally required and that must document any important change in the governance structure of the association (new members of the board, headquarters change, new bylaws, etc.).
Galette developments. Debian France is funding a few enhancements to the Galette free software that we re using to manage the association. I am in touch with the Galette developer to answer his questions and ensure that his work will meet our needs.
Librement
I have been looking for talented developers who have a genuine interest in my Librement project. I want to fund the initial development of the project but I don t have the means to fund it entirely. So I really wanted to find developers who would find an interest beside the money that I would pay.
I got in touch with the team of developers from Scopyleft and they look like very good candidates. But they re heavy users of the Scrum development method and asked me to play the role of product owner . So I started to describe the project with user stories (i.e. create the backlog in the Scrum jargon), you can have a look at them here on trello.com. If you re interested by the topic of free software funding, feel free to review and to send me your comments.
My goal is clearly to have a minimal viable product with the first iteration(s) that I fund and then use the platform itself to fund further developments of the project.
Thanks
See you next month for a new summary of my activities.
5 comments Liked this article? Click here. My blog is Flattr-enabled.
If you use LVM with Wheezy on a solid-state drive, you really want to install the
A new
This post is just a status update for the Openstack packaging, after the next version froze last week.
The Openstack bi-annual summit of next April will take place this year in Portland, Oregon, and if everything goes as plan, Grizzly will be released just before the summit. Grizzly will be out a bit before the next Ubuntu in April, as releases are following the one of Ubuntu. Openstack uses town names for it s release names: Austin, Bextar, Cactus (2011.1), Diablo (2011.2), Essex (2012.1), Folsom (2012.2), Grizzly (2013.1).
I started to seriously work on the Openstack packaging in October, and never stopped working on its packaging until now. Slowly, but surely, preparing all the packages and their dependency python modules. One package at a time, working all this every day. Folsom works now pretty well and can be used in production, and I maintain it for security (along with Essex, which is in Wheezy).
Then Grizzly was frozen last week, on the 22nd of February, with the G3 release. As I already worked on packaging the G2 release in January, managing the packaging of G3 was fast. On late Sunday, I had a repository with Grizzly built, and its corresponding python (build-)dependencies. But while just building your own repository is easy, having all the dependencies in Debian is a lot more work.
As of today, if I include all the python modules, I have (at least) touch around 50 packages in total when working on Openstack. Many of them were simply built from scratch. The only python dependency that needs an upgrade in Experimental, so that all dependencies are satisfied, is a new version of pep8. The rest of is new python modules that were not in Debian, and which are currently waiting in the NEW queue for ftp masters approval: python-pecan, python-tablib, python-wsme and websockify. Some of these python modules have been waiting there for a long time, like python-pecan (it s been waiting in the NEW queue for more than 35 days now), some like websockify and python-wsme have been uploaded only this week. I really hope it can be possible to have all of Grizzly in Debian before the next Openstack summit (this depends mainly on the ftp-masters).
Note that I do not intend to apply security patches in Grizzly until it is released as the new Openstack stable. So use my private Grizzly repository as your own risk. I intend to fix this by working on some constant integration to have nightly builds, like many people are doing with Openstack. If you want to try it out:
deb http://archive.gplhost.com/debian grizzly main
For the past few days I've been making minor changes to my static-site generator,
x-on-resize: a simple display configuration daemon
I like things to be automated as much as possible, and having
abandoned Gnome to their own fate and switched to xfce, I missed the
automatic display reconfiguration stuff. I decided to write something
as simple as possible that did just what I needed. I did this a few
months ago, and when Carl Worth asked what I was using, I decided to
pack it up and make it available.
Automatic configuration with a shell script
I ve had a shell script around that I used to bind to a key press
which I d hit when I plugged or unplugged a monitor. So, all I really
need to do is get this script run when something happens.
The missing tool here was something to wait for a change to happen and
automatically invoke the script I d already written.
Resize vs Configure
The first version of x-on-resize just listened for ConfigureNotify
events on the root window. These get sent every time anything happens
with the screen configuration, from hot-plug to notification when
someone runs xrandr. That was as simple as possible; the application
was a few lines of code to select for ConfigureNotify events, and
invoke a program provided on the command line.
However, it was a bit too simple as it would also respond to manual
invocations of xrandr and call the script then as well. So, as long as
I was content to accept whatever the script did, things were
fine. And, with a laptop that had a DisplayPort connector for
my external desktop monitor, and a separate VGA connector for
projectors at conferences, the script always did something useful.
Then I got this silly laptop that has only DisplayPort, and for which
a dongle is required to get to VGA for projectors. I probably could
write something fancy to figure out the difference between a desktop
DisplayPort monitor and DisplayPort to VGA dongle, but I decided that
solving the simpler problem of only invoking the script on actual
hotplug events would be better.
So, I left the current invoke-on-resize behavior intact and added new
code that watched the list of available outputs and invoked a new
config script when that set changed.
The final program, x-on-resize, is available via git at
I feel like i've done a lot of blogging recently about failing to do things with proprietary software. That's annoying. This post is about something i made successfully with free software (and some non-software crafting): I made a Woolly Mammoth for my nephew!
I documented
Hi planet.ocaml.org.
Just a quick post to thanks Marek Kubica for his help on the planet.ocaml.org spring cleaning.
Here are the feeds that have been removed: