Tue Jul 30 19:50:05 2013 UTC ()
+ Warn about using REPLACE_PYTHON without including application.mk.


(wiz)
diff -r1.75 -r1.76 pkgsrc/pkgtools/pkglint/TODO

cvs diff -r1.75 -r1.76 pkgsrc/pkgtools/pkglint/Attic/TODO (switch to unified diff)

--- pkgsrc/pkgtools/pkglint/Attic/TODO 2013/03/26 15:08:53 1.75
+++ pkgsrc/pkgtools/pkglint/Attic/TODO 2013/07/30 19:50:04 1.76
@@ -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
3Please add your own entries at the bottom of this file. If possible, 3Please add your own entries at the bottom of this file. If possible,
4include the name of an example package where a warning should occur. 4include 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
42mail/mail-notification failed for Thomas, apparently because of an 42mail/mail-notification failed for Thomas, apparently because of an
43unexpressed dependency on hicolor-icon-theme. I don't know if it's 43unexpressed dependency on hicolor-icon-theme. I don't know if it's
44possible to add a way to notice that the PLIST contains hicolor files 44possible to add a way to notice that the PLIST contains hicolor files
45but that there's no dependency, or perhaps a list of mappings of sets of 45but that there's no dependency, or perhaps a list of mappings of sets of
46PLIST regexes to sets of required packages, or something. 46PLIST 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
55if package A conflicts with B, then B should also conflict with A. 55if 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.