Обновление библиотек libecap.
В данной статье будет предложен вариант обновления libecap до версии v1.0.1, при этом мы оставим старую версию библиотек дабы программы которые их используют не перестали работать.
Создадим папку чтобы не разводить мусор
mkdir /home/leash/libecap
cd /home/leash/libecap
Скачиваем и разворачиваем исходные файлы libecap в текущем каталоге
apt-get install dpkg-dev
apt-get source libecap
Скачиваем последнюю версию libecap
Обновляем исходные файлы старой версии 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
Переходим в каталог с новыми исходными файлами
Тут есть небольшой сюрприз. В 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 в системе.
Удалим ненужный уже файл с данными о символах в libecap2
Переименуем все файлы ~/squid3-build/libecap-1.0.0/debian/libecap2* с заменой 2 на 3
Фиксируем изменения в changelog пакета
Собираем пакет
apt-get install dh-autoreconf cdbs
debuild -us -uc
Удаляем конфликтующий пакет libecap2-dev
Устанавливаем новую библиотеку и пакет с заголовочными файлами
dpkg -i ../libecap3_1.0.1-1_i386.deb
dpkg -i ../libecap3-dev_1.0.1-1_i386.deb