[devel] exim-common-4.67-alt1

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Сен 16 19:40:10 MSD 2007


>  exim-common-4.67-alt1	Requires	/etc/sysconfig/network
> +exim-common-4.67-alt1	Requires	/usr/sbin/exim
>  exim-common-4.67-alt1	Requires	coreutils

В пакете exim-common появляется unmet на /usr/sbin/exim,
из-за симлинков, которые на него смотрят.  Вот кусочек лога сборки:

find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/etc/aliases -> /etc/exim/aliases is not going to provide anything
find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/usr/sbin/mailq -> /usr/sbin/exim is not going to provide anything
find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/usr/sbin/rmail -> /usr/sbin/exim is not going to provide anything
find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/usr/sbin/rsmtp -> /usr/sbin/exim is not going to provide anything
find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/usr/sbin/runq -> /usr/sbin/exim is not going to provide anything
find-provides: absolute symbolic link /usr/src/tmp/exim-buildroot/usr/sbin/sendmail -> /usr/sbin/exim is not going to provide anything
[...]
symlinks.req: /usr/src/tmp/exim-buildroot/usr/sbin/mailq: /usr/sbin/exim -> /usr/sbin/exim (raw, not found)
symlinks.req: /usr/src/tmp/exim-buildroot/usr/sbin/rmail: /usr/sbin/exim -> /usr/sbin/exim (raw, not found)
symlinks.req: /usr/src/tmp/exim-buildroot/usr/sbin/rsmtp: /usr/sbin/exim -> /usr/sbin/exim (raw, not found)
symlinks.req: /usr/src/tmp/exim-buildroot/usr/sbin/runq: /usr/sbin/exim -> /usr/sbin/exim (raw, not found)
symlinks.req: /usr/src/tmp/exim-buildroot/usr/sbin/sendmail: /usr/sbin/exim -> /usr/sbin/exim (raw, not found)

/usr/sbin/exim не предоставляется ни одним пакетом и не содержится
ни в одном пакете.  Считаю такое положение вещей неправильным.

Симлинк /usr/sbin/exim появляются при исполнении post-скриптов
некоторых пакетов, напр.

$ rpm -qp --scripts exim-heavy-4.67-alt1.i586.rpm 
postinstall scriptlet (through /bin/sh):
ln -sf /usr/sbin/exim-heavy /usr/sbin/exim
/usr/sbin/post_service exim
preuninstall scriptlet (through /bin/sh):
/usr/sbin/preun_service exim
$

Вообще-то такие вещи лучше делать с использованием alterntaives.
Напирмер, в данной "самопальной" реализации после удаления пакета
останется битый симлинк /usr/sbin/exim, тогда как alterntavies
его бы "подчистил".

Кроме того, если повесить симлинк /usr/sbin/exim на альтернативы,
то каждая альтернатива теперь будет делать автоматический Provides:
/usr/sbin/exim.

В любом случае, даже при сохранении самопальной схемы, /usr/sbin/exim
должен кто-то содержать как файл или предоставлять как зависимость.
То есть при сохранении самопальной схемы нужно во все пакеты, которые
делают симлинк /usr/sbin/exim, добавить Provides: /usr/sbin/exim.

(Если же хочется узко решить именно эту проблему, то достаточно
в билдруте создать какой-нибудь файл или небитый симлинк /usr/bin/exim).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20070916/71d71857/attachment-0002.bin>


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