[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