pkgsrc/pkgtools/pkglint
rillig b78949d0e2 Updated pkglint to 4.84.
Changes since 4.82:
- Whenever a Makefile.common is included by another file, that file should
  be mentioned in the Makefile.common.
- Added spell checker for .if directives.
- Added warnings for uncommented patches (only for -Wstyle).
- Added spell checker for invalid macro names, like __NetBSD_Version.
- Deprecated INSTALLATION_DIRS_FROM_PLIST in favor of AUTO_MKDIRS.
- Many more small things.
2008-02-21 12:24:43 +00:00
..
files Changed an assertion into a fatal error, which is effectively the same, 2008-02-21 12:16:09 +00:00
DESCR Replaced the DESCR from the year 2001 with a current one, since pkglint has 2005-12-01 04:05:36 +00:00
Makefile Updated pkglint to 4.84. 2008-02-21 12:24:43 +00:00
PLIST Updated pkglint to 4.82. 2008-01-04 15:59:47 +00:00
README The rant on Perl has moved to the pkglint book. 2006-02-28 23:32:47 +00:00
TODO Added a suggestion from Tobias Nygren. 2008-02-08 22:43:27 +00:00

$NetBSD: README,v 1.4 2006/02/28 23:32:47 rillig Exp $

== Current problems ==

The current pkglint architecture will not scale much further. What is
needed next are parsers for nested, non-context-free languages (make(1),
sh(1), sed(1)). The parsers should be able to recognize partial
structures, as well as structures containing foreign parts. This is
because most of pkgsrc is heavily based on preprocessors:

- The .if and .for directives in Makefiles are preprocessed by make(1)
  before building dependencies and shell commands out of the remaining
  text.

- make(1) assembles shell commands from literal text and variables like
  ${PKGNAME}.

- Shell commands often use dynamic evaluation of variables.

All this makes enhancing pkglint non-trivial. If you know of any
academic papers that might be of help in this case, please tell me.

The pkglint source code is much too big for a single file.