RPM `требует` порядок установки

3

Я ищу помощи от экспертов RPM.

Предположим, у меня есть пакет RPM, Aкоторый зависит от пакета B. RPM Aспецификации «s имеет Requires:Bс autoprovи autoreqвключен.

Когда я устанавливаю RPM Aна CentOS 6.5 машина с RPM version 4.8.0, yum install A:

  • AСначала устанавливается rpm , затем устанавливается B.
  • Установка Bможет частично потерпеть неудачу. То есть Aбудет установлен, даже если установка зависимости, Bне удалось.

Это ожидаемое поведение? (Не должен Bбыть установлен раньше A?)

Можно ли ожидать того же поведения в разных версиях (например, el5)?

Я надеялся, что зависимости будут установлены до установки основного пакета. Что может помешать установке основного пакета, если не удалось установить одну из зависимостей.

Есть ли другие способы выполнить мое требование?

Благодарю.

Shyam
источник
Должен ли я задавать этот вопрос unix.stackexchangeскорее
Shyam

Ответы:

3

RequiresСкажите, что вам нужна эта зависимость для выполнения. Например , если вы положили Requiresв firefox.spec, то у вас будет эта зависимость установлена при выполнении команды /usr/bin/firefox.

Если вам нужно, чтобы он был доступен во время выполнения скриптлета rpm, вам нужно указать, на каком этапе он вам нужен. Например:

Requires(pre): perl

Если вам это нужно в нескольких разделах, вам нужно перечислить его несколько раз. Например:

Requires(pre): perl
Requires(preun): perl

Для получения дополнительной информации см. Http://rpm.org/api/4.4.2.2/tsort.html.

msuchy
источник
Благодарю. Моя единственная проблема - переносимость между версиями. Есть ли что-то, о чем я должен знать
Shyam
Я попробовал это, и установка зависимого rpmB не удалась, несмотря на то, что установка Aпрошла успешно. (Я надеялся, что вся транзакция провалится)
Shyam
Похоже, что это 404. Попробуйте этот. rpm5.org/docs/api/tsort.html
JesseM