4

What is the difference between the mail-server^ task and the mail-stack-delivery package?

1
  • Hey Paul, I don't want to migrate this (at least no yet) because I'm not entirely sure it is appropriate for Server Fault. I'd hate to migrate good content only for it to be closed on the other site. You might ask in their chat. I also don't understand how Sylvain's answer didn't address your question. Perhaps you could edit it to expound on exactly what you want?
    – Seth
    Apr 21, 2014 at 4:02

1 Answer 1

5

Visit the mail-stack-delivery package page and download the tar.gz containing the Debian/Ubuntu packaging.

Open the debian/control file and look for lines beginning with Provides: like this one:

Package: dovecot-imapd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, dovecot-core (= ${binary:Version}), ucf (>= 2.0020)
Provides: imap-server
Description: secure IMAP server that supports mbox, maildir, dbox and mdbox mailboxes

You can see that dovecot-imapd provides a package named imap-server, which is a virtual package, as defined in the Debian Policy Manual:

Sometimes, there are several packages which offer more-or-less the same functionality. In this case, it's useful to define a virtual package whose name describes that common functionality. (The virtual packages only exist logically, not physically; that's why they are called virtual.) The packages with this particular function will then provide the virtual package. Thus, any other package requiring that function can simply depend on the virtual package without having to specify all possible packages individually.

Edit: mail-server^ is not a metapackage, it's a task as defined in /usr/share/tasksel/**/*.desc

Apt can understand task if the "^" is appended to the task name but the installation process is a bit different from what tasksel is doing.

Visit Should I use tasksel, tasks in APT or install regular metapackages? for a complete description of both installation processes.

In terms of installed packages, you can easily dry-run apt-get install for both mail-server^ and mail-stack-delivery:

sudo apt-get install -s mail-server^
sudo apt-get install -s mail-stack-delivery

The task mail-server will install:

bsd-mailx
dovecot-core
dovecot-imapd
dovecot-pop3d
libgpgme11
libpth20
libtokyocabinet8
mutt
postfix
procmail
ssl-cert

But mail-stack-delivery will install those packages instead:

dovecot-core
dovecot-imapd
dovecot-managesieved
dovecot-pop3d
dovecot-sieve
mail-stack-delivery
postfix
ssl-cert

I hope that answers your initial question.

7
  • This answer does not make it clear to me what the difference is between the mail-stack-delivery package and the mail-server^ metapackage.
    – Paul
    Apr 7, 2014 at 20:40
  • Where did you find the mail-server^ metapackage, could you please add a link for reference? Apr 7, 2014 at 20:51
  • MetaPackages - Official Ubuntu Documentation describes what a metapackage is, although it doesn't mention that, as I understand it, metapackages are one implementation in Ubuntu of tasksel. I have seen the mail-server^ metapackage in several articles describing how to set up and configure a mail-server.
    – Paul
    Apr 7, 2014 at 21:46
  • My initial question was really very specific: what is the difference between mail-server^ and mail-stack-delivery? You did a good job of identifying the differences in the installation processes, but I'm not clear what the difference is in what ends up installed on the server.
    – Paul
    Apr 7, 2014 at 22:16
  • 1
    In the case of mail-stack-delivery, you can download the package yourself and extract it and look at the various scripts that run pre and post install and remove as well as the 01-mail-stack-delivery.conf file you mention.
    – Mike
    Oct 30, 2014 at 1:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .