2006-03-01 00:32:47 +01:00
|
|
|
$NetBSD: README,v 1.4 2006/02/28 23:32:47 rillig Exp $
|
2006-02-04 05:10:12 +01:00
|
|
|
|
|
|
|
== 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.
|