Bug 2154 - Требуются дополнительные Provides и Conflicts в spec-файле.
Summary: Требуются дополнительные Provides и Conflicts в spec-файле.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: uw-imap (show other bugs)
Version: unstable
Hardware: all Linux
: P4 blocker
Assignee: Ivan Zakharyaschev
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-04 21:10 MSK by Dmitry Lebkov
Modified: 2003-08-25 15:18 MSD (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Lebkov 2003-02-04 21:10:34 MSK
Хотелось бы в следующей сборке иметь следующее:

Provides: POP3D, IMAPD
Conflicts: courier-imap

Дело в том, что в дистрибутиве сейчас два пакета предоставляют imap и pop3 сервисы: uw-imap и courier-imap. И в существуют пакеты, которым требуется абстрактный сервис imap или pop3, а не какой-то конкретный пакет. В решении этой проблемы и поможет Provides: POP3D, IMAPD.

А так как uw-imap и courier-imap конфликтуют между собой (одинаковое имя imap-демона и один и тот же tcp-порт), то Conflicts: courier-imap поможет правильно обойти эту ситуацию (при установке одного пакета другой автоматом удалится, вместо прерывания процесса установки/обновления).
---

---

Comment 1 imz 2003-02-06 18:30:57 MSK
В uw-imap-2001a-alt9 использован ещё более продвинутый подход :-) (как в emacs-gnus):

###########################################
# Relations with other POP3/IMAP server pkgs (like courier-imap)

# Provide the abstract service names (which are virtual pkg names),
# specify their origin (our pkg name as the epoch + version-release):
Provides: IMAPD = %name:%version-%release
Provides: POP3D = %name:%version-%release

# Conflict with all other real pkgs which provide the same services
# (they should specify the origin the same way, so the epoch-version-release
# of the virtual pkgs POP3D & IMAPD will always differ from that of ours if 
# they are provided by a different real pkg):
Conflicts: IMAPD < %name:%version-%release
Conflicts: IMAPD > %name:%version-%release
Conflicts: POP3D < %name:%version-%release
Conflicts: POP3D > %name:%version-%release

# End of the statements to describe relations with other POP3/IMAP server pkgs
########################################


Тем самым он конфликтует в том числе и с coourier-imap. Для завершённости хорошо бы такое же иметь и в courier-imap, i.e. IMAPD & POP3D с версиями, отражающими происхождение (реальный пакет), и конфликты с IMAPD & POP3D других версий.


А в принципе ведь можно представить себе сосуществование разных программ-серверов IMAP в одной системе... если такое кому-нибудь понадобится, придётся думать о более тонком подходе, чем conflicts.
Comment 2 imz 2003-02-06 18:30:57 MSK
В uw-imap-2001a-alt9 использован ещё более продвинутый подход :-) (как в emacs-gnus):

###########################################
# Relations with other POP3/IMAP server pkgs (like courier-imap)

# Provide the abstract service names (which are virtual pkg names),
# specify their origin (our pkg name as the epoch + version-release):
Provides: IMAPD = %name:%version-%release
Provides: POP3D = %name:%version-%release

# Conflict with all other real pkgs which provide the same services
# (they should specify the origin the same way, so the epoch-version-release
# of the virtual pkgs POP3D & IMAPD will always differ from that of ours if 
# they are provided by a different real pkg):
Conflicts: IMAPD < %name:%version-%release
Conflicts: IMAPD > %name:%version-%release
Conflicts: POP3D < %name:%version-%release
Conflicts: POP3D > %name:%version-%release

# End of the statements to describe relations with other POP3/IMAP server pkgs
########################################


Тем самым он конфликтует в том числе и с coourier-imap. Для завершённости хорошо бы такое же иметь и в courier-imap, i.e. IMAPD & POP3D с версиями, отражающими происхождение (реальный пакет), и конфликты с IMAPD & POP3D других версий.


А в принципе ведь можно представить себе сосуществование разных программ-серверов IMAP в одной системе... если такое кому-нибудь понадобится, придётся думать о более тонком подходе, чем conflicts.