1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
.\" $NetBSD: lintpkgsrc.1,v 1.6 1999/12/22 21:04:17 abs Exp $
.\"
.\" Copyright (c) 1999 by David Brownlee (abs@netbsd.org)
.\" Absolutely no warranty.
.\"
.Dd April 19, 1999
.Dt LINTPKGSRC 1
.Sh NAME
.Nm lintpkgsrc
.Nd a verifier for the pkgsrc tree
.Sh SYNOPSIS
.Nm
.Op Fl Rdhilmor
.Op Fl P Ar pkgsrcdir
.Op Fl D Ar paths
.Sh DESCRIPTION
.Nm
tries to verify the entire contents of the pkgsrc tree.
.Nm
uses simple regular-expression matching for verifying
files that make up a pkgsrc directory.
Note that it does NOT implement complete Makefile parser.
.Pp
.Sy Options
.Bl -tag -width xxxxxxxxxxxx
.It Fl D Ar paths
Parse Makefiles and output contents (Useful for debugging).
.It Fl P Ar pkgsrcdir
Set pkgsrcdir - otherwise
.Pa /etc/mk.conf is parsed for
.Em PKGSRCDIR .
.It Fl R
Report any RESTRICTED binary packages (in any subdirs of PKGSRCDIR/packages).
.It Fl d
Extract the 'DEPENDS' listing from each pkgsrc package Makefile, then
verify the version specified in each DEPEND correctly matches a current
pkgsrc package.
.It Fl h
Basic help and usage.
.It Fl i
Check the version of each installed package against the current version in
pkgsrc.
.It Fl l
Run pkglint on every package in pkgsrc.
.It Fl m
For each current distfile, verify its checksum against the appropriate
package's md5 file. Also report if any package's md5 file references
the same distfile with a different md5 checksum.
.It Fl o
Report any old distfile (not referenced by any package's md5 file).
.It Fl p
Report any old binary packages (in any subdirs of PKGSRCDIR/packages).
.It Fl r
Remove distfiles which are not referenced from any package's md5 file,
or have an incorrect checksum (usually due to an interrupted download),
and any old binary packages. To remove any given type, additionally
specify the -o, -m, or -p flags respectively.
.El
.Sh AUTHOR
David Brownlee <abs@netbsd.org>
.Sh BUGS
The 'Makefile parsing' algorithym used to obtain package versions
and DEPENDS information is geared towards speed rather than
perfection, though it has got somewhat better over time, it only
parses the simplest Makefile conditionals. (a == b, no && etc).
.Pp
Potentially others, but non serious to date.
|