FC more FHS clashes (was: BIND and FHS)

Tomasz Kłoczko kloczek at zie.pg.gda.pl
Tue Mar 7 17:45:00 UTC 2006


Dnia 07-03-2006, wto o godzinie 10:42 -0600, Chris Adams napisał(a): 
> Once upon a time, Tomasz Koczko <kloczek at zie.pg.gda.pl> said:
> > # ( LANG= ; grep /var/mail /bin/* /usr/bin/* /usr/sbin/* /sbin/*;
> > grep /var/spool/mail /bin/* /usr/bin/* /usr/sbin/* /sbin/* ) | sort |
> > uniq -d
> > Binary file /usr/bin/balsa-ab matches
> > Binary file /usr/bin/balsa matches
> > Binary file /usr/bin/epic-EPIC4-2.2 matches
> > Binary file /usr/bin/epic matches
> > Binary file /usr/bin/gkrellm matches
> > Binary file /usr/bin/incm matches
> 
> Again, how many of those try $MAIL first?  That should always be set, so
> falling back to /var/mail, /var/spool/mail, or /dev/null should not be
> flagged as a bug.

But mainly I'm not talking about using first $MAIL and after this
fallback to /var/mail, /var/spool/mail, or /dev/null :)
It is good question for all MUA is current behavior :)

In fist email in this thread you can find some programs which uses
ONLY /var/spool/mail.
THIS breaks FHS.

Using additionaly /var/spool/mail path and any other paths in hardcoded
configuration still IS redundand and it is kind of bug .. yes
non-critical from point of view FHS compliance but still it is bug
because using first $MAIL and after this fallback to /var/mail allow
place in $MAIL also /var/spool/mail if it is neccessary.
It can be fixed during audit all programs dor use $MAIL -> /var/mail.
Why ? Because it allow prepare probably most simpler automated test for
FHS compliance.
Do you see this now ? :)

Simple: code for handle something other than $MAIL and /var/mail can be
removed without removing SINGLE neccessary functionality and it allow
also minimize size of binary programs.
Q: are you still look on balsa behavior as correct ? :)

Very simillar bug sits in for example /usr/bin/info:

$ strings /usr/bin/info | grep /usr
/usr/local/info:/usr/info:/usr/local/lib/info:/usr/lib/info:/usr/local/gnu/info:/usr/local/gnu/lib/info:/usr/gnu/info:/usr/gnu/lib/info:/opt/gnu/info:/usr/share/info:/usr/share/lib/info:/usr/local/share/info:/usr/local/share/lib/info:/usr/gnu/lib/emacs/info:/usr/local/gnu/lib/emacs/info:/usr/local/lib/emacs/info:/usr/local/emacs/info:.
/usr/share/locale
/usr/share/info

This program have hardcoded many paths which aren't used and using this
hardcoded DEFAULT_INFOPATH makes longer info run time.
But .. if any path from above list will be neccesary in some system it
still can be placed in $INFOPATH. Above can be fixed by apply patch
from:
http://cvs.pld.org.pl/SOURCES/texinfo-DEFAULT_INFOPATH.patch?rev=1.1

kloczek




More information about the devel mailing list