The NetBSD Project

CVS log for pkgsrc/pkgtools/pkglint/files/pkglint.1

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

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.65 / (download) - annotate - [select for diffs], Sun Jan 26 19:35:22 2020 UTC (16 months, 3 weeks 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, pkgsrc-2020Q1-base, pkgsrc-2020Q1, HEAD
Changes since 1.64: +17 -17 lines
Diff to previous 1.64 (colored)

pkgtools/pkglint: fine-tune manual page

Revision 1.64 / (download) - annotate - [select for diffs], Sun Jan 26 17:18:25 2020 UTC (16 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.63: +7 -4 lines
Diff to previous 1.63 (colored)

pkgtools/pkglint: update manual page

Revision 1.63 / (download) - annotate - [select for diffs], Fri Dec 13 01:39:23 2019 UTC (18 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.62: +0 -0 lines
Diff to previous 1.62 (colored)

pkgtools/pkglint: update to 19.3.17

Changes since 19.3.16:

Pkglint now handles SUBST blocks correctly, even those in which some of
the variables are defined conditionally. It correctly reports those that
are missing in at least one of the possible branches.

PKG_JVM is no longer marked as deprecated. It was once package-settable.
Since 2002 it is system-provided, and the package-settable counterpart
is PKG_JVM_DEFAULT. This does not fit into pkglint's simple model of
deprecating variables since the variable name is still valid, it should
just not be defined by packages anymore.

The alignment of variable assignments has been fixed in some edge cases.
In continuation lines where the backslash is beyond column 72, the
whitespace before the continuation backslash is fixed to a single space.

Revision 1.62 / (download) - annotate - [select for diffs], Mon Dec 9 20:38:16 2019 UTC (18 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.61: +0 -0 lines
Diff to previous 1.61 (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.61 / (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.60: +0 -0 lines
Diff to previous 1.60 (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.60 / (download) - annotate - [select for diffs], Sun Dec 8 00:06:38 2019 UTC (18 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.59: +0 -0 lines
Diff to previous 1.59 (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 <> 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.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Dec 2 23:32:09 2019 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.58: +0 -2 lines
Diff to previous 1.58 (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

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

Revision 1.58 / (download) - annotate - [select for diffs], Sat Nov 30 20:35:11 2019 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.57: +2 -4 lines
Diff to previous 1.57 (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.57 / (download) - annotate - [select for diffs], Wed Nov 27 22:10:07 2019 UTC (18 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

pkgtools/pkglint: update to 19.3.11

Changes since 19.3.10:

The check for 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

Revision 1.56 / (download) - annotate - [select for diffs], Sun Jun 30 20:56:19 2019 UTC (23 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.55: +2 -4 lines
Diff to previous 1.55 (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

- Removed unwarranted warnings about _WRAP_EXTRA_ARGS.CC being used in

- 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.55 / (download) - annotate - [select for diffs], Sun Mar 10 19:01:50 2019 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.54: +0 -0 lines
Diff to previous 1.54 (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

* 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 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

* Lots of refactoring and housekeeping, as always.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Feb 21 23:44:55 2019 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.53: +0 -0 lines
Diff to previous 1.53 (colored)

pkgtools/pkglint: update to 5.7.1

Changes since 5.7.0:

* Removed a line of code that was meant only for development, not for
  production use, from util.go.

Revision 1.53 / (download) - annotate - [select for diffs], Thu Feb 21 22:49:03 2019 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.52: +7 -49 lines
Diff to previous 1.52 (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

* 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.52 / (download) - annotate - [select for diffs], Sat Jan 13 23:56:14 2018 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.51: +32 -22 lines
Diff to previous 1.51 (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/
* Fix autofix for .gz in PLIST

Revision 1.51 / (download) - annotate - [select for diffs], Sun Jun 5 11:24:32 2016 UTC (5 years ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.50: +4 -38 lines
Diff to previous 1.50 (colored)

Updated pkglint to 5.4.0.

Changes since 5.3.7:

* Replaced the -D... debug options with a single -d
* Omitted duplicate diagnostics
* Marked the :Q operator unnecessary for some variables
* Improved detection of whether has been included,
  which fixed unwarranted warnings about load time evaluation of
  some variables like ${ECHO} and ${SED}
* Improved detection for $(VAR) with round parentheses
* Fixed allowed locations for several variables
* Improved detection for used variables (still not perfect)
* Added warning that MASTER_SITES should not be used in HOMEPAGE
* Fixed warning about manual patches not being in distinfo
* Added a check for missing MASTER_SITE_* variables
* Added a check for unfinished url2pkg work
* Fixed several wrong warnings

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jan 12 01:02:49 2016 UTC (5 years, 5 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1
Changes since 1.49: +9 -33 lines
Diff to previous 1.49 (colored)

Updated pkglint to 5.3

Changes since

* Makefile variables

The warnings about missing permissions sound more natural than before
and give a hint for alternative operators (e.g. set-default instead
of append), or an alternative file where setting this variable is
allowed instead (e.g. PKGREVISION may not be set in Makefile.common,
but in Makefile it is ok).

Warnings about "unknown" allowed permissions are not shown anymore,
since they didn't provide any benefit. To see them again, pkglint must
be run with the -Dunchecked option.

User-defined variables may be used by They may also be
used during load time, not only during run time, under the assumption
that in most cases the has already been loaded.

Some individual variables may be defined or used in places where this
was not allowed before. CHECK_BUILTIN.*, BUILDLINK_TARGETS,

A new parser for Makefile expressions detects and reports more
mistakes than bmake itself. Currently it is only used to check the
basic syntax; more applications are possible.


In PLIST files, conditionals of the form ${PLIST.*} are recognized and
are not part of the pathname. This allows pkglint to better check for
missing manual pages and correctly sorted PLIST files.

In --autofix mode, pkglint can sort PLIST files, which makes these
rather annoying warnings easy to fix.

No more warnings for man pages whose filename doesn't match exactly
the section, e.g. man/man3/exit.3c.

* Patches

The code for checking patch files has been completely rewritten, so
that it is easier understandable and well-structured. As an additional
benefit, it also became faster. Support for context diffs has been
dropped to a minimum, since they are not popular anymore.

Pkglint no longer warns about missing trailing whitespace in a line,
since all patch programs can handle these lines. It also doesn't
request empty lines between multiple diffs in a single file, since
that is simply not necessary.

Pkglint is picky when a patch file continues after the diff with some
text that still looks like a diff, since that means the patch doesn't
do what it looks like on first sight
(example: audio/faad2/patches/patch-au).

* Distinfo

When a patch file listed in distinfo cannot be found in the
filesystem, this is reported clearly instead of complaining about
missing SHA512 hashes (example: audio/libopus).

The inter-package distinfo check that verifies whether a distfile has
different hashes has been enabled. It had been disabled before, but
unintentionally so.

* Misc

- The check for COMMENT has been updated to reflect the changed
  default value from url2pkg.
- BUILDLINK_API_DEPENDS.* may be set in, even if the
  package is not the current one. (The other variables may be only set
  for the current package.)
- In shell commands, the escape sequence \. (and similar ones, which
  are often seen in sed(1) commands) no longer produces a warning,
  since the different shells handle these escape sequences
  consistently. (It is the echo(1) implementations that actually
  differ, therefore this warning was superfluous.)
- Compiler flags in backticks (typically `pkg-config --cflags`) are
  properly recognized.
- Internal pkglint errors when parsing shell commands have been fixed.
- No more warnings about PKGCONFIG_FILE.* being defined but unused.
- Dependencies of the form pkgbase>=1.0<5.0 are recognized.
- Diagnostics use quotes more often to indicate the placeholders.
- The type of GENERATE_PLIST has been changed from List of ShellWord
  to ShellCommands, since that is what the variable is really about.
- The type ShellCommand used to mean "a shell command line in a
  Makefile", which was confusing. Now it means what the name says,
  which reduces the wrong warnings for variables like CC (example:
- Improved checks to generate more helpful diagnostics.
- Fixed the parsing of dependency patterns, so that all but the most
  exotic ones are properly recognized.
- Fixed the parsing of shell variables of the form ${var%.c}.
- Updated the check for the default COMMENT from url2pkg.
- Many more small improvements.
- Performance has improved again, though only a little bit.
- Unit test coverage has increased from 64.2 % to 78.9 %.

This fixes most of the points mentioned in PR pkg/46570.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Nov 25 13:29:07 2015 UTC (5 years, 6 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.48: +3 -8 lines
Diff to previous 1.48 (colored)

Updated pkglint to 5.0

Notable changes include:
* The whole code has been rewritten in Go
* It is much faster, especially in recursive mode
* The code has unit tests, providing examples of use
* Some new explanations for existing warnings
* Some adjustments to previous warnings

Revision 1.48 / (download) - annotate - [select for diffs], Sat Jul 20 21:50:54 2013 UTC (7 years, 11 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

Use Mt for email addresses.

Revision 1.47 / (download) - annotate - [select for diffs], Sat Jul 14 20:33:27 2012 UTC (8 years, 11 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4, pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.46: +2 -5 lines
Diff to previous 1.46 (colored)

mandoc -Tlint cleanup

Revision 1.46 / (download) - annotate - [select for diffs], Sat Jul 14 20:32:37 2012 UTC (8 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.45: +5 -3 lines
Diff to previous 1.45 (colored)

Update to 4.117:
Recognize another possible permission.
Reported by Bug Hunting.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Jul 9 22:11:00 2012 UTC (8 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.44: +7 -7 lines
Diff to previous 1.44 (colored)

Expand permission descriptions in standard warning.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Jul 9 17:36:59 2012 UTC (8 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.43: +19 -3 lines
Diff to previous 1.43 (colored)

Document permissions. Addresses part of PR 46570.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Oct 22 05:26:41 2006 UTC (14 years, 8 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4, pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4, pkglint-current, cwrapper-base, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

Fixed a heading.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Jul 27 15:48:05 2006 UTC (14 years, 10 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2006Q3-base, pkgsrc-2006Q3
Changes since 1.41: +3 -10 lines
Diff to previous 1.41 (colored)

Updated the man page.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Jul 2 09:47:17 2006 UTC (14 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.40: +16 -11 lines
Diff to previous 1.40 (colored)

Updated pkglint to 4.66.

This change includes all the things I thought of during the freeze of

Some variables have disappeared from pkgsrc without notice. Marked them
deprecated to help the package authors at least a bit.

Renamed some ACL abbreviations in and adjusted the variable

Added the command line options -Dtrace, -Dunchecked and -Dunused.

Some variables may contain unexpected white-space and therefore should
not be used in .for loops.

The -Dmisc option replaces the --verbose option (and the log_info
subroutine), which does not exist any longer. This eliminates all
instances of "OK:" from the output, which I didn't like from the
beginning. The -Dmisc option also takes over many warnings that have
been issued by --debug before.

Improved the check for absolute pathnames. Especially, everything that
follows ${DESTDIR} or $(DESTDIR) in a Makefile is considered an absolute
pathname. This reveals many wrong uses of DESTDIR (as defined by the GNU
coding standards), for example $(DESTDIR)/$(prefix), which should be
$(DESTDIR)$(prefix) instead.

Almost every use of a make(1) variable is checked for spelling mistakes.
Before, only the definitions of variables have been checked.

Restricted the use of variables to specific files, which are defined in This catches especially files with
unexpected side effects.

In shell commands, neither "echo" nor "echo -n" or "${ECHO} -n" should
be used. Since the INSTALL_*_DIR commands can only handle one directory
at a time, suggest to use INSTALLATION_DIRS instead.

Greatly improved the checks for dependency specifications, especially to
find foo-*, which should rather be foo-[0-9]*.

Fixed the incorrect handling of LICENSE_FILE (now using $line->text
instead of $line).

Improved the wording of the "plural names" warnings, so that for known
variables it is "The += operator should only be used with lists." now.

In files the uppercase and lowercase names of the package
should correspond with the package name. This catches many
copy-and-paste mistakes. Fixed many null pointer exceptions as well. In
addition, every file needs a definition of

In patch files, absolute pathnames and unportable macro names are
checked not only in added lines, but also in the context lines.

In the pkgsrc root directory and the category directories, the Makefiles
are checked like every other Makefile, too.

Fixed the place where the global variables for the package context are
defined and later undefined.

Variables that are mentioned in EVAL_PREFIX may be used in the current
file and are not flagged as "used but not defined".

When parsing shell words in Makefiles, recognize $<, $@, $^ and $/.
(The latter is used extensively by openoffice to represent a directory

Fixed some minor bugs:
* $makevar had been defined unintentionally by using the -> operator.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jun 5 22:34:40 2006 UTC (15 years ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2006Q2-base, pkgsrc-2006Q2
Changes since 1.39: +29 -1 lines
Diff to previous 1.39 (colored)

Added the command line argument -D{foo,bar,...} that enables or disables
certain categories of debugging output.

Revision 1.39 / (download) - annotate - [select for diffs], Mon May 22 06:05:46 2006 UTC (15 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.38: +1 -9 lines
Diff to previous 1.38 (colored)

Removed some drivel that was not appropriate for man pages.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Feb 28 15:25:44 2006 UTC (15 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2006Q1-base, pkgsrc-2006Q1
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored)

- Added the -Wstyle command line option, which enables warnings that don't
  affect the build process but are of more stylistic nature.
- Enabled the warnings on missing explanatory comments for patch files when
  -Wstyle is enabled.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Feb 18 16:12:13 2006 UTC (15 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.36: +15 -17 lines
Diff to previous 1.36 (colored)

- Installing documentation to share/doc/html is deprecated. By default, no
  warnings are shown for this, as this would produce more than 20000 new
  warnings for the current pkgsrc tree. You need to specify -Wplist-depr
  (new) to see them. Of course, -Wall will work, too.
- Updated the documentation and cleaned it up.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Jan 20 13:33:37 2006 UTC (15 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.35: +16 -5 lines
Diff to previous 1.35 (colored)

- Added the -d|--debug command line option, which replaces -Wdebug. The
  latter has been removed.
- Added -Wvarorder (default: disabled) to check the ordering of variables
  in simple packages.
- Using ${WRKSRC}/.. is only considered a warning, not an error, because
  there are packages that work nevertheless. Using this construct remains
- Replaced most of the TODOs in the source code with code that prints
  a warning in --debug mode.
- The characters '.' and '+' are allowed in BuildlinkPackages.
- Variables *_FLAGS and *_ARGS that have their type guessed based on the
  name don't have to be assigned using the += operator.
- Variables that are assigned using the != operator are not checked for
  type compliance.
- README files are not marked as unknown when they appear in a package

Revision 1.35 / (download) - annotate - [select for diffs], Thu Jan 12 21:50:43 2006 UTC (15 years, 5 months ago) by wiz
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

Bump date for some new features.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Jan 12 10:32:40 2006 UTC (15 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.33: +8 -1 lines
Diff to previous 1.33 (colored)

- Added three warning categories "debug", "quoting" and "space" that can
  be enabled independently. They are all disabled by default.
- A note is emitted if variable definitions are aligned using space instead
  of tabs.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jan 11 11:42:27 2006 UTC (15 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

Fixed spacing issue.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Dec 31 14:01:47 2005 UTC (15 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.31: +4 -1 lines
Diff to previous 1.31 (colored)

- Restructured the header comment.
- Rewrote the message formatting.
- The indentation of explanations is changed to be always a tabulator
  character instead of depending on the last message.
- In verbose mode, statistics about the frequency of the individual
  messages are printed before exiting.
- The command line option -Wextra enables additional warnings that are
  not enabled by default because I have been told that Alistair would kill
  me for them. :)
- Improved the shell tokenizer by recognizing parentheses.
- Improved checking of pkgsrc-internal files (mostly in pkgsrc/mk).
- Added a (trivial) spellchecker.
- Added checks for shell code that ignores the exitcode of commands.
- Added checks for CFLAGS, CPPFLAGS and CXXFLAGS.
- Avoided false positive warnings for absolute filenames in AWK code.
- Added checks for .for variables.
- Pkglint can check single files in directories that are three levels deep.
  This is mostly useful for checking patch files.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Dec 1 08:45:37 2005 UTC (15 years, 6 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2005Q4-base, pkgsrc-2005Q4
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

- Clarified the documentation of the --import command line option.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Nov 24 10:16:54 2005 UTC (15 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.29: +37 -12 lines
Diff to previous 1.29 (colored)

Updated pkglint to 4.46.

Changes since 4.45:
- Added the type ShellWord.
- Added quoting checks for variables that are appended to a
  List of ShellWord.
- Multiple -v increase the verbosity.
- The --autofix option is no longer undocumented, but still experimental,
  as this is the only part of pkglint that can modify external files.
- Added an --explain option that provides additional help for the
- Added checks for unportable CPP macro names in patches.
- Updated the documentation.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Nov 20 20:09:35 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.28: +1 -7 lines
Diff to previous 1.28 (colored)

Updated pkglint to 4.44.

Changes since 4.43:
- Removed the remaining code that had been imported from FreeBSD's
- Removed the (undocumented) -Wvague option.
- Removed the -Wexec and -Wparen options. The latter had no effect at all,
  and the former cannot lead to false positives, so it is always enabled.
- Variable names starting with an underscore are reserved for internal
  pkgsrc use.
- Added some more type checks.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Nov 19 17:22:21 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.27: +4 -1 lines
Diff to previous 1.27 (colored)

Updated pkglint to 4.43.

Changes since 4.42:
- Reduced the number of duplicate diagnostics when checking multiple files.
  Only diagnostics concerning the current package are printed.
- Added a work-around for the PHP patches warnings.
- PERL5_PACKLIST should not contain references to other variables.
- Added the -s|--source command line option to show the code along with the
- Fixed a bug in get_logical_line(); logical lines have not had their
  physical lines attached.
- Deprecated variables are not only checked when they are defined but also
  when they are used.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Nov 14 11:45:52 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.26: +5 -1 lines
Diff to previous 1.26 (colored)

Updated pkglint to 4.42.

Changes since 4.41:
- In .mk files, line continuations are properly handled.
- An open bracket is allowed in variable and tool names.
- Added checks for ALTERNATIVES and INSTALL/DEINSTALL files.
- By default, don't check files in ${FILESDIR}.
- Warn about unknown file and directory names.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Nov 14 04:05:22 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.25: +10 -1 lines
Diff to previous 1.25 (colored)

Updated pkglint to 4.41.

- Documented the --recursive option.
- Added an option -Cmk for checking .mk files besides
- pkglint can handle individual files on the command line, not only
  packages. (experimental)
- Replaced checkfile_buildlink3_mk() with checkfile_mk().
- Factored out the checkfile() subroutine from checkdir_package().

Revision 1.25 / (download) - annotate - [select for diffs], Thu Nov 10 14:30:56 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.24: +4 -6 lines
Diff to previous 1.24 (colored)

Updated pkglint to 4.40.

- Removed all references to the build-time pkgsrc directory, ${PKGSRCDIR}.
  This makes the binary package independent of the build location.
  Fixes PR 32006.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Nov 4 09:32:03 2005 UTC (15 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.23: +4 -7 lines
Diff to previous 1.23 (colored)

Updated pkglint to 4.35.

Removed the -Wworkdir option. Added an --import option that replaces
-Wworkdir. Changed the warning about uncleaned work* directories into an
error. Updated the man page.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Sep 28 10:39:35 2005 UTC (15 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Fixed the indentation for "Other arguments".

Revision 1.22 / (download) - annotate - [select for diffs], Wed Sep 28 10:06:29 2005 UTC (15 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Sort option descriptions.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Sep 28 09:44:42 2005 UTC (15 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.20: +12 -2 lines
Diff to previous 1.20 (colored)

Updated to pkglint-4.23.

Added the -R command line option to allow more RCS Id tags than $NetBSD$
to appear in line 1 of almost every file. Suggested by dillo.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Sep 10 22:32:54 2005 UTC (15 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2005Q3-base, pkgsrc-2005Q3
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

Date string needs no leading zeroes.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Sep 4 18:45:36 2005 UTC (15 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

New sentence, new line.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Sep 4 00:04:15 2005 UTC (15 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.17: +10 -13 lines
Diff to previous 1.17 (colored)

Updated the man pages.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Aug 25 07:24:00 2005 UTC (15 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.16: +3 -10 lines
Diff to previous 1.16 (colored)

Removed all references to the -B/contblank command line option.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jul 21 09:07:38 2005 UTC (15 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.15: +32 -35 lines
Diff to previous 1.15 (colored)

Fix a typo and improve markup.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Jul 21 02:47:58 2005 UTC (15 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.14: +40 -58 lines
Diff to previous 1.14 (colored)

Updated and rewrote the man page.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Jul 2 14:46:06 2005 UTC (15 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

Restricted the warning option -Wsort to only apply to PLIST files and
therefore renamed it to -Wplist-sort. This option is disabled by default
to avoid excessive warnings. Apart from an unfounded suggestion
somewhere in the past, I don't see a reason why PLIST files should be
sorted. Remember: The option is still available, it's just disabled by

Revision 1.13 / (download) - annotate - [select for diffs], Tue May 31 20:44:02 2005 UTC (16 years ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2005Q2-base, pkgsrc-2005Q2
Changes since 1.12: +1 -12 lines
Diff to previous 1.12 (colored)

Removed the -N command line option, which had been deprecated before.
Also removed -Cnewpkg. Instead, the warnings for new packages are only
emitted if the files have not yet been committed to CVS.

Revision 1.12 / (download) - annotate - [select for diffs], Sun May 22 22:53:13 2005 UTC (16 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.11: +4 -2 lines
Diff to previous 1.11 (colored)

Updated the man pages.

Revision 1.11 / (download) - annotate - [select for diffs], Sun May 15 02:38:56 2005 UTC (16 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.10: +8 -5 lines
Diff to previous 1.10 (colored)

Added a command line option to disable warnings on unsorted things like
PLISTs and SUBDIRs in category Makefiles. The default behavior is
unchanged. Updated the man pages. Bumped PKGREVISION.

Revision 1.10 / (download) - annotate - [select for diffs], Tue May 10 19:04:53 2005 UTC (16 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.9: +3 -1 lines
Diff to previous 1.9 (colored)

Added command line option -q|--quiet, which suppresses the
errors/warnings summary printed before terminating. Updated the manpage.
Updated the preformatted manpage, which was horribly outdated.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Oct 16 15:04:26 2004 UTC (16 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2005Q1-base, pkgsrc-2005Q1, pkgsrc-2004Q4-base, pkgsrc-2004Q4
Changes since 1.8: +7 -2 lines
Diff to previous 1.8 (colored)

Update to 3.93, from Roland Illig:
- Added warning option -Wno-workdir
- Fixed some places where absolute and relative pathnames had
  been used incorrectly.

Clean up Makefile.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Sep 24 15:33:26 2004 UTC (16 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.7: +79 -18 lines
Diff to previous 1.7 (colored)

- added options for enabling/disabling specific checks
- added options for enabling/disabling specific warnings
- improved the --help message
and corresponding man page updates.
From Roland Illig with slight fixes by me.

Revision 1.7 / (download) - annotate - [select for diffs], Wed May 28 16:32:22 2003 UTC (18 years ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2004Q3-base, pkgsrc-2004Q3, pkgsrc-2004Q2-base, pkgsrc-2004Q2, pkgsrc-2004Q1-base, pkgsrc-2004Q1, pkgsrc-2003Q4-base, pkgsrc-2003Q4
Changes since 1.6: +5 -3 lines
Diff to previous 1.6 (colored)

Use .Aq instead of <>.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Nov 20 17:34:16 2001 UTC (19 years, 7 months ago) by wiz
Branch: MAIN
CVS Tags: pkgviews-base, pkgviews, netbsd-1-6-RELEASE-base, netbsd-1-6-1-base, netbsd-1-6-1, netbsd-1-6, netbsd-1-5-PATCH003, buildlink2-base, buildlink2
Changes since 1.5: +29 -29 lines
Diff to previous 1.5 (colored)

Sort options, sort sections, and some minor fixes.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Sep 5 00:02:17 2000 UTC (20 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-PATCH001, netbsd-1-4-PATCH003
Changes since 1.4: +7 -3 lines
Diff to previous 1.4 (colored)

Some cleanup; warning and error messages slightly improved.
Major changes: .include lines are honoured now, and FILESDIR, PATCHESDIR,
PKGDIR, SCRIPTSDIR, MD5_FILE, and PATCH_SUM_FILE aren't hardcoded anymore,
but the corresponding Makefile variables are used.
Adapt lintpkgsrc to the changes.
Step to 2.20 to mark the occasion.
Reviewed by hubertf.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Sep 4 00:48:10 2000 UTC (20 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.3: +16 -16 lines
Diff to previous 1.3 (colored)

fix wording, some grammar, Dd

Revision 1.3 / (download) - annotate - [select for diffs], Mon Sep 4 00:29:52 2000 UTC (20 years, 9 months ago) by hubertf
Branch: MAIN
Changes since 1.2: +2 -20 lines
Diff to previous 1.2 (colored)

Update to 2.16: make the actions of the switches -a, -b and -c
on by default now, to get EVERYTHING checked by default.

Suggested by Kimmo Suominen <>

Revision 1.2 / (download) - annotate - [select for diffs], Mon Apr 19 07:32:10 1999 UTC (22 years, 2 months ago) by abs
Branch: MAIN
CVS Tags: netbsd-1-4-RELEASE, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, comdex-fall-1999
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

Add pkg_check (renamed to lintpkgsrc, and add orginal lintpkgsrc functionality
(fixed up to work a little better).
lintpkgsrc can:
    -d : Check each Makefile's 'DEPENDS' matches current pkgsrc versions.
    -i : Check versions of installed packages against pkgsrc.
    -l : Run pkglint on every package in pkgsrc.
    -m : Report md5 mismatches for files in 'distfiles'.
    -o : Report old/obsolete 'distfiles' (not referenced by any md5).
    -r : Remove any 'bad' distfiles (Without -m or -o, implies both).

Revision 1.1 / (download) - annotate - [select for diffs], Fri Aug 7 22:13:43 1998 UTC (22 years, 10 months ago) by tsarna
Branch: MAIN
CVS Tags: netbsd-1-3-PATCH003

Our portlint has diverged significantly from FreeBSD's, so
rename portlint to pkglint, and keep the sources right under files.
This makes it much easier to maintain and keep up with changes to out
package system.

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 <>