On Aug 28 12:27, Corinna Vinschen wrote: > On Aug 27 11:16, Pierre A. Humblet wrote: > > > From: Corinna Vinschen > > > Anyway, to have some working example, here's how Fedora does it: > > > > > > The binaries, or symlinks to the actual binaries are called: > > > > > > /usr/sbin/sendmail.sendmail > > > /usr/bin/mailq.sendmail > > > /usr/bin/newaliases.sendmail > > > > > > /usr/sbin/sendmail.exim > > > /usr/bin/mailq.exim > > > /usr/bin/newaliases.exim > > > > > > /usr/sbin/sendmail.postfix > > > /usr/bin/mailq.postfix > > > /usr/bin/newaliases.postfix > > > > > > [analog for other MTAs] > > > > > > Sendmail, mailq, newalias (etc.) are alternatives symlinks: > > > > > > /usr/sbin/sendmail -> /etc/alternatives/mta > > > /usr/bin/mailq -> /etc/alternatives/mta-mailq > > > /usr/bin/newaliases -> /etc/alternatives/mta-newaliases > > > > > > And in /etc/alternatives are the symlinks to the actual binaries, as > > > configured > > > by postinstall or the user: > > > > > > /etc/alternatives/mta -> /usr/sbin/sendmail.exim > > > /etc/alternatives/mta-mailq -> /usr/bin/mailq.exim > > > /etc/alternatives/mta-newaliases -> /usr/bin/newaliases.exim > > > > > > In fact, there are more than these three symlinks, mainly to rmail and to > > > the > > > man pages for the aforementioned binaries. > > > > > > Maybe we can shamelessly borrow this scheme?!? > > > > > > > I am fine with the idea, except that I don’t see the need for things > > such as /usr/sbin/sendmail.exim The executables can be installed in > > the current locations (/usr/bin for exim) and symbolic links such as > > /etc/alternatives/mta can point directly to the executables. > > That's ok, I guess. > > > Also it > > looks like we don't need to use the alternatives package itself, > > although we reuse the /etc/alternatives directory and naming scheme > > > > Below is what I would do in the MTA postinstall and -config files, > > using mailq as an example I am assuming that /usr/bin/mailq will not > > be created by setup. > > > > In the postinstall: > > If /usr/bin/mailq is a symbolic link NOT already pointing to > > /etc/alternatives/mta-mailq { > > create a symbolic link /etc/alternative/mta-mailq pointing to > > /usr/bin/mailq's target > > replace the target of /usr/bin/mailq to > > /etc/alternatives/mta-mailq > > } > > else if /usr/bin/mailq is a file { > > rename /usr/bin/mailq to /usr/bin/mailq.somemta > > create a symbolic link /etc/alternatives/mta-mailq pointing to > > /usr/bin/mailq.somemta > > create a symbolic link /usr/bin/mailq to > > /etc/alternatives/mta-mailq
This part won't work as expected btw. If the sendmail package installs the actual binaries under the names reserved for the symlinks to the user-defined MTA tools, then you change the installation. Consider what happens when you have an exim installation and deliberately or accidentally install sendmail: It will overwrite your symlinks and break a perfectly fine exim installation. Same when uninstalling: Assuming you have exim and sendmail installed, with the symlinks pointing to exim, then you uninstall the sendmail package. Setup will remove the symlinks but the "mailq.somemta" binaries will stay in /usr/bin since setup doesn't know about them. I think the right thing to do would be to install either renamed binaries, as Fedora does it, or to keep the names and install the binaries into some different directory (perhaps something like /usr/lib/sendmail/bin) and symlink to this dir. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpO_m9QgU89h.pgp
Description: PGP signature