How to install the latest docky in stable (squeeze) debian without switching to testing/unstable.

Author: Zganyaiko Dmitry <zdo.str@gmail.com>

Currently (29 Jul 2011) Debian squeeze have old, but stable docky 2.0.6. If you want to install the latest docky, you can perform these actions:

1. Install these packages:

apt-get install libgconf2.0-cil-dev libgio-cil libgio2.0-cil-dev libgnomedesktop2.0-cil-dev \
libgnome-keyring1.0-cil-dev librsvg2-2.0-cil-dev libmono-addins-cil-dev \
libmono-addins-gui-cil-dev libndesk-dbus1.0-cil-dev libndesk-dbus-glib1.0-cil-dev \
libwnck1.0-cil-dev libnotify-cil-dev

2. Download the latest docky tarball from the site.

https://launchpad.net/docky/+download

Currently this is 2.1.3. Unpack tarball and change current directory.

$ tar xzf docky-2.1.3.tar.gz
$ cd docky-2.1.3

3. By default docky's configure script use another dbus-cil library name. Squeeze use old library which is not supported anymore. New docky use another well supported library. But we have no choice.

$ sed -i 's/dbus-sharp-1.0/ndesk-dbus-1.0/' configure
$ sed -i 's/dbus-sharp-glib-1.0/ndesk-dbus-glib-1.0/' configure

4. Change required version of these libraries:

$ sed -i 's/DBUS_SHARP_REQUIRED_VERSION=0.7/DBUS_SHARP_REQUIRED_VERSION=0.6/' configure
$ sed -i 's/DBUS_SHARP_GLIB_REQUIRED_VERSION=0.5/DBUS_SHARP_GLIB_REQUIRED_VERSION=0.4/' configure

5. s/using DBus/using NDesk.DBus/ in all files

$ for i in `grep -R "using DBus;" * | cut -d : -f 1`; do sed -i 's/using DBus;/using NDesk.DBus;/' $i; done

6. Proceed with the usual installation

configure && make && make install

That's all.

All this stuff can be replaced by creating deb-package for squeeze-backports. I'll try to do this a bit later. Good luck!

user comment: Great work Zganyaiko! This worked for me, just wanted to note, I also had to install libgtk2.0-dev. Your info got me past that dreadful Dbus-sharp problem, thank you. edit: Followed Zganyaiko's instructions exactly on another machine, fresh Squeeze installation. In addition to file previously mentioned, also had to install: intltool, mono-gmcs, libconf2-dev, mono-devel. This is so helpful, thank you again Zganyaiko!