Next: , Previous: Maintainers, Up: Maintainers

13.1 Flat or Non-Flat Directory Structures

Some free software packages are distributed as tar files which unpack in a single directory, these are said to be flat distributions. Other free software packages have a one level hierarchy of subdirectories, using for example a subdirectory named doc/ for the Texinfo manual and man pages, another called lib/ for holding functions meant to replace or complement C libraries, and a subdirectory src/ for holding the proper sources for the package. These other distributions are said to be non-flat.

We cannot say much about flat distributions. A flat directory structure has the disadvantage of increasing the difficulty of updating to a new version of GNU gettext. Also, if you have many PO files, this could somewhat pollute your single directory. Also, GNU gettext's libintl sources consist of C sources, shell scripts, sed scripts and complicated Makefile rules, which don't fit well into an existing flat structure. For these reasons, we recommend to use non-flat approach in this case as well.

Maybe because GNU gettext itself has a non-flat structure, we have more experience with this approach, and this is what will be described in the remaining of this chapter. Some maintainers might use this as an opportunity to unflatten their package structure.