dh_link не перезаписывает символическую ссылку другого пакета
У меня есть два пакета:
- libsai-А
- libsai-Б
Оба этих пакета "Предоставляют" виртуальный пакет под названием "libsai", но libsai-B может "заменить" (скопировать) libsai-A. По какой-то причине не все символические ссылки в libsai-A перезаписываются при установке libsai-B.
Симлинки в пакете libsai-A .deb:
./usr/lib/x86_64-linux-gnu/libsai-0.9.6.so -> libsai-0.9.6.so.1.0.0
./usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1 -> libsai-0.9.6.so.1.0.0
Симлинки в пакете libsai-B.deb:
./usr/lib/x86_64-linux-gnu/libsai-0.9.6.so -> ../test/dist/libsai-B-test.so
./usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1 -> ../test/dist/libsai-B-test.so
Первая символическая ссылка (libsai-0.9.6.so) корректно перезаписывается. Но второй нет (libsai-0.9.6.so.1):
root@TB:~# ls -alt /usr/lib/x86_64-linux-gnu/libsai*
/usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1 -> libsai-0.9.6.so.1.0.0 <<<== WRONG LOCATION
/usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1.0.0
/usr/lib/x86_64-linux-gnu/libsai-0.9.6.la
/usr/lib/x86_64-linux-gnu/libsai-0.9.6.so -> ../test/dist/libsai-B-test.so
root@TB:~# dpkg -S /usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1
libsai-B: /usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1
root@TB:~# dpkg -S /usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1.0.0
libsai-A: /usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1.0.0
Похоже, что символическая ссылка (libsai-0.9.6.so.1) была обновлена, чтобы принадлежать libsai-B, но место назначения этой символической ссылки по-прежнему указывает на старое местоположение (файл, принадлежащий libsai-A).
Вот как выглядит мой файл libsai-B.link:
usr/lib/test/dist/libsai-B-test.so usr/lib/x86_64-linux-gnu/libsai-0.9.6.so.1
usr/lib/test/dist/libsai-B-test.so usr/lib/x86_64-linux-gnu/libsai-0.9.6.so
Я использую Autotools для запуска всего материала dh_helper для создания моего пакета. Есть идеи, что я делаю не так?
Спасибо!
1 ответ
Перезапись символической ссылки другого пакета является нарушением политики Debian. Если вы хотите заменить что-то, вы должны явно переопределить это или использовать средство, подобное альтернативам.