> @@ -257,4 +257,9 @@ > CMFFormController-1.0.4-alt1 Requires(rpmlib) rpmlib(PayloadFilesHavePrefix) <= 4.0-1 > +CMFQuickInstallerTool-1.5.3-alt1 Requires /etc/init.d/zope > +CMFQuickInstallerTool-1.5.3-alt1 Requires /usr/share/debconf/confmodule > CMFQuickInstallerTool-1.5.3-alt1 Requires CMF > CMFQuickInstallerTool-1.5.3-alt1 Requires Zope-Modules > +CMFQuickInstallerTool-1.5.3-alt1 Requires dpkg > +CMFQuickInstallerTool-1.5.3-alt1 Requires findutils > +CMFQuickInstallerTool-1.5.3-alt1 Requires gawk > CMFQuickInstallerTool-1.5.3-alt1 Requires make Пакет CMFQuickInstallerTool заслуживает внимания по двум причинам -- общей и частной. Общая причина это классификация полу-анметов. Обратим внимание на зависимость /etc/init.d/zope. Она появляется при обработке файла /usr/lib/zope/lib/python/Products/CMFQuickInstallerTool/debian/postinst. Вообще-то этот файл, вероятно, запакован по ошибке. Но с точки зрения общей причины это сейчас не важно. Этот файл является простым #!/bin/sh скриптом; на нём не стоит бита -x, поэтому раньше зависимости не искались, а теперь будут искаться. В этом файле исползуется /etc/init.d/zope: ./usr/lib/zope/lib/python/Products/CMFQuickInstallerTool/debian/postinst: test "$RET" = "true" && /etc/init.d/zope restart На самом деле в пакете Zope-ZUtils находится файл /etc/rc.d/init.d/zope. Это тот же самый файл, но у него отличается канонический путь. Поэтому образуется "сильный полу-анмет" на /etc/init.d/zope. Таким образом, это приводит меня к следующей классификации полу-анметов. Слабый полу-анмет: зависимость типа /путь, которая явно не предоставляется ни одним пакетом, но некоторые пакеты содержат соответствующие файлы /путь, при явном совпадении канонических путей. Такие пакеты при некоторых условиях всё еще можно поставить через apt-get, а в противном случае можно установить через rpm. Пример слабого полу-анмета: Requires: /etc/rc.d/init.d/zope Сильный полу-анмет: зависимость типа /путь1, которая явно не предоставляется ни одним пакетом; файл /путь1 не содержится ни в одном пакете; но некоторые пакеты содержат файл /путь2; каноникализация /путь1 и /путь2 дает один и тот же путь. Такие пакеты нельзя установить с помощью apt-get, и в некоторых случаях также нельзя установить через rpm. Пакет с сильным полу-анметом /путь1 можно поставить в хост систему только тогда, когда пакет с файлом /путь2 УЖЕ УСТАНОВЛЕН. Пример сильного полу-анмета: Requires: /etc/init.d/zope То есть встает вопрос каноникализации путей в процессе поиска зависимостей. Я реализовал в пост-alt78 бранче mod DWIM-хак, который как раз направлен против сильных полу-анметов, называется CanonPath. Во многих случаях он делает как раз то, что нужно, но полной гарантии супротив сильных полу-анметов нету. Частная же причина состоит в появлении анмета на /usr/share/debconf/confmodule. ./usr/lib/zope/lib/python/Products/CMFQuickInstallerTool/debian/postinst:. /usr/share/debconf/confmodule ./usr/lib/zope/lib/python/Products/CMFQuickInstallerTool/debian/config:. /usr/share/debconf/confmodule shell.req: /usr/src/tmp/CMFQuickInstallerTool-buildroot/usr/lib/zope/lib/python/Products/CMFQuickInstallerTool/debian/postinst: /usr/share/debconf/confmodule -> /usr/share/debconf/confmodule (raw, not found) По-видимому, каталог debian/ всё же запакован по ошибке. Если хотите паковать дебиановские скрипты, будьте готовы к дебиановским зависимостям.