Michal Čihař - Blog Archives for English

Too lazy to manually upload to PPA

As I wrote before, I tried to use Ubuntu Personal Package Archive for distributing up to date Gammu, python-gammu and Wammu packages. For first time I failed because I expected it to behave more like OpenSUSE build service than like Debian archives, but I was wrong, so I have to upload different version to each Ubuntu suite.

Well that sounds like a work which should be automated. So I hacked a little shell script, which takes current version from unstable, updates changelog and injects it into my PPA. The hacky script is called deb2ppa. It requires dput to be configured for ppa same way as I have it and maybe has some other tricky dependencies which I do not realize right now.

Anyway you can now use current Wammu/Gammu versions even on older Ubuntu releases if you wish :-). (Well you have to wait till it is rebuild, but I hope it will not take much time.)

Binary packages for Gammu, Wammu and python-gammu

When Ubuntu announced public availability of Personal Package Archives, I thought it might be good to use it to provide up to date Gammu related packages. After successful registration I uploaded Gammu package and no reaction so far, so I'll wait.

However this memorised me that I wanted to use OpenSUSE Build Service for same purpose some time ago. I filled in registration and as I didn't receive any email about being accepted, I absolutely forgot about that. Now just tried to log in and it works. So you can now have access to latest Gammu, python-gammu and Wammu packages for most recent RPM distributions (Fedora 7, Fedora 8, Mandriva 2006, Mandriva 2007, openSUSE 10.2, openSUSE 10.3, openSUSE Factory, SLES 9 and SLE 10). I could not test them so any feedback is welcome :-). You can find all packages on overview page or directly in download folders.

Playing with spec files after long time was quite painful, but I got to it after I managed the hardest thing - how to make build dependencies which will work on all these distros.

I hope I will be able to announce similar service for Ubuntu users using PPA, but now I have to wait for some reaction on my source uploads.

I hate this system

My girlfriend has to use Windows, because university she studies does not give her another option. Now she got some crap on which she should do some statistics. This crap is being called SAS. I have not yet seen how does it look like, but I already enjoyed funny hours with it's installer. As I'm currently on the other side of world, I have to do all remotely...

The basic problem is simple: I do not have much space on C: drive and it does not provide option to install on another drive. First she tried to install it herself, the setup fucked up so much, that it deleted NTLDR and friends from root folder, so Windows didn't boot up again. Fortunately there is also Debian on that machine, so she booted to it, I installed ntfs-3g and restored needed files from Windows XP installation CD (the recovery console did not work, don't ask me why). So great, after about one hour we have back working Windows!

Now I still did not have idea what is the problem. However the failure appeared when the crap was trying to install some special JRE it has included. When I started the installer for this JRE manually, it showed that there is not enough space. Why the hell did not the original installer show this? Well I did some cleanup on the disk and I got 1GB of free space. Hope that it will be enough.

No. Somewhere near 58% installation is fucked up again with error -2147483648. Wow nice number! Looking at disk space, it's down to few kilobytes. So again the same problem! Okay, let's clean it up more and hopefully installer will resume. But I should not hope for anything good from this installer. The only option it now gives me is to reboot.

Reboot, start again installer and let's see what will break this time. Now it found out that some Microsofts runtime is missing. Why it was not missing last time? Okay, let's install it and (of course) we need another reboot. System started up, installer launched and it seems to go on quite well, only the last few percents are taking incredibly long, but the crap seems to finally installed and it even runs!

Few questions: Why they do not check for required space in installer? Why do they force me to disable anti virus during installation? Why does not remote desktop from Windows work? Why is there such mess in Windows, especially in Windows folder? Why are temporary files located all over the disk?

As last but not least thing I would like to thanks everybody who made ntfs-3g and VNC work, I would never fix this without these tools.

Lets automate the work

Fixing bugs in code and committing it to VCS usually also means that you need to interact somehow with BTS you use to let it know that the bug has been fixed. This is manual work which could be done by some clever commit scripts, right? All what is needed is just spend some time to set it up.

Most of my development currently goes to Gammu/Wammu which uses own Mantis bug tracker. It is already a bit prepared for integration with VCS, but I never found their documentation sufficient. Fortunately somebody wrote tutorial on integrating Mantis and Subversion, which made it quite easy to set up. All what was needed was to put little commit hook into SVN.

Now the logical step was to make it also for Debian packages. A bit of Googling revealed discussion on debian-devel. Unfortunately no example for SVN, but ripping out needed things from Manoj's script for Arch was quite easy and I made my own commit hook. While looking at this, I also found wonderful tool called debcommit, which commits changes to Debian package using changelog entries as commit message. I still wonder how many useful tools are hidden to me.

The only thing I don't know is why Google didn't show me yesterday svnlog, which seems to have support for Debian BTS out of the box. Maybe I just entered slightly different keywords than today when trying to find the mentioned thread on debian-devel.

Gammu test version 1.14.90

Okay, I messed it up. Recently released 1.14.0 still had some artefacts from SMS handling cleanup and it should be fixed now. Besides this, experimental (not tested) support for OBEX on Siemens phones has been added and Motorola users should be finally able to get their messages. Full list of changes:

  • Configurable MySQL socket path.
  • More extensive SMS PDU parser tests.
  • Experimental support for OBEX in Siemens.
  • Support for listing messages using CMGL (bug #408).
  • Parse T630 reply on CPBR (bug #420).
  • Fix buffer overflows in PDU decoder.
  • Properly catch invalid PDU data received from phone.
  • Handle more OBEX error codes.
  • Handle vCards from Yahoo and Evolution (bug #424).

You can download from usual place: http://cihar.com/gammu/

I will try to stabilise to 1.15.0 as soon as possible, what effectively means feature freeze from now, so this testing series should be shorter than usual.

Real address in bug tracker makes sense!

Today, when walking through some Wammu/Gammu bugs, I came to conclusion that the spam changed some people to behave insane. The email field in bug tracker is there to allow developer to contact you, for example when he makes a fix for issue you reported and wants you to test it. Entering addresses as ones at TrashMail which will vanish soon (the bug I'm talking about is two days old, what I feel is good enough reaction time from my side), will not help anybody.

Thank you firebird76 (whatever your real name is) for realizing how people are stupid.

PS: I use Mantis bug tracker, which I believe does not expose email addresses to anyone besides privileged users.

Wammu 0.24

I just released version 0.24 of Wammu. This release brings improvements in device searching, support for notification on incoming call (you need python-dbus for this) and various minor GUI improvements. Full list of changes:

  • Notifies user about incoming calls using D-Bus.
  • Remember default type of created entry (eg. phone/SIM memory).
  • Newly created entries contain some reasonable fields by default.
  • Fixed validation of editor fields.
  • Improvements in guided wizard to make it easier to use.
  • Clever searching over Bluetooth based on manufacturer.
  • Searching can be really limited to some connection types.

There is still no binary for Windows. I don't have time and environment for maintaining them. Volunteers are welcome!