> 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.