


_O_n_l_i_n_e _M_a_n_u_a_l        System Manager Commands            comply(8)



NNNNAAAAMMMMEEEE
     /usr/pkg/comply - check files against software bill of
     materials

SSSSYYYYNNNNTTTTAAAAXXXX
     ccccoooommmmppppllllyyyy [ ----ffffsssseeeeddddbbbbcccc ] [ ----FFFF mmmmttttooooggggppppssssllll ] [ ----kkkk_n ] [ ----tttt_t_i_m_e ] [ ----pppp
     passwdfile ] [ ----gggg groupfile ] bomfile ...

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     _c_o_m_p_l_y is used to check a directory tree against a
     ``software bill of materials''. The bill of materials speci-
     fies a directory tree, including directory and file names,
     modes, owners, groups, link counts, and link associations.
     All instances where the contents of the actual tree do not
     match the tree specified in the bill of materials are
     reported.  To a limited extent, _c_o_m_p_l_y will also fix up
     instances where the directory tree is found to be out of
     compliance with the bill of materials.

     _c_o_m_p_l_y should be executed in the root directory of the tree
     to be checked. Files in a bill of materials file (_b_o_m_f_i_l_e)
     are named relative to this directory. For example, a file
     named usr/bin/file in a _b_o_m_f_i_l_e is checked against the file
     ``./usr/bin/file''.

     The ----ffff option is used to enable fix mode. In fix mode, _c_o_m_-
     _p_l_y will attempt to impose compliance with respect to file
     ownership, group, and permissions, including set user and
     group id bits.  If links (symbolic or hard) specified in the
     _b_o_m_f_i_l_e are missing or incorrect, they will be created or
     fixed.  If directories specified in the _b_o_m_f_i_l_e are missing,
     they will be created. For directories to be created, all
     directories in the pathname preceding the named directory
     must already exist. To insure this condition, it is highly
     recommended that each _b_o_m_f_i_l_e contain entries for every
     directory mentioned in that _b_o_m_f_i_l_e.  For example, if the
     file /usr/foo/foofile is mentioned in a bom, then entries
     for the directories /usr and /usr/foo (in that order) should
     precede the entry for /usr/foo/foofile.

     Currently, no other fixes are attempted. Only the super-user
     may run _c_o_m_p_l_y in fix mode.  Without ----ffff, comply will only
     report files or directories found to be out of compliance.

     The ----FFFF option allows individual kinds of fixes to be enabled
     (as opposed to ----ffff which enables all of the fixes explained
     above.) ----FFFF is followed by one or more of the following key
     letters, each of which, if present, enables one type of fix:

     m    create missing entries (directory, symbolic link, or
          hard link)

     t    correct files which exist, but are not of the correct
          type (when the file should be directory, symbolic link,
          or hard link, but isn't)

     o    correct file ownerships

     g    correct file groups






     p    correct file permissions

     s    correct symbolic links

     l    correct hard links

     The ----ssss option causes _c_o_m_p_l_y to run silently; in fix mode,
     fixes will be attempted, but no messages will be produced
     when files or directories are found to be out of compliance.

     With the ----eeee (extra files) option, _c_o_m_p_l_y writes a list of
     pathnames of files present in the tree being checked, but
     absent in the bill of material file(s).  If the ----dddd option is
     also specified along with ----eeee, an attempt will be made to
     remove such files from the tree being checked. Only the
     super-user may run _c_o_m_p_l_y with ----dddd.

     The ----cccc option causes _c_o_m_p_l_y to calculate checksums and com-
     pare them with the checksums in the _b_o_m_f_i_l_e; files whose
     checksum has changed are reported.

     If only the list of extra files is desired, and the ----dddd
     option is not required,  the script /usr/pkg/extra can be
     run directly. It takes as arguments the root directory of
     the tree to be checked and a list of _b_o_m_f_i_l_es, and produces
     a newline-separated list of extra files on its standard out-
     put.

     The ----kkkk_n option sets an error threshold.  _c_o_m_p_l_y will ter-
     minate when _n errors have been detected in fix mode; an _n of
     0 means ``no limit'' (the default). Optional white space may
     separate the ``-k'' and _n.

     The ----tttt_t_i_m_e option causes _c_o_m_p_l_y to set the modification
     times of all files to a specific time and date.  The _t_i_m_e is
     given as the number of seconds since midnight January 1,
     1970  GMT.  Optional white space may separate the ``-t'' and
     _t_i_m_e.

     When the ----bbbb option is present, _c_o_m_p_l_y will read the
     _b_o_m_f_i_l_e(s), checking for correct syntax, but will not not
     check the files specified. This can be used to find badly
     formed _b_o_m_f_i_l_e records before a ``real'' run of comply is
     performed.

     The _b_o_m_f_i_l_es contain the bills of material. The format of
     these files is described in bom(5).

     If the ----pppp flag is present, the file named is a password file
     to use instead of /etc/passwd. The ----gggg flag allows a group
     file to be specified in place of /etc/group.

     _c_o_m_p_l_y returns an exit status of 0 if complete conformance
     was achieved, nonzero otherwise.

FFFFIIIILLLLEEEESSSS
     /etc/passwd to get user id's
     /etc/group to get group id's
     /usr/pkg/extra to detect extra files if ----eeee is specified.







SSSSEEEEEEEE AAAALLLLSSSSOOOO
     File Formats(5): bom



April 1990                         TX System Manager's Reference






















































