From: "Pierre A. Humblet" <Pierre.Humblet@ieee.org>
To: <cygwin-apps@cygwin.com>
Subject: RE: [ITP] Sendmail 8.14.9
Date: Wed, 27 Aug 2014 15:16:00 -0000 [thread overview]
Message-ID: <01d701cfc209$d9ed1040$8dc730c0$@ieee.org> (raw)
In-Reply-To: <20140826184940.GA11626@calimero.vinschen.de>
> -----Original Message-----
> From: Corinna Vinschen
> Sent: Tuesday, August 26, 2014 14:50
>
> On Aug 26 09:51, Pierre A. Humblet wrote:
> > > -----Original Message-----
> > > From: Yaakov Selkowitz
> > > Sent: Friday, August 22, 2014 17:40
> > >
> > > On 2014-08-22 13:19, D. Boland wrote:
> > > >> On Aug 22 07:43, D. Boland wrote:
> > > >>> I re-packaged Sendmail with cygport. See:
> > > >>>
> > > >>> http://cygwin.boland.nl/x86/release/sendmail/
> > > >>
> > > >> Packaging looks good in theory.
> > > >>
> > > >> Unfortunately we have a problem.
> > > >>
> > > >> On inspection of your binary package I noticed that we have
> > > >> conflicts with exim and ssmtp packages:
> > > [snip]
> >
> > Whatever we do should be transparent to users who have already
> > installed ssmtp or exim and are updating to a newer version.
>
> I guess that's exactly the problem. Consider somebody has installed exim or
> ssmtp and then installs sendmail accidentally or out of curiosity. This
> immediately overwrites the symlinks and even if the user never actually uses
> sendmail, the MTA installation is broken.
>
> I don't have a clear concept yet if and how we should use alternatives to fix
> this problem.
>
> 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.
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
}
else if /usr/bin/mailq does not exist {
create a symbolic link /usr/bin/mailq pointing to /etc/alternatives/mta-mailq
if the MTA has been installed previously (like, old configuration or log files already exists) {
create a symbolic link /etc/alternatives/mta-mailq pointing to a suitable target (if any, created by setup) for the MTA being installed
}
}
The point of the above is not to break existing installations when updating.
Unexpected cases (like /usr/bin/mailq is a directory) are handled in the MTA-config file.
In the MTA-config file executed by the user
- verify that /usr/bin/mailq is a symbolic link to /etc/alternatives/mta-mailq, fix the situation if necessary
- present a dialog to the user with the current value of the target and ask if it should be changed to the current MTA
Pierre
next prev parent reply other threads:[~2014-08-27 15:16 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-14 19:00 D. Boland
2014-08-14 20:23 ` Corinna Vinschen
2014-08-22 5:39 ` D. Boland
2014-08-22 8:41 ` Corinna Vinschen
2014-08-22 18:14 ` D. Boland
2014-08-22 21:39 ` Yaakov Selkowitz
2014-08-24 6:33 ` D. Boland
2014-08-25 23:16 ` Yaakov Selkowitz
2014-08-26 8:19 ` Corinna Vinschen
2014-08-26 13:51 ` Pierre A. Humblet
2014-08-26 18:49 ` Corinna Vinschen
2014-08-27 15:16 ` Pierre A. Humblet [this message]
2014-08-28 10:27 ` Corinna Vinschen
2014-08-28 16:00 ` Corinna Vinschen
2014-08-28 20:14 ` Pierre A. Humblet
2015-02-17 11:57 ` D. Boland
2015-02-17 12:15 ` Corinna Vinschen
2015-02-17 15:06 ` Corinna Vinschen
2015-02-17 17:19 ` D. Boland
2015-02-17 22:51 ` Christian Franke
2015-02-17 23:04 ` Corinna Vinschen
2015-04-03 12:08 ` Corinna Vinschen
2015-04-04 11:37 ` Daniel
2015-04-07 8:58 ` Corinna Vinschen
2014-10-26 17:41 D. Boland
2014-10-27 17:07 ` Christian Franke
2014-11-02 6:58 ` D. Boland
2014-11-02 12:44 ` Christian Franke
2014-11-03 9:23 ` Corinna Vinschen
2014-11-03 17:16 ` Christian Franke
2014-11-03 17:24 ` Corinna Vinschen
2014-11-07 8:11 ` D. Boland
2014-11-15 18:34 ` D. Boland
2014-11-17 9:18 ` Corinna Vinschen
2014-11-19 4:45 ` D. Boland
2014-11-19 5:21 ` Yaakov Selkowitz
2014-11-20 8:23 ` D. Boland
2014-11-20 8:53 ` Yaakov Selkowitz
2014-10-30 17:35 D. Boland
2014-10-31 9:02 ` Corinna Vinschen
2014-11-01 5:38 ` D. Boland
2014-11-01 15:55 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='01d701cfc209$d9ed1040$8dc730c0$@ieee.org' \
--to=pierre.humblet@ieee.org \
--cc=cygwin-apps@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).