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

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: