Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
rc.d scripts at boot time as one "service" in your operating system's
normal boot process. Just Darwin so far. Please pitch in for your
preferred OS!
|
|
Changes since 5.6.7:
In pkgsrc-wip, if the first line of a file contains an expanded CVS Id,
it is not an error but only a note that it should be an unexpanded CVS
Id. The autofix for this no longer inserts a new line but replaces the
existing line.
Several refactorings and small improvements to the existing diagnostics.
|
|
|
|
Changes since 5.6.6:
User-defined variables that are not yet added to BUILD_DEFS are only
reported once per file.
Unnecessary space after variable names is only worth a note instead of
a warning. Example:
MASTER_SITES = https://cdn.example.org/
All variable names that are defined in the pkgsrc infrastructure are
assumed to be available to the package Makefiles. This reduces the
number of wrong "used but not defined" warnings, at the expense of
Variable names that are used in other variable names are checked
whether they are defined somewhere. Example:
CFLAGS+= ${CFLAGS.${PARAM}} # PARAM is now checked
In SUBST_SED, when the pattern is s,@VAR@,${VAR}, or a slight variant
thereof, pkglint suggests to define SUBST_VARS instead, which frees the
package author from thinking about how to escape special characters and
is generally easier to read. Example:
SUBST_SED.class= s,@VAR@,${VAR:Q},
SUBST_VARS.class= VAR
Directives like .if !defined(...) are now handled the same whether or
not there is a space after before the (...).
The check for locally modified files now works independently of the
timezone.
As always, lots of refactorings have happened under the hood. Many small
bugs have been discovered and fixed accordingly.
|
|
Changes since 0.3:
* when a regression test fails, the exit code of pkg_regress is 1
instead of 0.
|
|
|
|
|
|
purposes or to speed up builds when the full WORKOBJDIR can be blown
away later much more efficently.
Bump version. OK: abs@
|
|
override this check.
|
|
Confirmed with bsd.own.mk in Minix 3.4RC6 base.
|
|
|
|
|
|
|
|
|
|
go-package.mk needs to be included at the bottom of the package Makefile
since it defines several make targets that pkglint also defines.
|
|
Pkglint needs goyacc, which is provided by devel/go-tools. But that
packages pulls in a lot of dependencies that are not needed for pkglint.
This includes a Perl interpreter and various cryptography packages.
Instead, during build, pkglint installs the only needed tool of that
collection (goyacc).
Since go-package.mk assumes that each pkgsrc package only downloads and
installs a single project, but pkglint now needs two of them (goyacc and
pkglint), most parts of go-package.mk had to be copied here and
implemented directly.
|
|
|
|
|
|
Changes since 5.6.5:
- Removed plist-clash since it had crashed unconditionally whenever it
was called. This means that in the last 3 years, nobody can have
used it in the originally intended way.
- Fixed interactions between the --source, --explain, --show-autofix,
--autofix and --only options.
- Fixed "defined but not used" and "used but not defined" for variables
from the pkgsrc infrastructure.
- Lots of small fixes and improvements found by the large pkglint code
review (12% done).
|
|
riastradh@ ("commit!") with help from maya@.
|
|
|
|
|
|
|
|
|
|
|
|
Changes since 5.6.4:
* GCC_REQD should only contain the major version. For GCC versions up to
4.x, this consists of the first two numbers, such as 4.8, while starting
with the 5.x series, the major version is only the first number, such as
7.
|
|
Changes since 5.6.3:
* Allow += for COMMENT
* Sync variable type definitions with reality
* Fix check for "used but not defined" variables. This check had been
broken since pkgtools/pkglint/files/pkglint.pl r1.776 from 2008-10-18
(3cd071958e63), which missed its 10-year anniversary by just 9 days.
After fixing this check, pkglint produces about 800 new warnings
spread all over pkgsrc, most of which are real typos.
* Detect used variables also in .if and .elif conditions. This is
closely related to the above fix and reduces the number of "defined
but not used" variables, while at the same time producing new warnings
because these variables are used at load time, where some of these
variables are not yet defined.
* Detect variables for which pkglint doesn't know the exact data type
by scanning all files under mk/ at startup. Currently there are about
470 of these variables. No "used but not defined" warnings are issued
for these variables anymore.
* To speed up pkglint when checking the whole pkgsrc tree at once, the
most often needed files are cached to reduce IO load. The checks for
USE_TOOLS are optimized now since they were a major bottleneck.
Together with other performance improvements this makes pkglint about
50% faster when checking the whole pkgsrc tree including pkgsrc-wip.
|
|
Output deprecated warnings to STDERR rather than STDOUT
|
|
BLAKE2 is a further development of the SHA-3 finalist BLAKE by its original
authors that improves its performance. BLAKE2b is the variant optimized for
64-bit systems.
ok riastradh
|
|
Changes since 5.6.2:
* Add check for version patterns 1.5*, which should rather be 1.5.*
* Re-enable check for "set -e" and commands that may silently fail
because of missing error checking
* Lots of internal clean-up and tests
|
|
|
|
|
|
|
|
Fixes manual page installation. Bump PKGREVISION.
|
|
## Version 0.11.6 (2018-09-20)
* Fix -Werror=conversion build issue.
|
|
## Version 0.11.5 (2018-09-20)
* Fix crash when preferred.conf exists but is empty.
* Improve preferred.conf handling.
* Fix package not available message when attempting to install a non-existent
package.
* Small performance improvement in newline handling.
|
|
Most of the times setting NO_CONFIGURE is not needed and can badly
interact with SUBST framework like in this case as pointed out by
PR pkg/53606.
Fixes PR pkg/53606.
|
|
Changes since 5.6.1:
* Improved checks that depend on whether bsd.prefs.mk is included or
not.
* Improved checks for tools, whether they may be used at load time
or at run time.
* Improved tokenizer for shell commands. $| is not a variable but a
dollar followed by a pipe.
* Warnings about SUBST context are now shown by default.
* A warning is shown when a SUBST block is declared for *-configure
but the package has defined USE_CONFIGURE=no.
* Don't warn about USE_TOOLS:= ${USE_TOOLS:Ntool}.
* Don't warn about using the ?= operator in buildlink3.mk files before
including bsd.prefs.mk (for some more variables, but not all).
* Report an error for packages from main pkgsrc that have a TODO or
README file. Packages should be simple enough that they don't need
a README file and ready for production so that they don't need a TODO.
* Lots of small bug fixes and new tests.
|
|
In the next version, pkglint will report an error if a package has a
README or a TODO file. The content of the current TODO file is still
available at https://github.com/rillig/pkglint/blob/master/TODO.md.
|
|
|
|
This is based on the decision The NetBSD Foundation made in 2008 to
do so, which was already applied to src.
This change has been applied to code which is likely not in other
repositories.
ok board@, reviewed by riastradh@
|
|
|
|
|
|
Changes since 5.6.0:
* Fix output of relative paths in the diagnostics (thanks @wiz)
* Fix parsing of ${VAR:ts---}; it is now a syntax error
* Load more type definitions from mk/* instead of hard-coding them
* Lots of refactoring to improve test coverage, fixing several
small bugs as they were found
|
|
script is invoked with any command specified.
|
|
Add `cc-by-sa-v4.0', `cc-by-v4.0' and `osl' to *default_acceptable_licenses to
sync it with DEFAULT_ACCEPTABLE_LICENSES of mk/license.mk.
|
|
Changes since 5.5.16:
* Check for negated shell commands (if ! test -z "foo"); they are not
supported by Solaris.
* Don't check variable permissions for infrastructure files. A warning
like "may not be set by any package" doesn't make sense for them.
* Check that PLIST_VARS matches PLIST.*, which is especially useful in
options.mk files.
* Improve checks for options.mk files (for PKG_OPTIONS_SET).
* Prefer options handling with !empty() over checking empty() first.
* Prefer ${MACHINE_ARCH} == i386 over !empty(MACHINE_ARCH:Mi386), for
single-valued variables.
|