[devel] rpm -qf horror

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Фев 29 00:00:16 MSK 2008


On Mon, Feb 25, 2008 at 11:57:09PM +0600, Mikhail Gusarov wrote:
> В главных ролях:
> warning: file /usr/lib/perl5/i386-linux/auto/I18N is not owned by any package
> warning: file /usr/lib/X11 is not owned by any package

Семантика владения каталогами -- довольно тонкая тема.
Бесхозные каталоги пока предлагаю считать не очень грубой ошибкой.

Первую ошибку исправить просто (и я её исправлю), вторую -- сложнее.
Кому должен принадлежать каталог /usr/lib/X11?

Существуют ещё более неприятные случаи.  Дело в том, что есть две разные
"иерархии": 1) иерархия файловой системы; 2) частичная упорядоченность
пакетов по зависимостям между ними.  Я с ходу не могу дать
математического обоснования, но мне ясно, что эти две иерархии не всегда
хорошо "накладываются" друг на друга.

Я об этом ранее писал.  В принципе, можно последовательно
(автоматически) проводить в жизнь максиму: каждый файл (и вообще, путь)
ТРЕБУЕТ родительский каталог, в котором он запакован.  Так вот, если
бескомпромиссно проводить в жизнь эту максиму, то могут получиться
слишком жесткие и "неприятные" зависимости.

Пример: часть документации пакуется в каталог /usr/share/gtk-doc/.
Но этот каталог принадлежит пакету gtk-doc, который используется только
для СБОРКИ такого рода документации.  Значит, если следовать максиме
иерархии фс, то мы ПОРТИМ топологию зависимостей, то есть у пакетов
с собранной документацией появится зависимость на СБОРОЧНЫЙ инструмент
(другими словами, у не-*-devel пакета появится зависимость на условно
*-devel пакет; а упорядоченность №2, в частности, состоит в том, что
любой *-devel пакет БОЛЬШЕ любого не-*-devel пакета).

Типичное решение проблемы с /usr/share/gtk-doc/ -- отпилить пакет
gtk-doc-base, который единственное что будет содержать -- это каталог
/usr/share/gtk-doc/.  Но это слишком искусственное решение --
согласование иерархий №1 и №2 требует плодить дополнительные сущности
(пакеты-фантомы).  Not fun.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080229/b6913b8b/attachment-0002.bin>


Подробная информация о списке рассылки Devel