[devel] alternatives.prov

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Апр 15 07:01:55 MSD 2007


On Thu, Mar 29, 2007 at 03:22:54AM +0400, Dmitry V. Levin wrote:
> > > Чтобы решить эту проблему, я решил добавить специальный provides метод
> > > в пакет alternatives.  Он добавляет в provides все альтернативы которые
> > > начинаются с /usr/bin/ и /usr/sbin/.
> > > 
> > > Ниже приведены некоторые подробности.  Есть ли недостатки у этого
> > > подхода?  Может образоваться некоторое (небольшое) количество "мусорных"
> > > provides, типа /usr/bin/autoconf-default или /usr/bin/i586-alt-linux-gcc.
> > > С другой стороны, в принципе предусмотрено отключение любого prov метода.
> > 
> > > +++ b/alternatives/alternatives.prov
> > > @@ -0,0 +1,11 @@
> > > +#!/bin/sh -efu
> > > +
> > > +. /usr/lib/rpm/functions
> > 
> > Недостаток тут такой, что у alternatives появится зависимость
> > на rpm-build.
> 
> Пожалуй, это многовато для alternatives.

alternatives.prov можно внести в rpm-build.  Это сделает rpm-build
чувствительным к формату альтернатив.  Но это может помочь решить ещё
одну достаточно неприятную в принципе проблему.

Речь идет об алгоритме find-package.  Если в каком-либо скрипте
используется "альтернативный" бинарь, то в текущем виде алгоритм
find-package может дать непредсказуемый результат.  Дело в том, что
в buildroot'е альтарнативного симлинка, как правило, не стоит.
То есть find-package может дать "случайную" зависимость на какой-либо
другой пакет, который предоставляет альтернативу.  Можно обучить
find-package искать в buildroot'е файл с альтернативами и смотреть
прежде всего туда (чтобы пропустить ненужную зависимость).  Но одно
это уже делает rpm-build чувствительным к формату альтернатив.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070415/d5998543/attachment-0001.bin>


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