Dev:Design

Commands

 * Most commands in LTSP have a generic part and a distro specific part. Also most commands have a config file with command specific options.
 * Look at the command files yourself, if you know shell script its easy.

The following paragraph shows what is sourced when you enter a typical LTSP command, for instance ltsp-chroot. A command on the client loads the ltsp-client versions of the files.
 * ltsp-chroot
 * /usr/share/ltsp/ltsp-server-functions
 * /etc/ltsp/ltsp-server.conf (common server settings)
 * /usr/share/ltsp/ltsp-server-common-functions (common functions shared by LTSP scripts)
 * /usr/share/ltsp/ltsp-chroot-functions (distro specific overrides for the command functions)
 * /etc/ltsp/ltsp-chroot.conf (command specific settings)
 * /usr/share/ltsp/ltsp-server-vendor-functions (distro specific overrides for the LTSP scripts common functions)

Help output and Man pages
The LTSP server commands provide help output by giving the --help argument to the command. Using help2man, these outputs are used as input for auto generated man pages. For this to work, and to provide the user with a consistent style, the help output has to have a certain format. For example:

Usage: ltsp-info [OPTION] Displays information useful to troubleshooting issues on an LTSP server. Information should include server distro and release, versions of LTSP related packages installed on the server, LTSP chroots and their package versions, LTSP image files and lts.conf(5). Options: -h, --help                   Displays the ltsp-info help message. -n, --no-server-info         Do not display server information. -v, --verbose                Display more information, such as including the contents of detected files.


 * the first line creates the SYNOPSIS (filters out "Usage: ")
 * the second line is a linebreak for readability
 * the text goes into the DESCRIPTION
 * again a linebreak for readability
 * everything under "Options:" goes into OPTIONS
 * make sure there is more than 1 space between the option and its description
 * option descriptions start with a capital and end with a dot
 * the rest of man page information (NAME, AUTHOR, REPORTING BUGS and AVAILABILITY) is provided in the generation process

Translations
When a translated string is the same as the en_US original, don't leave it untranslated. Translate it, but don't change it.