./pkgtools/pkglint, Verifier for NetBSD packages

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.6.5, Package name: pkglint-5.6.5, Maintainer: rillig

pkglint checks whether a pkgsrc package conforms to the various
conventions established over the years. It produces warnings, errors and
notes and, upon request, explains them.

Before importing a new package or making changes to an existing package,
pkglint should be run in the package's directory to check for common
errors.


Required to build:
[pkgtools/cwrappers] [lang/go111]

Version history: (Expand)


CVS history: (Expand)


   2018-10-10 01:17:17 by Roland Illig | Files touched by this commit (8) | Package updated
Log message:
pkgtools/pkglint: update to 5.6.5

Changes since 5.6.4:

* GCC_REQD should only contain the major version. For GCC versions up to
  4.x, this consists of the first two numbers, such as 4.8, while starting
  with the 5.x series, the major version is only the first number, such as
  7.
   2018-10-09 21:12:13 by Roland Illig | Files touched by this commit (44) | Package updated
Log message:
pkgtools/pkglint: update to 5.6.4

Changes since 5.6.3:

* Allow += for COMMENT

* Sync variable type definitions with reality

* Fix check for "used but not defined" variables. This check had been
  broken since pkgtools/pkglint/files/pkglint.pl r1.776 from 2008-10-18
  (3cd071958e63), which missed its 10-year anniversary by just 9 days.

  After fixing this check, pkglint produces about 800 new warnings
  spread all over pkgsrc, most of which are real typos.

* Detect used variables also in .if and .elif conditions. This is
  closely related to the above fix and reduces the number of "defined
  but not used" variables, while at the same time producing new warnings
  because these variables are used at load time, where some of these
  variables are not yet defined.

* Detect variables for which pkglint doesn't know the exact data type
  by scanning all files under mk/ at startup. Currently there are about
  470 of these variables. No "used but not defined" warnings are issued
  for these variables anymore.

* To speed up pkglint when checking the whole pkgsrc tree at once, the
  most often needed files are cached to reduce IO load. The checks for
  USE_TOOLS are optimized now since they were a major bottleneck.
  Together with other performance improvements this makes pkglint about
  50% faster when checking the whole pkgsrc tree including pkgsrc-wip.
   2018-10-04 00:27:54 by Roland Illig | Files touched by this commit (68) | Package updated
Log message:
pkgtools/pkglint: Update to 5.6.3

Changes since 5.6.2:

* Add check for version patterns 1.5*, which should rather be 1.5.*

* Re-enable check for "set -e" and commands that may silently fail
  because of missing error checking

* Lots of internal clean-up and tests
   2018-09-05 19:56:22 by Roland Illig | Files touched by this commit (63) | Package updated
Log message:
pkgtools/pkglint: update to 5.6.2

Changes since 5.6.1:

* Improved checks that depend on whether bsd.prefs.mk is included or
  not.

* Improved checks for tools, whether they may be used at load time
  or at run time.

* Improved tokenizer for shell commands. $| is not a variable but a
  dollar followed by a pipe.

* Warnings about SUBST context are now shown by default.

* A warning is shown when a SUBST block is declared for *-configure
  but the package has defined USE_CONFIGURE=no.

* Don't warn about USE_TOOLS:= ${USE_TOOLS:Ntool}.

* Don't warn about using the ?= operator in buildlink3.mk files before
  including bsd.prefs.mk (for some more variables, but not all).

* Report an error for packages from main pkgsrc that have a TODO or
  README file. Packages should be simple enough that they don't need
  a README file and ready for production so that they don't need a TODO.

* Lots of small bug fixes and new tests.
   2018-09-05 19:01:04 by Roland Illig | Files touched by this commit (1)
Log message:
pkgtools/pkglint: remove TODO file

In the next version, pkglint will report an error if a package has a
README or a TODO file. The content of the current TODO file is still
available at https://github.com/rillig/pkglint/blob/master/TODO.md.
   2018-08-21 21:21:41 by Roland Illig | Files touched by this commit (3) | Package updated
Log message:
pkgtools/pkglint: update source files to latest state
   2018-08-16 22:41:42 by Roland Illig | Files touched by this commit (48) | Package updated
Log message:
pkgtools/pkglint: update to 5.6.1

Changes since 5.6.0:

* Fix output of relative paths in the diagnostics (thanks @wiz)
* Fix parsing of ${VAR:ts---}; it is now a syntax error
* Load more type definitions from mk/* instead of hard-coding them
* Lots of refactoring to improve test coverage, fixing several
  small bugs as they were found
   2018-08-12 18:31:56 by Roland Illig | Files touched by this commit (45) | Package updated
Log message:
pkgtools/pkglint: update to 5.6.0

Changes since 5.5.16:

* Check for negated shell commands (if ! test -z "foo"); they are not
  supported by Solaris.

* Don't check variable permissions for infrastructure files. A warning
  like "may not be set by any package" doesn't make sense for them.

* Check that PLIST_VARS matches PLIST.*, which is especially useful in
  options.mk files.

* Improve checks for options.mk files (for PKG_OPTIONS_SET).

* Prefer options handling with !empty() over checking empty() first.

* Prefer ${MACHINE_ARCH} == i386 over !empty(MACHINE_ARCH:Mi386), for
  single-valued variables.