/variability during normal operation vs during system updateSome aspects of these standards need to be elaborated and/or streamlined.
| future dir | contents | previous | rationale |
|---|---|---|---|
| /usr/share/doc | documentation root | /usr/doc | Documentation data is invariable and shareable across systems. |
| <path>/man | manpages for stuff in <path>/bin | <path>/man | unchanged |
| /usr/share/doc/man | Man pages that are not related to a certain PATH of executable files | This could for example be manpages related to directory structures or system configuration. Those manpages whose lookup depends on how PATH (and consequently) are set, need to go into extra directories like /usr/man, /usr/local/man. | |
| /usr/share/doc/info | TeXInfo documentation | /usr/info | Unlike with /usr/man, there is no reason to keep any /usr/info files separate from the documentation tree. Info is a navigatable hypertext system that needs to stay in one path rather than be scattered across the system like man. |
| /usr/share/doc/www | WWW based (HTML, XML etc) hypertext documentation, weaved together as a whole, all accessible from a common index.html | This web-based alternative to the info system does not exist yet, but people have talked about wanting to create it. There could even be a /usr/share/doc/www/man.php3?prog=ranlib or similar query interface that could then be hidden behind w3man ranlib. | |
| /usr/share/doc/packages/ | contents of documentation corresponding to RPM/Deb packages | SuSE /usr/doc/packages | Splitting documentation according to the RPM/Deb/.. packages of the utilities that it documents is a special classification principle that does not apply to the whole documentation tree. Therefore a special tree should be created for it, in analogy with the tree for the packages sources themselves. Packages that contain only documentation (eg. howtos.rpm) do not belong into the package documentation tree, because they do not refer to the contents of any package. |
| /usr/share/doc/<genre>/<lang>/ | Non-package-specific Documents of special genres like HOWTO, FAQ, RFC, Books in language <lang> (e.g. en de fr: ISO 639 two-letter code) | like SuSE /usr/doc/howto etc | |
| /usr/src/packages/<type>/ | tree RPM/Deb sources of RPM/Deb packages. Values of <type> can be rpm, deb and others. | like SuSE | Currently this has many different names. The name /usr/src/redhat proposed by the RPM developpers is misleading, and having every distributor rename it, e.g. to /usr/src/turbo as done by TurboLinux, is not an alternative. |
Allocating this extra level does not make globbing / regexp searching on the directory structure significantly more difficult, because the subdivision is occuring only at the end.
/variability during normal operation vs during system updateWhen a new printer is added to the TeX system, this is a modification of the system, and the variable data produced by texconfig needn't go into /var/lib/texmf, but rather belong to a configuration hierarchy like /etc/texmf or to /usr/share/texmf itself, which is not considered to be read-only even during installation and extension of the system itself. A reason to nevertheless use /var/lib/texmf could be the wish to add printers that are both only preliminary local solutions (i.e. non /usr/share) and shareable across a network (i.e. non etc). Still, in this case at least all other printer drivers should go into /usr/share/texmf, and the /var/lib/texmf solution is only a private local one that needn't be of concern to the system standard designer.
Likewise, there can be some doubt as to whether /var/lib/rpm is the right place for the rpm database. This database is only written to when the system itself is changed. This would be a reason to place it in /etc/ rather than in /var. Another reason would be that, unlike /var/lib/texmf, are system-specific and not shareable. RPM offers an interface library that allows alien programs to query and even write to its database. The database is therefore of systemwide concern and belongs into something like /etc/rpm/db.
Althought the two above examples may not seem totally cogent, there is a need for clarification of the notion of variability. Otherwise the borderlines of the /var tree may be gradually blurred.
To make CJK LaTeX files with Chinese big5, Japanese sjis and some other specially coded characters acceptable for LaTeX, special preprocessing with programs like sjisconv, bg5conv, cefconv etc is needed. The LaTeX source files understood by these preprocessors are not .tex files but should have the special suffixes, see table below.
Moreover, since many people will want to write their TeX source in UTF-8 and use a preprocessor before handing it to a non-Unicode TeX, some special suffixes are needed for these UTF-8 files also.
Using special suffixes allows LaTeX and other programs to recognize which files it can compile directly and which preprocessors have to be applied, and makes it easy to automatically create makefiles for generating all the target documents (eg. PS, PDF) from the source.
The file magic database /etc/magic should be updated so as to recognize the preprocessable file types.
| file(1) output | filename suffix |
|---|---|
| input text for LaTeX preprocessor sjisconv | .sjtex |
| input text for LateX preprocessor bg5conv | .b5tex |
| input text for LaTeX preprocessor cefconv | .cftex |
| input text for LaTeX preprocessor cef5conv | .c5tex |
| input text for LaTeX preprocessor cefsconv | .cstex |
| utf-8 source of input text for LaTeX preprocessor sjisconv | .ustex |
| utf-8 source of input text for LaTeX preprocessor bg5conv | .ubtex |
| utf-8 source of euc-cn input text for LaTeX | .uctex |
| utf-8 source of euc-jp input text for LaTeX | .ujtex |
| utf-8 source of euc-kr input text for LaTeX | .uktex |
moziallaclient that works like the emacsclient: makes an already active mozillaserver open a frame with the URL passed to moziallaclient as an argument by some application (like a mailer) that invokes an external WWWBROWSER.