Git is not always better than subversion

Yesterday I wished I had used svn instead of git as VCS for Licq’s debian package, when I accidentally deleted my local git clone with lots of commits that I hadn’t pushed…

Luckily I had all the changes in a different format so I didn’t have to redo all the work, but I had to spend time trying to commit the changes in a somewhat logical way.

Comments Off

New GPG key

Following the instructions on how to create a new GPG key I have now created a new, more secure, GPG key. The new key’s id is 7E28522C, it’s signed with my old key and available on a key server near you.

Comments Off

debian/licq.git mirror on Gitorious

To get better speed and a backup I’ve set up a mirror of debian/licq.git on Gitorious.org.

I don’t really know the best way to do this, but I did it by adding the following line to hooks/post-update:

git push --mirror git@gitorious.org:licq/debian.git

This way the mirror will always be updated when I push to the “real” repository.

Get it by running

% gbp-clone --pristine-tar git://gitorious.org/licq/debian.git

or clone it on Gitorious and send me merge requests :)

Comments Off

Compiler bug

To see if Licq would build without warnings with gcc 4.5 I tried to build Licq trunk with the latest gcc-snapshot in Debian today. Three warnings were quickly fixed but a bigger problem was that the unit test hung; something which doesn’t happen with earlier gcc.

After some digging it turned out to be a problem with locking. A mutex was never unlocked when returning in the exception handler. This was very strange as the unlocking should be done by the MutexLocker destructor.

I was able to reproduce the problem with a simple test program so I concluded that it was indeed a compiler bug and reported it: Destructor not called when returning in exception handler.

Not every day you get to find a compiler bug…

Comments Off

/me is the new Debian maintainer for Licq

Update 2010-10-30: Changed the initial setup to use gbp-clone.

I’m now officially the maintainer of Licq’s Debian packages. Since I’m not a real Debian maintainer, I’m very grateful to Joel Rosdahl who is my sponsor.

Version 1.3.8-1 is coming to a mirror near you as I write this.

The package source is kept in my git repository. To build the package from the git repository, install git-buildpackage and pristine-tar then follow the instructions below.

Initial setup:

% gbp-clone --pristine-tar git://git.ejohansson.se/debian/licq.git

% git clone git://git.ejohansson.se/debian/licq.git
licq % cd licq
licq % git checkout -b pristine-tar origin/pristine-tar
licq % git co master

To build the latest version:

licq % git-buildpackage --git-export-dir=../build-area

To build a specific version:

licq % git-buildpackage --git-export-dir=../build-area --git-export=debian/1.3.8-1

The final packages will be available in ../build-area.

Later on when you wish to update:

licq % git pull
licq % git-buildpackage ...

The next version will have qt4-gui.

Comments Off

Printing all the pre defined gcc macros

Found this useful command on brain-dump.org. Posting it here for my own reference:

gcc -dM -E - < /dev/null
Comments Off

Wake on LAN with Debian

To enable Wake on LAN on a Asus P5E-V motherboard under Debian you can do the following. Since I have a Asus motherboard, that’s the only one I’ve tested, but except from the BIOS (which may differ a bit), the instructions should be the same for all motherboards/NIC that supports Wake on LAN.

In the BIOS, enable “Power on by PCIE device”.

In Linux, first install ethtool and then check that Wake on LAN is supported by running the following command:

root@host$ ethtool eth0
...
        Supports Wake-on: g
        Wake-on: g
...

The output should contain a ‘g’ to indicate that the device can be woken by sending it a “magic packet”.

Enable Wake-on by running:

root@host$ ethtool -s eth0 wol g

Since this command must be run on every boot, add it to /etc/rc.local.

root@host$ cat /etc/rc.local
...
ethtool -s eth0 wol g
exit 0

As the last step we must make sure that halt doesn’t disable the network device. This is done by adding this line to /etc/default/halt:

NETDOWN=no

We also need the MAC address to send the magic packet to.

root@host$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:1e:8c:cf:d0:bb  
...

Then shutdown the computer. On an other computer, install e.g. wakeonlan and run:

user@other$ wakeonlan 00:1e:8c:cf:d0:bb

The computer should now start.

2 comments so far, add yours

C++Next

Found a very interesting C++ site the other day: C++Next. I highly recommend it if you’re interested in “the next generation of C++”.

Comments Off

Licq 1.3.7-rc1

Licq 1.3.7-rc1 was announced a few days ago. To quote the announcement:

Licq 1.3.7 contains many bugfixes, and several new features in the Qt4-Gui such as spell checking and configurable keyboard shortcuts.

Download it from the usual place.

Comments Off

git and svn back online

After a long time offline, git.ejohansson.se and svn.ejohansson.se are finally back online. They are served from my NSLU2 machine (running Debian) so they are not the fastest loading pages out there.

2 comments so far, add yours