Bug 2154

Summary: Требуются дополнительные Provides и Conflicts в spec-файле.
Product: Sisyphus Reporter: Dmitry Lebkov <dlebkov>
Component: uw-imapAssignee: Ivan Zakharyaschev <imz>
Status: CLOSED FIXED QA Contact:
Severity: blocker    
Priority: P4 CC: lakostis
Version: unstable   
Hardware: all   
OS: Linux   

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 &amp; IMAPD will always differ from that of ours if 
# they are provided by a different real pkg):
Conflicts: IMAPD &lt; %name:%version-%release
Conflicts: IMAPD &gt; %name:%version-%release
Conflicts: POP3D &lt; %name:%version-%release
Conflicts: POP3D &gt; %name:%version-%release

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


Тем самым он конфликтует в том числе и с coourier-imap. Для завершённости хорошо бы такое же иметь и в courier-imap, i.e. IMAPD &amp; POP3D с версиями, отражающими происхождение (реальный пакет), и конфликты с IMAPD &amp; 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 &amp; IMAPD will always differ from that of ours if 
# they are provided by a different real pkg):
Conflicts: IMAPD &lt; %name:%version-%release
Conflicts: IMAPD &gt; %name:%version-%release
Conflicts: POP3D &lt; %name:%version-%release
Conflicts: POP3D &gt; %name:%version-%release

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


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


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