7. Contents of a source package

Source packages usually uncompress into a directory, and come in two flavours: flat and nested. Flat means that everything is in the top level source directory, while nested means that there are a number of seperate subdirectories.

Typically, the top level source directory contains generic documentation like README (which you should do), INSTALL (generic installation instructions), and COPYING (license).

In the top level source directory you should also find either a file named Makefile, or the files configure and Makefile.in.

If the source package is nested, there will also be subdirectories with names like src (source files), docs (documentation), help (documentation), intl (internationalisation), and po (translations).

Either in the top level source directory or in the src subdirectory, you will usually find several / many source files. These files usually have suffixes like .c (C source code), .cpp (C++), or .f (Fortran). Typically you will also find files with the suffix .h, which are header files containing definitions.


These are commonly used names for subdirectories, but nothing forbids the author of a source package to use a completely different convention.