[devel] rpm 4.0.4-alt87

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Фев 28 22:05:17 MSK 2008


On Thu, Feb 28, 2008 at 09:34:19PM +0300, Dmitry V. Levin wrote:
> > Насколько я вижу, сейчас есть всего один пакет, который "меньше" rpm
> > и в котором есть shell-скриптлет -- coreutils, в котором дёргается
> > install-info.  Значит, в coreutils желательно вручную прописать
> > зависимость на /bin/sh.  Ещё в принципе желательно добавить зависимость
> > на /bin/sh в info-install.
> 
> А как быть с зависимостями на coreutils?  Их тоже предлагается optimize out
> в сочетании с гарантией того, что coreutils должен быть установлен раньше
> других пакетов?

Так я думал.  Точнее, я думал, что такая система является non-conforming
(не удовлетворяющая положениям стандартов, которые утверждают, что в
любой системе должны присутствовать /bin/sh, /bin/rm и т.д.), поэтому
такие системы я наскоро исключил из своего обдумывания. :)

> В любом случае убирать автозависимости вида /bin/cp не вижу смысла: обычно
> такие зависимости это признак ошибки неиспользования $PATH.

Ну уж не такая это и ошибка, хотя и для явного указания путей на базовые
системные команды обычно нет хорошей причины.  Просто ещё есть дефолтный
alias cp='cp -i', он вообще-то не активизируется для неинтерактивных
шеллов (в скриптах), но иногда всё равно хочется его избегать. :)

> > Таким образом, если заморачиваться этой гипотетической проблемой,
> > то зависимость на /bin/sh нужна в трёх местах -- rpm, coreutils
> > и info-install.  Я считаю это достаточно надёжной конструкцией --
> > больше нигде зависимость на /bin/sh можно не ставить.
> 
> А как гарантировать, что эти три кита будут установлены раньше других
> зависимых пакетов, если действует оптимизация зависимостей на coreutils?

Получается, что никак.  Но, с другой стороны, наличие /bin/sh и как
минимум некоторых команд из coreutils -- это свойство conforming среды.

Кстати, библиотечная функция system(3) неявно требует /bin/sh.  Не
значит ли это, что в пакет glibc-core нужно добавить зависимость на
/bin/sh?  Ведь гипотетически возможно, что, допустим, в "%post -p
/usr/bin/post" в программе на Си (/usr/bin/post) используется system(3),
и всё обломится.

В общем, возможны два разных подхода:
1) полагаемся на то, что есть корректно инициализированная conforming
минимальная рабочая среда; можно кое-что оптимизировать;
2) ни на что не полагаемся, ничего не оптимизируем.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20080228/5412d2fe/attachment-0002.bin>


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