2a523c3528
SECURITY ISSUES One security vulnerability has been closed by this release: CVE-2018-1115: Too-permissive access control list on function pg_logfile_rotate() Please see the "Updating" section below for post-update steps. BUG FIXES AND IMPROVEMENTS This update also fixes over 50 bugs reported in the last several months. Some of these issues affect only version 10, but many affect all supported versions. These fixes include: Fix incorrect volatility and parallel-safety markings on several built-in functions to ensure correct query planning optimizations Several fixes for partitioning, including potential crashes as well as allowing TRUE and FALSE to be used as partition bounds Fix where a new TOAST value could be assigned to a dead-but-not-yet-vacuumed TOAST OID, which would result in an error similar to "unexpected chunk number 0 (expected 1) for toast value nnnnn" Fix "CREATE TABLE ... LIKE" with bigint identity columns on 32-bit platforms Fix memory leak within the runtime of a query that repeatedly executes hash joins Several crash fixes around queries using GROUPING SET Avoid failure if a query-cancel or session-termination interrupt occurs while committing a prepared transaction Reduce locking during autovacuum worker scheduling, which prevents loss of potential worker concurrency Fix possible slow execution of REFRESH MATERIALIZED VIEW CONCURRENTLY Several fixes around query plans that use "index-only" scans Avoid deadlocks in concurrent CREATE INDEX CONCURRENTLY commands that are run under SERIALIZABLE or REPEATABLE READ transaction isolation Several fixes for SP-GiST indexes, including one collation-aware searches on text columns Fixes related to counting the number of tuples in partial GiST, SP-GiST, and Bloom indexes Several fixes for logical decoding and replication Fix misquoting of values for list-valued GUC variables (e.g. local_preload_libraries, session_preload_libraries, shared_preload_libraries, temp_tablespaces) in dumps Several fixes for pg_stat_activity Several fixes for ecpg Fix for pg_recvlogical to ensure compatibility with PostgreSQL versions released before 10 Several fixes for pg_rewind
138 lines
4.7 KiB
Text
138 lines
4.7 KiB
Text
# $NetBSD: Makefile.common,v 1.34 2018/05/13 08:13:46 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/postgresql93-client/Makefile
|
|
# used by databases/postgresql93-contrib/Makefile
|
|
# used by databases/postgresql93-docs/Makefile
|
|
# used by databases/postgresql93-plperl/Makefile
|
|
# used by databases/postgresql93-plpython/Makefile
|
|
# used by databases/postgresql93-pltcl/Makefile
|
|
# used by databases/postgresql93-server/Makefile
|
|
|
|
DISTNAME= postgresql-9.3.23
|
|
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[0-8][0-9]-[0-9]*
|
|
CONFLICTS+= postgresql9[0124-9]-[0-9]*
|
|
|
|
.if !empty(PKGNAME:M*-*-*)
|
|
module= ${PKGNAME:C/-[0-9].*$//:C/^.*-//}
|
|
CONFLICTS+= postgresql[0-8][0-9]-${module}-[0-9]*
|
|
CONFLICTS+= postgresql9[0124-9]-${module}-[0-9]*
|
|
.endif
|
|
|
|
DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql93/distinfo
|
|
COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql93/files
|
|
PATCHDIR?= ${.CURDIR}/../../databases/postgresql93/patches
|
|
|
|
USE_PKGLOCALEDIR= yes
|
|
USE_TOOLS+= bison gmake lex msgfmt
|
|
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+= --enable-nls
|
|
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/gettext-lib/buildlink3.mk"
|
|
LIBS.SunOS+= -lintl
|
|
.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/postgresql93/options.mk"
|