Pull to refresh

Ставим свежий ClamAV с поддержкой UNRAR

Reading time2 min
Views3.7K
Проблема:
Ubuntu 8.04 (Hardy Heron) сейчас имеет в своем репозитории уже довольно старую версию пакета ClamAV — 0.92.1 ( на 6 сентября 2008 г.)
Текущая версия ClamAV: 0.94
В сети можно найти дебиановский пакет 0.94 из нестабильной ветки, но в нем напрочь отключена компонента UNRAR, даже часть кода выкинута. Видимо это сделано из-за лицензии на RAR-алгоритм. Эта компонента позволяет проверять внутри архивов RAR, в том числе версии 3. Что же делать если очень хочется?


Попробовав откомпилировать пакет без опции "--disable-unrar" — получаем ошибку:
Making all in libclamunrar
make[3]: Entering directory `/home/asor/FILES/clamav/0.94/original/clamav-0.94.dfsg/libclamunrar'
make[3]: *** No rule to make target `unrar15.lo', needed by `libclamunrar.la'. Stop.
make[3]: Leaving directory `/home/asor/FILES/clamav/0.94/original/clamav-0.94.dfsg/libclamunrar'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/asor/FILES/clamav/0.94/original/clamav-0.94.dfsg'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/asor/FILES/clamav/0.94/original/clamav-0.94.dfsg'
make: *** [build-arch-stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2

Гугление результата не дает, вопросы про unrar15.lo есть, ответов нет.
Что же делать? А вот что.

Решение:

Если вам лень или некогда читать всю эту муть, или повторять, смотрите сразу postcriptum в конце топика


Загружаем исходники найденного дебиановского пакета из packages.debian.org/sid/clamav Нам нужны 3 файла:
clamav_0.94.dfsg-1.diff.gz
clamav_0.94.dfsg-1.dsc
clamav_0.94.dfsg.orig.tar.gz


Распаковываем исходники из пакета:
dpkg-source -x clamav_0.94.dfsg-1.dsc


Спрячем пока эти оригинальные исходники:
mkdir original && mv *.gz *.dsc original

Теперь загрузим комплект исходников с официального сайта ClamAV:
wget freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.94.tar.gz
tar xvzf clamav-0.94.tar.gz


Скопируем все файлы из clamav-0.94/libclamunrar/* в clamav-0.94.dfsg/libclamunrar (самостоятельно ;-)

Заходим в clamav-0.94.dfsg/ и правим debian/rules:
Находим строку с «configure» — это 44 строка, и удаляем из ее конца "--disable-unrar"

Добавляем в в начало debian/libclamav5.install 4 строки:
debian/tmp/usr/lib/libclamunrar.so.5.0.*
debian/tmp/usr/lib/libclamunrar.so.5
debian/tmp/usr/lib/libclamunrar_iface.so.5.0.*
debian/tmp/usr/lib/libclamunrar_iface.so.5


А так же в начало debian/libclamav5-dev.install:
debian/tmp/usr/lib/libclamunrar.so
debian/tmp/usr/lib/libclamunrar.a
debian/tmp/usr/lib/libclamunrar.la
debian/tmp/usr/lib/libclamunrar_iface.so
debian/tmp/usr/lib/libclamunrar_iface.a
debian/tmp/usr/lib/libclamunrar_iface.la


Скомпилируем пакеты (в том числе новый набор исходников) и установим:
dpkg-buildpackage
cd ..
sudo dpkg -i *.deb

Наслаждайтесь!

P.S. Вы можете не париться и просто установить означенные пакеты моей сборки для i386 или пересобрать из моих исходников, если у Вас другая архитектура (или просто не доверяете неподписанным пакетам): miracle.net.ru/ubuntu/packages/clamav
Tags:
Hubs:
+3
Comments3

Articles

Change theme settings