Linuxconf works on several Linux distributions. Most distributions
basically use the same system components. Sometime they differ slightly;
some commands and configuration file are not always located at the
same place. To solve this, Linuxconf supports configuration files
while are specific for each distribution. Files that define these
distribution-specific changes are stored
/usr/lib/linuxconf/DIST/ where DIST is the name of the
distribution (Red Hat, Caldera, SuSE, Debian, ...).
There are two type of files. One controlling the path and argument of commands and the other to control the path of configuration file.
A module may call external commands to perform a task. A module will
seldom use a hard-coded path to call a command, as it may fail on some
distributions. It will use the
netconf_system_if() function or
POPEN object. Those functions use the
found in the distribution-specific directory. Each command used
by the module (and specific to this module) must be defined in
MODULE is the name of the
module. This choice is not that important. It simply avoid a name
clash with other modules. If a module provides such a file, it must
provide one copy for each distribution supported by Linuxconf. They
are, in alphabetical order,
Normally, one sub-directory is created for each distribution in the
module source directory. The
MODULE.daemons looks like:
command_name command_absolute_path args_if_needed other_command ...
You must provide a definition for every command which will be used by the module.
By providing the
MODULE.daemons, you are allowing:
A module may deliver a file
MODULE.files for each distribution.
The format of this file is very simple:
key is the path provided to the
This file is optional. You are allowed to provide a
only for distribution which are different. The default path is
the key when not explicitly found in the
MODULE.files. As such
MODULE.files is optional.