Packages defined the variable BROKEN inconsistently. Some added quotes,
like they are required in PKG_FAIL_REASON, some omitted them.
Now all packages behave the same, and pkglint will flag future mistakes.
Release 12:
General performance improvements, including:
* Optimizations to space utilization and read/write performance for B-tree indexes
* Partitioning performance enhancements, including improved query performance on tables with thousands of partitions, improved insertion performance with INSERT and COPY, and the ability to execute ALTER TABLE ATTACH PARTITION without blocking queries
* Automatic (but overridable) inlining of common table expressions (CTEs)
* Reduction of WAL overhead for creation of GiST, GIN, and SP-GiST indexes
* Support for covering GiST indexes, via the INCLUDE clause
* Multi-column most-common-value (MCV) statistics can be defined via CREATE STATISTICS, to support better plans for queries that test several non-uniformly-distributed columns
Enhancements to administrative functionality, including:
* REINDEX CONCURRENTLY can rebuild an index without blocking writes to its table
* pg_checksums can enable/disable page checksums (used for detecting data corruption) in an offline cluster
* Progress reporting statistics for CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL, and pg_checksums
Support for the SQL/JSON path language
Stored generated columns
Nondeterministic ICU collations, enabling case-insensitive and accent-insensitive grouping and ordering
New authentication features, including:
* Encryption of TCP/IP connections when using GSSAPI authentication
* Discovery of LDAP servers using DNS SRV records
* Multi-factor authentication, using the clientcert=verify-full option combined with an additional authentication method in pg_hba.conf
There are a couple of places in pkgsrc where rcsid's are generated, and
these were leaking into "pkg_info -b" output. This had the side effect of
causing those packages and all their dependencies to be rebuilt for every
bulk build as the output and the respective files always mis-matched.
A default installation of GCC doesn't install bin/cc but only bin/gcc.
Adding bin/cc is only done by the pgksrc packages, not by the upstream
package.
The previous strategy of just checking whether ${GCCBASE}/bin/${CC:[1]}
exists did not work in such a situation. Therefore, if CC still has its
default value from sys.mk, that is changed to the intended gcc, which
then detects the base GCC properly.
See https://mail-index.netbsd.org/pkgsrc-users/2019/09/07/msg029329.html.
See https://mail-index.netbsd.org/tech-pkg/2019/09/18/msg021976.html.
libgcc is newer than the one about to be installed. If so, don't install
the libgcc.
Having an older libgcc appear in the lookup may result in binaries not
running, as they need symbols from the newer libgcc.
Such a case is PR pkg/54506.
Leaves SunOS unchanged, by request from jperkin.
If the pkgsrc compiler is GCC, don't install libgcc.
Having an older libgcc is problematic: it may be missing symbols from
newer libgcc. This is what happened in PR pkg/54506.
Use this on gcc-aux and gcc5-aux: the libgcc_s.so they install is going
to be older in all the operating systems these packages support.
(Other GCC packages will require a more elaborate rule)
Leaving SmartOS unchanged, by request from jperkin.
All variables that are used or defined in the file are now listed in the
_VARGROUPS section.
The "is text file" command variable has been renamed since pkglint
thought the former variable name would specify a filename, not a shell
command.
The "is text file" command has been rewritten to only rely on tr(1)
instead of both tr(1) and wc(1). This makes it both simpler and maybe
also a little faster, since the file only has to be read once.
The SUBST_TARGETS variable has been removed since it is used nowhere
else. To get the list of all subst targets (should that ever be
necessary), use the expression ${SUBST_CLASSES:S,^,subst-,}.
An upcoming check in pkglint will require that if a file has a _VARGROUPS
section, it must contain the full truth, mentioning every variable that
is used or defined in the file.
Some variables may be so internal though that they are not interesting in
any scenario for understanding what goes on in the file. These variables
can be explicitly ignored. They will not be listed by "bmake show-all" and
pkglint will not complain about them.