BOM: bug squashing and new versions during last three months

As announced in my previous DTPOM article the month of May should be a bug squashing month. As everything worked well, I used last three months to decrease the bug count in Debian packages. Unfortunately I don’t remeber everything, so this list might be incomplete:

  • Due to the help of T, who pointed me to a patch which was sent to the fpdns-user emaillist, bug 680077 disappeared.
  • All meep-* packages had a problem with include files installed in the wrong directory. So development of own programs was a bit difficult. This resulted in

    All bugs have been closed in Sid, but the release team doesn’t want to put it to stable!?

  • Package setserial had some open bugs. Most of them resulted from a strange concept of initializing the serial port and could be closed with just some explanations:
  • With the next upload of greylistd to experimental two bugs could be closed:
  • Two uploads of package uucp closed a few ‘simple’ and one RC bug:

Further I created packages for some new software versions:

  • all packages of the mgltools got a new version (1.5.7~rc1~cvs.20130519-1)
    autodocktools, mgltools-bhtree, mgltools-cadd, mgltools-dejavu, mgltools-geomutils, mgltools-gle, mgltools-mglutil, mgltools-molkit, mgltools-networkeditor, mgltools-opengltk, mgltools-pmv, mgltools-pyautodock, mgltools-pybabel, mgltools-pyglf, mgltools-scenario2, mgltools-sff, mgltools-support, mgltools-symserv, mgltools-utpackages, mgltools-viewerframework, mgltools-vision, mgltools-visionlibraries, mgltools-volume, mgltools-webservices

  • autodocksuite is now available in version
  • saint is now available in version 2.3.4+dfsg-2
  • I uploaded version 1.5.3-1 of python-cogent, but meanwhile even version 1.5.3-2 is available
  • gcal got an update to version 3.6.3-2
  • epigrass got an update to version 2.2.2-2, unfortunately in that version it depends on python-sqlsoup, which is still in the NEW-queue. Thus this package got an RC bug …

From my point of view 17 closed bugs and 29 updated packages within three months are a pretty good result.

The next month will be characterized by solving all problems with epigrass (and of course python-sqlsoup), mgltools-cadd (there must be a better version hidden somewhere in the sources that needs to be activated somehow) and mgltools-sff (why doesn’t it migrate to testing?). Further the TODO-list of the Debian Med UDD needs to become smaller.

BOM: openAFS

February and March have been the months of openAFS bug squashing. I sent in patches for #660622 and #639475, helped on an issue with building modules for amd64 kernels on an i386 architecture and opened bug #702018 in package dkms which is the reason for openafs bug #620014.

This has been great fun.

BOM: overflow in ent

Recently I got a bug report for package ent. The internal counter of processed bytes has just type long. In case you feed enough bytes to ent, there will be an overflow after about half an hour (of course that depends on your type of CPU, the bug was reported on architecture i386).

As modern C (C99) introduced a new type long long, I changed the type of some variables from simple long to unsigned long long. The overflow disappeared for now, but it will reappear just some trillion bytes later.

So, are there any recommendations on how to handle such a situation better?

BOM: libctl

During my adoption of setserial, I was able to close 9 bugs for that package. So the compulsory exercise is already finished and the free program can start.

As a new version of libctl and meep unexpectedly appeared, the BOM of July shall be the new upload of libctl. Unfortunately the soname changed and the library package needs to go through the new-queue. So the bug is resolved but not yet closed.

BOM: lintian

As you might have guessed from the previous posts, with BOM (Bug Of the Month) I want to take care of at least one bug from the Debian BTS each month.

Being a nice guy I have a five step plan in case a program does not work as expected.
1) read the manual
2) read the manual
3) ask my favourite search engine about that issue
4) read the manual
5) ask my favourite search engine about that issue
Unfortunately this plan totally failed while trying to understand the output of lintian. For an unknown reason I was always told that an init.d-script was not registered in debian/postinst. But I could see that seemingly missing call to updaterc.d

Looking at the PTS and the number of bugs for lintian, I decided that this might be the next entry. Fairly quickly I found the code where the error must be hidden. A bit shocked I was faced with something like:

  my $opts_r = qr/-\S+\s*/;
  my $name_r = qr/[\w.-]+/;
  my $action_r = qr/\w+/;

  /^(?:.+;|^\s*system[\s\(\']+)?\s*update-rc\.d\s+ (?:$opts_r)*($name_r)\s+($action_r)/xo;

At the sight of that regular expression I just wanted to run away and do some gardening (normally it is the other way around). After pulling up weeds for awhile, I sat down again and tried to decode that expression. Surprisingly it was not as difficult as expected before.

As a result #677142 containing a patch came into existence.

Result: regular expressions look strange but lift their secret after some time of thinking