У меня есть два пакета:
- libsai-A
- libsai-B
Оба этих пакета «предоставляют» виртуальный пакет с именем «libsai», но libsai-B может «заменять» (копировать) libsai-A. По какой-то причине не все символические ссылки в libsai-A перезаписываются при установке libsai-B.
Симлинки в пакете .deb libsai-A:
./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
Симлинки в пакете .deb libsai-B:
./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 для создания моего пакета. Любая идея, что я делаю неправильно?
Спасибо!
Replaces:
, это должно инициировать удаление пакета, который он заменяет. Правильно ли A удаляет свои символические ссылки при удалении пакета? (Извините, я как-то упустил из виду эту деталь, когда вы изначально разместили свой вопрос.) - person tripleee   schedule 27.07.2018