Установка libecap v1.0.1 в Debian 8

Обновление библиотек libecap.


В данной статье будет предложен вариант обновления libecap до версии v1.0.1, при этом мы оставим старую версию библиотек дабы программы которые их используют не перестали работать.

Создадим папку чтобы не разводить мусор

mkdir /home/leash/libecap

cd /home/leash/libecap

Скачиваем и разворачиваем исходные файлы libecap в текущем каталоге

apt-get install dpkg-dev

apt-get source libecap

Скачиваем последнюю версию libecap

wget http://www.measurement-factory.com/tmp/ecap/libecap-1.0.1.tar.gz

Обновляем исходные файлы старой версии libecap

cd libecap-0.2.0

apt-get install devscripts lintian diffutils build-essential patch patchutils

uupdate -v 1.0.1 ../libecap-1.0.1.tar.gz

Переходим в каталог с новыми исходными файлами

cd ../libecap-1.0.1

Тут есть небольшой сюрприз. В Debian есть такое правило как shared lib policy. У библиотек поддерживается версионирование имени, т.е. если имя файла библиотеки libecap.so.2.0.0, то и пакет называется libecap2 (хотя версия 0.2.0). У версии 1.0.0 сонейм уже будет называться libecap.so.3.0.0. Это означает, что нельзя оставлять имя пакета libecap2, т.к. при обновлении программа зависящая от libecap.so.2.0.0 окажется сломанной.
Поэтому в файле ~/squid3-build/libecap-1.0.0/debian/control мы переименуем пакет в libecap3, что позволит сохранить параллельно libecap2 и libecap3 в системе.

sed -i 's/libecap2/libecap3/' debian/control

Удалим ненужный уже файл с данными о символах в libecap2

rm -f debian/libecap2.symbols

Переименуем все файлы ~/squid3-build/libecap-1.0.0/debian/libecap2* с заменой 2 на 3

rename 's/2/3/' debian/libecap2*

Фиксируем изменения в changelog пакета

dch --release ""

Собираем пакет

apt-get install dh-autoreconf cdbs

debuild -us -uc

Удаляем конфликтующий пакет libecap2-dev

sudo apt-get remove libecap2-dev

Устанавливаем новую библиотеку и пакет с заголовочными файлами

dpkg -i ../libecap3_1.0.1-1_i386.deb

dpkg -i ../libecap3-dev_1.0.1-1_i386.deb

Источник: https://blog.it-kb.ru/2015/04/30/update-build-and-install-squid3-package-from-3-3-8-to-3-5-3-from-source-code-from-scratch-on-ubuntu-server-14-04-2-lts/