summaryrefslogtreecommitdiff
path: root/pkgtools/pkglint/files
AgeCommit message (Collapse)AuthorFilesLines
2016-06-19USE_CROSSBASE is deprecated, remove it.wiz1-1/+0
Bump version.
2016-06-10Updated pkglint to 5.4.1.rillig8-17/+117
Changes since 5.4.0: * PKG_SKIP_REASON is no longer marked as deprecated, since it still has its value * When PKG_SKIP_REASON is defined depending on OPSYS, suggest to use NOT_FOR_PLATFORM instead. * Check for ROOT_USER/ROOT_GROUP being used in special file permissions; using REAL_ROOT_USER/REAL_ROOT_GROUP is better.
2016-06-05Updated pkglint to 5.4.0.rillig52-1949/+5394
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 bsd.prefs.mk 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
2016-04-10USE_DESTDIR is gone.joerg1-1/+0
2016-03-13Updated pkglint to 5.3.6.rillig11-85/+206
Changes since 5.3.5: * Warn about !empty(${VARNAME}), which should be !empty(VARNAME) * Distinguish ${VARNAME} == "value" and ${VARNAME:Mpattern} * Corrected isQuotingNecessary for some variable types * Generally, parse files from mk/, since they define variables used by packages. This avoids wrong warnings about possible spelling mistakes. * Warn about $(VARNAME) (with parentheses instead of braces) * Warn about missing final @ in ${VAR:@var@...@} * Updated list of hardware architectures * Enabled CPU profiling on NetBSD
2016-01-31Updated pkglint to 5.3.5rillig14-182/+418
Changes since 5.3.4: * Added parser for Makefile conditionals * Variables that are matched using the :M modifier are checked whether the matched value is sensible * Reworded and explained warning for variable ordering in packages * Fixed bug in Tree.String * Fixed a few variable types
2016-01-27Updated pkglint to 5.3.4rillig22-68/+110
Changes since 5.3.3: * Added some unit tests * Fixed the Makefile parser to recognize seldomly-used variable modifiers like :S///S/// without intermediate colon or :ts\n * Cleaned up some unit tests * Combined diagnostics that span multiple lines into single-line ones
2016-01-26Updated pkglint to 5.3.3rillig4-13/+49
Changes since 5.3.2: * The -e, -fs, -F options are advertised even when no warnings and errors occurred. In such a case, there were only notes, and some of these can also be autofixed. * Special handling for autoconf{,213} tools, since mentioning these in USE_TOOLS makes available more than just one tool command. * Downgrades from 1.0nb17 to 1.0 are no longer flagged as warnings. * Files in /wip/mk/ are scanned like all other files, to prevent warnings about undefined or unused variables.
2016-01-24Fixed accidental RCS Id in source coderillig1-1/+1
2016-01-24Updated pkglint to 5.3.2rillig7-70/+349
Changes since 5.3.1: Alignment of variable values is no longer checked by single line, but by the complete block (e.g. SUBST_*). Pkglint now checks that all variables belonging to a block are indented consistently, so that their values are aligned nicely. Since pkglint does not report warnings, but only notes, and since it can fix them automatically, the burden on the package developers will be very low. Especially, since these notes are only printed when pkglint is called with the -Wspace or -Wall options. Also, pkglint supports running its unit tests now.
2016-01-16Updated pkglint to 5.3.1rillig1-5/+8
Changes since 5.3: * disabled CPU profiling on NetBSD, since it crashes without any output; see https://github.com/golang/go/issues/13914
2016-01-12Small cleanup after version 5.3rillig2-3/+3
2016-01-12Updated pkglint to 5.3rillig69-4795/+7514
Changes since 5.2.2.2: * 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 builtin.mk. They may also be used during load time, not only during run time, under the assumption that in most cases the bsd.prefs.mk has already been loaded. Some individual variables may be defined or used in places where this was not allowed before. CHECK_BUILTIN.*, BUILDLINK_TARGETS, TOOLS_DEPENDS.*, BUILDLINK_DEPMETHOD.*, SUBST_CLASSES. 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. * PLIST 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 buildlink3.mk, 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: x11/kdebase3/options.mk). - Improved buildlink3.mk 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.
2015-12-30Add Bitrig and MirBSD to the list of OSes.dholland1-2/+2
2015-12-25Avoid matching RCS ID patterns.joerg2-2/+2
2015-12-10Bump php default version to 55 to follow pkgsrc.wiz1-1/+1
Bump version.
2015-12-05Code cleanuprillig5-144/+157
Makefile lines are now distinguished from ordinary lines. Running "pkglint -r -Wall -Call" on the whole pkgsrc tree produces the same result as before, except for the reporting of internal pkglint errors, where pkglint doesn't know how to parse certain shell commands. Therefore no version change.
2015-12-05Code reorganization, unit test for loading tool definitionsrillig11-71/+131
A run of "pkglint -r -Wall -Call" over the whole pkgsrc tree produces identical output as before, therefore the version number is kept.
2015-12-05Updated pkglint to 5.2.2.rillig5-21/+21
Changes since 5.2.1: * Fixed wrong error messages about "Unknown Makefile line format"
2015-12-05Updated pkglint to 5.2.1.rillig21-242/+238
Changes since 5.2: * Fixed wrong warning about patches/CVS being an unrecorded patch * pkgsrc-wip also needs NetBSD as RCS Id, instead of Id * Code cleanup: grouped the checklineMk functions into one file
2015-12-05Split PlistLine.checkPathname into smaller functionsrillig12-102/+123
2015-12-05Code cleanup: converted ALL_CAPS to camelCaserillig27-1102/+1112
2015-12-05Updated pkglint to 5.2.rillig31-346/+581
Changes since 5.1: * Fixed distinfo check for unrecorded patch files (thanks, wiz) * Command line options parser accepts abbreviations (--a instead of --autofix) * Realistic unit tests using temporary files * General code cleanup (using gometalinter)
2015-12-02Updated pkglint to 5.1.rillig16-53/+178
Changes since 5.0: * Fixed --autofix mode (it hadn't been enabled before) * The --autofix mode now advertises itself when it can do something * The --autofix mode now adds missing empty lines to patch files (only in the leading text section, not in the actual patch content) * Made --autofix code simpler ({prepend,append}{Before,After} was not really needed) * Fixed unit tests to report invalid command lines * Added some more unit tests
2015-11-25Updated pkglint to 5.0rillig93-10822/+10553
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
2015-11-02Fixed patch detection in distinfo filesrillig1-2/+2
Up to now, all files whose names started with "patch-" were considered patch files. This was wrong, since e.g. devel/patch also has distfiles with the same naming pattern.
2015-10-27Removed checkline_spellcheckrillig2-15/+2
It didn't provide much technical value, and its error message was not polite anyway.
2015-10-27Removed unused load_shared_dirsrillig1-65/+1
2015-10-24Drop EOLed PostgreSQL 8.4 and 9.0 from the supported list of PGjoerg1-2/+2
versions.
2015-10-15Fixed one of the unit testsrillig1-2/+2
2015-10-15Reverted part of 1.888 (perlcritic --stern)rillig1-3/+3
The warning that "return undef" is bad must be taken with great care. Although perlcritic explains it a lot and warns to think before simply fixing it, it doesn't mention that in some cases a simple "return" means "return '0'", which had happened here.
2015-10-15Moved the code for checking shell commands into its own filerillig2-714/+710
2015-10-15Code cleanup for loading files that must existrillig1-87/+52
2015-10-15Replaced distinfo algorithm MD5 with SHA512rillig1-55/+32
* Removed needless check for MD5; all packages have been migrated already * Made the code simpler by not relying on state transitions * Allowed the newly introduced SHA512 to be mentioned in distinfo
2015-10-11Fixed some of the errors reported by perlcritic in --stern moderillig10-12/+21
2015-10-11Fixed errors reported by perlcritic in --gentle moderillig12-95/+91
2015-10-11Moved the code for checking patch files into its own filerillig3-645/+652
The pkglint.pl file has grown pretty large, which makes it hard to under- stand. Therefore it is useful to split it into reasonable parts. The code for checking patch files is such a part since it is independent of the rest of pkglint, and its specialized routines take quite a bit of space.
2015-10-11Fixed runtime error introduced in version 1.884rillig1-1/+2
The variable $m had been dereferenced although it was undefined.
2015-10-11Removed the code that checked for buildlink.mk files from before 2009rillig1-217/+6
2015-10-11Performance: replaced some regular expressions with string functionsrillig1-36/+30
Using regular expressions provides more uniform code, but at the cost of higher runtime, since Perl doesn't optimize them away, even if they are very simple, like those emulating the startswith() or endswith() functions that other languages provide.
2015-10-11Performance: removed some needless string interpolationsrillig3-11/+18
2015-10-11Migrated pkglint to Perl 5.12.rillig1-54/+29
2015-10-11Removed redundancy from the patch file checker's data structuresrillig1-53/+51
2015-10-11Made checking of patch files a little fasterrillig1-43/+70
The transition table is using a two-stage lookup now. The redundancy of the data structure will be removed in a follow-up commit.
2015-10-11Fixed warning for using github.com in MASTER_SITES.rillig1-1/+8
2015-07-04Remove USE_X11BASE and X11PREFIX.joerg1-3/+1
2015-07-03Update pkglint to 4.156 - "8" is also a valid USE_JAVA2 valueabs1-2/+2
2015-06-29Rename MASTER_SITE_SOURCEFORGE_JP to MASTER_SITE_OSDN.ryoon1-2/+2
sourceforge.jp is renamed to osdn.jp. However its mirror sites are not ready for osdn.jp.
2015-06-14Fix some perl-5.22 warnings.wiz1-4/+4
Bump version.
2015-05-03Add BOOTSTRAP_PKG and USE_GCC_RUNTIME variables to makevars. Patch frombsiegert1-1/+3
Olivier Duclos on tech-pkg. Bump package version.