File:  [cvs.NetBSD.org] / pkgsrc / databases / postgresql84 / Attic / Makefile.common
Revision 1.30: download - view: text, annotated - select for diffs
Sun Feb 23 11:25:50 2014 UTC (11 years, 2 months ago) by adam
Branches: MAIN
CVS tags: HEAD
Changes:
This update fixes CVE-2014-0060, in which PostgreSQL did not properly enforce the WITH ADMIN OPTION permission for ROLE management.
This update also fixes some issues which affect binary replication and row locking, and can cause recoverable data corruption in some cases.
In addition to the above, the following issues are fixed in this release:

Fix WAL logging of visibility map change
Make sure that GIN indexes log all insertions
Get pause_at_recovery_target to pause at correct time
Ensure walreceiver sends hot-standby feedback messages on time
Prevent timeout interrupts from taking control away from mainline code
Eliminate several race conditions
Fix some broken HINTs in error messages
Prevent server lockup on SSL connection loss
Fix two Unicode handling issues
Prevent crash on certain subselect syntax
Prevent crash on select from zero column table
Fix two bugs with LATERAL
Fix issue with UNION ALL, partitioning, and updates
Ensure that ANALYZE understands domains over ranges
Eliminate permissions check when using default tablespace
Fix memory leakage in JSON functions
Allow extensions with event triggers
Distinguish numbers correctly in JSON output
Fix permissions for pg_start_backup() and pg_stop_backup()
Accept SHIFT_JIS as locale name
Fix .* expansion for SQL function variables
Prevent infinite loop on some COPY connection failures
Several fixes for client issues on Windows
Enable building PostgreSQL with Visual Studio 2013
Update time zone files for recent changes

# $NetBSD: Makefile.common,v 1.30 2014/02/23 11:25:50 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.20
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"

CVSweb <webmaster@jp.NetBSD.org>