blob: e5f57ddf7b2faa4777a5c8570046b744296cd097 (
plain)
1 .TH prtverify 1 "Nov 23 2014" "prtverify 0.4.4" ""
2 .SH NAME
3 prtverify \- utility to check CRUX ports for typical errors
4 .SH SYNOPSIS
5 \fBprtverify [options] <port> ...\fP
6 .SH DESCRIPTION
7 \fBprtverify\fP is a shell script which calls gawk with a bunch of
8 small modules, each of them containing one or more tests.
9
10 The following tests are implemented:
11
12 .TP
13 .B port
14 - missing files Pkgfile/.footprint/.md5sum
15 - invalid files/directories (-m clean-repo option)
16 .TP
17 .B Pkgfile
18 - existence of name/version/release/source variables
19 - existence of Description/Maintainer/URL headers
20 - empty Description/Maintainer/URL headers
21 - invalid email address in Maintainer header
22 - match of portname to name variable
23 - wrong release number
24 - cd/rm command outside the work directory
25 - use of non-ASCII characters
26 - missing dependencies (-m missing-deps option)
27 .TP
28 .B .footprint
29 - world writable files/directories
30 - junk files like perllocal.pod
31 - invalid directories like /usr/info
32 - invalid users
33 - files not owned by root
34 - SUID/SGID files
35 - permission collisions with directories provided by core/filesystem
36 - file-conflicts with other ports (-m file-conflict option)
37 .SH OPTIONS
38 .TP
39 .B -l <loglevel>
40 All tests are categorized into 4 levels, from FATAL to INFO, which
41 can be used to adjust the output of prtverify.
42 Set loglevel to 8 for INFO, 4 for WARN, 2 for ERROR and 1 for FATAL
43 errors. Sum them up to show combined loglevels, e.g. 12 for WARN
44 and INFO errors. The default is 15, which shows all error messages.
45 .TP
46 .B -m clean-repo
47 If this mode is set, an additional test for invalid files
48 like *.pkg.tar.gz or invalid directories like .svn is selected.
49 Only sensible for clean repositories, of course.
50 .TP
51 .B -m missing-deps -c <path_to_collection> [-c <path_to_collection> ...]
52 Adds a test for missing dependencies. The test takes the arguments set
53 by the 'Depends on'-header and looks for a complying directory in the
54 path specified by the -c option. Multiple -c options are allowed.
55 .TP
56 .B -m file-conflict -c <path_to_collection> [-c <path_to_collection> ...]
57 Adds a test for file-conflicts with other ports. The ports .footprint
58 entries are compared with a list of files from the ports specified
59 with the -c options.
60
61 \fBNote:\fP the test is very time-consuming if you run it over a large
62 number of collections !
63 .SH WHITELIST
64 To avoid messages for errors which are known and accepted \fBprtverify\fP
65 uses one or more whitelists to hide those.
66 The whitelists are located at \fI/usr/lib/prtverify/*.wl\fP.
67 .SH FILES
68 \fI/usr/lib/prtverify/*.awk\fP
69 \fI/usr/lib/prtverify/prtverify.wl\fP
70 .SH CREDITS
71 I'd like to thank Johannes Winkelmann for the initial idea for such a tool
72 and for many suggestions and contributions.
73 .SH AUTHOR
74 Juergen Daubert <jue@jue.li>
|