Provided by: bcfg2-server_1.3.5-4ubuntu1_all bug


       bcfg2-lint  -  Check Bcfg2 specification for validity, common mistakes,
       and style


       bcfg2-lint [options] [plugin [plugin...]]


       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.

       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.

       bcfg2-lint is a rewrite of the older bcfg2-repo-validate tool.


       -C configfile
              Specify alternate bcfg2.conf location.

       -Q path
              Specify the path to the server repository.

       -v     Be verbose.

              Specify path to bcfg2-lint.conf (default /etc/bcfg2-lint.conf).

              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

              Property  files will only be validated if both the property file
              itself and its matching schema are included on stdin.


       In addition to the plugins listed below, Bcfg2 server plugins may  have
       their own bcfg2-lint functionality, which is enabled automatically when
       the  server  plugin  is  enabled.   See  bcfg2-lint.conf(5)  for   more
       information on lint plugin configuration.

              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.

       Genshi Ensure that all Genshi templates are valid and compile properly.

              Ensure  that  all  groups  called  by  name  in Metadata, Rules,
              Bundler, GroupPatterns, and Cfg are valid.

              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.

              Suggest  that  similar  probes  and  config files be merged into
              single probes or TGenshi templates.

              Check that all entries have the appropriate required attributes,
              and  that the attributes are in a valid format.  This goes above
              and beyond the validation offered by an XML schema.

              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.


       bcfg2-lint may not handle some deprecated 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.


       bcfg2(1), bcfg2-server(8), bcfg2-lint.conf(5)