Up to [cvs.NetBSD.org] / pkgsrc / pkgtools / pkglint / files
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.44, Sat Apr 22 14:32:48 2023 UTC (11 months, 4 weeks ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.43: +0 -0
lines
FILE REMOVED
pkgtools/pkglint: update to 23.1.7 Changes since 23.1.0: No functional changes. Instead of having two copies of the code, install the package by downloading the releases from GitHub. Reduce the build-time dependencies by delivering pre-generated parser code.
Revision 1.43 / (download) - annotate - [select for diffs], Sat Jan 1 12:44:24 2022 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base,
pkgsrc-2023Q1,
pkgsrc-2022Q4-base,
pkgsrc-2022Q4,
pkgsrc-2022Q3-base,
pkgsrc-2022Q3,
pkgsrc-2022Q2-base,
pkgsrc-2022Q2,
pkgsrc-2022Q1-base,
pkgsrc-2022Q1
Changes since 1.42: +6 -8
lines
Diff to previous 1.42 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 21.4.1 Changes since 21.4.0: Running 'pkglint doc/CHANGES-2021' now warns about issues for this single file. Previously, it was necessary to specify '-Cglobal' as well, but then pkglint also warned about issues in all other CHANGES files. Pkglint no longer warns about the characters '!' and '@' in GO_MODULES_FILES, since these are legitimate. Fixes PR pkg/56595. Small cleanups in the pkglint testing infrastructure.
Revision 1.42 / (download) - annotate - [select for diffs], Sun Jun 6 07:41:34 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base,
pkgsrc-2021Q4,
pkgsrc-2021Q3-base,
pkgsrc-2021Q3,
pkgsrc-2021Q2-base,
pkgsrc-2021Q2
Changes since 1.41: +17 -0
lines
Diff to previous 1.41 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 21.1.3 Changes since 21.1.2: The entries in doc/CHANGES are checked more strictly, they must always consist of 4 words (for removed packages) or 6 words (for all other changes). Packages that include curses.buildlink3.mk may use all buildlink3 variables with the identifier "curses". The previous pkglint warnings had been wrong. Python packages that directly contain .egg-info in their PLIST files should include egg.mk instead. Pkglint can now fix these packages automatically.
Revision 1.41 / (download) - annotate - [select for diffs], Sun Jun 7 15:49:23 2020 UTC (3 years, 10 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base,
pkgsrc-2021Q1,
pkgsrc-2020Q4-base,
pkgsrc-2020Q4,
pkgsrc-2020Q3-base,
pkgsrc-2020Q3,
pkgsrc-2020Q2-base,
pkgsrc-2020Q2
Changes since 1.40: +2 -1
lines
Diff to previous 1.40 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 20.1.15 Changes since 20.1.14: Fix confusing wording of diagnostic "should contain text". It's more precise to say "this line should consist of this text". Otherwise it's too easy to interpret it as "the text should occur somewhere in the line". Allow BUILDLINK_PREFIX.* to be used in helper files. Especially for programming language packages, files like plugin.mk often include buildlink3.mk and therefore may refer to the BUILDLINK_PREFIX of this package. Warn about redundant BUILDLINK_API_VERSION restrictions. Previously, the check had only been enabled if the operators from the default dependency pattern (buildlink3.mk) and the additional dependency pattern (package) used the same operators, which already covered most practical cases. Determine SuSE versions from the pkgsrc tree.
Revision 1.40 / (download) - annotate - [select for diffs], Sat Feb 15 13:48:40 2020 UTC (4 years, 2 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base,
pkgsrc-2020Q1
Changes since 1.39: +62 -57
lines
Diff to previous 1.39 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.4.8 Changes since 19.4.7: The diagnostic for homepages using FTP is simpler now. When running pkglint recursively on the top-level directory, the inter-package checks (distfile hashes, unused licenses) are enabled implicitly. This way, the only effect of the -Cglobal option is now whether the pkgsrc infrastructure files are checked as well. The check for removed packages that have not been recorded in doc/CHANGES prints the correct lines when pkglint is run with the --source option. Fatal technical errors are no longer treated as diagnostics since they are none. That was an early conceptual mistake, but since these fatal error didn't happen often, it didn't matter. In diagnostics, when referring to other lines, the previously used words before/after have been replaced with above/below to avoid any confusion whether space or time is meant. In CONF_FILES, spaces and quotes are allowed. See https://gnats.netbsd.org/42191. Fixed unintended side-effects when running pkglint --autofix --only. Before, all fixes were applied to the file, whether or not they matched the --only option. Fixed resolution of relative paths of the form ../../category/package when they appeared in an infrastructure file. Lots of refactorings and housekeeping, as usual.
Revision 1.39 / (download) - annotate - [select for diffs], Thu Jan 23 21:56:50 2020 UTC (4 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.38: +34 -0
lines
Diff to previous 1.38 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.4.5 Changes since 19.4.4: Fixed automatic replacement from http SourceForge URLs to their https counterparts. According to their official documentation, the https URLs are not on the same hosts as before, but on *.sourceforge.io.
Revision 1.38 / (download) - annotate - [select for diffs], Sat Jan 4 19:53:14 2020 UTC (4 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.37: +98 -25
lines
Diff to previous 1.37 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.4.1 Changes since 19.4.0: The notes for inserting an empty line have been changed from "insert after this line" to "insert before this line" to make the line numbers in the diagnostics contiguous. There had been several places where the diagnostics went from line 1 to line 2 and then back to line 1, which was confusing. The lines in ALTERNATIVES files are checked for trailing whitespace. This is only for consistency with the other checks. In the whole pkgsrc tree all ALTERNATIVES files are already fine. The diagnostics for comments in .endif/.endfor lines that don't correspond to their .if/.elif/.for counterparts now includes the exact line number of the corresponding condition, to make the warning easier to fix. The diagnostics for wrong variable value alignment now mention the current column in addition to the desired column, to make it easier to see by how much and in which direction the indentation should be fixed. Variables that are used in conditions before they are actually defined need the :U modifier.
Revision 1.37 / (download) - annotate - [select for diffs], Mon Dec 30 16:27:13 2019 UTC (4 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.36: +73 -125
lines
Diff to previous 1.36 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.4.0 Changes since 19.3.19: Empty PLIST files now generate an error instead of a warning since there is no reason for having these empty files. If a follow-up line in a Makefile is completely empty, there is no note about trailing whitespace anymore since the warning about the misleading empty line already covers this case. The remaining code changes are only refactorings.
Revision 1.36 / (download) - annotate - [select for diffs], Mon Dec 16 17:06:05 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base,
pkgsrc-2019Q4
Changes since 1.35: +49 -24
lines
Diff to previous 1.35 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.3.19 Changes since 19.3.18: Small improvements to edge cases in SUBST blocks. Small improvements to edge cases in variable assignment and alignment of the continuation backslashes. The --source option shows the changes from autofix, even when the --show-autofix option is not given. This is a welcome side-effect of making the autofix logging simpler and more predictable.
Revision 1.35 / (download) - annotate - [select for diffs], Sun Dec 8 22:03:38 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.34: +3 -2
lines
Diff to previous 1.34 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update pkglint to 19.3.15 Changes since 19.3.14: Invalid lines in PLIST files are now reported as errors instead of warnings. If pkglint doesn't know about it, it must be an error. In PLIST files, all paths are validated to be canonical. That is, no dotdot components, no absolute paths, no extra slashes, no intermediate dot components. Fewer notes for unexpanded variable expressions in DESCR files. Before, the text $@ was reported as possible Makefile variable even though it was just a Perl expression. README files are allowed again in pkgsrc package directories. There was no convincing argument why these should be forbidden. A few diagnostics have been changed from NOTE to WARNING or from WARNING to ERROR, to match their wording. When pkglint suggests to replace :M with ==, the wording is now "can be made" instead of "should".
Revision 1.34 / (download) - annotate - [select for diffs], Sun Dec 8 00:06:38 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.33: +6 -3
lines
Diff to previous 1.33 (colored) to selected 1.24 (colored)
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.33 / (download) - annotate - [select for diffs], Sat Nov 30 20:35:11 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.32: +6 -7
lines
Diff to previous 1.32 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.3.12 Changes since 19.3.11: The command line option -Wstyle has been removed since it didn't have any effect. License names may contain underscores. This fixes 3 parse errors and 2 wrong notes about seemingly unused licenses. The parser for Makefile variables has been improved for some edge cases. The :M and :N modifiers behave surprisingly when they contain unbalanced parentheses or braces. Pkglint now parses them in the same way as bmake, but doesn't warn since these cases are not actually used in pkgsrc.
Revision 1.32 / (download) - annotate - [select for diffs], Wed Nov 27 22:10:07 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.31: +37 -72
lines
Diff to previous 1.31 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.3.11 Changes since 19.3.10: The check for buildlink3.mk files that are included conditionally in one place and unconditionally in another place have been refined. Now they also work in cases that do not involve any variables, such as when the condition is a mere exists(filename). References to variables that use parentheses instead of the usual braces produce a warning now, even if pkglint cannot fix them automatically. This affects only a few instances where more than one such variable reference appeared in a single line. The --log-verbose command line option has been removed since it does not have any practical use other than improving the performance during pkglint development itself. Because of that it hadn't even been mentioned in the manual page. Warnings for missing license files now report the path to the license file relative to the line where the warning occurs, like everywhere else.
Revision 1.31 / (download) - annotate - [select for diffs], Sat Nov 23 23:35:56 2019 UTC (4 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.30: +4 -4
lines
Diff to previous 1.30 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 19.3.10 Changes since 19.3.9: In diagnostics for suggested package updates, the exact line of doc/TODO is mentioned. If a suggested update has an additional comment, the brackets around that comment are not output anymore. The check for defined but not used variables has been improved for the edge case of defining a variable in the package Makefile and using it in the buildlink3.mk file of the same package, which just doesn't work. Makefile fragments in patches/ directories are now completely ignored. It was a hypothetical case anyway. Comparing PKGSRC_COMPILER using the == or != operators is now considered an error instead of a warning. The common cases can be autofixed.
Revision 1.30 / (download) - annotate - [select for diffs], Sun Nov 17 01:26:25 2019 UTC (4 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.29: +614 -614
lines
Diff to previous 1.29 (colored) to selected 1.24 (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.29 / (download) - annotate - [select for diffs], Sun Sep 8 22:47:47 2019 UTC (4 years, 7 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base,
pkgsrc-2019Q3
Changes since 1.28: +0 -2
lines
Diff to previous 1.28 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.23 Changes since 5.7.22: * Added a warning for lines that look empty but are actually follow-up lines from a previous line. * Added notes for unusual placement of the continuation backslash. It should always be preceded by a single space or tab, or be in column 73. * Improved check for needlessly complicated !empty(PKGPATH:Mcat/pkg) that is transformed into the simpler ${PKGPATH} == cat/pkg, even if the package name contains hyphens, dots, plus or slashes. * Added check for the _VARGROUPS section since that section contains many redundancies that can easily be checked. For example, in mk/compiler/gcc.mk the _VARGROUPS section is 67 lines long and contains far more than 100 variables. It's tedious to manually check this file for internal consistency. That's better left to pkglint. * The empty variable is no longer flagged as "used but not defined". It appears in expressions like ${:Ustring}. * When --source is combined with --explain, don't unnecessarily repeat the source code for a single line if there are several diagnostics. Instead, even omit the empty line between the diagnostics for the same line.
Revision 1.28 / (download) - annotate - [select for diffs], Thu Aug 1 22:38:49 2019 UTC (4 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.27: +42 -0
lines
Diff to previous 1.27 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.18 Changes since 5.7.17: * Added "R" to the list of valid secondary categories.
Revision 1.27 / (download) - annotate - [select for diffs], Sun Jul 14 21:25:47 2019 UTC (4 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.26: +110 -105
lines
Diff to previous 1.26 (colored) to selected 1.24 (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.26 / (download) - annotate - [select for diffs], Mon Jul 1 22:25:52 2019 UTC (4 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.25: +25 -0
lines
Diff to previous 1.25 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.15 Changes since 5.7.14: * Added a check for packages that have been removed from the file system but not been recorded in doc/CHANGES. This will help produce more accurate release statistics. * Small refactorings, as usual.
Revision 1.25 / (download) - annotate - [select for diffs], Sun Jun 30 20:56:18 2019 UTC (4 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.24: +94 -50
lines
Diff to previous 1.24 (colored)
pkgtools/pkglint: update to 5.7.14 Changes since 5.7.13: - Removed the -Cextra command line option since it didn't produce useful warnings. - Removed unwarranted warnings about _WRAP_EXTRA_ARGS.CC being used in packages. - Cleaned up the canonical order of variables in package Makefiles. - Added a few commands to those that cannot fail, to reduce the number of "at the left of the | operator" in shell programs. - Fixed warnings about "-ggdb" being an unknown shell command. - Reduced number of warnings about lists being used where a single value is expected. - Replaced unreliable check for invalid CFLAGS and LDFLAGS with a more practical check. - Renamed "RCS tag" to "CVS tag" to make the diagnostics more modern. - Added warning when PKGNAME or PKGVERSION is used in MASTER_SITES. - Reworded warning for missing or superfluous PLIST files. - Lots of other detail changes, refactorings and automatic tests.
Revision 1.24 / (download) - annotate - [selected], Sun May 26 14:05:57 2019 UTC (4 years, 10 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base,
pkgsrc-2019Q2
Changes since 1.23: +48 -0
lines
Diff to previous 1.23 (colored)
pkgtools/pkglint: update to 5.7.12 Changes since 5.7.11: * Fixed an alignment bug when pkglint replaced SUBST_SED with SUBST_VARS. * Added many test cases.
Revision 1.23 / (download) - annotate - [select for diffs], Tue May 21 17:59:48 2019 UTC (4 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.22: +4 -4
lines
Diff to previous 1.22 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.10 Changes since 5.7.9: * Fixed URL checking for MASTER_SITES, especially remove the wrong error message about URLs of the form ${MASTER_SITE:S,^,-,:=subdir/}. * Made warnings about invalid filenames, filename patterns, pathnames and pathname patterns more detailed.
Revision 1.22 / (download) - annotate - [select for diffs], Sat Apr 27 19:33:57 2019 UTC (4 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.21: +9 -9
lines
Diff to previous 1.21 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.7 Changes since 5.7.6: Warn about packages that override user-settable variables. Packages that define variables with the same value as the default value only get a note instead of the warning since these definitions do not cause any confusion. Do not suppress technical error messages in autofix mode. Do not warn about the package version being greater than the latest from doc/CHANGES if the file defining the package version has been modified locally and is about to be committed.
Revision 1.21 / (download) - annotate - [select for diffs], Tue Apr 23 21:20:49 2019 UTC (4 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.20: +18 -5
lines
Diff to previous 1.20 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.6 Changes since 5.7.5: * The explanation for distfile hashes is only given when the distfiles actually need to be downloaded. If they are already there, no explanation is necessary. * Makefile lines that are commented and have line continuations are properly parsed. This affects the autofix for variable value realignment. * Variable permissions are not checked in hacks.mk since pkgsrc developers who know about hacks.mk probably know what they are doing. From hacks.mk files, builtin.mk files may be included directly, for the same reason. * Expressions of the form !empty(PKGPATH:Mpattern), when PKGPATH is not a list variable and pattern has no wildcards, can be written in a simpler form, and pkglint autofixes this. For example the above expression is transformed into ${PKGPATH} == pattern. This transformation reduces the amount of double negations (!empty) in the code. * Duplicate warnings about invalid relative ../package have been merged. * TOOLS_ALIASES are properly resolved. The line USE_TOOLS=ggrep makes the tools grep, egrep and fgrep known to pkglint, in the same way as in the pkgsrc infrastructure. * The diagnostics for missing or unnecessary distinfo files have been improved to provide some guidance. * Packages that use MESSAGE_SRC to build the message from multiple files no longer produce a warning for malformed message files. These files are simply skipped.
Revision 1.20 / (download) - annotate - [select for diffs], Sat Apr 20 17:43:24 2019 UTC (5 years ago) by rillig
Branch: MAIN
Changes since 1.19: +2 -2
lines
Diff to previous 1.19 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.5 Changes since 5.7.4: * Warn about invalid variable uses in directives like .if and .for * Do not warn when a package-settable variable is assigned using the ?= operator before including bsd.prefs.mk. This warning only makes sense for user-settable and system-provided variables. * The parser for variable uses like ${VAR:@v@${v:Q}} is more robust now, which reduces the number of parse errors and leads to more appropriate diagnostics, in cases like ${URL:Mftp://*}, which should really be ${URL:Mftp\://*}. * The valid values for OPSYS are now determined by the files in mk/platform instead of allowing arbitrary identifiers. This catches a few instances where "Solaris" is used instead of the correct "SunOS". * Setting USE_LANGUAGES only has an effect if mk/compiler.mk has not yet been included. In all other cases, pkglint warns now. * Missing entries in doc/CHANGES produce a note now. This will lead to more accurate statistics for the release notes.
Revision 1.19 / (download) - annotate - [select for diffs], Sun Mar 10 19:01:50 2019 UTC (5 years, 1 month ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base,
pkgsrc-2019Q1
Changes since 1.18: +0 -1
lines
Diff to previous 1.18 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.7.2 Changes since 5.7.1: * Fixed detection of GNU_CONFIGURE=yes combined with USE_LANGUAGES missing c. This combination tends to fail in the configure phase. * When the distinfo doesn't contain all hashes for the downloaded distfiles (typically SHA512 is missing) and the distfiles are actually downloaded to ${PKGSRCDIR}/distfiles, pkglint can now add the missing hashes. It only does this if there is at least one existing hash and if all existing hashes are correct. * The check for redundant variables has been improved considerably. Before there were several situations in which pkglint didn't get the redundant variable definitions right because its internal model only mimicked reality. The model has been improved and so have the diagnostics. * Pkglint only warns about wrong permissions (for defining or using a variable) when it knows the type of the variable and the permissions for the current file. Before, it had also warned if the permissions for the current file were not explicitly defined. * CFLAGS and LDFLAGS may be appended in buildlink3.mk files. This had been disallowed before, for no apparent reason. There are several places in pkgsrc where especially CFLAGS.${OPSYS} is appended to. * Cleaned up internal handling of relative paths. Previously pkglint sometimes resolved relative paths using the wrong base directory, which led to all kinds of wrong warnings and strange behavior. * Fixed lots of edge cases when parsing Makefile lines. These cases don't occur often but experience tells that the most fundamental code must be as correct as possible (see the handling of relative paths above). * Lots of refactoring and housekeeping, as always.
Revision 1.18 / (download) - annotate - [select for diffs], Thu Feb 21 22:49:03 2019 UTC (5 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.17: +262 -0
lines
Diff to previous 1.17 (colored) to selected 1.24 (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.17 / (download) - annotate - [select for diffs], Sat Jan 26 16:31:33 2019 UTC (5 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.16: +45 -1
lines
Diff to previous 1.16 (colored) to selected 1.24 (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.
Revision 1.16 / (download) - annotate - [select for diffs], Sun Jan 13 19:55:52 2019 UTC (5 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.15: +47 -47
lines
Diff to previous 1.15 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.11 Changes since 5.6.10: * Improved the wording of several warnings * Fixed parsing of complicated dependency patterns such as {ssh{,6}-[0-9]*,openssh-[0-9]*}. Pkglint still doesn't understand them but at least it doesn't mark them as "unknown" anymore. * Lots of refactoring, as usual. This is the last part of the big refactoring, therefore future changes to pkglint are expected to be smaller than in the previous 3 months.
Revision 1.15 / (download) - annotate - [select for diffs], Fri Dec 21 08:05:24 2018 UTC (5 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base,
pkgsrc-2018Q4
Changes since 1.14: +3 -3
lines
Diff to previous 1.14 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.10 Changes since 5.6.9: * ALTERNATIVES files are correctly checked now. Before, pkglint had suggested to remove the @PREFIX/ from the alternative, which was wrong and simply didn't work. * Diagnostics about variable assignments are ordered to report the left-hand side first and then everything to the right of the assignment operator. * The pkglint output is escaped properly to avoid sending unwanted escape sequences to the terminal. * The items in .for loops are parsed taking "double" and 'single' quotes into account since bmake does it in the same way since 2015. * In DESCR files, overly long lines are only warned about if they contain a space and therefore can be made shorter. * In DESCR files, text like ${PREFIX} only gets a note if it refers to a commonly known pkgsrc variable. This avoids distraction when a package mentions ${prefix}/bin or ${template.property}. * Lots of refactorings and small changes.
Revision 1.14 / (download) - annotate - [select for diffs], Mon Dec 17 00:15:39 2018 UTC (5 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.13: +4 -4
lines
Diff to previous 1.13 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.9 Changes since 5.6.8: * In addition to the pkglint binary, the whole pkglint code is installed as a library, so that other packages can use the code for doing their own checks on pkgsrc packages, Makefiles, shell programs, or the other file types from pkgsrc. * BUILDLINK_*.* may be used in all files. * Lots of refactorings
Revision 1.13 / (download) - annotate - [select for diffs], Sun Dec 2 01:57:48 2018 UTC (5 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.12: +98 -18
lines
Diff to previous 1.12 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.7 Changes since 5.6.6: User-defined variables that are not yet added to BUILD_DEFS are only reported once per file. Unnecessary space after variable names is only worth a note instead of a warning. Example: MASTER_SITES = https://cdn.example.org/ All variable names that are defined in the pkgsrc infrastructure are assumed to be available to the package Makefiles. This reduces the number of wrong "used but not defined" warnings, at the expense of Variable names that are used in other variable names are checked whether they are defined somewhere. Example: CFLAGS+= ${CFLAGS.${PARAM}} # PARAM is now checked In SUBST_SED, when the pattern is s,@VAR@,${VAR}, or a slight variant thereof, pkglint suggests to define SUBST_VARS instead, which frees the package author from thinking about how to escape special characters and is generally easier to read. Example: SUBST_SED.class= s,@VAR@,${VAR:Q}, SUBST_VARS.class= VAR Directives like .if !defined(...) are now handled the same whether or not there is a space after before the (...). The check for locally modified files now works independently of the timezone. As always, lots of refactorings have happened under the hood. Many small bugs have been discovered and fixed accordingly.
Revision 1.12 / (download) - annotate - [select for diffs], Wed Nov 7 20:58:22 2018 UTC (5 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.11: +423 -152
lines
Diff to previous 1.11 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.6 Changes since 5.6.5: - Removed plist-clash since it had crashed unconditionally whenever it was called. This means that in the last 3 years, nobody can have used it in the originally intended way. - Fixed interactions between the --source, --explain, --show-autofix, --autofix and --only options. - Fixed "defined but not used" and "used but not defined" for variables from the pkgsrc infrastructure. - Lots of small fixes and improvements found by the large pkglint code review (12% done).
Revision 1.11 / (download) - annotate - [select for diffs], Wed Oct 3 22:27:53 2018 UTC (5 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.10: +35 -33
lines
Diff to previous 1.10 (colored) to selected 1.24 (colored)
pkgtools/pkglint: Update to 5.6.3 Changes since 5.6.2: * Add check for version patterns 1.5*, which should rather be 1.5.* * Re-enable check for "set -e" and commands that may silently fail because of missing error checking * Lots of internal clean-up and tests
Revision 1.10 / (download) - annotate - [select for diffs], Wed Sep 5 17:56:22 2018 UTC (5 years, 7 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base,
pkgsrc-2018Q3
Changes since 1.9: +102 -0
lines
Diff to previous 1.9 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.2 Changes since 5.6.1: * Improved checks that depend on whether bsd.prefs.mk is included or not. * Improved checks for tools, whether they may be used at load time or at run time. * Improved tokenizer for shell commands. $| is not a variable but a dollar followed by a pipe. * Warnings about SUBST context are now shown by default. * A warning is shown when a SUBST block is declared for *-configure but the package has defined USE_CONFIGURE=no. * Don't warn about USE_TOOLS:= ${USE_TOOLS:Ntool}. * Don't warn about using the ?= operator in buildlink3.mk files before including bsd.prefs.mk (for some more variables, but not all). * Report an error for packages from main pkgsrc that have a TODO or README file. Packages should be simple enough that they don't need a README file and ready for production so that they don't need a TODO. * Lots of small bug fixes and new tests.
Revision 1.9 / (download) - annotate - [select for diffs], Thu Aug 16 20:41:42 2018 UTC (5 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.8: +3 -3
lines
Diff to previous 1.8 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.1 Changes since 5.6.0: * Fix output of relative paths in the diagnostics (thanks @wiz) * Fix parsing of ${VAR:ts---}; it is now a syntax error * Load more type definitions from mk/* instead of hard-coding them * Lots of refactoring to improve test coverage, fixing several small bugs as they were found
Revision 1.8 / (download) - annotate - [select for diffs], Sun Aug 12 16:31:56 2018 UTC (5 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.7: +39 -10
lines
Diff to previous 1.7 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.6.0 Changes since 5.5.16: * Check for negated shell commands (if ! test -z "foo"); they are not supported by Solaris. * Don't check variable permissions for infrastructure files. A warning like "may not be set by any package" doesn't make sense for them. * Check that PLIST_VARS matches PLIST.*, which is especially useful in options.mk files. * Improve checks for options.mk files (for PKG_OPTIONS_SET). * Prefer options handling with !empty() over checking empty() first. * Prefer ${MACHINE_ARCH} == i386 over !empty(MACHINE_ARCH:Mi386), for single-valued variables.
Revision 1.7 / (download) - annotate - [select for diffs], Thu Aug 9 20:08:12 2018 UTC (5 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.6: +2 -2
lines
Diff to previous 1.6 (colored) to selected 1.24 (colored)
pkgtools/pkglint: Update to 5.5.16 Changes since 5.5.15: * Add checks for options.mk files * Treat redundant variable definitions as notes, not as warnings * Check doc/CHANGES-* for typos in the dates (only for 2018 and later) * Lots of cleanup in the test code
Revision 1.6 / (download) - annotate - [select for diffs], Thu Jul 12 16:23:36 2018 UTC (5 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.5: +23 -7
lines
Diff to previous 1.5 (colored) to selected 1.24 (colored)
pkgtools/pkglint: Update to 5.5.13 Changes since 5.5.12: * Allow underscore in package version. * Warn about SUBST in post-patch and pre-patch phases. * Allow multiple SUBST blocks per paragraph. * Code cleanup.
Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 24 14:32:49 2018 UTC (6 years ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base,
pkgsrc-2018Q2,
pkgsrc-2018Q1-base,
pkgsrc-2018Q1
Changes since 1.4: +47 -1
lines
Diff to previous 1.4 (colored) to selected 1.24 (colored)
Update pkglint to 5.5.7 Changes since 5.5.6: * When pkglint warns about files that are accidentally executable, it offers to fix the file permissions. * Warn about ${HOMEPAGE:=repository/}, since the := modifier should only be used with MASTER_SITES. * When the distinfo file is missing, suggest setting NO_CHECKSUM. * Several refactorings.
Revision 1.4 / (download) - annotate - [select for diffs], Mon Feb 19 12:40:38 2018 UTC (6 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.3: +1 -1
lines
Diff to previous 1.3 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.5.5 Changes since 5.5.3: - Removed check for PERL5_PACKLIST, since it was not fixable by the package author. - Completely rewrote the check for ordering variables in simple package Makefiles. Now it reports the variables in the correct order instead of just saying "this above that" for a few variables. - Lots of code cleanup and documentation.
Revision 1.3 / (download) - annotate - [select for diffs], Sun Jan 28 23:21:16 2018 UTC (6 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.2: +50 -23
lines
Diff to previous 1.2 (colored) to selected 1.24 (colored)
pkgtools/pkglint: update to 5.5.3 Changes since 5.5.2: * Fixed lots of bugs regarding autofixing variable assignments in continuation lines. * Fixed checking of MESSAGE files, which also get fixed now. * In variable assignments, commented assignments are aligned too. * Fixed a crash when checking an empty patch file. * The :Q modifier is only checked on predefined variables, to prevent the --autofix mode from removing :Q from user-defined variables. * Fixed lots of bugs in PLIST autofixing: relevant lines had been removed, and the sorting was not correct.
Revision 1.2 / (download) - annotate - [select for diffs], Sat Jan 27 18:50:36 2018 UTC (6 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.1: +126 -102
lines
Diff to previous 1.1 (colored) to selected 1.24 (colored)
pkgtools/pkglint: Update to 5.5.2 Changes since 5.5.1: * Fixed command line parsing for the --only option. * Improved alignment of variable values in Makefiles. * Code cleanup: better abstraction in the tests.
Revision 1.1 / (download) - annotate - [select for diffs], Sat Jan 13 23:56:14 2018 UTC (6 years, 3 months ago) by rillig
Branch: MAIN
Diff to selected 1.24 (colored)
pkglint: Update to 5.5.1 Changes since 5.5: * Allow filtering log messages by keyword (--only) * In --autofix and --show-autofix mode, show only fixable diagnostics * When called with --source, show the source below the diagnostics * Don't warn about USE_LANGUAGES in ../../mk/compiler.mk * Fix autofix for .gz in PLIST