Installing ubuntu packages from a newer repository
As I’ve explained earlier I have my incoming and sent mail in a single IMAP folder. To make this folder more readable I use a Thunderbird mail filter to add a “Sent” tag to the outgoing mail. This also causes the sent mail to be colored differently from the received mail.
Unfortunately, the tags don’t stick. They should be saved into the mail by using the X-Keywords header, but for some reason they aren’t.
I’ve read somewhere this is a known problem with Dovecot 1.0.10, which is the version that comes with my server’s Ubuntu 8.04 LTS. The LTS stands for Long Term Support, but unfortunately this bug is not considered important enough to release a new package for. Normally there’s a good chance that the -backports repositories contain these kind of updates, but in this case hardy-backports did not have a newer version of Dovecot.
So how to install a newer version of a package, in a way that doesn’t mess your system up too much?
The nice guys at Beijing Linux User Group pointed out that I can download the .deb file from a newer repository, and then install it using sudo dpkg -i. This works fine, but dpkg, as opposed to apt, does not automatically install dependencies. Fortunately for me I only had to manually update SQLite (using the same way) and the new Dovecot (from Intrepid) was good to go! After installing a package, it is advised to run sudo apt-get -f update in order to resolve any pending dependency issues.
Another solution that was suggested to me was to add the Intrepid repositories to the /etc/apt/sources.list but this is pretty scary, since it can cause a whole bunch of unpredictable updates. Some of this can be managed using apt pinning, by specifying what repository can be used for what package, but still a lot more complex than the manual installation of 3 deb files.