pkgsrc/databases/postgresql10/Makefile.common
adam 7752b7d569 postgresqlNN: updated to 12.3, 11.8, 10.13, 9.6.18, and 9.5.22
PostgreSQL 12.3, 11.8, 10.13, 9.6.18, and 9.5.22 Released!

Posted on 2020-05-14 by PostgreSQL Global Development Group
The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 12.3, 11.8, 10.13, 9.6.18, and 9.5.22. This release fixes one security issue found in the PostgreSQL server and over 75 bugs reported over the last three months.

Please plan to update at your earliest convenience.

Security Issues

CVE-2020-10733: Windows installer runs executables from uncontrolled directories.
Versions Affected: 9.5 - 12. The security team does not test unsupported versions, but this issue existed before PostgreSQL 9.5.

The Windows installer for PostgreSQL invokes system-provided executables that do not have fully-qualified paths. Executables in the directory where the installer loads or the current working directory take precedence over the intended executables. An attacker having permission to add files into one of those directories can use this to execute arbitrary code with the installer's administrative rights.

The PostgreSQL project thanks Hou JingYi (@hjy79425575) for reporting this problem.

Bug Fixes and Improvements

This update also fixes over 75 bugs that were reported in the last several months. Some of these issues affect only version 12, but may also affect all supported versions.

Some of these fixes include:

Several fixes for GENERATED columns, including an issue where it was possible to crash or corrupt data in a table when the output of the generated column was the exact copy of a physical column on the table, e.g. if the expression called a function which could return its own input.
Several fixes for ALTER TABLE, including ensuring the SET STORAGE directive is propagated to a table's indexes.
Fix a potential race condition when using DROP OWNED BY while another session is deleting the same objects.
Allow for a partition to be detached when it has inherited ROW triggers.
Several fixes for REINDEX CONCURRENTLY, particularly with issues when a REINDEX CONCURRENTLY operation fails.
Fix crash when COLLATE is applied to an uncollatable type in a partition bound expression.
Fix performance regression in floating point overflow/underflow detection.
Several fixes for full text search, particularly with phrase searching.
Fix query-lifespan memory leak for a set-returning function used in a query's FROM clause.
Several reporting fixes for the output of VACUUM VERBOSE.
Allow input of type circle to accept the format (x,y),r, which is specified in the documentation.
Allow for the get_bit() and set_bit() functions to not fail on bytea strings longer than 256MB.
Avoid premature recycling of WAL segments during crash recovery, which could lead to WAL segments being recycled before being archived.
Avoid attempting to fetch nonexistent WAL files from archive storage during recovery by skipping irrelevant timelines.
Several fixes for logical replication and replication slots.
Fix several race conditions in synchronous standby management, including one that occurred when changing the synchronous_standby_names setting.
Several fixes for GSSAPI support, include a fix for a memory leak that occurred when using GSSAPI encryption.
Ensure that members of the pg_read_all_stats role can read all statistics views.
Fix performance regression in information_schema.triggers view.
Fix memory leak in libpq when using sslmode=verify-full.
Fix crash in psql when attempting to re-establish a failed connection.
Allow tab-completion of the filename argument to \gx command in psql.
Add pg_dump support for ALTER ... DEPENDS ON EXTENSION.
Several other fixes for pg_dump, which include dumping comments on RLS policies and postponing restore of event triggers until the end.
Ensure pg_basebackup generates valid tar files.
pg_checksums skips tablespace subdirectories that belong to a different PostgreSQL major version
Several Windows compatibility fixes
This update also contains tzdata release 2020a for DST law changes in Morocco and the Canadian Yukon, plus historical corrections for Shanghai. The America/Godthab zone has been renamed to America/Nuuk to reflect current English usage ; however, the old name remains available as a compatibility link. This also updates initdb's list of known Windows time zone names to include recent additions.
2020-05-15 09:45:00 +00:00

132 lines
4.5 KiB
Text

# $NetBSD: Makefile.common,v 1.20 2020/05/15 09:45:00 adam Exp $
#
# This Makefile fragment is included by all PostgreSQL packages built from
# the main sources of the PostgreSQL distribution except jdbc-postgresql.
#
# The PostgreSQL package naming scheme, aside from the obvious piecewise
# packages, is as follows:
# <lang>-postgresql client-side interface to PostgreSQL
# postgresql-<lang> server-side module for PostgreSQL backend
#
# used by databases/postgresql10-client/Makefile
# used by databases/postgresql10-contrib/Makefile
# used by databases/postgresql10-docs/Makefile
# used by databases/postgresql10-plperl/Makefile
# used by databases/postgresql10-plpython/Makefile
# used by databases/postgresql10-pltcl/Makefile
# used by databases/postgresql10-server/Makefile
DISTNAME= postgresql-10.13
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_PGSQL:=source/v${PKGVERSION_NOREV}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER?= adam@NetBSD.org
HOMEPAGE= https://www.postgresql.org/
LICENSE= postgresql-license
CONFLICTS+= postgresql-[0-9]*
CONFLICTS+= postgresql[2-9][0-9]-[0-9]*
.if !empty(PKGNAME:M*-*-*)
module= ${PKGNAME:C/-[0-9].*$//:C/^.*-//}
CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
.endif
DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql10/distinfo
COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql10/files
PATCHDIR?= ${.CURDIR}/../../databases/postgresql10/patches
USE_TOOLS+= bison gmake lex
PKG_SYSCONFSUBDIR= postgresql
.include "../../mk/bsd.prefs.mk"
PG_TEMPLATE.SunOS= solaris
PG_TEMPLATE.IRIX= irix5
PG_TEMPLATE.MirBSD= openbsd
.if !defined(PG_TEMPLATE.${OPSYS})
PG_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
.endif
PG_DATA_DIR= ${PREFIX}/share/postgresql
PG_DOC_DIR= ${PREFIX}/share/doc/postgresql
PG_LOCALE_DIR= ${PREFIX}/${PKGLOCALEDIR}/locale
PG_ETC_DIR= ${PKG_SYSCONFDIR}
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --sysconfdir=${PG_ETC_DIR}
CONFIGURE_ARGS+= --datadir=${PG_DATA_DIR}
CONFIGURE_ARGS+= --docdir=${PG_DOC_DIR}
CONFIGURE_ARGS+= --localedir=${PG_LOCALE_DIR}
CONFIGURE_ARGS+= --with-template=${PG_TEMPLATE.${OPSYS}}
CONFIGURE_ARGS+= --with-libxml
CONFIGURE_ARGS+= --with-readline
CONFIGURE_ARGS+= --without-perl
CONFIGURE_ARGS+= --without-python
CONFIGURE_ARGS+= --without-tcl
# sys/ucred.h shouldn't be included on Solaris, causes conflicts between
# procfs and largefile.
CONFIGURE_ENV.SunOS+= ac_cv_header_sys_ucred_h=no
# pkgsrc silently filters the --as-needed linker arg, but that makes
# it leak into the pgxs Makefiles and compromises manual building
# against PostgreSQL files installed. Disable it here to prevent
# that from happening.
.if ${OPSYS} == "SunOS" || ${OPSYS} == "Darwin"
CONFIGURE_ENV+= pgac_cv_prog_cc_ldflags__Wl___as_needed=no
.endif
# configure fails on OpenBSD and MirBSD if thread safety is enabled.
CONFIGURE_ARGS.MirBSD+= --disable-thread-safety
CONFIGURE_ARGS.OpenBSD+= --disable-thread-safety
# PGSQL_BLCKSZ is the size in bytes of a PostgreSQL disk page or block.
# This also limits the size of a tuple. The valid values are powers
# of 2 up to 32768, and the default size is 8196. Please don't change
# this value unless you know what you are doing.
BUILD_DEFS+= PGSQL_BLCKSZ
.if defined(PGSQL_BLCKSZ)
CONFIGURE_ARGS+= --with-blocksize=${PGSQL_BLCKSZ}
.endif
# PostgreSQL explicitly forbids any use of -ffast-math
BUILDLINK_TRANSFORM+= rm:-ffast-math
# USE_LIBLTDL is "yes" or "no" depending on whether we're using libltdl
# to provide "dlopen" functionality for the PostgreSQL backend.
.if ${OPSYS} == "Interix"
USE_LIBLTDL?= yes
.endif
USE_LIBLTDL?= no
.include "../../devel/zlib/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/readline.buildlink3.mk"
.if ${READLINE_TYPE} == "editline"
CONFIGURE_ARGS+= --with-libedit-preferred
.endif
.if !defined(META_PACKAGE)
post-extract:
. if !empty(USE_LIBLTDL:M[yY][eE][sS])
${CP} -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.h
${ECHO} "static int dummy = 0;" \
> ${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.c
. endif
${TOUCH} ${WRKSRC}/src/template/dragonfly
${CP} ${WRKSRC}/src/backend/port/dynloader/freebsd.c \
${WRKSRC}/src/backend/port/dynloader/dragonfly.c
${CP} ${WRKSRC}/src/backend/port/dynloader/freebsd.h \
${WRKSRC}/src/backend/port/dynloader/dragonfly.h
${CP} ${WRKSRC}/src/include/port/freebsd.h \
${WRKSRC}/src/include/port/dragonfly.h
${CP} ${WRKSRC}/src/makefiles/Makefile.freebsd \
${WRKSRC}/src/makefiles/Makefile.dragonfly
.endif
.include "../../databases/postgresql10/options.mk"