Backport clamav 0.91.1 to Ubuntu 6.06 Dapper Drake

This article will show you step by step how to update the outdated clamav installation in Ubuntu 6.06 Dapper Drake. We will backport clamav 0.91.1 available in Gutsy (7.10) to your platform of choice. The inspiration for this solution was taken from https://answers.launchpad.net/clamav/+question/9866

Replace dapper to gutsy in the deb-src lines in your sources.list, NOT in the deb lines.


vi /etc/apt/sources.list
sudo apt-get update
sudo apt-get install fakeroot build-essential
cd /usr/src
sudo apt-get source clamav
vi clamav-0.91.1/debian/control

In the control file

  1. change the one occurence of

    dpkg-dev (>= 1.13.19)

    to

    dpkg-dev (>= 1.13.11)
  2. Change the one occurences of

    libclamav2 (= ${binary:Version}),

    to

    libclamav2 (= ${Source-Version}),
  3. Change all three occurences of

    clamav-base(>= ${source:Version})

    to

    clamav-base(>= ${Source-Version})

Now we proceed to check for the packages that are required to build clamav:


cd /usr/src/clamav-0.91.1/

Check for build dependencies:


fakeroot dpkg-buildpackage -rfakeroot
Unmet build dependencies: libbz2-dev libmilter-dev libgmp3-dev libwrap0-dev libcurl-dev

So we install all of them


aptitude install libbz2-dev libmilter-dev libgmp3-dev libwrap0-dev libcurl-dev

and try again to simulate the compilation:


fakeroot dpkg-buildpackage -rfakeroot
dpkg-checkbuilddeps: Unmet build dependencies: libcurl-dev

Turns out that libcurl-dev is a virtual package with several sub-packages -- I think we can ignore that by using the -d flag! So let's see what happens:


fakeroot dpkg-buildpackage -rfakeroot -d

After this command finishes, you go up one directory where you will find the .deb files that were created for you:


cd /usr/src
ls -1 clam*.deb
clamav_0.91.1-1ubuntu3_amd64.deb
clamav-base_0.91.1-1ubuntu3_all.deb
clamav-daemon_0.91.1-1ubuntu3_amd64.deb
clamav-dbg_0.91.1-1ubuntu3_amd64.deb
clamav-docs_0.91.1-1ubuntu3_all.deb
clamav-freshclam_0.91.1-1ubuntu3_amd64.deb
clamav-milter_0.91.1-1ubuntu3_amd64.deb
clamav-testfiles_0.91.1-1ubuntu3_all.deb

And also all the libraries are there:

ls -1 libclam*.deb
libclamav2_0.91.1-1ubuntu3_amd64.deb
libclamav-dev_0.91.1-1ubuntu3_amd64.deb

We can now install those packages via dpkg:


dpkg -i clam*.deb libclam*.deb

You will receive that the package libclamav-dev could only be installed with errors, which is probably due to the libcurl-dev mentioned above. Since we do not want to do development based on clamav, we can safely ignore that mistake.

In addition, clamav-docs depends on sharutils, so you have to install that dependency as well:


aptitude install sharutils
dpkg -i clamav-docs_0.91.1-1ubuntu3_all.deb

Congratulations, you have now an updated version of clamav installed on your system:


apt-cache policy clamav
clamav:
Installed: 0.91.1-1ubuntu3
Candidates: 0.91.1-1ubuntu3

Now we change everything back from Gutsy to Dapper : Replace gutsy with dapper in the deb-src lines in your sources.list, NOT in the deb lines.


vi /etc/apt/sources.list
sudo apt-get update

More information available at
Ubuntu backport team: https://wiki.ubuntu.com/MOTU/Clamav
The Backports Developer Cheat Sheet http://ubuntuforums.org/archive/index.php/t-12040.html
http://tuxicity.wordpress.com/2007/02/01/build-a-bleeding-edge-package-f...