PKGLINT(1) NetBSD Reference Manual PKGLINT(1) NNAAMMEE ppkkgglliinntt - a verifier for pkgsrc directories SSYYNNOOPPSSIISS ppkkgglliinntt [--ooppttiioonnss] [_d_i_r] DDEESSCCRRIIPPTTIIOONN ppkkgglliinntt tries to verify the content of a pkgsrc directory. The purpose of ppkkgglliinntt can be separated into two parts: (1) to let the submitters easily polish her/his own pkgsrc directory, and (2) to decrease the labor of the committers. ppkkgglliinntt uses very simple regular-expression matching for verifying files that make up a pkgsrc directory. Note that it does NOT implement a com- plete parser for those files. Because of this the user may see some ex- tra warnings, especially when checking complex _M_a_k_e_f_i_l_es. OOppttiioonnss --BB _n Set the number of contiguous blank lines allowed in _M_a_k_e_f_i_l_e to _n (by default, _n is 1.) --CC{{[[nnoo--]]cchheecckk,,......}} Enable or disable specific checks. For a list of checks, see below. --hh|----hheellpp Show the summary of command line options, then exit. --II Show the Makefile that is constructed by including all the files that are slurped in via .include directives. This flag is mainly for debugging. --qq|----qquuiieett Don't print the errors and warnings summary before terminat- ing. --vv|----vveerrbboossee Be verbose. Show the progress report for items that are be- ing checked. --WW{{[[nnoo--]]wwaarrnn,,......}} Enable or disable specific warnings. For a list of warnings, see below. CChheecckkss all Enable all checks. none Disable all checks. Currently the Makefile is checked in ev- ery case to get meta information about the package structure. [no-]MESSAGE Check MESSAGE files. [no-]PLIST Check PLIST files. [no-]distinfo Check the distinfo file. [no-]extra Check remaining files in the package directory. [no-]patches Check the pkgsrc specific patch files. WWaarrnniinnggss all Enable all warnings. none Disable all warnings. [no-]absname Warn if a file contains an absolute pathname. [no-]directcmd Warn if a system command name is used instead of a variable (e.g. sed instead of ${SED}). [no-]exec Warn if a file in the package directory is executable. Most files should not be executable until they are installed. [no-]order Warn if Makefile variables are not in the preferred order. [no-]paren Warn if variables are used like $(VAR) in Makefiles. They should always be used like ${VAR}. [no-]sort Warn if items of a list are not correctly sorted. Currently this affects PLISTs and the SUBDIRs in category Makefiles. [no-]types Warn for some Makefile variables if their assigned values do not match their type. [no-]workdir Warn about existing _w_o_r_k_* directories. They might be commit- ted to CVS accidentally. OOtthheerr aarrgguummeennttss dir The pkgsrc directory to be checked. If omitted, all checks will be performed on the current directory. FFIILLEESS /usr/pkgsrc/mk/bsd.pkg.mk master Makefile for pkgsrc /usr/pkgsrc/* pkgsrc collection EEXXAAMMPPLLEESS ppkkgglliinntt --CCnnoonnee,,ppaattcchheess. Checks the patches of the package in the current directory. ppkkgglliinntt --WWaallll //uussrr//ppkkggssrrcc//ddeevveell Checks the category Makefile and reports any warnings it can find. DDIIAAGGNNOOSSTTIICCSS Messages will be sent to standard output, not standard error. FATAL: ... This type of error messages suggests that there is some fa- tal error in the pkgsrc directory. For example, if some files need a rewrite, or if some necessary files are miss- ing, this message will show up. This kind of error should be fixed BEFORE submitting a package via send-pr(1). WARN: ... This type of error messages suggests that some files may (or may not) need some fixes. Basically, warnings are pro- duced when ppkkgglliinntt is not completely sure about the result. For example, complex _M_a_k_e_f_i_l_es may need some statements that can match the regular expression ppkkgglliinntt uses for san- ity checks. In those cases, the user should evaluate the result manually, and obey/ignore the result. OK: ... This type of messages is used in verbose mode (--vv). AAUUTTHHOORRSS Jun-ichiro Itoh , Yoshishige Arai , and Roland Illig . Many people have contributed patches and comments/suggestions. BBUUGGSS ppkkgglliinntt still emits too many false positive warnings. Many of the warn- ings concerning Makefiles do not print the file and line number where the warning originated. May 23, 2005 3