portlint — a
    verifier for port directories
  
    portlint | 
    [-abcghvtACNV] [-M
      ENV] [-B
      n] [dir] | 
  
portlint tries to verify the content of a
    port directory. The purpose of portlint can be
    separated into two parts: (1) to let the submitters easily polish their own
    port directory, and (2) to decrease the labor of the committers.
portlint uses very simple
    regular-expression matching for verifying files that make up a port
    directory. Note that it does NOT implement a complete parser for those
    files. Because of this the user may see some extra warnings, especially when
    checking complex
  Makefiles.
Options
  -a 
  - Perform additional checks for extra files, such as
      scripts/* and pkg-*.
 
  -b 
  - Warn the use of $(VARIABLE). Some of the
      committers prefer ${VARIABLE} instead of
      $(VARIABLE), even though they are semantically the
      same.
 
  -c 
  - Committer flag. It will add several checks useful only for committers. If
      you are a committer and performing check just before committing a port,
      use this option.
 
  -g 
  - Group and consolidate errors so that redundant error messages are rolled
      up into one line with a list of all affected line numbers (where
      appropriate). This option is disabled if 
-v is
      specified. 
  -h 
  - Show the summary of command line options, then exit.
 
  -m 
  - Adds checks for $PORTSDIR/MOVED, $PORTSDIR/UIDs, and $PORTSDIR/GIDs.
 
  -v 
  - Be verbose. Show the progress report for items that are being
    checked.
 
  -t 
  - Nit pick about use of spaces.
 
  -A 
  - Turn on all additional checks. This is equivalent to
      
-abcmNt. 
  -C 
  - Pedantic committer flag. This is equivalent to
      
-abcmt. 
  -N 
  - New port flag. Adds several checks specific to newly submitted port. If
      you are willing to submit the directory to be checked as a new port, use
      this option.
 
  -V 
  - Print the portlint version and exit.
 
  -M
    ENV 
  - Set make variables to ENV (ex.
      PORTSDIR=/usr/ports.work).
 
  -B
    n 
  - Set the number of contiguous blank lines allowed in
      Makefile to n. (by default,
      n is 1)
 
  - dir
 
  - The port directory to be checked. If omitted, check will be performed over
      the current directory.
 
The following environment variables affect the execution of
    portlint:
  PL_GIT_IGNORE 
  - Set to a Perl-compatible regular expression, of patterns to ignore when
      checking to see if files are in the git repository. For example,
      
'^\d+$|^pr-patch$'. 
  PORTSDIR 
  - The fully-qualified path to the ports tree. For example,
      “
/usr/ports”. 
  - bsd.port.mk
 
  - master Makefile for ports (bsd.pkg.mk on
      NetBSD / OpenBSD)
 
  - /usr/ports/*
 
  - ports collection (/usr/pkgsrc/* on
      NetBSD / OpenBSD); can be
      overriden by setting the PORTSDIR environment
      variable.
 
Messages will be sent to standard output, not standard error
    output.
  - FATAL: ...
 
  - This type of error message suggests that there is some fatal error in the
      port directory. For example, if some files need a rewrite, or if some
      inevitable files are missing, this message will show up. This kind of
      errors should be avoided BEFORE submitting a port via send-pr to the
      committers.
 
  - WARN: ...
 
  - This type of error message suggests that some files may (or may not) need
      some fix. Basically, warnings are produced when
      
portlint is not completely sure about the result.
      For example, complex
      Makefiles may need some
      statements that can match the regular expression
      portlint uses for sanity checks. In those cases,
      the user should evaluate the result manually, and obey/ignore the
    result. 
  - OK: ...
 
  - This types of message is used in verbose mode
      (
-v). 
Joe Marcus Clarke
    ⟨marcus@FreeBSD.org⟩
  
  Michael Haro ⟨mharo@FreeBSD.org⟩
  
  Jun-ichiro Hagino ⟨itojun@itojun.org⟩
    and
  
  Yoshishige Arai ⟨ryo2@on.rim.or.jp⟩.
Many people have contributed patches and comments/suggestions.
portlint is not a magic wand, as described
    above.