6d6493c0d8
This release closes security hole CVE-2016-2193, where a query plan might get reused for more than one ROLE in the same session. This could cause the wrong set of Row Level Security (RLS) policies to be used for the query. The update also fixes CVE-2016-3065, a server crash bug triggered by using pageinspect with BRIN index pages. Since an attacker might be able to expose a few bytes of server memory, this crash is being treated as a security issue.
131 lines
4.5 KiB
Text
131 lines
4.5 KiB
Text
# $NetBSD: Makefile.common,v 1.30 2016/04/09 12:51:44 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/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-monitoring/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-replicationtools/Makefile
|
|
# used by databases/postgresql91-server/Makefile
|
|
# used by databases/postgresql91-upgrade/Makefile
|
|
|
|
DISTNAME= postgresql-9.1.21
|
|
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.
|
|
CONFIGURE_ENV.SunOS+= ac_cv_header_sys_ucred_h=no
|
|
|
|
# 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
|
|
|
|
.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"
|