pkgsrc/databases/postgresql91/Makefile.common
adam 3b879ca702 This minor release fixes a data corruption issue with replication and crash recovery in version 9.3, as well as several other minor issues in all versions. All users of version 9.3 are urged to update their installations at the next possible downtime. Users of older versions should update at their convenience.
The data corruption issue in PostgreSQL 9.3 affects binary replication standbys, servers being recovered from point-in-time-recovery backup, and standalone servers which recover from a system crash. The bug causes unrecoverable index corruption during recovery due to incorrect replay of row locking operations. This can then cause query results to be inconsistent depending on whether or not an index is used, and eventually lead to primary key violations and similar issues. For this reason, users are encouraged to replace each of their standby databases with a new base backup after applying the update.

Other PostgreSQL 9.3-only fixes in this update include:

Make sure that statistics files for dropped databases get deleted
Allow materialized views to be referenced in UPDATE and DELETE queries
Add read-only data_checksum parameter
Prevent erroneous operator push-down in postgres_fdw

This release resolves some other issues in all versions of PostgreSQL, including:
Fix timing consistency issue with NOTIFY
Allow regular expression execution to be cancelled
Improve performance of index checks for newly added rows
Prevent premature walsender disconnection
Prevent memory errors on newer Windows versions
Update timezone files
2014-03-27 20:57:54 +00:00

132 lines
4.4 KiB
Text

# $NetBSD: Makefile.common,v 1.20 2014/03/27 20:57:54 adam Exp $
#
# used by databases/postgresql91-adminpack/Makefile
# used by databases/postgresql91-client/Makefile
# used by databases/postgresql91-datatypes/Makefile
# used by databases/postgresql91-dblink/Makefile
# used by databases/postgresql91-docs/Makefile
# used by databases/postgresql91-fuzzystrmatch/Makefile
# used by databases/postgresql91-pgcrypto/Makefile
# used by databases/postgresql91-plperl/Makefile
# used by databases/postgresql91-plpython/Makefile
# used by databases/postgresql91-pltcl/Makefile
# used by databases/postgresql91-server/Makefile
# used by databases/postgresql91-upgrade/Makefile
#
# 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
DISTNAME= postgresql-9.1.13
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_PGSQL:=source/v${PKGVERSION_NOREV}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER?= adam@NetBSD.org
HOMEPAGE= http://www.postgresql.org/
LICENSE= postgresql-license
CONFLICTS+= postgresql-[0-9]*
CONFLICTS+= postgresql[0-8][0-9]-[0-9]*
CONFLICTS+= postgresql9[02-9]-[0-9]*
.if !empty(PKGNAME:M*-*-*)
module= ${PKGNAME:C/-[0-9].*$//:C/^.*-//}
CONFLICTS+= postgresql[0-8][0-9]-${module}-[0-9]*
CONFLICTS+= postgresql9[02-9]-${module}-[0-9]*
.endif
DISTINFO_FILE?= ${.CURDIR}/../../databases/postgresql91/distinfo
COMMON_FILESDIR?= ${.CURDIR}/../../databases/postgresql91/files
PATCHDIR?= ${.CURDIR}/../../databases/postgresql91/patches
USE_GCC_RUNTIME= yes
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+= --without-perl
CONFIGURE_ARGS+= --without-python
CONFIGURE_ARGS+= --without-readline
CONFIGURE_ARGS+= --without-tcl
CONFIGURE_ARGS+= --without-zlib
# sys/ucred.h shouldn't be included on Solaris, causes conflicts between
# procfs and largefile.
.if ${OPSYS} == "SunOS"
CONFIGURE_ENV+= ac_cv_header_sys_ucred_h=no
.endif
# configure fails on OpenBSD and MirBSD if thread safety is enabled.
.if ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD"
CONFIGURE_ARGS+= --disable-thread-safety
.endif
# 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
.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/postgresql91/options.mk"