.\" $NetBSD: lintpkgsrc.1,v 1.12 2000/10/12 15:07:44 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 LRdhilmor .Op Fl D Ar paths .Op Fl K Ar PACKAGES .Op Fl P Ar PKGSRCDIR .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 K Ar PACKAGES Override binary packages base directory, normally set from .Pa /etc/mk.conf or defaulted to PKGSRCDIR/packages. .It Fl L List the filenames of Makefiles as they are parsed (for debugging). .It Fl M Ar distdir Set directory for distfiles, otherwise PKGSRCDIR/distfiles is used. .It Fl P Ar PKGSRCDIR Set base of pkgsrc tree, normally set from .Pa /etc/mk.conf or defaulted to .Pa /usr/pkgsrc . .It Fl R Report any binary packages in any subdirs of .Em PACKAGES , for whom the source Makefile lists .Em NO_BIN_ON_FTP or .Em RESTRICTED . This is intended to help those making binary packages available for ftp. .It Fl V List any prebuilt packages in any subdirs of .Em PACKAGES with known vulnerabilities, based on the data in PKGSRCDIR/distfiles/vulnerabilities . .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 .Em 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 .Sh CAVEATS The .Fl R , .Fl V , and .Fl p options default to using .Em PACKAGES as the base directory from which to search for binary packages. If this includes OS or architecture information then packages for other OS/architecture combinations will be missed. In this case .Em PACKAGES can be overridden with .Fl K or set conditionally in .Pa /etc/mk.conf based on the value of .Em LINTPKGSRC . .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.