2010-03-08 2 views
2

Эй! У меня есть общий пакет, для которого требуется файл конфигурации и несколько пакетов, которые могут предоставить указанный файл конфигурации.Форсирование конфликтующих виртуальных пакетов

Таким образом, чтобы определить "MyServer", у меня есть:

myserver.spec

Требуется: MYSERVER-конфиг


(пакет конфигурации) MyServer-первого config.spec

Имя: myserver-first-config

Требуется: MyServer

Обеспечивает: MyServer-конфигурация


(другой конфигурационного пакет) MyServer-второй-config.spec

Имя: MyServer-вторая-конфигурация

Требуется: MyServer

Предоставляет: myserver-config


И это здорово, но я хочу убедиться, что установлен один из этих конфигурационных пакетов. Итак, если я попытаюсь установить myserver-second-config, когда myserver-first-config уже установлен, я получаю сообщение об ошибке.

Могу ли я использовать «Конфликты: myserver-config» как в myserver- {first, second} -config.spec? Может ли пакет конфликтовать с самим собой? Я чувствую, что есть «правильный» способ сделать это ...

Спасибо!

ответ

3

Вы, наверное, решили эту проблему самостоятельно - в этом случае это приятно опубликовать ответ здесь, чтобы помочь любому своенравных посетителей Google :) В противном случае:

  • По RPM v5, пакет может не конфликт с самим собой, поскольку это предотвратит установку пакета.
  • Что вы просите - это «альтернативная» система, в которой несколько пакетов могут предоставлять один и тот же файл. Чтобы реализовать это, каждый пакет конфликтует с другими альтернативами.

В MYSERVER-первой конфигурация:
конфликты: MyServer-вторая-конфигурация

В MYSERVER-вторая конфигурация:
конфликты: MyServer-первая-конфигурация

Если бы вы были добавить третью конфигурацию, это стало бы:

MyServer-первыхи, конфигурация:
конфликтов: MyServer-второй-конфигурация MyServer-третьей-конфигурация

MyServer-вторая-конфигурация:
Конфликты: MyServer-первая-конфигурация MyServer-третья конфигурация

MyServer-третья-конфигурация:
Конфликты: MyServer-первая-конфигурация MyServer-вторая-конфигурация

Этот синтаксис необходим, потому что пакеты могут частично конфликт - и лучше говорить о конфликтах. Если вы не добавляете новые файлы конфигурации, которые часто, это решение полностью работоспособно.