123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- .\" $FreeBSD$
- .\" $MCom$
- .\"
- .\" Copyright (c) 1997 by Jun-ichiro Hagino <itojun@itojun.org>.
- .\" All Rights Reserved. Absolutely no warranty.
- .\"
- .Dd April 1, 2010
- .Dt PORTLINT 1
- .Os
- .Sh NAME
- .Nm portlint
- .Nd a verifier for port directories
- .Sh SYNOPSIS
- .Nm portlint
- .Op Fl abcghvtACNV
- .Op Fl M Ar ENV
- .Op Fl B Ar n
- .Op Ar dir
- .Sh DESCRIPTION
- .Nm
- tries to verify the content of a port directory.
- The purpose of
- .Nm
- can be separated into two parts:
- .Pq 1
- to let the submitters easily polish their own port directory, and
- .Pq 2
- to decrease the labor of the committers.
- .Pp
- .Nm
- 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
- .Pa Makefile Ns No s .
- .Pp
- .Sy Options
- .Bl -tag -width Fl
- .It Fl a
- Perform additional checks for extra files, such as
- .Pa scripts/*
- and
- .Pa pkg-* .
- .It Fl b
- Warn the use of
- .Pa $(VARIABLE) .
- Some of the committers prefer
- .Pa ${VARIABLE}
- instead of
- .Pa $(VARIABLE) ,
- even though they are semantically the same.
- .It Fl 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.
- .It Fl 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
- .Fl v
- is specified.
- .It Fl h
- Show the summary of command line options, then exit.
- .It Fl m
- Adds checks for $PORTSDIR/MOVED, $PORTSDIR/UIDs, and $PORTSDIR/GIDs.
- .It Fl v
- Be verbose.
- Show the progress report for items that are being checked.
- .It Fl t
- Nit pick about use of spaces.
- .It Fl A
- Turn on all additional checks. This is equivalent to
- .Fl abcmNt .
- .It Fl C
- Pedantic committer flag. This is equivalent to
- .Fl abcmt .
- .It Fl 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.
- .It Fl V
- Print the portlint version and exit.
- .It Fl M Ar ENV
- Set make variables to
- .Pa ENV
- (ex. PORTSDIR=/usr/ports.work).
- .It Fl B Ar n
- Set the number of contiguous blank lines allowed in
- .Pa Makefile
- to
- .Ar n .
- (by default,
- .Ar n
- is 1)
- .It dir
- The port directory to be checked.
- If omitted, check will be performed over the current directory.
- .El
- .Sh ENVIRONMENT
- The following environment variables affect the execution of
- .Nm :
- .Bl -tag -width ".Ev PL_SVN_IGNORE"
- .It Ev PL_SVN_IGNORE
- Set to a Perl-compatible regular expression, of patterns
- to ignore when checking to see if files are in the SVN
- repository. For example,
- .Li '^\ed+$|^pr-patch$' .
- .It Ev PORTSDIR
- The fully-qualified path to the ports tree.
- For example,
- .Dq Li /usr/ports .
- .El
- .Sh FILES
- .Bl -tag -width bsd.port.mkxx -compact
- .It Pa bsd.port.mk
- master Makefile for ports
- .Po
- .Pa bsd.pkg.mk
- on
- .Nx
- /
- .Ox
- .Pc
- .It Pa /usr/ports/*
- ports collection
- .Po
- .Pa /usr/pkgsrc/*
- on
- .Nx
- /
- .Ox
- .Pc ;
- can be overriden by setting the
- .Va PORTSDIR
- environment variable.
- .El
- .Sh DIAGNOSTICS
- Messages will be sent to standard output, not standard error output.
- .Bl -tag -width "WARN: foobaa"
- .It 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.
- .\"If a submitter submits it without update, committers will need to rewrite
- .\"on behalf of the submitters, which may result in delay of
- .\"the development of operating system itself.
- .It WARN: ...
- This type of error message suggests that some files may (or may not)
- need some fix.
- Basically, warnings are produced when
- .Nm
- is not completely sure about the result.
- For example, complex
- .Pa Makefile Ns No s
- may need some statements that can match the regular expression
- .Nm
- uses for sanity checks.
- In those cases, the user should evaluate the result manually,
- and obey/ignore the result.
- .It OK: ...
- This types of message is used in verbose mode
- .Pq Fl v .
- .El
- .Sh AUTHORS
- .An Joe Marcus Clarke Aq marcus@FreeBSD.org
- .An Michael Haro Aq mharo@FreeBSD.org
- .An Jun-ichiro Hagino Aq itojun@itojun.org
- and
- .An Yoshishige Arai Aq ryo2@on.rim.or.jp .
- .Pp
- Many people have contributed patches and comments/suggestions.
- .Sh BUGS
- .Nm
- is not a magic wand, as described above.
|