summaryrefslogtreecommitdiffstats
path: root/doc/man/bcfg2-lint.txt
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-11-06 17:08:29 -0600
committerSol Jerome <sol.jerome@gmail.com>2012-11-06 17:11:30 -0600
commit3d8cd6ef61524b3d8e3edf55da25ad0f252c085c (patch)
tree91415649412ad858a580e69dbd7c4638d8fb97a2 /doc/man/bcfg2-lint.txt
parentb7294206ffd1248997679eaaf5daa53a0a315054 (diff)
downloadbcfg2-3d8cd6ef61524b3d8e3edf55da25ad0f252c085c.tar.gz
bcfg2-3d8cd6ef61524b3d8e3edf55da25ad0f252c085c.tar.bz2
bcfg2-3d8cd6ef61524b3d8e3edf55da25ad0f252c085c.zip
doc: Add man pages to Sphinx documentation
This allows you to generate our manpages directly from the Sphinx documentation. This commit is more or less copied directly from the current man pages. The goal is to integrate these more closely with the current Sphinx documentation via include directives to prevent duplication and keep all documentation consistent. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'doc/man/bcfg2-lint.txt')
-rw-r--r--doc/man/bcfg2-lint.txt129
1 files changed, 129 insertions, 0 deletions
diff --git a/doc/man/bcfg2-lint.txt b/doc/man/bcfg2-lint.txt
new file mode 100644
index 000000000..c5d2eacee
--- /dev/null
+++ b/doc/man/bcfg2-lint.txt
@@ -0,0 +1,129 @@
+.. vim: ft=rst
+
+bcfg2-lint
+==========
+
+.. program:: bcfg2-lint
+
+Synopsis
+--------
+
+**bcfg2-lint** [*options*] [*plugin* [*plugin*...]]
+
+Description
+-----------
+
+:program:`bcfg2-lint` checks the Bcfg2 specification for schema
+validity, common mistakes, and other criteria. It can be quite helpful
+in finding typos or malformed data.
+
+:program:`bcfg2-lint` exits with a return value of 2 if errors were
+found, and 3 if warnings (but no errors) were found. Any other non-0
+exit value denotes some failure in the script itself.
+
+:program:`bcfg2-lint` is a rewrite of the older bcfg2-repo-validate
+tool.
+
+Options
+-------
+
+-C *configfile*
+ Specify alternate bcfg2.conf location.
+
+-Q
+ Specify the server repository path.
+
+-v
+ Be verbose.
+
+--lint-config
+ Specify path to bcfg2-lint.conf (default `/etc/bcfg2-lint.conf`).
+
+--stdin
+ Rather than operating on all files in the Bcfg2 specification, only
+ validate a list of files supplied on stdin. This mode is
+ particularly useful in pre-commit hooks.
+
+ This makes a few assumptions:
+
+ Metadata files will only be checked if a valid chain of
+ XIncludes can be followed all the way from clients.xml or
+ groups.xml. Since there are multiple formats of metadata stored
+ in Metadata/ (i.e., clients and groups), there is no way to
+ determine which sort of data a file contains unless there is a
+ valid chain of XIncludes. It may be useful to always specify all
+ metadata files should be checked, even if not all of them have
+ changed.
+
+ Property files will only be validated if both the property file
+ itself and its matching schema are included on stdin.
+
+Plugins
+-------
+
+See :manpage:`bcfg2-lint.conf(5)` for more information on the
+configuration of the plugins listed below.
+
+Bundles
+ Check the specification for several issues with Bundler: bundles
+ referenced in metadata but not found in *Bundler/*; bundles whose
+ *name* attribute does not match the filename; and Genshi template
+ bundles that use the *<Group>* tag (which is not processed in
+ templated bundles).
+
+Comments
+ Check the specification for VCS keywords and any comments that are
+ required. By default, this only checks that the *$Id$* keyword is
+ included and expanded in all files. You may specify VCS keywords to
+ check and comments to be required in the config file. (For instance,
+ you might require that every file have a "Maintainer" comment.)
+
+ In XML files, only comments are checked for the keywords and
+ comments required.
+
+Duplicates
+ Check for several types of duplicates in the Metadata: duplicate
+ groups; duplicate clients; and multiple default groups.
+
+InfoXML
+ Check that certain attributes are specified in *info.xml* files. By
+ default, requires that *owner*, *group*, and *mode* are specified.
+ Can also require that an *info.xml* exists for all Cfg files, and
+ that paranoid mode be enabled for all files.
+
+MergeFiles
+ Suggest that similar probes and config files be merged into single
+ probes or TGenshi templates.
+
+Pkgmgr
+ Check for duplicate packages specified in Pkgmgr.
+
+RequiredAttrs
+ Check that all *Path* and *BoundPath* tags have the attributes that
+ are required by their type (e.g., a path of type symlink must have
+ name and to specified to be valid). This sort of validation is
+ beyond the scope of an XML schema.
+
+Validate
+ Validate the Bcfg2 specification against the XML schemas.
+
+ Property files are freeform XML, but if a *.xsd* file with a matching
+ filename is provided, then schema validation will be performed on
+ property files individually as well. For instance, if you have a
+ property file named *ntp.xml* then by placing a schema for that file
+ in *ntp.xsd* schema validation will be performed on *ntp.xml*.
+
+
+Bugs
+----
+
+:program:`bcfg2-lint` may not handle some older plugins as well as it
+handles newer ones. For instance, there may be some places where it
+expects all of your configuration files to be handled by Cfg rather than
+by a mix of Cfg and TGenshi or TCheetah.
+
+See Also
+--------
+
+:manpage:`bcfg2(1)`, :manpage:`bcfg2-server(8)`,
+:manpage:`bcfg2-lint.conf(5)`