Monthly Archive for January, 2008

Rebooted

Today I had to reboot my mobile phone (K800i) for the first time
since I have it (June 2007). It crashed so bad that I had to remove
the battery (and put it back) to be able to use it again. At the point where I had to
enter the code I realized that i never turned it off since June 2007
and therefore I had to wait until I was home again because I had no idea
what the new code was.

Getcover

With the update to Fedora 8 an old problem reappeared. The web front end I have to use my PDA as a remote control for my mpd server calls a binary which downloads the CD cover of the currently playing album from amazon. Unfortunately I lost the source code a long time ago and now with the update to Fedora 8 it broke because it was linked against an older curl version than available in Fedora 8. So I sat down to write it again.

Just as last time I used gmpc’s coveramazon plugin as a starting point and rewrote it to be a standalone application. After two days I had it working again. As a last test I wanted to delete the download directory (covers/) to see if the directory is recreated. Unfortunately (I do not know why) I typed rm * covers/ instead of rm -rf covers/. Everything was deleted except the directory I intended to delete.

I tried to undelete the file with grep (grep -a -B2000 -A2000 "getcover" /dev/sda3), but I was not able to find any trace of that file. I was cursing for about an hour and then I started to rewrite it again. This time I committed every change in my repository I am using for kover.

Thus, I present getcover. To try it out you have to do the following:

$ git clone http://lisas.de/kover/git bla
$ cd bla/getcover
$ cmake .
$ make
$ ./getcover

The best overview about how to use it gives hopefully the help:

  -h, --help       print out this information
  -a, --artist     specify the artist whose cover should be retrieved
                   (required)
  -l, --album      specify the album
                   (required)
  -t, --title      search type: Title (default)
  -k, --keyword    search type: Keyword
  -c, --cover      download cover (default)
  -i, --info       download artist information
  -e, --endpoint   select endpoint (specify "list" to see all options)
  -o, --host       specify proxy host
  -p, --port       specify proxy port
                   if the environment variable http_proxy is set
                   that value will be used. to disable the use of
                   proxy in that case the environment variable has to be unset.
  -d, --directory  destination directory (defaults to current directory)
  -v, --verbose    verbose output

I am using cmake because I started to port kover to KDE4 and it was good way to get used to cmake. And for completeness a link to the php script which is responsible for the web front end.

Silvretta Nova

Today Jennifer, David and I spent a day snowboarding at
Silvretta Nova.

Time Consuming

Today, soon after getting up, I read my emails as every morning. Today
were a few bugzilla mails in my inbox that libcdio
has a security vulnerability: Long Joliet file name overflows cdio’s buffer.

I started to read through the bug reports and decided to prepare a new release
for all affected branches. I did not suspect however that this would take me over
two hours. But right now I have submitted the last build request for EL-5 and I still have
to request updates in bodhi to make
it available for F-7 and F-8.

For rawhide I updated libcdio to a new upstream version so that I did a first quick build
to see if there was a soname change. It was not. Good.

I then included the patch from
gentoo’s bugzilla and also fixed the open multiarch conflict. I committed my changes to CVS, requested a build and closed the appropriate bugs in bugzilla.

The next steps were to merge my changes from the rawhide branch to the F-7 and F-8 branches.
I decided that for those two releases I do not want to upgrade to the latest upstream version (0.79) but
to only apply the necessary patches to fix the current version (0.78.2). I had to test this release again
and was then finally able to request builds for F-7 and F-8. Then I remembered that I am also
maintaining libcdio for EL-5 so that I committed my changes also on that branch.

All things considered it took me now over two hours to apply a simple patch to a rather simple package.