[devel] gftp-common-2.0.18stable-alt4
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Янв 21 03:41:27 MSK 2008
> gftp-2.0.18stable-alt4 Requires(rpmlib) rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> +gftp-common-2.0.18stable-alt4 Requires /usr/bin/gftp-gtk
> +gftp-common-2.0.18stable-alt4 Requires /usr/bin/gftp-text
> gftp-common-2.0.18stable-alt4 Requires sh
В пакете есть скрипт
$ rpmpeek gftp-common-2.0.18stable-alt4.i586.rpm cat -n ./usr/bin/gftp
1 #!/bin/sh
2
3 prefix=/usr
4 exec_prefix=/usr
5
6 if [ "$DISPLAY " != " " ] && [ -f /usr/bin/gftp-gtk ]; then
7 exec /usr/bin/gftp-gtk ${1+"$@"}
8 elif [ -f /usr/bin/gftp-text ]; then
9 exec /usr/bin/gftp-text ${1+"$@"}
10 else
11 echo "Error: Can't find gFTP binaries installed in /usr/bin"
12 fi
13
$
который теперь будет цеплять два остальных пакета, gftp-gtk и gftp-text.
Это ещё один пример, когда появляются "обратные" зависимости, и
подпакеты начинают "по кругу" зависеть друг от друга.
Направление зависимостей на самом деле не столь очевидно.
Ведь если я просто установлю пакет gftp-common и запускаю /usr/bin/gftp,
то скрипт будет выдывать "echo Error". Такого быть не должно. В этом
вообще есть некая проблема с т.н. *-common пакетами: они должны
"обратно" что-то требовать.
То есть правильное направление зависимостей должно быть, наверное, таким:
gftp-gtk -> gftp-common
gftp-text -> gftp-common
gftp-common -> (gftp-gtk | gftp-text)
Но rpm не поддерживает "или" зависимости (а shell.req, конечно,
не сможет такую зависимость сгенерировать). И всё равно круговая
зависимость остается, хотя и в ослабленном виде.
Наверное проще всего было бы просто не распиливать пакет gftp.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20080121/8c47509f/attachment-0002.bin>
Подробная информация о списке рассылки Devel