| @@ -1,62 +1,66 @@ | | | @@ -1,62 +1,66 @@ |
1 | $NetBSD: TODO,v 1.75 2013/03/26 15:08:53 schmonz Exp $ | | 1 | $NetBSD: TODO,v 1.76 2013/07/30 19:50:04 wiz Exp $ |
2 | | | 2 | |
3 | Please add your own entries at the bottom of this file. If possible, | | 3 | Please add your own entries at the bottom of this file. If possible, |
4 | include the name of an example package where a warning should occur. | | 4 | include the name of an example package where a warning should occur. |
5 | | | 5 | |
6 | * When you understand some behavior of the code, document it by | | 6 | * When you understand some behavior of the code, document it by |
7 | adding automated tests to pkglint.t! | | 7 | adding automated tests to pkglint.t! |
8 | * fix false positive warnings | | 8 | * fix false positive warnings |
9 | * warn about the use of ${WRKDIR:=...}, as this construct should only | | 9 | * warn about the use of ${WRKDIR:=...}, as this construct should only |
10 | be used with lists. | | 10 | be used with lists. |
11 | * record with each substring its source location to be able to make | | 11 | * record with each substring its source location to be able to make |
12 | even more precise diagnostics | | 12 | even more precise diagnostics |
13 | * Many of the checking routines need some context to provide better | | 13 | * Many of the checking routines need some context to provide better |
14 | warnings. For example, checkline_foo() may need to know what has | | 14 | warnings. For example, checkline_foo() may need to know what has |
15 | happened in the file before that line. | | 15 | happened in the file before that line. |
16 | * Add checks for binary packages. See Debian/lintian for ideas. | | 16 | * Add checks for binary packages. See Debian/lintian for ideas. |
17 | * Of the user-defined variables, some may be used at load-time and some | | 17 | * Of the user-defined variables, some may be used at load-time and some |
18 | don't. Find out how pkglint can distinguish them. | | 18 | don't. Find out how pkglint can distinguish them. |
19 | * Make sure that no variable is modified at load-time after it has been | | 19 | * Make sure that no variable is modified at load-time after it has been |
20 | used once. This should at least flag BUILD_DEFS in bsd.pkg.mk. | | 20 | used once. This should at least flag BUILD_DEFS in bsd.pkg.mk. |
21 | * Implement unescape_shellword, which is required for the type check for | | 21 | * Implement unescape_shellword, which is required for the type check for |
22 | SedCommand. | | 22 | SedCommand. |
23 | * Invent an annotation scheme for files that intentionally define | | 23 | * Invent an annotation scheme for files that intentionally define |
24 | variables for use in other files. | | 24 | variables for use in other files. |
25 | * ${MACHINE_ARCH}-${LOWER_OPSYS}elf in PLISTs etc. is a NetBSD config.guess | | 25 | * ${MACHINE_ARCH}-${LOWER_OPSYS}elf in PLISTs etc. is a NetBSD config.guess |
26 | problem ==> use of ${APPEND_ELF} | | 26 | problem ==> use of ${APPEND_ELF} |
27 | * Packages including lang/python/extension.mk must follow the Python version | | 27 | * Packages including lang/python/extension.mk must follow the Python version |
28 | scheme. Enforcing PYPKGPREFIX for those is most likely a good idea. | | 28 | scheme. Enforcing PYPKGPREFIX for those is most likely a good idea. |
29 | * Check for parallel files/dirs whose names differ only in case. | | 29 | * Check for parallel files/dirs whose names differ only in case. |
30 | * Check for license files that are completely unused. | | 30 | * Check for license files that are completely unused. |
31 | * If a dependency depends on an option (in options.mk), it should also | | 31 | * If a dependency depends on an option (in options.mk), it should also |
32 | depend on the same option in the buildlink3.mk file. | | 32 | depend on the same option in the buildlink3.mk file. |
33 | * Complain about ${PKGSRC_COMPILER} == "sunpro", which should be | | 33 | * Complain about ${PKGSRC_COMPILER} == "sunpro", which should be |
34 | !empty(PKGSRC_COMPILER:Msunpro). | | 34 | !empty(PKGSRC_COMPILER:Msunpro). |
35 | * If USE_TOOLS has autoconf213, and the package does stuff like | | 35 | * If USE_TOOLS has autoconf213, and the package does stuff like |
36 | cd ${WRKSRC} && autoconf, then an incorrect warning is issued. | | 36 | cd ${WRKSRC} && autoconf, then an incorrect warning is issued. |
37 | * LOCALBASE should not be used in normal Makefiles | | 37 | * LOCALBASE should not be used in normal Makefiles |
38 | * complain if LICENSE definition is missing | | 38 | * complain if LICENSE definition is missing |
39 | | | 39 | |
40 | % | | 40 | % |
41 | | | 41 | |
42 | mail/mail-notification failed for Thomas, apparently because of an | | 42 | mail/mail-notification failed for Thomas, apparently because of an |
43 | unexpressed dependency on hicolor-icon-theme. I don't know if it's | | 43 | unexpressed dependency on hicolor-icon-theme. I don't know if it's |
44 | possible to add a way to notice that the PLIST contains hicolor files | | 44 | possible to add a way to notice that the PLIST contains hicolor files |
45 | but that there's no dependency, or perhaps a list of mappings of sets of | | 45 | but that there's no dependency, or perhaps a list of mappings of sets of |
46 | PLIST regexes to sets of required packages, or something. | | 46 | PLIST regexes to sets of required packages, or something. |
47 | | | 47 | |
48 | % | | 48 | % |
49 | | | 49 | |
50 | * don't complain about "procedure calls", like for pkg-build-options in | | 50 | * don't complain about "procedure calls", like for pkg-build-options in |
51 | the various buildlink3.mk files. | | 51 | the various buildlink3.mk files. |
52 | | | 52 | |
53 | % | | 53 | % |
54 | | | 54 | |
55 | if package A conflicts with B, then B should also conflict with A. | | 55 | if package A conflicts with B, then B should also conflict with A. |
56 | | | 56 | |
57 | % | | 57 | % |
58 | | | 58 | |
59 | * When pkglint runs on a case-insensitive filesystem, it should still | | 59 | * When pkglint runs on a case-insensitive filesystem, it should still |
60 | point out problems that only occur on case-sensitive filesystems. For | | 60 | point out problems that only occur on case-sensitive filesystems. For |
61 | example, devel/p5-Net-LDAP and devel/p5-Net-ldap should be considered | | 61 | example, devel/p5-Net-LDAP and devel/p5-Net-ldap should be considered |
62 | different paths. | | 62 | different paths. |
| | | 63 | |
| | | 64 | % |
| | | 65 | |
| | | 66 | * Warn about using REPLACE_PYTHON without including application.mk. |