summaryrefslogtreecommitdiff
path: root/pkgtools/pkglint/TODO
blob: e2ff75403fa8b0628fdddd7316f9d9b5c9ff005b (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
$NetBSD: TODO,v 1.73 2010/03/11 20:54:19 rillig 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
* 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
* 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.
* ${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.
* Check for parallel files/dirs whose names differ only in case.
* Check for license files that are completely unused.
* If a dependency depends on an option (in options.mk), it should also
  depend on the same option in the buildlink3.mk file.
* Complain about ${PKGSRC_COMPILER} == "sunpro", which should be
  !empty(PKGSRC_COMPILER:Msunpro).
* If USE_TOOLS has autoconf213, and the package does stuff like
  cd ${WRKSRC} && autoconf, then an incorrect warning is issued.
* LOCALBASE should not be used in normal Makefiles
* complain if LICENSE definition is missing

%

mail/mail-notification failed for Thomas, apparently because of an
unexpressed dependency on hicolor-icon-theme.  I don't know if it's
possible to add a way to notice that the PLIST contains hicolor files
but that there's no dependency, or perhaps a list of mappings of sets of
PLIST regexes to sets of required packages, or something.

%

* don't complain about "procedure calls", like for pkg-build-options in
  the various buildlink3.mk files.
* To push DESTDIR support forward, it would be useful it pkglint warned
  like this if PKG_DESTDIR_SUPPORT is not defined:
  "WARN: Please consider adding DESTDIR support to the package."

%

if package A conflicts with B, then B should also conflict with A.

%

* When pkglint runs on a case-insensitive filesystem, it should still
  point out problems that only occur on case-sensitive filesystems. For
  example, devel/p5-Net-LDAP and devel/p5-Net-ldap should be considered
  different paths.