[devel] rpm 4.0.4-alt87

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Чт Фев 28 21:34:19 MSK 2008


On Thu, Feb 28, 2008 at 09:00:53PM +0300, Alexey Tourbin wrote:
> On Wed, Feb 27, 2008 at 07:46:04PM +0300, Dmitry V. Levin wrote:
> > On Sun, Feb 24, 2008 at 09:01:21PM +0300, Alexey Tourbin wrote:
> > [...]
> > > Чтобы не появилось слишком много bulk зависимостей, я реализовал
> > > оптимизацию, которая удаляет следующие зависимости (как "команды"
> > > в шелл-скриптах, так и соответствующие им /bin/ пути):
> > > 	sh cat rm mv cp mkdir ln
> > > 
> > > (список можно будет немного увеличить, если кто-нибудь захочет
> > > составить более точную статистику, чем у меня получилось с ходу).
> > > 
> > > Поскольку сам rpm требует coreutils и /bin/sh, то в любой
> > > не окончательно поломанной среде эти зависимости должны быть
> > > заведомо удовлетворены.
> > 
> > Боюсь что эту оптимизацию придётся убрать,
> > иначе порядок установки пакетов в пустую систему может испортиться.
> 
> Я об этом думал.  Другая похожая возможность нарушения порядка --
> это использование 'rpmi --root chroot/' при отсутствии rpm в чруте.

Ну это и есть вариант установки пакетов в пустую систему.

> В любом случае, корректная процедура инициализации пустой системы
> или чрута должна начинаться с установки самого rpm.  Значит, порядок
> пакетов в худжем случае придётся проконтролировать только для конечного
> числа пакетов, от которых зависит rpm.

Я не уверен, что rpm как пакет всегда должен присутствовать в любой системе.

> Насколько я вижу, сейчас есть всего один пакет, который "меньше" rpm
> и в котором есть shell-скриптлет -- coreutils, в котором дёргается
> install-info.  Значит, в coreutils желательно вручную прописать
> зависимость на /bin/sh.  Ещё в принципе желательно добавить зависимость
> на /bin/sh в info-install.

А как быть с зависимостями на coreutils?  Их тоже предлагается optimize out
в сочетании с гарантией того, что coreutils должен быть установлен раньше
других пакетов?

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

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

А как гарантировать, что эти три кита будут установлены раньше других
зависимых пакетов, если действует оптимизация зависимостей на coreutils?

> С другой стороны, в hasher используется специальная процедура
> инициализации чрута, которая НЕ ПОЛАГАЕТСЯ на порядок установки
> базовых пакетов.

Да, не о hasher речь.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/583539ff/attachment-0002.bin>


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