./pkgtools/pkglint, Verifier for NetBSD packages

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


Branch: CURRENT, Version: 5.7.11, Package name: pkglint-5.7.11, 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.

This is the current version of pkglint. Because it is written in go,
it does not run on all pkgsrc platforms; see also pkglint4.


Required to run:
[devel/go-check]

Required to build:
[pkgtools/cwrappers] [security/go-crypto] [devel/go-sys] [lang/go112]

Master sites:


Version history: (Expand)


CVS history: (Expand)


   2019-05-22 18:07:16 by Roland Illig | Files touched by this commit (4) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.11

Changes since 5.7.10:

Fixed wrong warnings about autoconf being an unknown shell command when
an included file had defined USE_TOOLS+=autoconf213.
   2019-05-21 19:59:48 by Roland Illig | Files touched by this commit (18) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.10

Changes since 5.7.9:

* Fixed URL checking for MASTER_SITES, especially remove the wrong error
  message about URLs of the form ${MASTER_SITE:S,^,-,:=subdir/}.

* Made warnings about invalid filenames, filename patterns, pathnames and
  pathname patterns more detailed.
   2019-05-06 22:27:17 by Roland Illig | Files touched by this commit (21) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.9

Changes since 5.7.8:

* Buildlink3.mk files are checked for typos in the identifier that is
  used for BUILDLINK_TREE, to detect copy-and-paste mistakes.

* Having a rationale is recommended for some variables, especially those
  that make a package fail to build or crash at runtime. This check is
  only active when -Wextra is given, since it is still actively debated
  whether such a check is actually useful.

* Files called Makefile.php can easily be mistaken to be PHP files.
  Therefore the recommended naming convention is to have auxiliary files
  called *.mk. There are already many more files called *.mk than those
  being called Makefile.*.

* The check for unquoted sed substitution commands has been made more
  detailed, but since it is completely disabled, there's nothing to see
  for now.

* The definitions for MASTER_SITE_* are loaded directly from the pkgsrc
  infrastructure instead of hard-coding them in pkglint.
   2019-04-28 20:13:53 by Roland Illig | Files touched by this commit (7) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.8

Changes since 5.7.7:

Warn about definitions of NOT_FOR_* and ONLY_FOR_* which are missing a
rationale. When maintaining such packages it helps a lot to know why the
package cannot be built on a particular platform or with a particular
compiler or Python version.
   2019-04-28 15:38:23 by Greg Troxel | Files touched by this commit (2) | Package updated
Log message:
pkgtools/pkglint*: Update DESCR to explain differences

Note that pkglint is current and pkglint4 is old, and that both are
present due to go portability issues.
   2019-04-27 21:33:57 by Roland Illig | Files touched by this commit (26) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.7

Changes since 5.7.6:

Warn about packages that override user-settable variables. Packages that
define variables with the same value as the default value only get a
note instead of the warning since these definitions do not cause any
confusion.

Do not suppress technical error messages in autofix mode.

Do not warn about the package version being greater than the latest from
doc/CHANGES if the file defining the package version has been modified
locally and is about to be committed.
   2019-04-23 23:20:49 by Roland Illig | Files touched by this commit (22) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.6

Changes since 5.7.5:

* The explanation for distfile hashes is only given when the distfiles
  actually need to be downloaded. If they are already there, no
  explanation is necessary.

* Makefile lines that are commented and have line continuations are
  properly parsed. This affects the autofix for variable value
  realignment.

* Variable permissions are not checked in hacks.mk since pkgsrc
  developers who know about hacks.mk probably know what they are doing.
  From hacks.mk files, builtin.mk files may be included directly, for
  the same reason.

* Expressions of the form !empty(PKGPATH:Mpattern), when PKGPATH is not
  a list variable and pattern has no wildcards, can be written in a
  simpler form, and pkglint autofixes this. For example the above
  expression is transformed into ${PKGPATH} == pattern. This
  transformation reduces the amount of double negations (!empty) in the
  code.

* Duplicate warnings about invalid relative ../package have been merged.

* TOOLS_ALIASES are properly resolved. The line USE_TOOLS=ggrep makes
  the tools grep, egrep and fgrep known to pkglint, in the same way as
  in the pkgsrc infrastructure.

* The diagnostics for missing or unnecessary distinfo files have been
  improved to provide some guidance.

* Packages that use MESSAGE_SRC to build the message from multiple files
  no longer produce a warning for malformed message files. These files
  are simply skipped.
   2019-04-20 19:43:25 by Roland Illig | Files touched by this commit (63) | Package updated
Log message:
pkgtools/pkglint: update to 5.7.5

Changes since 5.7.4:

* Warn about invalid variable uses in directives like
  .if and .for

* Do not warn when a package-settable variable is assigned using the ?=
  operator before including bsd.prefs.mk. This warning only makes sense
  for user-settable and system-provided variables.

* The parser for variable uses like ${VAR:@v@${v:Q}} is more robust now,
  which reduces the number of parse errors and leads to more appropriate
  diagnostics, in cases like ${URL:Mftp://*}, which should really be
  ${URL:Mftp\://*}.

* The valid values for OPSYS are now determined by the files in
  mk/platform instead of allowing arbitrary identifiers. This catches a
  few instances where "Solaris" is used instead of the correct \ 
"SunOS".

* Setting USE_LANGUAGES only has an effect if mk/compiler.mk has not yet
  been included. In all other cases, pkglint warns now.

* Missing entries in doc/CHANGES produce a note now. This will lead to
  more accurate statistics for the release notes.