Commit graph

710 commits

Author SHA1 Message Date
rillig
6b5a2446b0 Updated pkglint to 4.31.2.
Added the expected and actual checksums to the diagnostics if they
differ for patches.
2005-10-30 23:09:40 +00:00
rillig
6e9dde0fd4 Added three methods insert_before(), insert_after() and delete() to a
Pkglint::FileUtil::Line, which will be used for the --autofix option.
No user-visible changes.
2005-10-30 23:03:41 +00:00
rillig
41fe22047c When checking Makefiles, get rid of the "physical" lines as soon as
possible and base all other checks on the logical lines. The physical
source lines are saved literally to make implementing the --autofix
option easier.
2005-10-30 22:11:38 +00:00
rillig
6b1c7caead Removed two unused variables. 2005-10-30 19:54:36 +00:00
rillig
ec7b393671 Updated pkglint to 4.31.
Changed the names of the datatypes (Yes_Or_Undefined => Yes, Boolean =>
YesNo, Integer => PkgRevision) in makevars.map. It is now an error if
PKGREVISION appears outside a package Makefile. Improved detection of
Makefile.common. Improved wording of the warning for relative
directories in the form ../package.
2005-10-26 23:17:49 +00:00
rillig
5219926c41 Updated pkglint to 4.30.
Rewrote the typechecking code for Makefile variables. The variable
definitions are extracted from logical lines instead of physical lines,
comments are separated from actual values, for Lists of something, each
something is checked. All URLs are subject to MASTER_SITES expansion.
MASTER_SITES is checked to be a List of URLs.
2005-10-24 23:54:37 +00:00
rillig
cbf57a228a Completely rewrote plist-clash.pl. It has been unmodified for 7 years,
while pkgsrc has changed dramatically. Now it is usable again, although
far from perfect.
2005-10-24 20:56:53 +00:00
rillig
166c6a1177 Report an error if an unknown line occurs in a PLIST. (Most of these
lines are actually empty.)
2005-10-24 20:37:57 +00:00
rillig
a047b04902 Allow all variables ending in _SED or _AWK to be constructed using the
"+=" operator.
2005-10-24 19:56:05 +00:00
rillig
eaf1102c55 Removed those deprecated variables that are unused in current pkgsrc and
pkgsrc-wip.
2005-10-24 19:52:26 +00:00
rillig
71d6878bea Generally allow $Id$ instead of $NetBSD$ in files from pkgsrc-wip. 2005-10-24 18:20:40 +00:00
rillig
2646e626ec Updated pkglint to 4.29.1.
Added CONFLICT to the list of deprecated variables (actually it's a
typo). Added PLIST_SUBST to makevars.map as a List. Allow comments after
a YES/yes/NO/no value of variables.
2005-10-23 23:14:57 +00:00
rillig
c751f422d3 Updated pkglint to 4.29.
Fixed the detection of list variables that are modified with operators
other than "+=". Added *_SKIP to the list of plural variable names.
Removed some unused variables from main(). (This change include
white-space changes.)
2005-10-23 19:20:33 +00:00
rillig
1f0db6c2cc Updated pkglint to 4.28.2.
Added a data type Readonly for variables that must not be given any
value at all by the package Makefile. Marked PKGBASE and PKGVERSION
read-only, because leaving them read-write would make the way PKGNAME is
calculated too complex. Made the check for the "+=" operator independent
of the data type. Added more patterns for accepted variable names for
lists.
2005-10-21 07:20:24 +00:00
rillig
e95f2f49e0 Updated pkglint to 4.28.1.
Declared some more variables as List types. Added a check that
PERL5_PACKLIST matches the PKGNAME.
2005-10-14 09:23:46 +00:00
rillig
14948b389c Updated pkglint to 4.28.
Added support to typecheck "List of Something" in Makefile variables.
DEPENDS and BUILD_DEPENDS are of type List of Dependency, CFLAGS are
simply a List.
2005-10-14 00:05:23 +00:00
rillig
e79b082b35 "-Wl,-rpath" should not be used directly. ${COMPILER_RPATH_FLAG} is better. 2005-10-13 20:17:45 +00:00
rillig
23a0f74cf2 Updated pkglint to 4.27.
Added a warning that ${PKGNAME} and ${PKGVERSION} should not be used in
some other variables, as they may contain the PKGREVISION.
2005-10-13 00:23:53 +00:00
rillig
22b947030e Updated pkglint to 4.26.
Improved the wording of two diagnostics. Added a check for SUBST_STAGE.
2005-10-09 18:24:11 +00:00
rillig
593971ad6f Updated pkglint to 4.25.
Improved heuristics for packages that use some common Makefiles,
reducing the number of false diagnostics in -Wvague mode. Moved checks
for SVR4_PKGNAME out of -Wvague mode. Added check for misspelled
NO_{SRC,BIN}_ON_{FTP,CDROM}.
2005-10-07 17:34:11 +00:00
rillig
2614ff83d0 Updated pkglint to 4.24.
Warn if option names contain underscore characters (suggested by dillo).
NO_TOOLS and NO_WRAPPER are deprecated, as they are not used anymore.
2005-10-07 10:24:42 +00:00
rillig
74c36f7f68 Removed unused NO_TOOLS. 2005-09-29 13:38:37 +00:00
rillig
f89bcc71b5 Allow "# defined" as value for multiple inclusion guards in Makefile.common. 2005-09-28 21:39:05 +00:00
rillig
2c69e8a894 Updated pkglint to 4.23.2.
The use of "# defined" as variable value in Makefiles is deprecated. It
has too weak semantics, compared to "# none", "# empty" or "yes".
2005-09-28 20:47:39 +00:00
rillig
3184319c95 Cleaned up the TODO list. 2005-09-28 16:34:47 +00:00
rillig
ef92691af7 Updated pkglint to 4.23.1.
BUILD_USES_MSGFMT should always be set to YES/yes or left undefined. When
checking for direct use of tools, respect shell commands.
2005-09-28 14:12:38 +00:00
rillig
254a069785 Fixed the indentation for "Other arguments". 2005-09-28 10:39:35 +00:00
wiz
509439f0fd Regen. 2005-09-28 10:06:58 +00:00
wiz
be89638ba1 Sort option descriptions. 2005-09-28 10:06:29 +00:00
rillig
7024fb38d4 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.
2005-09-28 09:44:42 +00:00
rillig
234e62b9d0 Updated pkglint to 4.22.
A distfile that only has an SHA1 checksum, but not an RMD160 one, is
considered an error. While at it, made the distinfo file check a little
stricter.
2005-09-27 21:13:20 +00:00
rillig
d8c6d398a6 Updated pkglint to 4.21.5.
Insist that PKGREVISION should be an integer or be undefined at all.
2005-09-27 18:58:56 +00:00
rillig
718b487651 Updated pkglint to 4.21.4.
The last change introduced some false positive diagnostics. If a
distinfo file contains the checksum for a patch that does not exist,
this is not considered to be an error, but only a warning, as the
additional checksums do not influence the package.
2005-09-23 13:08:23 +00:00
rillig
24412e2a4e Updated pkglint to 4.21.3.
Fixed false positive errors for PHP packages.
2005-09-22 15:54:23 +00:00
rillig
5ed3de4dcc Updated pkglint to 4.21.2.
Changed the file name pattern for patch files to avoid false positives
for DISTFILES that start with "patch-" (requested by salo). Added a
warning for invalid patch file names.
2005-09-22 11:56:37 +00:00
rillig
5ea208ffc4 The diagnostics for the COMMENT variable checks include the location and
are therefore enabled by default. Requested by wiz.

Set the version to 4.21.1.
2005-09-22 01:46:46 +00:00
wiz
9c8b05d7af regen 2005-09-10 22:33:14 +00:00
wiz
2624c4e38a Date string needs no leading zeroes. 2005-09-10 22:32:54 +00:00
wiz
81184e6850 Use \*[Am] instead of & for HTML output. 2005-09-10 22:32:43 +00:00
rillig
eadbcbe2f0 This is pkglint-4.21.
Changes since 4.20 include:
 - In the diagnostics, FATAL is replaced with ERROR.
 - The command line option -g changes the format of the diagnostics to be
   similar to the one of gcc.
 - Removed false warnings when checking if PLISTS are ordered.
 - Removed the check for contiguous blank lines.
 - Added a check to PLISTs that man pages are not installed in share/man.
 - pkglint -r allows to recursively check directories.
 - The pkgsrc root directory can be checked.
 - Removed false warnings for patches that contain "---" lines.
 - Switched to checking logical lines instead of physical lines.
   Diagnostics for logical lines contain the range of physical lines
   instead of a single line number.
 - Some ../.. path components are stripped from the diagnostics.
 - When checking for the direct use of tool names, only the context of the
   use, not the whole shell command is output.
 - Patches that contain RCS Ids should not have the -ko CVS mode anymore.
 - Variables that are modified using the "+=" operator are considered to be
   lists, so they should have a name indicating a plural.
2005-09-09 12:16:29 +00:00
rillig
fe420411f3 Changed the regular expression for detecting valid .include lines in
Makefiles. I had intended not to read files whose name contains $
characters, but had not written exactly that in the code.
Fixes PR 31213.
2005-09-09 11:05:00 +00:00
rillig
15b9d4d943 Bugfix: The subdirectories of the pkgsrc root directory are listed
correctly. With the -r option, the order of directories is now
depth-first.
2005-09-06 10:30:00 +00:00
rillig
c3115e6a7c Added a check for variables that are modified using "+=". As they are
mostly lists of something, their name should be a plural form. There are
many exceptions to this rule, mostly because of backwards compatibility.
2005-09-05 15:45:29 +00:00
rillig
ffc5bb8970 Replaced two instances of ad-hoc regular expressions with regex_varassign. 2005-09-05 13:27:36 +00:00
rillig
771539924d The continuation line indicator in regex_varassign is not needed
anymore, since assignments are checked on logical lines instead of
physical lines.
2005-09-05 13:06:20 +00:00
rillig
29776bf19e Use logical lines for the validation of Makefiles rather than physical
lines. Print line ranges instead of the starting line in diagnostics.
2005-09-04 21:06:05 +00:00
wiz
072a396460 regen (under 2.0) 2005-09-04 18:45:46 +00:00
wiz
1d897c6696 New sentence, new line. 2005-09-04 18:45:36 +00:00
rillig
71c7552b19 Changed the wording of the diagnostics message when a patch contains an
RCS tag. Suggested by hubertf.
2005-09-04 00:33:18 +00:00
rillig
4184bfe32f Made the code in get_logical_line easier. 2005-09-04 00:26:13 +00:00
rillig
188a8676f4 Updated the man pages. 2005-09-04 00:04:15 +00:00
rillig
c99410f597 When RCS Ids are detected in patches, don't suggest the -ko mode, but
ask the user to remove the offending line from the patch.
2005-09-03 22:23:46 +00:00
rillig
ab783f6d5a As the shell commands in Makefiles can be quite long, only the close
neighborhood of the tool name is printed when checking for direct use of
tools.
2005-09-03 11:53:15 +00:00
rillig
d646a03983 Added section comments and renamed some subroutines and variables. 2005-09-03 10:41:23 +00:00
rillig
b27cb882b9 Made the import clauses uniform. 2005-09-03 10:19:05 +00:00
rillig
b57ad50501 Removed the -Winternal flag and the checks for the ":=" operator. There had
been too many spurious warnings to be worth the effort.
2005-09-02 22:45:31 +00:00
rillig
5ba3f69424 Removed the (undocumented) -d/--debug option. 2005-09-02 12:39:42 +00:00
rillig
8e2103a120 The command line options are now defined in one table instead of two. 2005-09-02 12:10:16 +00:00
rillig
3b87a70054 In logical lines from Makefiles, white-space surrounding the
continuation is stripped from the string to make the output shorter.
2005-09-02 11:43:52 +00:00
rillig
093cc95760 In the diagnostics, "../../" path components that are not at the
beginning are stripped to make the output less verbose. The beginning is
needed to have a reference from which package the file is included, so
it is not stripped.
2005-09-02 10:42:18 +00:00
rillig
1e45f525ef The PKGDIR variable is extracted from the Makefile first, because other
variables like PATCHDIR and DISTINFO_FILE depend on it.
2005-09-02 10:11:24 +00:00
rillig
5deb0fcc3e When checking for direct use of tools, the Makefile lines are
interpreted as "logical lines", that is, lines ending in a backslash are
continued on the next line. This led to a false warning for
PKG_FAIL_REASON, which is suppressed.
2005-09-02 01:03:20 +00:00
rillig
1c2f92a2b4 Fixed a newly introduced bug that prevented multiple patches per file from
being detected.
2005-09-01 23:24:35 +00:00
rillig
772fe05470 Fixed the false warnings for lines in patches that start with "---". The
old parser had been a little too simple.
2005-09-01 22:45:16 +00:00
rillig
0753a70b6e Pkglint can check the pkgsrc root directory now. The checks are kept
minimal, as I use it mainly to check all the categories using the -r
flag.
2005-09-01 22:09:39 +00:00
rillig
ac22c61ffe Added an (undocumented) option -r/--recursive that checks all the packages
in a category Makefile that are not commented out.
2005-09-01 21:39:57 +00:00
rillig
6dc00852e4 Added a check for PLISTs: Man pages should be installed into man/, not
share/man/.
2005-08-25 07:27:23 +00:00
rillig
a5453ed697 Removed all references to the -B/contblank command line option. 2005-08-25 07:24:00 +00:00
rillig
06693d3602 Removed the -p flag from the usage message. It hasn't been implemented
for quite some time. I don't know when it had been removed, but
apparently no-one had used it anyway.
2005-08-24 17:32:43 +00:00
rillig
d6720c2287 Removed the check for contiguous blank lines completely. As long as
pkglint does not catch the important facts correctly it shouldn't be
nitpicking about white-space. I doubt that anyone has used the -B# and
the -Wwhitespace options at all, so there's no harm removing them.
2005-08-24 17:29:52 +00:00
rillig
3497c6f0f7 Added a -Wwhitespace flag that is off by default to control whether
multiple contiguous blank lines should result in warnings.
2005-08-24 16:50:13 +00:00
rillig
5a878cee18 Sorted the regular expression constants alphabetically. Renamed two of them. 2005-08-22 13:51:40 +00:00
rillig
fb408275e2 Don't warn about unsorted PLIST entries that contain ${foo}. Only make
sure the others are sorted.
2005-08-22 05:12:01 +00:00
rillig
f1209e71c7 Reduced the number of warnings for replacing ":=" with "=". Added a command
line flag -Winternal to enable checking of the pkgsrc infrastructure files.
By default these files are not checked.
2005-08-21 23:05:01 +00:00
rillig
c4c597dc44 Buildlink files may use the := assignment operator for variable names that
contain "BUILDLINK". All other uses are still flagged.
2005-08-21 18:25:27 +00:00
rillig
a68e869480 Added a flag -g or --gcc-output-format that makes the messages parseable by
the Emacs compile.el program. Changed the keyword for errors from FATAL to
ERROR. Sorted command line options alphabetically in the source code.
2005-08-21 15:33:45 +00:00
rillig
cf0abff1fe This is pkglint-4.20. Changes since 4.19 include:
- Very much code cleanup
- Introduction of the --autofix flag for category Makefiles
- Rewrite of the code to check the DISTNAME section in package Makefiles
- Rewrite of the code to check category Makefiles
2005-08-21 10:31:43 +00:00
rillig
815d49418b Generally warn about the use of the := operator in Makefiles. 2005-08-21 10:20:13 +00:00
rillig
b5a201135e Rewrote the checking of the Makefile variables in the DISTNAME section.
This reduces the number of false warnings.
2005-08-21 08:55:52 +00:00
rillig
ed097917ca Fixed a syntax error (a string had not been enclosed in double quotes). 2005-08-20 10:53:44 +00:00
rillig
0493ce98e5 The default values for some variables in checkfile_package_Makefile are
chosen more carefully to avoid false warnings. The local variables are
sorted by categories. Unnecessary variables have been removed.
2005-08-20 10:05:00 +00:00
rillig
e956158a4e Added the command line option -CDESCR, for consistency. 2005-08-19 17:32:13 +00:00
rillig
fc379838f0 The --help message was wrong. The progress messages are not printed on
STDERR but on STDOUT.
2005-08-19 16:08:08 +00:00
rillig
0045e32bfa Reduced two errors to warnings for the category Makefiles: The sort
order and  subdirectories which are commented out without giving a
reason.
2005-08-19 15:58:30 +00:00
rillig
36d44c0a34 Don't check the distinfo twice if it is defined as ./distinfo in the
package Makefile. This occurs for example in multimedia/gmplayer.
2005-08-19 15:32:50 +00:00
rillig
eeaeeeb8f3 Changed the way how the direct use of tools is detected in Makefiles.
Now the valid sequences are deleted from the string. If after the
deletion the string contains a tool name, a warning is printed.
2005-08-17 19:06:41 +00:00
rillig
c604bf96f3 Moved the checkdir_package subroutine directly before the main subroutine
to reduce the number of necessary forward declarations. Subsequently,
removed those forward declarations.
2005-08-17 11:28:12 +00:00
rillig
88a92d894a Renamed check_{package,category} to checkdir_{package,category} to
distinguish them from the checkfile_* and checklines_* subroutines.
2005-08-17 10:55:22 +00:00
rillig
7a65dc8e0e Fixed some bugs that appeared while checking the databases/ category
Makefile.
2005-08-17 10:49:59 +00:00
rillig
b800379954 When checking category Makefiles, avoid false warnings about
subdirectories that are in one of filesystem/Makefile, but not in the
other.
2005-08-17 10:42:51 +00:00
rillig
8b7294f45e Don't require the second line of a category Makefile to contain an empty
comment. Instead, allow arbitrary comments at the beginning of the file.
This change required a major rewrite of the code, which had been quite
inflexible before.
2005-08-17 09:43:29 +00:00
rillig
d287119b6d Added an experimental --autofix or -F command line option. It currently
has only effects for category Makefiles. While implementing it I
probably fixed some other bugs in the category Makefile checking code.
2005-08-07 00:14:22 +00:00
rillig
e5aadae863 Fixed a bug which led to an endless loop. While happily changing the
code, I had forgotten one assumption I made. It was that in the ifelse
chain the case ( && ) couldn't occur because
the outer loop already cought that. And then I had inserted code that
violated exactly this assumption. Fixed.
2005-08-06 22:41:07 +00:00
rillig
810752a20e Fixed the indentation. Replaced a nested if with an &&. Noticed that I
had put the closing indentation FIXME comment at a wrong place. But as
it is removed now, this doesn't matter.
2005-08-06 22:24:07 +00:00
rillig
49fa8bb914 The check_category subroutine has been converted to a one-pass checker.
The new code, which is not as nice as the old code, will hopefully allow
the --autofix option to be implemented really easily. If that will not
become true, I will probably revert to the old code. There's an
indentation FIXME in the code to keep this patch small. I will remove
that FIXME in a minute.
2005-08-06 22:20:10 +00:00
rillig
4b3ddd1d43 Don't be too strict to the "wip" category Makefile. It may have a
different second line and additional targets after the SUBDIR entries.
2005-08-06 21:08:05 +00:00
rillig
f312ca3921 Made the checks for category Makefiles much stricter. Only the "category
normal form" passes all checks.
2005-08-06 20:32:35 +00:00
rillig
b8d49d75b7 Run a quick self-test after installation. 2005-08-06 19:36:54 +00:00
rillig
fb0d0037c9 White-space fixes. 2005-08-06 19:10:37 +00:00
rillig
71d66a2ecb Code beautification: %{$foo} instead of %$foo. 2005-08-06 08:08:33 +00:00
rillig
4b97d64081 Checking for C/C++ comments is not necessary for Makefiles. No-one uses
them. All pathnames are already interpreted as being relative to the
package's directory. Added a reminder that ONLY_FOR_PLATFORM should be
changed to NOT_FOR_PLATFORM where appropriate.
2005-08-06 08:00:14 +00:00
rillig
b9e3b22ee1 Moved the checks that had been done while loading Makefiles into a
subroutine checklines_Makefile, which is called by
checkfile_package_Makefile and check_category.
2005-08-06 02:26:47 +00:00
rillig
2bce08d2bc Print warnings if the values of ${PKGNAME}, ${SVR4_PKGNAME},
${DISTNAME}, ${DISTFILES}, ${EXTRACT_SUFX} cannot be resolved
completely. It's better than proceeding with definitely unusable values.
2005-08-02 08:33:31 +00:00
rillig
5cf3e67b43 Some more speed optimization. 2005-08-01 23:54:09 +00:00
rillig
ddc2bad236 Converted PkgLint::FileUtils::Line to use an array instead of a hash for
saving the fields. This gives a 5 percent speed-up.
2005-08-01 22:29:13 +00:00
rillig
347db3598b Sppeded up the subroutines read_makefile and check_for_multiple_patches. 2005-08-01 21:28:06 +00:00
rillig
3496d25434 Added a new command line option --debug|d. It is currently used for
measuring the time spent in the main checking subroutines. Using that
function I discovered that method calls like $line->text are awfully
slow. The subroutine checkfile_PLIST spent half of its time in this
function call. Now it is almost twice as fast as before.
2005-08-01 21:02:30 +00:00
rillig
452f1079ac Simplified the code---no user-visisble changes. 2005-08-01 18:39:40 +00:00
rillig
656b775a63 More code cleanup. This time it's only white-space issues. 2005-08-01 18:03:37 +00:00
rillig
03037814cd Internal cleanup: moved some subroutines so that fewer forward
references are needed. As the return value of the checkfile_*
subroutines is not needed, it is not provided anymore. Some other small
changes, which all do not affect the actual output or behavior of
pkglint.
2005-08-01 17:06:56 +00:00
wiz
42cc128e46 Remove (commented out) USE_DB2 here too. 2005-08-01 15:40:19 +00:00
wiz
5347dad73a Remove another legacy var that was removed from pkgsrc before the previous branch. 2005-08-01 11:40:56 +00:00
wiz
e3990d3f87 Remove some legacy vars that were removed from pkgsrc before the previous branch. 2005-08-01 11:37:38 +00:00
wiz
9dc4f9590b Remove obsolete USE_PAM. 2005-08-01 10:55:42 +00:00
rillig
23eea97776 Inserted empty lines before elsif to make the code more readable. 2005-07-30 23:39:33 +00:00
rillig
8091e8ca7d The global variables are only needed when checking a package, not a
package category.
2005-07-30 23:35:24 +00:00
he
829942b695 Allow PATCH_DIST_CAT in the PATCH_SITES section.
Bump version to 4.19.
2005-07-29 16:01:12 +00:00
wiz
ffd1f9a21f Fix a typo and improve markup. 2005-07-21 09:07:38 +00:00
rillig
41fd3a3447 Updated and rewrote the man page. 2005-07-21 02:47:58 +00:00
rillig
9e5f485a2e Added a new subroutine log_subinfo that has an additional parameter
taking the name of the current subroutine. Removed unnecessary checks
for backup filenames.
2005-07-21 02:01:02 +00:00
rillig
20dd1b05f5 Changed debugging output to reflect the recent split of checkfile_Makefile. 2005-07-21 01:08:05 +00:00
rillig
e22a89a8ab The checkfile_Makefile subroutine is split into load_package_Makefile
and checkfile_package_Makefile. This made another command line option
-CMakefile possible, which allows Makefile checking to be switched off
(it is on by default).
2005-07-21 01:03:34 +00:00
rillig
72b09128cb In the diagnostic messages, multiple adjacent slashes are compressed to
one.
2005-07-21 00:19:11 +00:00
rillig
2020c428e0 Updated to be in sync with mk/replace.mk, revision 1.120. 2005-07-20 23:59:53 +00:00
rillig
5eac6ccafa Don't print "vague" diagnostics by default. A "vague" diagnostic is one
that has been in pkglint before I started hacking it. Mostly, they don't
contain a specific file location where to look for the cause or they are
generated using dubious code. The remaining warnings are only a few, but
they are mostly usable and valid.
2005-07-20 21:09:28 +00:00
rillig
634fbab5eb Don't show warnings for tool names that are enclosed in single quotes.
Replace ${PHPPKGSRCDIR} with ../../lang/php5 when expanding Makefile
variables. Show a warning if Makefile variables contain unresolved
substitutions after expanding them. Fixed a newly introduced bug that
prevented bsd.sites.mk from being found.
2005-07-20 21:04:16 +00:00
rillig
feedddadf3 Added a subroutine expand_variable that replaces certain known ${...}
substrings with reasonable values.
2005-07-20 18:20:27 +00:00
rillig
0e8288f766 Removed global variable for checking type conformity of Makefile variables. 2005-07-20 17:32:15 +00:00
rillig
4cd98ed128 Removed global variable %seen_Makefile_include. 2005-07-20 17:11:56 +00:00
rillig
0461cf930d Removed globally visible variable %predefined_sites. It is now a
"static" variable of the check_predefined_sites subroutine.
2005-07-20 17:08:59 +00:00
rillig
134872c680 Changed the default value of $pkgname from "" to undefined. 2005-07-20 16:56:24 +00:00
rillig
be35fe2dc1 Removed three more global variables. 2005-07-20 16:52:28 +00:00
rillig
696a1c3dc8 Removed global variable $pkgsrc_rootdir. 2005-07-20 16:38:10 +00:00
rillig
ff1cbbd6d6 The package's files are now processed by a large switch inside a loop
instead of many switches, each in its own loop. That way, each file is
only checked once.
2005-07-20 16:28:32 +00:00
jlam
e26a9ed756 Drop support for TOOLS_DEPMETHOD.<tool>. The new way to specify a
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier
to the tool name, e.g.,

	USE_TOOLS+=	perl:run

Tools without modifiers or with an explicit ":build" modifier will
cause build dependencies (BUILD_DEPENDS) on those tools to be added.
This makes the notation a bit more compact.
2005-07-15 20:14:02 +00:00
rillig
65c501b6e6 Don't use reserved variable names (${_f_} => ${f}). 2005-07-05 01:09:17 +00:00
rillig
79ea6ab3c9 Removed the need for the global variable $opt_packagedir. No user-visible
changes.
2005-07-02 23:13:58 +00:00
rillig
c1037d8c75 Removed very old checks for files/md5, files/patch-sum, COMMENT and pkg/. 2005-07-02 22:31:17 +00:00
rillig
51b3b77959 Added a parameter to the checkfile_* subroutines that specifies the base
directory of the package. The other parameter, the file to check, is
always relative to the current directory.
2005-07-02 22:23:47 +00:00
rillig
e2d2fab6bc TODO: make all pathnames relative to the current directory. 2005-07-02 15:22:52 +00:00
rillig
2b6133ab33 The subroutine check_package gets the package directory as argument.
This is the first step to get rid of the global $opt_packagedir
variable. While doing this, I will hopefully notice all uses of relative
pathnames and repair them, so that pkglint can be called with multiple
arguments soon.
2005-07-02 15:21:13 +00:00
rillig
7d1d2b772c 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
default.
2005-07-02 14:46:06 +00:00
rillig
76a7152077 Removed the check for expanded RCS tag completely, assuming no one will
ever need to distinguish between expanded and unexpanded RCS tags while
committing.
2005-07-02 12:02:58 +00:00
rillig
ebdbfd378d Clarified the warning message when an uncommitted file has an expanded
NetBSD RCS tag instead of an unexpanded one. A user had complained about
it.
2005-07-01 21:12:18 +00:00
rillig
607d58548d The subroutines checkfile_MESSAGE, checkfile_PLIST, checkfile_distinfo and
checkfile_patches_patch are called with path names relative to the current
directory, not to the package directory. The other subroutines will follow.
2005-06-27 19:28:08 +00:00
rillig
7b546b206d Don't warn on empty scripts/ directories, which may occur during CVS
updates. Don't write logging messages for Makefiles that are being read
but for Makefiles that are included and for those whose inclusion is
skipped. Skip include files that contain Make variables. When checking
for direct use of shell commands, don't print the line continuation,
that is the trailing white-space and backslash. These changes lead to
pkglint-4.18.
2005-06-24 22:36:59 +00:00
rillig
16d5984a59 pkglint complains about empty DESCR files again. Fixes PR 30509. Updated
version number to 4.17.1.
2005-06-14 03:52:01 +00:00
rillig
25b5a911d7 Check for non-normalized dependency lines like package:../package instead
of package:../../category/package.
2005-06-07 17:53:08 +00:00
wiz
07a4a586a1 Remove USE_GIF. 2005-06-03 13:54:32 +00:00
wiz
cc0d324a0c Remove USE_IDEA. 2005-06-03 13:26:17 +00:00
wiz
f22fa09090 Remove USE_ESOUND. 2005-06-03 13:20:24 +00:00
wiz
80d0469364 Fix grammar in comment. 2005-06-01 14:54:18 +00:00
rillig
80e3d86e1a Added PKG_PRESERVE, NO_PKGTOOLS_REQD_CHECK and NO_PKG_REGISTER. 2005-05-31 22:03:02 +00:00
rillig
89368bbb35 When checking the type of variables, the variable name must begin at the
beginning of a line. This fixes false warnings for variables that are
commented out. Added ${JAM_COMMAND} to the commands that may have
"install" or "test" as arguments.
2005-05-31 21:32:45 +00:00
rillig
c338f5dab6 Removed unused subroutine abspathname. Added the things it did to the TODO
list.
2005-05-31 21:15:06 +00:00
rillig
390ee38b79 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.
2005-05-31 20:44:02 +00:00
rillig
95d1b6957c Renamed -Wexpensive to -Wbl3. By default this option is enabled. Added a
subroutine checkfile_buildlink3_mk that performs the basic Makefile
checks on buildlink3.mk, if it exists.
2005-05-26 07:07:00 +00:00
rillig
697bd74e7e Added a command line option -Cexpensive, which enables more expensive
checks. Currently the effects are that buildlink3.mk files are read in.
Moved around code in checklines_direct_tools to allow $regex_tools to be
used in the list of legitimate shell commands. Added a new rule that
legitimates tool names inside double quotes.
2005-05-26 06:50:09 +00:00
rillig
9747906084 Renamed $distinfo to $distinfo_file, to match the pkgsrc variable name.
When calculating the value of $distinfo, PKGDIR gets replaced with $pkgdir.
2005-05-26 06:26:10 +00:00
rillig
5d0fbe27cc Reduced the debugging messages to the ones that provide useful context
or additional information about the further checking process.
2005-05-26 06:17:20 +00:00
rillig
5ed85b2808 Made the regular expression for direct use of tools in shell commands
stricter. Changed capturing groups into non-capturing groups. Added log
messages for legitimate uses of tools in shell commands and variables.
2005-05-26 05:52:34 +00:00
rillig
f41381460b Marked a bunch of warnings as "vague". These warnings are enabled by
default, but can be disabled by using the -Wno-vague command line
option. These warnings will be replaced step-by-step with new-style
warnings.
2005-05-26 00:16:36 +00:00
rillig
99d190a2ee Added the dirname($file) to the search path for include files when
scanning package Makefiles. Changed the output format to include a
newline where necessary. Added the search path to the error message.
This might fix PR 30322.
2005-05-25 17:41:18 +00:00
wiz
31a5af7870 Add: * fatal error if RMD160 missing 2005-05-25 13:12:10 +00:00
rillig
9637ca8c4c Added EXTRACT_USING, INTERACTIVE_STAGE and MANSOURCEPATH to the list of
variables that accept direct tool names.
2005-05-25 01:07:24 +00:00
rillig
bf484e0863 In checklines_direct_tools, quote shell commands, too. Unquoted shell
commands are too hard to recognize.
2005-05-25 00:53:35 +00:00
rillig
2bbdfbed9b Fixed a regular expression in checklines_direct_tools. Added debugging
output.
2005-05-25 00:00:24 +00:00
rillig
3b9d17fc0b Minor wording fix. 2005-05-24 23:50:07 +00:00
rillig
bc3f2c494f Rewrote the part of detecting direct use of tools in variables and shell
commands. The warnings are precise (file, line, varname, shellcmd) and
can be easily translated into Perl code. They might even be placed in
external files someday.
2005-05-24 23:49:03 +00:00
rillig
f975a8d8d5 When converting USE_PERL5 to USE_TOOLS, the user might want to set
TOOLS_DEPMETHOD.perl=DEPENDS.
2005-05-24 21:29:59 +00:00
rillig
bca3a34da0 Made perl a run-time dependency. 2005-05-24 21:28:21 +00:00
rillig
db31dbdd4b Converted USE_PERL5 into USE_TOOLS. Changed the SUBST stage to
post-configure. Removed DISTVER variable.
2005-05-24 21:24:30 +00:00
rillig
5c413007cc Added USE_PERL5. Added a comment when these definitions may be removed. 2005-05-24 21:19:11 +00:00
rillig
f519bf67f7 Replaced the algorithm in check_category with one that is fast, correct and
always terminates. I somehow got the old algorithm into an endless loop.
2005-05-24 20:17:31 +00:00
rillig
dfb3e8627f Renamed category_check to check_category. Using $dir inside
check_directory, as opt_packagedir wasn't named appropriately.
2005-05-24 19:14:19 +00:00
rillig
b4b5823590 Added stricter checking for the RCS Id tags. Now they are always required
to be in the first line of a file, except for MESSAGE files. Rewrote the
warning for RCS Ids in patches (binary => no-keyword).
2005-05-24 18:56:37 +00:00
rillig
e53d0fa6c3 Bugfix release for lintpkgsrc. Now I know why some packages use
${.CURDIR} when including other Makefiles. This is no longer necessary.
Welcome to 4.17.
2005-05-24 15:39:05 +00:00
rillig
22f3d4bdbf Add "." to the list of .include directories when reading package
Makefiles. This fixes PR 30322.
2005-05-24 15:37:17 +00:00
rillig
8a0fc0bbf6 Keep all Makefile lines for processing. Replaced the algorithm for
detecting contiguous empty lines. Better checks for pkg/ directory.
2005-05-24 14:29:52 +00:00
rillig
d1f3a37bf8 Allow multiple USE_TOOLS+= lines. 2005-05-24 12:38:41 +00:00
rillig
4eaf0c5194 Marked USE_GNU_TOOLS as deprecated. 2005-05-24 10:54:20 +00:00
rillig
48ea185224 Write white-space like in SUSv3 and the man pages. 2005-05-23 09:31:20 +00:00
rillig
4cac391a07 Added NO_MTREE. 2005-05-23 09:26:53 +00:00
rillig
7a70bca6f5 lintpkgsrc(1) honors the PKGLINT_FLAGS environment variable, which can be
used together with the -l option.
2005-05-23 08:35:41 +00:00
rillig
762d18bb06 Fixed man page handling on platforms that don't have the mandoc macros.
Together will all the other changes of the last days, this makes up version
4.16. Most changes affected the elimination of false warnings.
2005-05-23 07:50:40 +00:00
rillig
7b3ceac6de When opt_dumpmakefile is activated, only print the contents of the Makefile
once, with line numbers.
2005-05-23 06:52:35 +00:00
rillig
fb5b667885 Only warn about use of $(VARIABLE) if it is not preceded by another $.
This avoids false positives in sed(1) expressions.
2005-05-23 06:47:11 +00:00
rillig
0d0858257f Fixed a bug introduced by the message normalization patch (forgot a !
operator). Don't blame the user for using tool names in PKGSRC_USE_TOOLS
and USE_TOOLS definitions, as this is what they are for.
2005-05-23 00:10:42 +00:00
rillig
244d9e6203 Normalized capitalization of log messages. 2005-05-22 23:53:56 +00:00
rillig
5f24a05a63 Reformatted the initial comment. Changed my mail address to NetBSD.org. 2005-05-22 22:59:41 +00:00
rillig
160d9a4856 Updated the man pages. 2005-05-22 22:53:13 +00:00
rillig
22e5695f16 Don't check the order of the Makefile sections if a Makefile.common is
included. Also added a command line option -Wno-order to force this.
2005-05-22 22:50:41 +00:00
rillig
00ad112223 Made the check for non-empty RCS Id tags independent from the --verbose
command line option.
2005-05-22 22:37:01 +00:00
rillig
dbdfd3d542 Added NO_BUILD. 2005-05-22 22:28:24 +00:00
rillig
e412550a87 Extend the deprecated variables check to the included Makefiles, too. 2005-05-22 22:27:52 +00:00
rillig
b451fb4e8e Added USE_LIBTOOL and USE_PKGLOCALEDIR. 2005-05-22 21:50:08 +00:00
rillig
ab4df27f25 Extended reading of Makefiles to return both---a string containing the
complete Makefile with includes and a list of lines, also with includes.
This list of lines is the first step towards better error and warning
messages (including file and line number). A first effect of this change
is that the use of Makefile variables is checked even in the .include'd
Makefiles.
2005-05-22 21:08:33 +00:00
rillig
f4a7efea2e Simplified the way individual files are checked. 2005-05-22 18:41:44 +00:00
rillig
f6e977c745 Removed a check for *.tgz in the package directory. This check has been
here since revision 1.1, and is very unlikely to occur.
2005-05-22 14:54:18 +00:00
rillig
fd8833f5d8 Changed the way trailing empty lines are detected. This adds line
numbers to the warnings and allows to check for trailing empty lines in
patch files. Embedded the check for files not ending with newlines into
the load_file() subroutine.
2005-05-21 12:29:02 +00:00
rillig
f3c0f594e9 Don't include buildlink3.mk files when reading the Makefile. This
results in much less false warnings, but sadly adds some to the
koffice-18n packages. The main reason for this change is that the
execution time of pkglint is reduced by 20%.
2005-05-20 01:36:46 +00:00
rillig
41c6839453 Removed misleading comment. 2005-05-19 11:47:18 +00:00
rillig
da3f2e7c2d Simplified some uses of log_error(), log_warning(), log_info(). 2005-05-19 11:37:47 +00:00
rillig
80cc5559e3 Removed unnecessary code from checkpathname(). 2005-05-19 11:06:18 +00:00
rillig
a30475f574 It is now possible to invoke pkglint with multiple directories to check.
Fixed some instances where filenames were printed only relative to the
checked directory. Now the directory is printed, too.
2005-05-19 11:02:03 +00:00
rillig
7c37786f80 Fixed a typo in the command line options (conblank => contblank). 2005-05-19 08:42:36 +00:00
wiz
bf5a10413d 4.15.1: Fix PLIST (hi Roland!). 2005-05-18 21:06:58 +00:00
rillig
f3dd057ade Removed the check if ${PKGBASE} ends in a digit. This check only
produced false warnings, and it should be clear from the other package
names how PKGNAME should look like. It is even documented in the pkgsrc
guide.
2005-05-18 19:08:42 +00:00
rillig
859bc7f974 Removed the check for absolute filenames, as it has produced too many
false positive warnings. Added a reminder to TODO that a similar check
be added to pkglint. Welcome to 4.15.
2005-05-18 08:28:06 +00:00
rillig
8c4803e6f8 Renamed PkgLint::FileUtils to PkgLint::FileUtil, for consistency with Util. 2005-05-18 03:48:43 +00:00
rillig
8f0986cd27 Moved print_table() from ::main to PkgLint::Util. 2005-05-18 03:47:24 +00:00
rillig
34a4367906 Renamed PkgLint::Utils to PkgLint::Util, just for fun. 2005-05-18 03:43:13 +00:00
rillig
971bef4d6e Removed unnecessary comment. 2005-05-18 03:38:03 +00:00
rillig
6f71ee99dc 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.
2005-05-15 02:38:56 +00:00
rillig
be9e6c0d80 TODO: Check for C/C++ style comments in Makefiles. 2005-05-14 00:38:56 +00:00
wiz
d0a8978cf5 Fix typo. 2005-05-10 22:30:15 +00:00
rillig
c4074738e5 Changed default pkglint_flags to -q -Wno-workdir. Slightly modified the
output format.
2005-05-10 19:07:07 +00:00
rillig
1e5c808685 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.
2005-05-10 19:04:53 +00:00
rillig
69e2e00c3d Added more deprecated variables from mk/defaults/obsolete.mk. 2005-05-10 00:12:18 +00:00
rillig
21c7278253 Don't include ../../mk/java*.mk when reading in the Makefile. This avoids
false positive warnings for the deprecated PKG_JVM variable.
2005-05-10 00:09:18 +00:00
rillig
526576882f The TOOLS phase is not needed for pkglint. 2005-05-10 00:07:53 +00:00
wiz
2392e577cd Refer doc/pkgsrc.html instead of Packages.txt (HOMEPAGE variable). 2005-05-07 22:24:04 +00:00
rillig
69bf1568b2 When detecting the pkgsrc root directory, don't rely on Packages.txt, as
that will be removed soon. Approved by wiz.
2005-05-07 22:21:23 +00:00
rillig
7f2465a3a5 Replaced the shell here-document operator with qw(...). No functional
changes. Approved by wiz.
2005-05-07 21:22:40 +00:00
rillig
0985068dda Swapped out the definition of deprecated variables to an external file.
Welcome to 4.13. Approved by wiz.
2005-05-07 15:10:24 +00:00
rillig
e490f7bac8 Don't use hard-coded /usr/pkgsrc, but @PKGSRCDIR@. Approved by wiz. 2005-05-07 00:04:33 +00:00
rillig
1976ccd594 Added --explain option. 2005-05-05 22:59:18 +00:00
rillig
e8827c4d28 Removed the -Wpatches command line option, because -Cpatches does the
same and fits better. Removed checking for the (deprecated) NO_WRKSUBDIR
Makefile variable. Approved by wiz.
2005-05-01 11:41:17 +00:00
rillig
b65911e7f3 Added TODO list for pkglint. 2005-04-30 11:50:42 +00:00
rillig
97e265c918 Read the definitions for MASTER_SITES_* from <mk/bsd.sites.mk> instead of
hard-coding them in the source code. Approved by wiz.
2005-04-29 22:22:09 +00:00
tv
8953ea028d Remove NO_BUILDLINK from makevars.map -- no-op now, but changed the package,
so number this 4.12.1.
2005-04-12 15:12:33 +00:00
rillig
191194483c Took over maintainership. Suggested and approved by wiz. 2005-04-12 01:07:44 +00:00
rillig
d4533a8e71 Globally replaced calls to the log_* functions by shorter variants. This
helps avoid typing errors. Approved by jlam.
2005-04-12 01:06:58 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
tv
c85d0eb744 Remove USE_BUILDLINK3 support, and deprecate the name instead. 4.12. 2005-04-11 19:01:31 +00:00
riz
5d9b0df66a Update to 4.11:
Remove references to PLIST-mi, and substitute check for PLIST.common
instead.  Fixes pkg/29848 by me.  Approved by wiz.
2005-04-07 18:31:09 +00:00
abs
a697358a31 Update pkglint to 4.10:
Fix variable usage when checking distinfo Size values, and more
	than one package references the same distinfo file with different
	sizes.
2005-04-04 11:04:33 +00:00
wiz
d75cb5b66b Improve a warning; from Lex Wennmacher in PR 29796. 2005-03-28 02:16:55 +00:00
abs
f0b56b8383 update pkglint to 4.09:
Handle ! in .if conditionals, plus move slightly closer to the real
'make's behaviour when using defined() and empty(). Should fix pkg/28346
2005-03-07 22:21:15 +00:00
rillig
8d1bfd3b58 Minor wording changes. Fixed a bug. (The string "$line->text" does not call
the method text() on $line, so I had to get the method call out of the string
quotes. Approved by jlam.
2005-02-24 22:50:44 +00:00
wiz
ba6d630659 4.07: Use correct variable in workdir-cleanup warning. 2005-02-23 11:45:16 +00:00
wiz
f423e8ead4 Claim maintainership. 2005-02-21 23:16:34 +00:00
hubertf
9a981bcfbe Sign over maintainership to tech-pkg@ 2005-02-21 20:26:08 +00:00
rillig
7e439d29ee Included the location of the warning or error in the messages for
everything except Makefiles. (Makefiles which will follow soon.) This makes
most warnings more useful. Together with the last few changes, we are
now at version 4.06. Approved by wiz.
2005-02-17 23:31:07 +00:00
rillig
cee6b6068c Rewrote the readmakefile routine. Now pkglint runs faster, and the log
messages are formatted nicer. It produces more (reasonable) warnings,
but also some more false positives. Did not increase DISTNAME, as the
change is not yet big enough. Approved by wiz.
2005-02-16 07:12:37 +00:00
rillig
ee2cdf2792 Changed the message about sorting PLIST files from FATAL to WARNING.
Approved by wiz.
2005-02-16 00:21:17 +00:00
rillig
7b8bcfe094 pkgtools/pkglint: Added checks for proper quoting of shell variables
($ vs. $$). Welcome to 4.05. Approved by wiz.
2005-02-15 21:07:01 +00:00
cube
a64b7f6bd5 Make file(1) happy about plist-clash.pl. Fixes PR#29366 by Akio OBATA.
Welcome to version 4.04.
2005-02-14 22:14:48 +00:00
rillig
f6103d78ce Pkglint now checks that the file entries in PLIST files are correctly
sorted. Welcome to 4.03.
2005-02-12 21:34:47 +00:00
rillig
3d47b94c7f Added type checking for Makefile variables. The typechecking is
experimental and has been announced on tech-pkg to make the package
developers aware of it.
2005-02-12 11:27:14 +00:00