$NetBSD: TODO,v 1.1 2015/11/25 16:42:21 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. * When you understand some behavior of the code, document it by adding automated tests to pkglint.t! * warn about the use of ${WRKDIR:=...}, as this construct should only be used with lists. * 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. * 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 * don't complain about "procedure calls", like for pkg-build-options in the various buildlink3.mk files. * 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. * Warn about using REPLACE_PYTHON without including application.mk.