pkgsrc/databases/postgresql12/Makefile.common
adam 07f27db015 postgresql1N: updated to 14.2, 13.6, 12.10, 11.15, and 10.20
PostgreSQL 14.2, 13.6, 12.10, 11.15, and 10.20 Released!

This update fixes over 55 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 14. Some of these issues may also affect other supported versions of PostgreSQL.

Included in this release:

Fix for a low probability scenario of index corruption when a HOT (heap-only tuple) chain changes state during VACUUM. Encountering this issue is unlikely, but if you are concerned, please consider reindexing.
Fix for using REINDEX CONCURRENTLY on TOAST table indexes to prevent corruption. You can fix any TOAST indexes by reindexing them again.
The psql \password command now defaults to setting the password for the role defined by CURRENT_USER. Additionally, the role name is now included in the password prompt.
Build extended statistics for partitioned tables. If you previously added extended statistics to a partitioned table, you should run ANALYZE on those tables. As autovacuum currently does not process partitioned tables, you must periodically run ANALYZE on any partitioned tables to update their statistics.
Fix crash with ALTER STATISTICS when the statistics object is dropped concurrently.
Fix crash with multiranges when extracting variable-length data types.
Several fixes to the query planner that lead to incorrect query results.
Several fixes for query plan memoization.
Fix startup of a physical replica to tolerate transaction ID wraparound.
When using logical replication, avoid duplicate transmission of a partitioned table's data when the publication includes both the child and parent tables.
Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere.
Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index.
Several fixes for caching that correct logical replication behavior and improve performance.
Fix memory leak when updating expression indexes.
Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects.
Fix display of whole-row variables appearing in INSERT ... VALUES rules.
Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib.
Fix psql \d command for identifying parent triggers.
Fix failures on Windows when using the terminal as data source or destination. This affected the psql \copy command and using pg_recvlogical with -f -.
Fix the pg_dump --inserts and --column-inserts modes to handle tables that contain both generated and dropped columns.
Fix edge cases in how postgres_fdw handles asynchronous queries. These errors could lead to crashes or incorrect results when attempting to run parallel scans of foreign tables.
For the full list of changes available, please review the release notes.
2022-02-11 08:31:20 +00:00

138 lines
4.5 KiB
Text

# $NetBSD: Makefile.common,v 1.18 2022/02/11 08:31:22 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/postgresql12-client/Makefile
# used by databases/postgresql12-contrib/Makefile
# used by databases/postgresql12-docs/Makefile
# used by databases/postgresql12-plperl/Makefile
# used by databases/postgresql12-plpython/Makefile
# used by databases/postgresql12-pltcl/Makefile
# used by databases/postgresql12-server/Makefile
DISTNAME= postgresql-12.10
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/postgresql12/distinfo
PATCHDIR?= ${.CURDIR}/../../databases/postgresql12/patches
USE_PKGLOCALEDIR= yes
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
PG_TEMPLATE.DragonFly= freebsd
.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
# avoid pointing to a wrapper
CONFIGURE_ENV+= MSGFMT=${TOOLS_PATH.msgfmt}
# 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
# Postgres on Alpha has no spinlock or memory barrier implementation
# and is "unlikely to work correctly".
# https://www.postgresql.org/message-id/E1X0yaj-000753-N6%40gemulon.postgresql.org
BROKEN_ON_PLATFORM+= *-*-alpha
.if ${MACHINE_ARCH} == "sparc"
CFLAGS.NetBSD+= -D__sparc_v8__
.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
# UUID support for contrib/uuid-ossp
# It has to be defined here, because it affects Makefile.global
.if ${OPSYS:M*BSD}
CONFIGURE_ARGS+= --with-uuid=bsd
.elif ${OPSYS} == "Darwin" || ${OPSYS} == "Linux"
CONFIGURE_ARGS+= --with-uuid=e2fs
.include "../../devel/libuuid/buildlink3.mk"
.elif ${OPSYS} == "SunOS"
CONFIGURE_ARGS+= --with-uuid=ossp
.include "../../devel/ossp-uuid/buildlink3.mk"
.endif
# PostgreSQL explicitly forbids any use of -ffast-math
BUILDLINK_TRANSFORM+= rm:-ffast-math
.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:
${TOUCH} ${WRKSRC}/src/template/dragonfly
${CP} ${WRKSRC}/src/makefiles/Makefile.freebsd \
${WRKSRC}/src/makefiles/Makefile.dragonfly
.endif
.include "../../databases/postgresql12/options.mk"