Я работаю над файлом спецификаций (foo.spec), который при сборке дает два RPM: foo-1-1.i386.rpm (основная программа) и libfoo- 1-1.i386.rpm (необходимые файлы библиотеки). В файле foo.spec указано, что для foo требуется libfoo той же версии и уровня выпуска:
Requires: libfoo = %{version}-%{release}
foo-1-1 прекрасно устанавливается с помощью:
rpm -ivh libfoo-1-1.i386.rpm
который устанавливает зависимую библиотеку, а затем:
rpm -ivh foo-1-1.i386.rpm
Но обновление до более новой версии (foo-2-1) не работает из-за зависимости от библиотек:
$ rpm -Uvh libfoo-2-1.i386.rpm
error: Failed dependencies:
libfoo = 1-1 is needed by (installed) foo-1-1.i386
$ rpm -Uvh foo-2-1.i386.rpm
error: Failed dependencies:
libfoo = 2-1 is needed by foo-2-1.i386
Так что я застрял. Я хочу, чтобы пользователи могли выполнить команду rpm -Uvh для обновления пакета foo (требовать от них игнорировать зависимости и т. д. — слишком многого от начинающих пользователей).
Любые идеи о том, как я могу обойти это, чтобы rpm -Uvh можно было использовать для обновления всех частей пакета, когда будет доступен новый выпуск?
Заранее спасибо.
rpm -Uvh foo-2.1.i386.rpm libfoo-2-1.i386.rpm
для обновления обоих одновременно - person Hasturkun   schedule 15.08.2011yum update foo
. Однако для этого потребуется настроить (локальный) репозиторий. - person Manny D   schedule 15.08.2011