Up to [cvs.NetBSD.org] / pkgsrc / pkgtools / pkglint / files
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.6, Sun Dec 8 00:06:38 2019 UTC (4 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +0 -0
lines
FILE REMOVED
pkgtools/pkglint: update to 19.3.14 Changes since 19.3.13: When pkglint suggests to replace !empty(VARNAME:Mfixed) with ${VARNAME} == fixed, the exact suggested expression is now part of the diagnostic. The check and the autofix have been improved. They now apply only to the last modifier in the whole chain, everything else was a bug in pkglint. Pkglint now knows the scope of variables better than before. It knows the difference between variables from <sys.mk> like MACHINE_ARCH, which are always in scope, and those from mk/defaults/mk.conf, which only come into scope later, after bsd.prefs.mk has been included. It warns when variables are used too early, for example in .if conditions. The pathnames in ALTERNATIVES files are now checked for absolute pathnames. This mistake doesn't happen in practice, but the code for converting the different path types internally made it necessary to add these checks. At least this prevents typos. The special check for obsolete licenses has been removed since their license files have been removed and that is checked as well. Variables named *_AWK may be appended to. The variables _PKG_SILENT and _PKG_DEBUG are no longer deprecated, they are obsolete now. They are not used in main pkgsrc and pkgsrc-wip anymore. When a package sets a default value for a user-settable variable (which is something that should not happen anyway), it should .include bsd.prefs.mk before, in order to not accidentally overwrite the user-specified value. Variable modifiers of the form :from=to are now parsed like in bmake. They are greedy and eat up any following colons as well. This means that ${VAR:.c=.o:Q} replaces source.c with source.o:Q, instead of quoting it. Pkglint now warns about such cases. The handling of relative paths in diagnostics is now consistent. All paths that are part of a diagnostic are relative to the line that issues the diagnostic. Fatal errors are no longer suppressed in --autofix mode. Plus lots of refactoring, to prevent accidental mixing of incompatible relative paths.
Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 2 23:32:09 2019 UTC (4 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.4: +15 -0
lines
Diff to previous 1.4 (colored)
pkgtools/pkglint: update to 19.3.13 Changes since 19.3.12: The command line option -Wspace has been removed. Warnings and notes about whitespace are now generated by default and cannot be switched off. This is to ensure a consistent visual appearance of the package Makefiles. Shell programs that are indented unnecessarily deep generate a note by default now. Before, the option -Wall was necessary to get these notes. The check for unintended comments in multi-line shell programs is now enabled again. It had been disabled some time ago as byproduct of a bug fix in the shell parser. The check for unique buildlink3 package identifiers now also works if pkglint is run from a package directory instead of the pkgsrc root directory.
Revision 1.4 / (download) - annotate - [selected], Sun Nov 17 01:26:25 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.3: +15 -15
lines
Diff to previous 1.3 (colored)
pkgtools/pkglint: update to 19.3.7 Changes since 19.3.6: Improved variable value alignment. Fixed wrong warning about comment lines that were interpreted as shell commands before. Warn when the first category of a package doesn't correspond to the path in the filesystem. This affects 603 packages. No longer warn about deprecated BUILDLINK_TRANSFORM.${OPSYS}. The deprecation warning was meant for BUILDLINK_TRANSFORM.${pkgbase}, but since pkglint cannot distinguish between these, the warnings were wrong.
Revision 1.3 / (download) - annotate - [select for diffs], Sun Jul 14 21:25:47 2019 UTC (4 years, 8 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base,
pkgsrc-2019Q3
Changes since 1.2: +5 -5
lines
Diff to previous 1.2 (colored) to selected 1.4 (colored)
pkgtools/pkglint: update to 5.7.16 Changes since 5.7.15: * Completely rewrote the code for aligning multiple variable assignment lines. It works on the actual lines of the file now instead of the parsed lines. This provides more exact diagnostics and also makes the handling of these lines easier so that future requirements can be implemented more easily. * Added support for exotic conditions in .if clauses. These conditions are not seen in the wild though. * Fixed wrong diagnostics for ALTERNATIVES files that appear conditionally in the PLIST. * As always: lots of refactorings and newly added tests.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Feb 21 22:49:03 2019 UTC (5 years, 1 month ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base,
pkgsrc-2019Q2,
pkgsrc-2019Q1-base,
pkgsrc-2019Q1
Changes since 1.1: +15 -0
lines
Diff to previous 1.1 (colored) to selected 1.4 (colored)
pkgtools/pkglint: update to 5.7.0 Changes since 5.6.12: * Many of the -C and -W command line options have been removed since they are not used in practice. The -Wall and -Call options continue to work though; these are the only options mentioned in the pkgsrc guide. * When a PLIST file contains redundant libtool libraries (.la and the corresponding .so), there is only a single warning per file. * Warnings about the package COMMENT are now strictly ordered from left to right. * The hashes for all distfiles must now contain the SHA512 hash. This hash has been added to many distfiles in 2015. It's time now to enforce it on all other distfiles as well. * Makefile fragments that are included inside an .elif exists(...) are not reported as missing. * The check for redundant variables and accidentally overwritten variables has been improved. Now the warning occurs at the later definition. This especially applies to cases where a file is included and after that, some of its variables are overridden. Variables in unrelated files are no longer marked as redundant. * When a package contains multiple definitions of a single variable (typical for Makefile.common), the later definition overrides the earlier definition. That way, the location of DISTINFO_FILE and PATCHDIR is resolved correctly.
Revision 1.1 / (download) - annotate - [select for diffs], Sat Jan 26 16:31:33 2019 UTC (5 years, 2 months ago) by rillig
Branch: MAIN
Diff to selected 1.4 (colored)
pkgtools/pkglint: update to 5.6.12 Changes since 5.6.11: * In buildlink3.mk files, print the paths relative to the line, not to the pkgsrc root. * When explaining that a variable cannot be set/used because of wrong permissions, list the permissions. This provides more transparency than just stating that the desired action is not allowed. * When pkglint checks a pkgsrc-wip package, don't warn about malformed lines in doc/CHANGES-* since pkgsrc-wip users typically cannot do anything about these errors. * In profiling mode, not only the code coverage and the performance statistics are dumped, the whole heap is also dumped to see which parts of pkglint consume the most heap memory. Pkglint now needs less heap memory than before, which mainly affects full scans. * The checks for absolute pathnames have gone. They were of questionable value since pkglint has failed to give proper advice on how to fix them properly, at least for the last 12 years. * The check that pkgsrc-wip packages should only use exact CVS Ids (the unexpanded variant) has been disabled again. It occurred about 16000 times but even fixing it wouldn't improve anything since it was mostly a formatting issue without any practical consequences. * Warn about trailing variable modifiers like in ${VAR:S,from,to,extra}. * Properly parse ${VAR:!command!}. * Suggest to replace SUBST_SED with SUBST_VARS where possible, even with complicated shell quoting. Pkglint can autofix most of these overly verbose cases. * Load builtin.mk whenever the corresponding buildlink3.mk file is included. This fixes several warnings about undefined variables (especially for packages using OpenSSL). * Parse .for lines like bmake does since 2015, splitting words like in brk_string. * Optionally show a warning even if it cannot be autofixed by pkglint. This is useful for the SUBST_VARS replacement since even when pkglint cannot automatically replace the code, there are still cases where it can warn at least. * As always, several refactorings.