Re: Comments on FHS testsuite run
Wichert Akkerman writes:
> I saw the results of the LSB testsuite as run against Debian woody
> mention on LWN today and took a look at the failures that listed for
> Debian. The test was run against woody, but with a few exceptions it
> seems that potato will get the exact same results, with the exception
> of mtools where potato would actually not fail the test.
>
> Not all of the test results are fair in my opinion: some are real
> bugs in Debian, others are bugs in the testsuite or the result of
> using an incomplete install. I've looked on the failures we got
> and a few of the other tests and assembled this set of comments.
Thanks for the comments.
> Please also note that the testsuite isn't finished yet, and neither
> is the LSB standard, so it is too early to draw any conclusions as
> to how compliant any distribution will be to the final product.
Thanks for reading the information on the LSB test suite pages.
> So do not be fooled by things like the SuSE press release, who seem to
> be ignoring that little fact.
>
> * Reference 3.1-42: /bin/domainname not found
> Reason: test install was incomplete
>
> The test did not have the nis package installed; this package
> provides full support for NIS clients and servers.
Ok.
> * Reference: 3.4-4: /etc/disktab not found
>
> Euhm, I never even heard of that file
Old LILO file.
> * Reference: 3.4-5: /etc/fdprm not found
> Reason: flaw in test
>
> The fdprm file has become obsolete in version 5.0 of fdutils and has
> been reaplced with /etc/driveprm; it should be removed from the standard.
I'd remove any fdutils-specific stuff from FHS. fdutils isn't exactly
required these days.
> * Reference: 3.4-7: /etc/gettydefs not found
> Reason: flaw in test
>
> Obsolete file from SysV, not used by Linux, Linux uses /etc/ttydefs
Not anymore, at least.
> * Reference 3.4-15: /etc/mtools not found
> Reason: flaw in test
>
> The file is actually called /etc/mtools.conf
Should be fixed in FHS 2.2.
> * Reference 3.4-21: /etc/ttytype not found
> Reason: Linux gettys don't support this fully; should not be in LSB
>
> Used to set terminals settings for each tty; Debian getty does not seem
> to use it. Default getty uses a optional commandline option instead
> if you want to override the default that init sets. Other gettys like
> mgetty also don't support it so might not be a wise thing to specify
> in LSB.
Seems too implementation-specific to include in FHS.
> * Reference 3.4-30: /etc/hosts.lpd not found
> Reason: bug in Debian
>
> Looks like a real bug. lprng uses /etc/lprng/lpd.conf instead so this only
> applies to machines using lpr.
I'm not sure about this.
> * Reference 3.4.2-1: /etc/opt does not exist
> Reason: bug in Debian
>
> Part of FHS 2.1, should be added to the base-files package
Ok.
> * Reference 4.2.4: /usr/bin/tcl not present
> Reason: tclsh used instead, possible bug in Debian?
>
> I fail to see why TCL should always be present; personally I would
> make it optional. Debian uses /usr/bin/tclsh instead.
/usr/bin/tcl is a bug in FHS 2.1 and will be fixed in FHS 2.2. FHS
should specify /usr/bin/tclsh, /usr/bin/wish (used almost to the
exclusion of tclsh), and /usr/bin/expect instead.
Also, the intent is that these commands be located in these locations if
they are installed, but the FHS incorrectly requires that several shells
be installed in /usr/bin. (The text for /bin/csh does correctly make
/bin/csh optional.)
A /bin/sh is intended to be the only outright requirement.
> * Reference 4.3.4: /usr/include/g++ not present
> Reason: flaw in test
>
> This g++ include files are specific for versions of g++ and as a result
> the name of the actual directory contains a version number. g++ itself
> knows the correct directory name so users don't need to know that.
> The current version of g++ uses /usr/include/g++-3 .
Bug in FHS since g++ can figure this out. The requirement was inserted
because some early distributions put g++ include files in a bizarre
location (not in /usr/include).
It is very useful to programmers to have everything under /usr/include.
> * Reference 4.5-8: /usr/local/src not present
> Reason: bug in Debian
>
> This directory should be created by base-files if it does not exist.
Ok.
> * Reference 4.7-6: /usr/share/nls not present
> Reason: bug in Debian
>
> FHS 2.1 describes this as a directory for `Native language support'.
> I'm not aware of any program that uses this directory, so it currently
> does not exist. Probably should be added as an empty directory to our
> base-files packges.
Seems removable from FHS.
> * Reference 4.7-6: /usr/share/tmac not present
> Reason: bug in Debian
>
> FHS 2.1 describes this as a directory for `troff macros not distributed
> with gross'. I'm not aware of any program that uses this directory, so it
> currently does not exist. Probably should be added as an empty directory to
> our base-files packges.
Ok.
> * Reference 4.7.30-2: /usr/share/misc/ascii missing
> Reason: weird standard, possible bug in Debian
>
> I have no idea why this file belongs in a standard; it's not in any
> Debian package so if the standard does not remove this we will need to
> add it somewhere.
Some earlier distributions had an "ascii" file somewhere in /usr/lib (I
can't remember the original location). On Solaris, "ascii" now sits in
/usr/share/lib/pub.
It seems like this can be removed from FHS.
> * Reference 4.7.3-4: /usr/share/misc/termcap missing
> Reason: standard uses obsolete filename
>
> This file is actually /etc/termcap
/etc/termcap seems like the obsolete filename to me.
> * Reference 4.7.3-5: /usr/share/misc/termcap.db missing
> Reason: no Linux software uses it
>
> I'm not aware of any Linux software actually using that file
Bug in FHS.
> * Reference 5.1-1: /var/account missing
> Reason: bug in Debian
>
> Should be added as an empty dir to base-files
Yes.
> * Reference 5.2.1-1: /var/cache/fonts not present
> Reason: current software uses its own paths and incompatible font caches
>
> Currently generated fonts are stored in application-specific directories
> (ie like TeX) and the fonts can not be shared. Changing that is a long
> term project.
Perhaps a solution for application-specific cached fonts would be a good
idea.
> * Reference 5.9-1: /var/opt missing
> Reason: bug in Debian
>
> Part of FHS 2.1, should be added to the base-files package
Yes.
> * Reference 5.11-1-2: /var/spool/lpd/lpd.lock exists
>
> This is an optional test, and a wrong one: it is very specific to an
> lpr implementation; other implementations may very well use a different
> lockfile.
FHS and/or the test should remove this requirement.
> * Reference 5.11.2-1: /var/spool/rwho does not exists
> Reason: test install was incomplete
>
> The test did not have the rwhos package installed
Ok.
> * Reference 5.14-1: /var/yp and NIS support missing
> Reason: test install was incomplete
>
> The test did not have the nis package installed; this package
> provides full support for NIS clients and servers.
Ok.
> * Reference 6.1.2-16: /dev/vcs missing
> Reason: flaw in test
>
> Debian definitely has a correct /dev/vcs file; maybe the test broke since
> it is a symlink to /dev/vcs0
The test suite accept symbolic links almost anywhere. (Exceptions would
include sockets which can't be symbolic links.)
> Summary: from the 17 failed test, only the following are real failures
> in my opinion:
>
> * Reference 3.4-30: /etc/hosts.lpd not found
> * Reference 3.4.2-1: /etc/opt does not exist
> * Reference 4.5-8: /usr/local/src not present
> * Reference 4.2.4: /usr/bin/tcl not present
> * Reference 4.7-6: /usr/share/nls not present
> * Reference 4.7-6: /usr/share/tmac not present
> * Reference 5.1-1: /var/account missing
> * Reference 5.9-1: /var/opt missing
> * Reference 5.2.1-1: /var/cache/fonts not present
>
> And all except three of those can be fixed by simply creating empty
> directories.
or symbolic links
- Dan
Reply to: