[devel] contents_index provides (rxvt-unicode vs xinitrc)

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Мар 10 13:17:55 MSK 2008


On Mon, Mar 10, 2008 at 04:54:39PM +0700, Евгений Терешков wrote:
> > Вообще же файловая зависимость на /usr/bin/xvt у xinitrc кажется мне
> > более правильной.  Если xinitrc запускает /usr/bin/xvt, то нет ничего
> > лучше, чем просто требовать /usr/bin/xvt.  Поскольку /usr/bin/xvt
> > является альтернативой, то alternatives.prov должен автоматически
> > прописать "Provides: /usr/bin/xvt" у всех пакетов, которые претендуют
> > на эту альтернативу.  А вот "Provides: xvt" Пушкин не напишет.
> 
> runwm из пакета xinitrc запускает xvt по пути относительно $PATH. И требует
> соответсвенно не по абсолютному пути.

У нас пока не поддерживаются виртуальные зависимости вида
executable(xvt).  В общем, требовать путь к альтернативе --
не самый плохой вариант (а может быть и самый хороший).

Собственно, если бы при сборке пакета xinitrc в сборочном чруте
стоял хотя бы один из пакетов с альтернативой xvt, то зависимость
на /usr/bin/xvt появилась бы автоматиически.

$ rpm -ql xinitrc |xargs grep -w xvt 
/etc/X11/Xsession:                      export BROWSER="xvt -e $n"
/usr/bin/runwm:         echo "xvt -geometry 100x25+0+0 $@"
/usr/bin/runwm:         xvt -geometry 100x25+0+0 &
$ /usr/lib/rpm/shell.req -v /usr/bin/runwm
shell.req: /usr/bin/runwm: cat -> /bin/cat -> coreutils (via contents_index_bin)
coreutils
shell.req: /usr/bin/runwm: xvt -> /usr/bin/xvt -> ... (via host_env)
shell.req: /usr/bin/runwm: /usr/bin/xvt -> /usr/bin/xvt -> /usr/bin/xvt (alternative)
/usr/bin/xvt
$ 

То есть здесь проблема в том, что /usr/bin/xvt отсутствует в
contents_index (потому что альтернатива на запакована как файл в пакете,
а создаётся только после установки).  Поэтому остаётся искать
/usr/bin/xvt только в хост-системе.  И, таким образом, при сборке
в хешере зависимость на /usr/bin/xvt теряется.

Я вот думаю, стоит ли дополнить contents_index альтернативами.

> Получается, что надо чинить xterm, xinitrc (и ещё что-то, список выше
> скипнут) чтобы они требовали и провайдили полный путь?

Путь альтернативы провайдится автоматически.
/usr/lib/rpm/alternatives.prov

То есть "Provides: /usr/bin/xvt" где надо появится автоматически.
А вот "Provides: xvt" Пушкин не напишет.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20080310/7576dd0f/attachment-0002.bin>


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