I have created deb packages for a couple of years now. Primarily for software that I created myself, or was somehow involved. But sometimes I also packaged stuff that I just used, and wanted to be able to conveniently install and upgrade on different systems. One of these was printrun, a host software for reprap 3d printers. I packaged it, and provided packages for ubuntu in my ppa, and packages for debian in my own little repository. Then one day, Scott, a debian developer contacted me, asking if I was interested in getting the package to a state ready for inclusion in the official debian repository. The debian standards are very high, and so far, my packages didn’t need to meet those standards. But I wanted to improve my packaging skills anyway, and that looked like a great opportunity to learn from someone experienced.
Scott helped me to greatly simplify the rules file by following the new debhelper style. But some small problems remained, and I didn’t have the time to fix them for a long time. Then, last month I started looking around for laser show software. More on that in a later post. And I ran over laserboy, a program that converts laser shows and other vector graphics into wav files for playback using ordinary soundcards. It was not in the repository, but was very compact and with few dependencies. Thus it looked like an ideal candidate to go through the whole process of getting it into debian.
Apart from the usual, I also had to create minimal manpages. For me that was yet another markup format, although a very simple one. Then I familiarized myself with the submission system at mentors.debian.net. After a few iterations, Scott submitted the package into debian. I received a few mails of state changes and about the inclusion. But on my wm8650 netbook that runs sid, I tried “apt-get update && apt-get search laserboy” a couple of times without seeing anything. I assume it had to be built first on a build host. Also, on the mentors page, they state that new packages have low priority at the moment as the next release of debian is near. Then today I got a hit:
$ apt-cache show laserboy Package: laserboy Version: 2012.11.11-1 Installed-Size: 1227 Maintainer: Richard Ulrich <email@example.com> Architecture: armel Depends: laserboy-indep, libboost-filesystem1.49.0 (>= 1.49.0-1), libboost-system1.49.0 (>= 1.49.0-1), libc6 (>= 2.4), libgcc1 (>= 1:4.4.0), libsdl1.2debian (>= 1.2.11), libstdc++6 (>= 4.4.0) Description-en: Laser show software for soundcard operation LaserBoy can translate laser vector art into standard, 48KHz, 16 bit, multi channel RIFF WAVE file format and play those files with independent sample shifts between the channels for proper time alignment between the scanners and the color modulation devices (per color). Waves made with LaserBoy can be played from any surround sound card in any OS. LaserBoy can open its own generated wave files and convert them back into vector art. LaserBoy provides a full set of points optimization routines including distance spanning, corner dwelling and the ability to minimize total points distance by rearranging the order and direction of lit segments within a frame. With a DC modified 8 channel sound card and some outboard electronics, LaserBoy is currently outputting full motion, 16bit X, Y position, 24 bit RGB color projections at 48 thousand points per second. Creating waves of any integer sample rate is possible. 48KHz is only a limitation of the sound cards that are currently in use. Homepage: http://laserboy.org/ Description-md5: de52e4c615ee13687c0d3d84e029e58e Section: graphics Priority: optional Filename: pool/main/l/laserboy/laserboy_2012.11.11-1_armel.deb Size: 505942 MD5sum: 914edfd44f091936e76e778a29d7a149 SHA1: 7f2ccab163d88fd1edcb7cb87428fe6bb8d0c26a SHA256: e311dea17d7070dd4ed33ad0d0f09cea4b2e9f8befc741f3a1fa2fbf3a67deb8
Although, I still don’t find it on the debian online index. So far so good. That’s a great first step. The timing is a bit unfortunate. It won’t make it into the upcoming debian 7.0. And the next stable release will be in about two years. I don’t think it’s important enough to make it into a backport either.