LINUX.ORG.RU

Debian. Нарушенная целостность дистрибутива и APT.


0

0

Ситуация. Есть демо-версия коммерческого ПО, скомпилированного под Debian 3.1. Эта программа требует две вещи: libqt3c102-mt и kdelibs4, которые, возможно, есть в sarge. Однако в etch эти пакеты уже называются libgt3-mt и kdelibs4c2a. Очевидно, что при установке deb-файла, dpkg грязно выругался на нарушение зависимостей. Принимаю решение: поставил отдельно из etch libqt3-mt и kdelibs4c2a, а следом коммерческий софт с игнорированием зависимостей. Пришлось, правда, еще и вручную запускать конфигурацию пакета, так как поступила жалоба, что "нужные пакеты не установлены, поэтому конфигурировать ничего не буду". Ну вроде запустился. Все работает. Это, конечно, все через жопу сделано.

А вот теперь пришло время обновления apt-get upgrade. И вот, завидев нарушение зависимостей, apt мне предлагает (опция -f) одно единственное решение - удалить пакет-нарушитель. И только тогда он обновится. Опция -m ни к чему хорошему тоже не привела. Вопрос. Ну, и чего делать? :) Есть ли в apt.conf какая-нибудь опция, чтобы этот пакет apt не трогал? Кто как решает подобные проблемы? Можно, наверное, и спек в deb подправить, наверное, но тогда придется это делать каждый раз, когда меняется название пакета (еще совсем недавно kdelib4c2a была в etch без буквы "a") :) man читал, но пока вот ничего достойного внимания не встретилось. Может, пропустил. Может быть, можно какие-нибудь псевдонимы для пакетов установленных создавать?

★★★★★

>Может быть, можно какие-нибудь псевдонимы для пакетов установленных создавать?

man equivs
т.е сделать фиктивные пакеты libqt3c102-mt и kdelibs4, но не конфликтующие с libgt3-mt и kdelibs4c2a. И поставить уже эту софтину нормально.
Или еще можно залеть в /var/lib/dpkg/status и ручками сменить стаус коммерческого пакета на неустановленный или подправить ему зависимости.

W98
()

>Однако в etch эти пакеты уже называются libgt3-mt

Может сделать ссылку с ,,ожидаемым" названием на имеющиюсю либу?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

>Может сделать ссылку с ,,ожидаемым" названием на имеющиюсю либу?

Ты имеешь в виду на файл либы? Так похоже, что пакету все в названиях файлов именно нравится. При работе не ругается. Тут именно на уровне названий пакетов проблема.

Zubok ★★★★★
() автор топика
Ответ на: комментарий от W98

>man equivs >т.е сделать фиктивные пакеты libqt3c102-mt и kdelibs4, но не конфликтующие с libgt3-mt и kdelibs4c2a. И поставить уже эту софтину нормально.

Спасибо. Интересно. Попробую. :)

Zubok ★★★★★
() автор топика
Ответ на: комментарий от W98

Посмотрел на equivs. Если честно, то програма есть грязный хак, что открыто авторами программы в README.Debian заявляется. Ну мне не очень понравился метод. Поэтому я решил тупо перепаковать пакет, подправив спецификацию. Сделал я это пока так. Прочитал еще раз man dpkg-deb. Потом при помощи dpkg-deb -e packagename.deb извлек спек. Автоматически создался каталог /DEBIAN со скриптами и упаковочной информацией. Затем извлек все дерево каталогов пакета при помощи dpkg-deb -x packagename.deb. И /DEBIAN, и дерево каталогов уложил во временную директорию /tmp. Затем подправил спецификацию /DEBIAN/control на предмет зависимостей. Последний этап - перепаковка при помощи dpkg-deb -b /tmp new_package.deb . В результате все весело поставилось.

Zubok ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.