pkgsrc/databases/postgresql84/Makefile.common
adam 43169be4f9 The PostgreSQL Global Development Group has released a critical update to all supported versions of the PostgreSQL database system, which includes minor versions 9.3.2, 9.2.6, 9.1.11, 9.0.15, and 8.4.19. This update fixes three serious data-loss bugs affecting replication and database maintenance. All users are urged to update their installations at the earliest opportunity.
The replication issue affects some users of PostgreSQL binary replication, and can cause minor data loss between the master and the standby. While not all users are affected, it is difficult to predict when the bug will occur, so we urge all users of replication and continuous backup (PITR) to update immediately. Additionally, users who had replication running under PostgreSQL minor versions 9.3.0, 9.3.1, 9.2.5, 9.1.10, or 9.0.14 should plan to take a fresh base backup of each standby after update, in order to ensure no prior data corruption already exists.

This release also fixes two timing issues with VACUUM, which can cause old, overwritten or deleted rows to re-appear at a later date under some circumstances. Users with very high transaction rates, particularly those who experience "transaction ID wraparound" every few weeks or less, are the most at risk for this issue. Those users should set vacuum_freeze_table_age to 0, and run a database-wide VACUUM after the update. The second of the two VACUUM issues affects only 9.3, making it expecially important for 9.3 users to update.
2013-12-10 22:32:56 +00:00

116 lines
3.8 KiB
Text

# $NetBSD: Makefile.common,v 1.29 2013/12/10 22:32:56 adam Exp $
#
# used by databases/postgresql84-adminpack/Makefile
# used by databases/postgresql84-client/Makefile
# used by databases/postgresql84-dblink/Makefile
# used by databases/postgresql84-pgcrypto/Makefile
# used by databases/postgresql84-plperl/Makefile
# used by databases/postgresql84-plpython/Makefile
# used by databases/postgresql84-pltcl/Makefile
# used by databases/postgresql84-server/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-8.4.19
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+= postgresql7[0-9]-*
CONFLICTS+= postgresql8[0-3]-*
CONFLICTS+= postgresql9[0-9]-*
.if !empty(PKGNAME:M*-*-*)
module= ${PKGNAME:C/-[0-9].*$//:C/^.*-//}
CONFLICTS+= postgresql8[0-35-9]-${module}-[0-9]*
CONFLICTS+= postgresql9[0-9]-${module}-[0-9]*
.endif
DISTINFO_FILE?= ${.CURDIR}/../postgresql84/distinfo
COMMON_FILESDIR?= ${.CURDIR}/../postgresql84/files
PATCHDIR?= ${.CURDIR}/../postgresql84/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
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --datadir=${PREFIX}/share/postgresql
CONFIGURE_ARGS+= --localedir=${PREFIX}/${PKGLOCALEDIR}/locale
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
# 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/postgresql84/options.mk"