Opened 21 years ago

Closed 21 years ago

#721 closed defect (fixed)

/usr/share/dict is not suitable for a basic system and is not mandatory by FHS

Reported by: lizardo@… Owned by: lfs-book@…
Priority: lowest Milestone:
Component: Book Version: 5.0
Severity: normal Keywords:
Cc:

Description

From FHS (http://www.pathname.com/fhs/2.2/fhs-4.11.html):

4.11.4 /usr/share/dict : Word lists (optional) 4.11.4.1 Purpose This directory is the home for word lists on the system; Traditionally this directory contains only the English words file, which is used by look(1) and various spelling programs. words may use either American or British spelling.

Change History (7)

comment:1 by greg@…, 21 years ago

I disagree with "not suitable". LFS already does plenty of stuff that is "optional" according to FHS. For eg: that same page you referred to also lists these /usr/share subdirs as "optional":

doc games info locale nls sgml terminfo tmac zoneinfo.

So, "not mandatory" is correct, but this doesn't mean we should drop it. However, if you were talking about "/usr/dict" then I would agree with you :-)

I believe the status quo is fine and recommend this bug be closed.

comment:2 by lizardo@…, 21 years ago

With "not suitable" I meant "not needed for a basic LFS installation". No program, installed on current LFS version, needs this directory (okay, some other dirs are not needed in this sense too, but a directory to store word lists is not essential, IMO). From the same FHS page I highlight this phrase:

"The following directories, or symbolic links to directories, must be in /usr/share, *if the corresponding subsystem is installed*"

As no spelling program is installed on LFS, I don't think the /usr/share/dict directory needs to be created.

comment:3 by greg@…, 21 years ago

*if the corresponding subsystem is installed*

Ok, now that you've highlighted that point, your suggestion does indeed make sense. I retract my earlier comments. Anyone who needs /usr/share/dict should just go ahead and create it on demand.

In the same vein, we are also currently creating a useless "/usr/share/nls" dir. AFAICT, nothing uses it. We may as well get rid of that one too. I don't have it on my systems and nothing has broken. Comments anyone?

comment:4 by lizardo@…, 21 years ago

From http://www.pathname.com/fhs/2.2/fhs-4.11.html:

/usr/share/nls Message catalogs for Native language support (optional)

Glibc initially installs its message catalogs on /usr/share/locale, and is followed by all the other packages. If possible, we can [1]tweak Glibc to use /usr/share/nls instead of /usr/share/locale _or_ [2]remove /usr/share/nls and use /usr/share/locale by default. I suggest [1], if it is possible to do that.

comment:5 by greg@…, 21 years ago

It should be possible to tweak Glibc's location for the message catalog files (see the "msgcatdir" variable in Makeconfig) but I believe it would be wrong to do so. We are under no obligation to blindly follow the FHS especially for the optional stuff. Common practice comes into the equation as well. /usr/share/nls would appear to be a BSD'ism. Here's a ref with some more info:

http://elvin.dstc.edu.au/ListArchive/elvin-dev/archive/2002/08/msg00008.html

Let's just nuke "dict" and "nls" and be done with it.

comment:6 by lizardo@…, 21 years ago

Agreed. After looking the above link and the gettext manpage (where it says "Standard search directory: /usr/share/locale"), we should use /usr/share/locale as it may be the default location for other packages. As you said, it is a common practice between many packages.

BTW, the hier(7) manpage (just a resume of the FHS dir structure) has the following entries:

/usr/share/locale

Locale information goes here.

/usr/share/nls

The message catalogs for native language support go here.

I'm starting to think that /usr/share/i18n/locales should be /usr/share/locale, and /usr/share/locale should be /usr/share/nls, but... forget it.

comment:7 by greg@…, 21 years ago

Resolution: fixed
Status: newclosed

Committed changes to stop creation of /usr/share/{dict,nls}. Closing.

Note: See TracTickets for help on using tickets.