.TH prtverify 1 "Nov 23 2014" "prtverify 0.4.4" "" .SH NAME prtverify \- utility to check CRUX ports for typical errors .SH SYNOPSIS \fBprtverify [options] ...\fP .SH DESCRIPTION \fBprtverify\fP is a shell script which calls gawk with a bunch of small modules, each of them containing one or more tests. The following tests are implemented: .TP .B port - missing files Pkgfile/.footprint/.md5sum - invalid files/directories (-m clean-repo option) .TP .B Pkgfile - existence of name/version/release/source variables - existence of Description/Maintainer/URL headers - empty Description/Maintainer/URL headers - invalid email address in Maintainer header - match of portname to name variable - wrong release number - cd/rm command outside the work directory - use of non-ASCII characters - missing dependencies (-m missing-deps option) .TP .B .footprint - world writable files/directories - junk files like perllocal.pod - invalid directories like /usr/info - invalid users - files not owned by root - SUID/SGID files - permission collisions with directories provided by core/filesystem - file-conflicts with other ports (-m file-conflict option) .SH OPTIONS .TP .B -l All tests are categorized into 4 levels, from FATAL to INFO, which can be used to adjust the output of prtverify. Set loglevel to 8 for INFO, 4 for WARN, 2 for ERROR and 1 for FATAL errors. Sum them up to show combined loglevels, e.g. 12 for WARN and INFO errors. The default is 15, which shows all error messages. .TP .B -m clean-repo If this mode is set, an additional test for invalid files like *.pkg.tar.gz or invalid directories like .svn is selected. Only sensible for clean repositories, of course. .TP .B -m missing-deps -c [-c ...] Adds a test for missing dependencies. The test takes the arguments set by the 'Depends on'-header and looks for a complying directory in the path specified by the -c option. Multiple -c options are allowed. .TP .B -m file-conflict -c [-c ...] Adds a test for file-conflicts with other ports. The ports .footprint entries are compared with a list of files from the ports specified with the -c options. \fBNote:\fP the test is very time-consuming if you run it over a large number of collections ! .SH WHITELIST To avoid messages for errors which are known and accepted \fBprtverify\fP uses one or more whitelists to hide those. The whitelists are located at \fI/usr/lib/prtverify/*.wl\fP. .SH FILES \fI/usr/lib/prtverify/*.awk\fP \fI/usr/lib/prtverify/prtverify.wl\fP .SH CREDITS I'd like to thank Johannes Winkelmann for the initial idea for such a tool and for many suggestions and contributions. .SH AUTHOR Juergen Daubert