Commit graph

5520 commits

Author SHA1 Message Date
rillig
f9486e2bfe pkgtools/pkglint: update to 19.4.10
Changes since 19.4.9:

In continuation lines with long values, pkglint no longer suggests to
move the continuation backslash in the middle of the variable value, as
that would be impossible.

Warn when a shell command is assigned to a variable that only takes
pathnames. Shell commands can contain command line options, and these
are not pathnames.

The TOOLS_PLATFORM.tool variables are not defined on every platform.
When these variables are used outside an OPSYS check, a warning lists
the platforms where the tool is undefined or only defined conditionally.
2020-03-07 23:35:35 +00:00
brook
eaf33f2b50 Define RPKG, not rpkg, in the environment for R2pkg.R
When reading the environment, R2pkg.R expects RPKG to be the name of the
R package.  Fix the inadvertent use of lower case in the variable name.
2020-03-05 17:15:31 +00:00
brook
86f2f40e73 Add a hyphen (-) to each stored argument so recursive calls work.
In order for recursive calls of R2pkg to work, they must receive the same
set of arguments as the original.  Previous argument handling stripped the
hyphen (-) from each argument; this explicitly restores it.
2020-03-05 17:07:54 +00:00
rillig
2d8401554a pkgtools/pkg_install: add errno details when remove fails
Before, it wasn't clear why removing the file failed. It could be ENOENT
or EPERM or EBUSY, and these lead to different causes.

https://mail-index.netbsd.org/pkgsrc-users/2020/02/28/msg030552.html
2020-03-01 11:02:04 +00:00
rillig
27fa54b11d pkgtools/pkglint: update to 19.4.9
Changes since 19.4.8:

Packages that include omf-scrollkeeper.mk even though their PLIST doesn't
contain any .omf files will generate an error message, suggesting that
the .include line be removed.
2020-02-17 20:22:21 +00:00
rillig
1467f17803 pkgtools/pkg_regress: update to 0.6
Changes since 0.5:

mktemp does not use a file pattern anymore. That file pattern had the
effect that all temporary files had the same name: /tmp/pkg_regress.
2020-02-15 14:40:45 +00:00
rillig
77cc481aa0 pkgtools/pkglint: update to 19.4.8
Changes since 19.4.7:

The diagnostic for homepages using FTP is simpler now.

When running pkglint recursively on the top-level directory, the
inter-package checks (distfile hashes, unused licenses) are enabled
implicitly. This way, the only effect of the -Cglobal option is now
whether the pkgsrc infrastructure files are checked as well.

The check for removed packages that have not been recorded in
doc/CHANGES prints the correct lines when pkglint is run with the
--source option.

Fatal technical errors are no longer treated as diagnostics since they
are none. That was an early conceptual mistake, but since these fatal
error didn't happen often, it didn't matter.

In diagnostics, when referring to other lines, the previously used words
before/after have been replaced with above/below to avoid any confusion
whether space or time is meant.

In CONF_FILES, spaces and quotes are allowed.
See https://gnats.netbsd.org/42191.

Fixed unintended side-effects when running pkglint --autofix --only.
Before, all fixes were applied to the file, whether or not they matched
the --only option.

Fixed resolution of relative paths of the form ../../category/package
when they appeared in an infrastructure file.

Lots of refactorings and housekeeping, as usual.
2020-02-15 13:48:40 +00:00
rillig
96e597af35 pkgtools/pkglint: update to 19.4.7
Changes since 19.4.6:

HOMEPAGE definitions that use http no longer get a warning that they
should migrate to https. Those that could be migrated have been migrated,
and the remaining homepages are not yet ready, so there's no benefit in
having this warning by default. Only in --network mode and when the https
site is indeed reachable, the warning is shown.

In long continued lines, the continuation backslash should be preceded by
a single space. Pkglint had wrongly removed that space in a few cases
before.
2020-02-05 04:09:00 +00:00
bsiegert
f6baaa9181 Revbump all Go packages after go113 update. 2020-02-02 14:18:56 +00:00
rillig
9503650a8e pkgtools/pkglint: use ASCII-only variant of the preformatted manual page 2020-01-26 20:16:29 +00:00
rillig
f49ae4dc78 pkgtools/pkglint: fine-tune manual page 2020-01-26 19:35:22 +00:00
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
rillig
ef335d31bc pkgtools/pkglint: update manual page 2020-01-26 17:18:25 +00:00
rillig
d68fef625d pkgtools/pkglint: update to 19.4.6
Changes since 19.4.5:

Added the --network option, which allows pkglint to use HTTP calls for
determining whether the homepage of a package is reachable.

Added migration from http URLs to the corresponding https URLs. This is
only done if the https URL is indeed reachable or well-known to support
https.

Added migration from https SourceForge URLs back to http URLs since a
previous pkglint run had migrated URLs to non-working https URLs. See
https://mail-index.netbsd.org/pkgsrc-changes/2020/01/18/msg205146.html.

Added a warning for HOMEPAGE that uses ftp:// since that is not
user-friendly. In the same way, download-only host names on SourceForge
are not suitable as a homepage since they usually only generate a 404.
2020-01-26 17:12:36 +00:00
rillig
bd845d8f1e pkgtools/pkglint: update to 19.4.5
Changes since 19.4.4:

Fixed automatic replacement from http SourceForge URLs to their https
counterparts. According to their official documentation, the https URLs
are not on the same hosts as before, but on *.sourceforge.io.
2020-01-23 21:56:50 +00:00
gutteridge
b26fda5d98 pkgclean: check that PKGSRCDIR is a valid directory
For those of us who have multiple pkgsrc trees, or move them around,
and forget the path gets hard-coded into the shell script, or make a
typo when supplying an alternate PKGSRCDIR, and then wonder why nothing
gets cleaned.
2020-01-19 03:31:30 +00:00
rillig
b686dd9180 all: migrate several HOMEPAGEs to https
pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2020-01-18 23:30:43 +00:00
rillig
d4383d8737 pkgtools/pkglint: update to 19.4.4
Changes since 19.4.3:

Packages that still use http in their HOMEPAGE URL generate warnings that
the URL should use https instead.
2020-01-18 21:56:09 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
schmonz
25ce273e64 Mollify pkglint. 2020-01-16 16:54:36 +00:00
schmonz
3e85bf3c8c Specify Standard{Out,Error}Path for macOS launchd. Bump version. 2020-01-16 16:47:32 +00:00
wiz
1e368078b4 pbulk: add missing backslash 2020-01-16 13:49:57 +00:00
joerg
2f25ee0443 Fix pkg_admin expansion due to lost local change. 2020-01-15 19:14:01 +00:00
rillig
148b74ff05 pkgtools/R2pkg: remove a left-over debug message 2020-01-13 18:09:20 +00:00
rillig
46412eabe9 pkgtools/R2pkg: update to 0.6.4
Changes since 0.6.3:

* Fix hardcoded use of bmake.
2020-01-13 18:06:47 +00:00
joerg
ff7043b64c pbulk-0.67: Support both $NetBSD$ style RCS IDs and digests in +BUILD_INFO.
Bump configuration version for the new pkg_admin field.
2020-01-12 23:35:01 +00:00
rillig
be5c89688f pkgtools/pkglint: update to 19.4.3
Changes since 19.4.2:

PLIST_VARS identifiers must not contain characters that are interpreted
specially in regular expressions.

All pkgsrc text files except for doc/pkgsrc.{html,txt} must use the
default CVS keyword substitution.
2020-01-11 15:47:58 +00:00
bsiegert
5220c156ea Revbump Go packages after Go default version bump. 2020-01-10 13:32:09 +00:00
leot
974b9da412 pkg_alternatives: Update to 1.7
Changes:
1.7
---
 - Adjust pkg_alternatives(8) to point to the real user configuration wrapper
   file and bump date
2020-01-10 12:20:50 +00:00
joerg
c604a8dab6 pbulk-0.66: make it simpler to compute the duration of the scan phase
This is handy when benchmarking whole system performance.
2020-01-08 15:12:01 +00:00
ryoon
e7d267dfd3 pkglint: Remove an outdated file from PLIST to fix packaging 2020-01-06 21:40:40 +00:00
rillig
adba00ab92 pkgtools/pkglint: remove outdated ideas.go 2020-01-06 20:39:35 +00:00
rillig
20c705d876 pkgtools/pkglint: update to 19.4.2
Changes since 19.4.1:

Fixed variable resolution. Before, variables that had not been defined
in an included file could still end up in the scope of the package,
which made many of the pkglint checks unreliable.

Each condition that is used in the PLIST should be defined somewhere in
the package Makefile or its included files.

When loading a package Makefile, hacks.mk is loaded implicitly at the
end, just as the pkgsrc infrastructure does in mk/bsd.hacks.mk.
2020-01-06 20:38:42 +00:00
jperkin
4270a35ebb pkgin: Update to 0.15.0.
## Version 0.15.0 (2020-01-06)

 * Also match full package names when searching (Erik van Nooijen).
2020-01-06 09:39:02 +00:00
ryoon
97e1b5bec9 pkglint: Include more .go file to PLIST 2020-01-05 12:35:40 +00:00
rillig
2fe3b9fc38 pkgtools/pkglint: update to 19.4.1
Changes since 19.4.0:

The notes for inserting an empty line have been changed from "insert
after this line" to "insert before this line" to make the line numbers
in the diagnostics contiguous. There had been several places where the
diagnostics went from line 1 to line 2 and then back to line 1, which
was confusing.

The lines in ALTERNATIVES files are checked for trailing whitespace.
This is only for consistency with the other checks. In the whole pkgsrc
tree all ALTERNATIVES files are already fine.

The diagnostics for comments in .endif/.endfor lines that don't
correspond to their .if/.elif/.for counterparts now includes the exact
line number of the corresponding condition, to make the warning easier
to fix.

The diagnostics for wrong variable value alignment now mention the
current column in addition to the desired column, to make it easier to
see by how much and in which direction the indentation should be fixed.

Variables that are used in conditions before they are actually defined
need the :U modifier.
2020-01-04 19:53:13 +00:00
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