Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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.
|
|
Changes since 19.3.1:
* Pkglint no longer warns about a missing :Q modifier if there is also
a :D modifier, since the latter hides the original variable value
from the expression value.
* Variable names like .CURDIR are now allowed in the _VARGROUPS section.
* In dependency lines like "${_COOKIE.extract}:", pkglint no longer
warns about the unknown target. No matter whether this is a file name
or even a list of other targets, there's no chance for a typo here.
* If some dependencies are included conditionally, and the package
Makefile and buildlink3.mk disagree, and the conditions depend on
PKG_OPTIONS, pkglint outputs a helpful explanation.
* The check for including builtin.mk directly can be disabled by giving
a reason in a comment at the end of the line.
|
|
Changes since 5.7.24:
* There is no need to ask the dummy MAINTAINER from url2pkg whether
committing changes is ok.
* When autofixing a condition like !empty(PKGPATH:Mliteral), don't
generate unnecessary parentheses around ${PKGPATH} == literal.
* In a _VARGROUPS section, the public variables should be listed
before the private variables, to put important things first.
* When pkglint suggests to be run again with the -e, -fs or -F options,
repeat the whole command line, to allow for copy-and-paste.
* The checks for PKGPATH are fixed and enhanced. It is not a relative
path like in ../../category/package, but relative to the pkgsrc root.
* Unintended file globbing in sed commands such as s,.*,any, gets a
warning.
* MASTER_SITES should normally end with a slash, in rare cases an
equals sign or a colon are correct, too.
* Detect redundant directories in INSTALLATION_DIRS.
|
|
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.
|
|
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.
|
|
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.
|