pkgsrc/pkgtools/pkglint
schmonz 471d20ef3c Test a couple more error paths through main() -> checkitem(). Add
a couple tests for get_vartypes_map(). TODO: test and refactor
checkline_mk_vartype_basic().
2013-01-20 03:50:05 +00:00
..
files Test a couple more error paths through main() -> checkitem(). Add 2013-01-20 03:50:05 +00:00
DESCR
Makefile Make it possible to easily write automated tests: 2013-01-19 22:51:11 +00:00
PLIST Remove @dirrm entries from PLISTs 2009-06-14 18:10:40 +00:00
README
TODO Do not warn about setting PKG_DESTDIR_SUPPORT any longer, it is now 2012-09-15 10:55:15 +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.