The NetBSD Project

CVS log for pkgsrc/pkgtools/pkglint/files/mkvarusechecker.go

[BACK] Up to [] / pkgsrc / pkgtools / pkglint / files

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jun 6 07:41:34 2021 UTC (2 weeks, 1 day ago) by rillig
Branch: MAIN
Changes since 1.13: +5 -1 lines
Diff to previous 1.13 (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

Packages that include 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 instead.  Pkglint can now fix these packages

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jul 1 13:17:41 2020 UTC (11 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.12: +56 -4 lines
Diff to previous 1.12 (colored)

pkgtools/pkglint: update to 20.2.1

Changes since 20.2.0:

Don't warn about a possibly redundant PKGNAME=${DISTNAME} assignment if
PKGNAME is defined somewhere else in the package Makefile.

Warn if NO_CONFIGURE=yes and REPLACE_* are combined.

Suggest to replace ${VAR:@l@-l${l}@} with the simpler ${VAR:S,^,-l,},
as well as ${VAR:@l@${l}suffix@} with the simpler ${VAR:=suffix}.

Allow lua in CATEGORIES.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jun 22 06:35:02 2020 UTC (11 months, 4 weeks ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.11: +8 -0 lines
Diff to previous 1.11 (colored)

pkgtools/pkglint: update to 20.1.19

Changes since 20.1.18:

Fixed a wrong warning about unknown buildlink identifier "lua" in
mail/neomutt, reported by wiz.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Jun 12 19:14:45 2020 UTC (12 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

pkgtools/pkglint: update to 20.1.16

Changes since 20.1.15:

When a package adds an additional version requirement for another
package, it must do so using BUILDLINK_API_DEPENDS instead of
BUILDLINK_ABI_DEPENDS.  Most packages already do this.

When a values is appended to an undefined variable using the += operator,
bmake does not add a space before, and pkglint caught up to do the same.
This change has no practical consequences though.

As always, a bit of refactoring.  The method names of MkAssignChecker
contained the redundant word "varassign".

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jun 7 15:49:23 2020 UTC (12 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.9: +8 -10 lines
Diff to previous 1.9 (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

Allow BUILDLINK_PREFIX.* to be used in helper files.  Especially for
programming language packages, files like often include and therefore may refer to the BUILDLINK_PREFIX of this

Warn about redundant BUILDLINK_API_VERSION restrictions.  Previously, the
check had only been enabled if the operators from the default dependency
pattern ( 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.9 / (download) - annotate - [select for diffs], Mon Jun 1 20:49:54 2020 UTC (12 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.8: +42 -0 lines
Diff to previous 1.8 (colored)

pkgtools/pkglint: update to 20.1.12

Changes since 20.1.11:

The file must only ever be included by package Makefiles
directly, not by other Makefile fragments.  Seen in www/w3m.

The variable BUILDLINK_PREFIX.* should only be used for packages that
have actually been included by the package.  This catches the use of
BUILDLINK_PREFIX.libiconv, which should have been iconv instead.

Allow comments before line 3 in files. This is necessary
for mariadb55-client since its buildlink identifier is mysql-client,
which is so non-obvious that it needs to be documented.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Mar 15 11:31:24 2020 UTC (15 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.7: +24 -0 lines
Diff to previous 1.7 (colored)

pkgtools/pkglint: update to 19.4.11

Changes since 19.4.10:

The use of PKG_OPTIONS and PKG_BUILD_OPTIONS in and other
files is checked for common mistakes.

Checking the indentation of a continuation line no longer crashes in edge

Revision 1.7 / (download) - annotate - [select for diffs], Sat Mar 7 23:35:35 2020 UTC (15 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.6: +65 -0 lines
Diff to previous 1.6 (colored)

pkgtools/pkglint: update to 19.4.10

Changes since 19.4.9:

In continuation lines with long values, pkglint no longer suggests to
move the continuation backslash in the middle of the variable value, as
that would be impossible.

Warn when a shell command is assigned to a variable that only takes
pathnames. Shell commands can contain command line options, and these
are not pathnames.

The TOOLS_PLATFORM.tool variables are not defined on every platform.
When these variables are used outside an OPSYS check, a warning lists
the platforms where the tool is undefined or only defined conditionally.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Feb 15 13:48:40 2020 UTC (16 months ago) by rillig
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (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.

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.5 / (download) - annotate - [select for diffs], Sat Jan 4 19:53:14 2020 UTC (17 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.4: +24 -29 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Mon Dec 30 16:27:13 2019 UTC (17 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (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.3 / (download) - annotate - [select for diffs], Mon Dec 9 20:38:16 2019 UTC (18 months, 1 week ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.2: +7 -9 lines
Diff to previous 1.2 (colored)

pkgtools/pkglint: update to 19.3.16

Changes since 19.3.15:

When a package-settable variable gets a default value using the ?=
operator, pkglint no longer suggests to include, since that
doesn't make sense. Including only defines user-settable
and system-provided variables.

User and group names may be a single character only. While not widely
used, it's syntactically valid and there's no reason to prevent this.

In variable assignments, when pkglint removes unnecessary whitespace
between the variable name and the operator, it keeps the indentation of
the variable value the same as before. Previously, the indentation had
been changed, which required another run of pkglint --autofix.

PREFIX can only be used as a replacement for LOCALBASE after the whole
package Makefile has been loaded. This is because PREFIX is defined
very late, by Therefore, don't suggest to replace LOCALBASE
with PREFIX in .if conditions.

When pkglint suggests to replace INSTALL_DATA_DIR commands with setting
INSTALLATION_DIRS instead, paths with a trailing slash are correctly
looked up in the PLIST. This suggests to use AUTO_MKDIRS more often.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Dec 8 22:03:38 2019 UTC (18 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.1: +4 -5 lines
Diff to previous 1.1 (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.1 / (download) - annotate - [select for diffs], Sun Dec 8 00:06:38 2019 UTC (18 months, 1 week ago) by rillig
Branch: MAIN

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 <> like MACHINE_ARCH, which
are always in scope, and those from mk/defaults/mk.conf, which only come
into scope later, after 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

When a package sets a default value for a user-settable variable (which
is something that should not happen anyway), it should .include 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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>