[devel] W: build policy enhancement for packages using iconv()

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Ср Июл 9 20:48:26 MSD 2003


Greetings!

Как обнаружилось нашим QA, вероятность присутствия пакета
glibc-gconv-modules в системе зависит только от желающих этот функционал
пакетов, коих оказалось очень мало. На сегодня в Сизифе
glibc-gconv-modules хотят только два пакета: iconv и glibc. Первый --
утилита командной строки, необязанная стоять в системе. Второй --
пакет-обертка над базовым функционалом Glibc, опять же, требуемый только
glibc-devel.

Чем это плохо? Дело в том, что пакет glibc-gconv-modules предоставляет
динамические модули для iconv(3) в glibc. Отсутствие этого пакета ведет к
невозможности эксплуатации системного iconv() (наличие установленных
переменных окружения, переопределяющих директорию для поиска этих
динамических модулей, пренебрежимо мало) во всех приложениях, его
использующих. А это, например, все пакеты Gnome, Samba3, Netatalk, KDE.
Список можно продолжать.

Думаю, что в ALT Packaging Policy следует добавить следующее правило:
-------------------------------------------------------------------------
Если упаковываемое приложение непосредственно вызывает системную функцию
iconv(3), то пакет обязан требовать присутствие пакета
glibc-gconv-modules: либо через Requires: glibc-gconv-modules, либо через
PreReq: glibc-gconv-modules, в случае, если предполагается запуск
приложения во время выполнения скриптов установки (%prein/%postin).

В случае, если iconv(3) вызывается опосредованно, через некоторую
библиотеку (например, libglib2), то достаточно такую зависимость
установить только в используемой библиотеке.

Помните, что упаковщик должен следовать "золотому правилу": минимум
предположений о среде, в которой будет использоваться пакет, максимум
фактов зависимостей задокументированных в самом пакете. Существует более
одного способа получить рабочую систему и единственное требование к ней со
стороны упаковщика должно быть удовлетворение всех описанных в пакете
зависимостей.
-------------------------------------------------------------------------

-- 
/ Alexander Bokovoy
---
Here comes the orator, with his flood of words and his drop of reason.



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