summaryrefslogtreecommitdiff
path: root/pkgtools/pkglint/TODO
blob: 267a4e19957b03c73663df7eb637169bdd7af7e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$NetBSD: TODO,v 1.55 2007/01/11 19:09:50 gdt Exp $

Please add your own entries at the bottom of this file. If possible,
include the name of an example package where a warning should occur.

* fix false positive warnings
* ONLY_FOR_PLATFORM => NOT_FOR_PLATFORM
* -Wl,-rpath
* include "../../mk/bsd.prefs.mk" before using "+=".
* include "../../mk/bsd.prefs.mk" before any .if
* warn about the use of ${SED} in {pre,do,post}-install
* check for direct use of user names and group names
* Find a reliable, secure way to delete all CVS directories inside
  ${WRKSRC}. When that is finished, add a warning that using ${XARGS}
  is insecure.
* warn about the use of ${WRKDIR:=...}, as this construct should only
  be used with lists.
* record with each substring its source location to be able to make
  even more precise diagnostics
* check wether CONFIG* override match, e.g. CONFIGURE_DIRS most likely
  needs matching CNOFIG_GUESS_OVERRIDE and CONFIG_SUB_OVERRIDE as well
* warn about BUILD_USES_MSGFMT and related defines being used when
  devel/gettext-lib/buildlink3.mk is not explicitly included?
* Many of the checking routines need some context to provide better
  warnings. For example, checkline_foo() may need to know what has
  happened in the file before that line.
* Add checks for binary packages. See Debian/lintian for ideas.
* Of the user-defined variables, some may be used at load-time and some
  don't. Find out how pkglint can distinguish them.
* Make sure that no variable is modified at load-time after it has been
  used once. This should at least flag BUILD_DEFS in bsd.pkg.mk.
* Implement unescape_shellword, which is required for the type check for
  SedCommand.
* Invent an annotation scheme for files that intentionally define
  variables for use in other files.
* Check all the shell commands to see if they are mentioned in USE_TOOLS.
* ${MACHINE_ARCH}-${LOWER_OPSYS}elf in PLISTs etc. is a NetBSD config.guess
  problem ==> use of ${APPEND_ELF}
* Packages including lang/python/extension.mk must follow the Python version
  scheme. Enforcing PYPKGPREFIX for those is most likely a good idea.
* Warn if LICENSE/RESTRICTED/NO_*_ON_* are misordered.