[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

sendmail requirements (was Re: LSB.fhs failure digest for Debian Sample Implementation)



The FHS 2.2 states on page 19 section 4.7.2 /usr/lib

"For historical reasons, /usr/lib/sendmail must be a symbolic
link to /usr/sbin/sendmail if the latter exists"

(note that the LSB in section 14.1 requires sendmail to
be in /usr/sbin/sendmail)

The text quoted below from the FHS is from footnote 20
and has a requirement  that on systems which use an MTA
other than sendmail they are still required to
provide /usr/sbin/sendmail as a symlink to the MTA -
"Additionally systems using a sendmail-compatible mail transfer
agent must provide /usr/sbin/sendmail as a symbolic link to the
appropriate executable".

This implementation appears to want to restate 4.7.2 to
"For historical reasons, /usr/lib/sendmail must be a symbolic
link to /usr/sbin/sendmail if the latter exists, or if
/usr/sbin/sendmail is itself a symbolic link must be
a symbolic link to the compatible MTA pointed to by /usr/sbin/sendmail "


I believe the test and specification currently require:

[1] 	[ -L /usr/lib/sendmail ] || error "/usr/lib/sendmail not a symlink"
[2] 	[ -x /usr/sbin/sendmail ] ||
 		error "/usr/sbin/sendmail isn't MTA or compat symlink"
[3] 	[ "`linkdest /usr/lib/sendmail`" = "/usr/sbin/sendmail" ] ||
 		error "/usr/lib/sendmail not symlink to /usr/sbin/sendmail"


This reduces the issue to either (b)  or (c) as below.

regards
Andrew

On Aug 17, 10:28am in "Re: LSB.fhs failure ", Anthony Towns wrote:
>
> On Thu, Aug 16, 2001 at 04:49:16PM +0100, Andrew Josey wrote:
> > This is one of those cases where AFAIK the test is testing
> > the requirements of the specification. Now it could be that
> > (a) the test is making an incorrect interpretation of
> > the spec (b) the spec is wrong or (c) the spec is correct
> > and conforming systems are required to have the symlink
> > as tested.
>
> From the FHS:
>        Some executable commands such as makewhatis and sendmail have also
been
>        traditionally placed in /usr/lib.  makewhatis is an internal binary
and
>        should be placed in a binary directory; users access only catman.
 Newer
>        sendmail binaries are now placed by default in /usr/sbin; a symbolic
>        link should remain from /usr/lib.  Additionally, systems using a
>        sendmail-compatible mail transport agent should provide
>        /usr/sbin/sendmail as a symbolic link to the appropriate executable.
>
> So:
> 	[ -L /usr/lib/sendmail ] || warning "/usr/lib/sendmail not a symlink"
> 	[ -x /usr/sbin/sendmail ] ||
> 		error "/usr/sbin/sendmail isn't MTA or compat symlink"
> 	[ "`linkdest /usr/lib/sendmail`" = "`linkdest /usr/sbin/sendmail`" ] ||
> 		error "/usr/lib/sendmail != /usr/sbin/sendmail"
>
> would seem to be the correct tests, for some value of "linkdest".
>
> It still seems a bit meaningless to have lots of test cases when there's
> not even a prototypical working product (ie, some .lsb packages that
> can be installed on some distro), though.
>
> Cheers,
> aj
>



Reply to: