PKGLINT(1) NetBSD General Commands Manual PKGLINT(1) NNAAMMEE ppkkgglliinntt -- static analyzer for pkgsrc packages SSYYNNOOPPSSIISS ppkkgglliinntt [--ooppttiioonnss] [_d_i_r _._._.] DDEESSCCRRIIPPTTIIOONN ppkkgglliinntt attempts to detect features of the named pkgsrc packages that are likely to be bugs, or that are simply deprecated. OOppttiioonnss --CC{{[[nnoo--]]cchheecckk,,......}} Enable or disable specific checks. For a list of checks, see below. --DD{{[[nnoo--]]ddeebbuugg,,......}} Enable or disable debugging categories. For a list of categories, see below. --II Show the _M_a_k_e_f_i_l_e that is constructed by including all the files that are slurped in via `.include' directives. This flag is mainly for debugging. --RR|----rrccssiiddssttrriinngg Allow other RCS Id strings than NetBSD. Multiple strings may be concatenated with `|'. --VV|----vveerrssiioonn Print the current ppkkgglliinntt version number and exit. --WW{{[[nnoo--]]wwaarrnn,,......}} Enable or disable specific warnings. For a list of warnings, see below. --ee|----eexxppllaaiinn Print further explanations for diagnostics. Some- times the reasons for diagnostics are not obvious and need further explanation. --gg|----ggcccc--oouuttppuutt--ffoorrmmaatt Use a format for the diagnostics that is understood by most programs, especially editors, so they can provide a point-and-goto interface. --hh|----hheellpp Show the summary of command line options, then exit. --ii|----iimmppoorrtt Check if a package is ready to be imported into pkgsrc. This is especially useful for packages from the pkgsrc-wip project. --qq|----qquuiieett Don't print the errors and warnings summary before terminating. --rr|----rreeccuurrssiivvee Check subdirectories, too. The subdirectories are those that are mentioned in a `SUBDIR+=' line. --ss|----ssoouurrccee For all diagnostics having file and line number information, show the source code along with the diagnostics. CChheecckkss aallll Enable all checks. nnoonnee Disable all checks. [[nnoo--]]AALLTTEERRNNAATTIIVVEESS Check the alternatives file. [[nnoo--]]DDEESSCCRR Check the DESCR file. [[nnoo--]]IINNSSTTAALLLL Check the INSTALL and DEINSTALL scripts. [[nnoo--]]MMaakkeeffiillee Check the package Makefile, including all included files. [[nnoo--]]MMEESSSSAAGGEE Check MESSAGE files. [[nnoo--]]PPLLIISSTT Check PLIST files. [[nnoo--]]bbll33 Check buildlink3 Makefiles. [[nnoo--]]ddiissttiinnffoo Check the distinfo file. [[nnoo--]]eexxttrraa Check remaining files in the package directory. [[nnoo--]]mmkk Check Makefile fragments besides buildlink3. [[nnoo--]]ppaattcchheess Check the pkgsrc specific patch files. DDeebbuuggggiinngg OOppttiioonnss aallll Enable all debugging options. nnoonnee Disable all debugging options. [[nnoo--]]iinncclluuddee Show the pathnames of the included Makefiles. [[nnoo--]]mmiisscc Some debugging stuff that hasn't made it into its own category. [[nnoo--]]ppaattcchheess Print the states of the patch file parser. [[nnoo--]]qquuoottiinngg Additional information about why variables should be quoted or not. [[nnoo--]]sshheellll Parser information from the shell word and the shell command parsers. [[nnoo--]]ttoooollss Additional information about the tools from the tools framework. [[nnoo--]]ttrraaccee Print the names of subroutines and their arguments as they are entered. [[nnoo--]]uunncchheecckkeedd Show the things that pkglint cannot currently check. These are mostly due to unresolved make variables. [[nnoo--]]uunnuusseedd Show which variables are detected as used, and so will not generate an ``unused variable'' warning. [[nnoo--]]vvaarrttyyppeess Additional information about the variable types. [[nnoo--]]vvaarruussee Information about the contexts in which variables are used. WWaarrnniinnggss aallll Enable all warnings. nnoonnee Disable all warnings. [[nnoo--]]ddiirreeccttccmmdd Warn if a system command name is used instead of a variable (e.g. sed instead of ${SED}). [[nnoo--]]eexxttrraa Emit some additional warnings that are not enabled by default, for whatever reason. [[nnoo--]]oorrddeerr Warn if Makefile variables are not in the preferred order. [[nnoo--]]pplliisstt--ddeepprr Warn if deprecated pathnames are used in _P_L_I_S_T files. This warning is disabled by default. [[nnoo--]]pplliisstt--ssoorrtt Warn if items of a PLIST file are not sorted alpha- betically. This warning is disabled by default. [[nnoo--]]qquuoottiinngg Warn for possibly invalid quoting of make variables in shell programs and shell variables themselves. [[nnoo--]]ssppaaccee Emit notes for inconsistent use of white-space. [[nnoo--]]ssttyyllee Warn for stylistic issues that don't affect the build process. [[nnoo--]]ttyyppeess Warn for some _M_a_k_e_f_i_l_e variables if their assigned values do not match their type. [[nnoo--]]vvaarroorrddeerr Warn if the variables in a package _M_a_k_e_f_i_l_es are not ordered in the way it is described the pkgsrc guide. OOtthheerr aarrgguummeennttss _d_i_r _._._. The pkgsrc directories to be checked. If omit- ted, the current directory is checked. FFIILLEESS pkgsrc/mk/* Files from the pkgsrc infrastructure. 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. ppkkgglliinntt --rr --RR ''NNeettBBSSDD||IIdd'' //uussrr//ppkkggssrrcc Check the whole pkgsrc tree while allowing `NetBSD' or `Id' as the RCS Id. DDIIAAGGNNOOSSTTIICCSS Diagnostics are written to the standard output. ERROR: ... Errors should be fixed before a package is committed to pkgsrc. WARN: ... Warnings generally should be fixed, but they are not as critical as errors. AAUUTTHHOORRSS Roland Illig <_r_i_l_l_i_g_@_N_e_t_B_S_D_._o_r_g> BBUUGGSS Many more checks could be added. If you don't understand the messages, feel free to ask on the mailing list. NetBSD 8.0 October 6, 2019 NetBSD 8.0