Subject: new pkglint warnings (once again ;))
To: None <tech-pkg@netbsd.org>
From: Roland Illig <rillig@NetBSD.org>
List: tech-pkg
Date: 02/15/2006 13:01:39
Dear pkgsrc developers,

yesterday evening pkglint got a new feature: an experimental spell 
checker. It works quite well and detects many of the cases where a 
package author has written CONFGIURE_ARGS, CONFIGURE_FLAGS or 
CONFIGURE_PARAMS instead of the correct CONFIGURE_ARGS.

The downside (for now) is that it also cries about many other design 
flaws in pkgsrc. For example, to specify different download sites for 
specific DISTFILES, you can say:

DISTFILES=              file-a.tar.gz file-b.tar.gz
SITES_file-a.tar.gz=    ${MASTER_SITE_SOURCEFORGE:=project_1/}
SITES_file-b.tar.gz=    ${MASTER_SITE_DEBIAN:=pool/f/file-b/}

That's quite nice, but doesn't stick to the naming conventions that are 
in effect in the rest of pkgsrc. So pkglint warns about the variable 
SITES_file-a.tar.gz being defined, but unused, which is quite wrong. 
Don't worry about those messages.

Of course, this should be fixed by replacing SITES_${filename} with 
SITES.${filename} (replace "_" with "."), to be consistent with the rest 
of pkgsrc.

Some other things that pkglint will continue to warn about are these:

REPLACE_INTERPRETER+=    bash
_REPLACE.bash.old=       /bin/bash
_REPLACE.bash.new=       ${SH:Q}

The point here is that the user is forced to define variables from the 
internal namespace (those starting with an underscore). This must be 
fixed in the infrastructure by replacing _REPLACE.* with REPLACE.*. The 
same goes for _FETCH_MESSAGE.

Roland