Commit graph

5484 commits

Author SHA1 Message Date
rillig
446a181446 pkgtools/pkglint: update to 19.4.0
Changes since 19.3.19:

Empty PLIST files now generate an error instead of a warning since there
is no reason for having these empty files.

If a follow-up line in a Makefile is completely empty, there is no note
about trailing whitespace anymore since the warning about the misleading
empty line already covers this case.

The remaining code changes are only refactorings.
2019-12-30 16:27:13 +00:00
rillig
7efaf56ff6 pkgtools/pkg_regress: update to 0.5
Changes since 0.4:

The log output in verbose mode surrounds each test now and says
immediately whether that test fails. Before, that information was
collected and only shown at the very end of the output, which was
inconvenient.
2019-12-17 15:38:43 +00:00
rillig
c25511f60a pkgtools/pkglint: update to 19.3.19
Changes since 19.3.18:

Small improvements to edge cases in SUBST blocks.

Small improvements to edge cases in variable assignment and alignment
of the continuation backslashes.

The --source option shows the changes from autofix, even when the
--show-autofix option is not given. This is a welcome side-effect of
making the autofix logging simpler and more predictable.
2019-12-16 17:06:05 +00:00
rillig
68f328d785 pkgtools/pkglint: remove mkalign code
This is an early prototype that is not used in the pkglint code. It will
be included when it is ready and tested.
2019-12-15 01:29:06 +00:00
rillig
626431cd38 pkgtools/pkglint: update to 19.3.18
Changes since 19.3.17:

The SUBST check has been completely rewritten. It can handle several
SUBST classes at the same time now. This reduces the number of wrong
warnings.
2019-12-14 18:04:15 +00:00
bsiegert
924057ee4f Revbump all Go packages after Go 1.12.14 update. 2019-12-13 07:43:47 +00:00
rillig
70a94d3869 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.
2019-12-13 01:39:23 +00:00
jperkin
0d591897dd pkgin: Update to 0.14.0.
## Version 0.14.0 (2019-12-12)

 * Ensure reverse dependencies are considered when a "pkgin install" triggers
   an upgrade of a local package, avoiding potentially nasty bugs.
 * Minor performance improvement.
2019-12-12 15:52:53 +00:00
rillig
394bfa01cb 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 bsd.prefs.mk, since that
doesn't make sense. Including bsd.prefs.mk 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 bsd.pkg.mk. 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.
2019-12-09 20:38:15 +00:00
rillig
c08a423e60 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".
2019-12-08 22:03:37 +00:00
rillig
375c4f5dd3 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 <sys.mk> like MACHINE_ARCH, which
are always in scope, and those from mk/defaults/mk.conf, which only come
into scope later, after bsd.prefs.mk 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
anymore.

When a package sets a default value for a user-settable variable (which
is something that should not happen anyway), it should .include
bsd.prefs.mk 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.
2019-12-08 00:06:37 +00:00
rillig
cdbbd83c0c 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
Makefiles.

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
directory.
2019-12-02 23:32:09 +00:00
rin
82fe727284 Indicate the original source it based on. No binary changes. 2019-12-01 06:05:44 +00:00
rin
537a90d421 Add NetBSD RCSID. No binary changes. 2019-12-01 06:03:58 +00:00
rin
0c7eb58a53 Support RPMs compressed by Zstd, found in Fedora 31.
Bump version.
2019-11-30 23:31:30 +00:00
rillig
403ff3f2c1 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.
2019-11-30 20:35:11 +00:00
rillig
a306dffbe5 pkgtools/pkglint: update to 19.3.11
Changes since 19.3.10:

The check for buildlink3.mk 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
else.
2019-11-27 22:10:06 +00:00
wiz
c0f1e20be2 x11-links: remove libXevie
The X server stopped supporting this extension a long time ago.

Bump version.
2019-11-25 09:50:55 +00:00
rillig
e8482d1816 pkgtools/pkglint: update to 19.3.10
Changes since 19.3.9:

In diagnostics for suggested package updates, the exact line of doc/TODO
is mentioned. If a suggested update has an additional comment, the
brackets around that comment are not output anymore.

The check for defined but not used variables has been improved for the
edge case of defining a variable in the package Makefile and using it
in the buildlink3.mk file of the same package, which just doesn't work.

Makefile fragments in patches/ directories are now completely ignored.
It was a hypothetical case anyway.

Comparing PKGSRC_COMPILER using the == or != operators is now considered
an error instead of a warning. The common cases can be autofixed.
2019-11-23 23:35:55 +00:00
rillig
b43d1333d2 pkgtools/pkglint: update to 19.3.9
Changes since 19.3.8:

Match man pages in ALTERNATIVES with their counterparts in PLIST. In
PLIST files, ${PKGMANDIR} may be abbreviated as a simple "man", but not
in ALTERNATIVES.
2019-11-19 06:51:38 +00:00
rillig
6a4fb76594 pkgtools/pkglint4: update to 4.193.2
Changes since 4.193.1:

Disabled unreliable check about possible typos in variable names. For
example, in pkgtools/url2pkg the variable TEST_DEPENDS was flagged even
though it is well-known.

Disabled unreliable check about unknown shell commands. For example, in
pkgtools/pkglint4 all commands from ${PREFIX} are ok, but were still
flagged.
2019-11-18 08:06:58 +00:00
rillig
433c1aee4f pkgtools/url2pkg: add unit test for USE_TOOLS 2019-11-18 07:56:02 +00:00
rillig
6acf204db0 pkgtools/url2pkg: update to 19.3.7
Changes since 19.3.6:

Detect whether the package uses GNU Make, based on the top-level
Makefile.
2019-11-18 07:50:51 +00:00
rillig
2fd8141705 pkgtools/pkglint: be strict about invalid doc/CHANGES entries 2019-11-17 02:55:56 +00:00
rillig
0e893646a7 pkgtools/pkglint4: update to 4.193.1
Changes since 4.193.0:

Don't mark BUILDLINK_TRANSFORM.${OPSYS} as deprecated.
2019-11-17 02:54:10 +00:00
rillig
20fd8730b0 pkgtools/pkglint: update to 19.3.8
Changes since 19.3.7:

Made check for doc/CHANGES file stricter. The check now catches entries
for added packages that are missing the word "version".
2019-11-17 02:06:01 +00:00
rillig
3fab179c40 pkgtools/pkglint: update to 19.3.7
Changes since 19.3.6:

Improved variable value alignment.

Fixed wrong warning about comment lines that were interpreted as shell
commands before.

Warn when the first category of a package doesn't correspond to the
path in the filesystem. This affects 603 packages.

No longer warn about deprecated BUILDLINK_TRANSFORM.${OPSYS}. The
deprecation warning was meant for BUILDLINK_TRANSFORM.${pkgbase}, but
since pkglint cannot distinguish between these, the warnings were wrong.
2019-11-17 01:26:25 +00:00
wiz
b0b2569805 evieext: remove, it's part of xorgproto now
Noted by taca.
2019-11-15 09:18:16 +00:00
rillig
7f67b9fbbe pkgtools/url2pkg: update to 19.3.6
Changes since 19.3.5:

No longer print a stack trace when Ctrl+C is pressed.
2019-11-14 20:03:47 +00:00
triaxx
4427cb5aec pkg_chk: add NO_CHECKSUM= yes to appease pkglint 2019-11-10 10:30:50 +00:00
triaxx
61e73ca199 pkg_chk: fix PR pkg/54675
Some OS (e.g. Arch Linux) do not have hostname in their base set of
packages.

pkgsrc changes:
---------------
  * Replace $(hostname) by $(uname -n).

Thanks jperkin@!
2019-11-10 10:25:43 +00:00
rillig
5d38f7a07a pkgtools/pkglint: update to 19.3.6
Changes since 19.3.5:

Improved indentation and alignment of multi-line variable assignments.

Improved indentation of multi-line shell commands.

Added warning for adding unquoted words to PKG_FAIL_REASON, which is a
list of messages, one per line.

Lines that start with tabs followed by a # are not shell commands, they
are comments. Bmake treats them in the same way.

Change the type of BROKEN to be a list of messages, instead of a single
message. This allows at least a bit of formatting in the error messages.
2019-11-04 18:44:21 +00:00
wiz
6c1e67a77b pkgin: fix build with gcc-8.x
Turn off string truncation and overflow warnings until the code is fixed
2019-11-04 08:39:04 +00:00
rillig
f2837a2c0f pkgtools/pkglint: update to 19.3.5
Changes since 19.3.4:

Variable uses in parentheses (such as $(VAR) instead of ${VAR}) are
treated the same. The ones in parentheses had less support before.

Improved the checks for options.mk files, adding support for options
that are defined using .for loops and those referring to other
variables.

Packages that set DISTFILES to an empty list no longer require a
distinfo file.

Patches whose filename contains the word CVE may patch more than one
target file.
2019-11-02 16:37:48 +00:00
rillig
d4cef40230 pkgtools/pkglint: update to 19.3.4
Changes since 19.3.3:

In cases where the conditions for including buildlink3.mk files differ
between the package itself and its own buildlink3.mk file, explain how
to determine PKG_OPTIONS for dependencies.

Don't issue wrong warnings in options.mk files when the options are
handled in a .for loop.
2019-11-01 19:56:52 +00:00
rillig
5e88ef68e9 pkgtools/url2pkg: update to 19.3.5
Changes since 19.3.4:

Added the license names from R2pkg and texlive2pkg.
2019-10-28 20:17:24 +00:00
rillig
32b1197bb9 pkgtools/url2pkg: update to 19.3.4
Changes since 19.3.3:

The code that handles license names is the same for Python and Perl
modules.

Python packages that use distutils.extension can be handled. An example
package is devel/py-pysha3.

The DESCR file is filled from the package's README file.

The PLIST is generated with some comments providing further assistance.
2019-10-27 19:19:54 +00:00
rillig
7e9533246a pkgtools/url2pkg: move license handling from Python to common code
This way, the code is shared between Python modules, Perl modules, and
maybe in the future R packages.

No functional change.
2019-10-27 13:15:04 +00:00
rillig
48ebfd0f74 pkgtools/pkglint: update to 19.3.3
Changes since 19.3.2:

The rationale for variables like BROKEN, GCC_REQD and for direct
inclusion of builtin.mk files may span multiple lines, and it may end
with an empty comment line.
2019-10-26 11:43:36 +00:00
rillig
fe85bf5b22 pkgtools/pkglint: update to 19.3.2
Changes since 19.3.1:

* Pkglint no longer warns about a missing :Q modifier if there is also
  a :D modifier, since the latter hides the original variable value
  from the expression value.

* Variable names like .CURDIR are now allowed in the _VARGROUPS section.

* In dependency lines like "${_COOKIE.extract}:", pkglint no longer
  warns about the unknown target. No matter whether this is a file name
  or even a list of other targets, there's no chance for a typo here.

* If some dependencies are included conditionally, and the package
  Makefile and buildlink3.mk disagree, and the conditions depend on
  PKG_OPTIONS, pkglint outputs a helpful explanation.

* The check for including builtin.mk directly can be disabled by giving
  a reason in a comment at the end of the line.
2019-10-26 09:51:47 +00:00
rillig
e21dca09cc pkgtools/R2pkg: format source code 2019-10-25 19:00:16 +00:00
rillig
941232a552 pkgtools/R2pkg: remove unused code 2019-10-19 22:10:58 +00:00
rillig
4aeb97616f pkgtools/R2pkg: refactoring 2019-10-19 21:32:02 +00:00
rillig
d5d380541c pkgtools/R2pkg: refactoring, tests 2019-10-19 21:12:18 +00:00
rillig
330530e02e pkgtools/R2pkg: make license handling code simpler 2019-10-19 19:10:31 +00:00
rillig
9f3bbc66d1 pkgtools/R2pkg: create fewer temporary files 2019-10-19 18:47:59 +00:00
rillig
e1a3e3d515 pkgtools/R2pkg: code cleanup, use fewer temporary files 2019-10-19 18:43:51 +00:00
rillig
7592d88865 pkgtools/R2pkg: make USE_LANGUAGES code simpler 2019-10-19 17:30:10 +00:00
rillig
5cb91c7b35 pkgtools/R2pkg: clean up shell program 2019-10-19 17:15:00 +00:00
rillig
80b0ad0df6 pkgtools/R2pkg: clean up shell program 2019-10-19 16:18:55 +00:00