diff options
author | jdolecek <jdolecek@pkgsrc.org> | 2005-02-06 12:32:05 +0000 |
---|---|---|
committer | jdolecek <jdolecek@pkgsrc.org> | 2005-02-06 12:32:05 +0000 |
commit | fc812047e43d4d9fb81624d54e29cdbb349c99ba (patch) | |
tree | ca025c7eef396d233c2e4340a7c68a2a92ecf72b /databases/postgresql80 | |
parent | 1a41b85972768a587b9a8a7b9eb46634e56ced9f (diff) | |
download | pkgsrc-fc812047e43d4d9fb81624d54e29cdbb349c99ba.tar.gz |
PostgreSQL 8.0.1 packages. A dump/restore using pg_dump is required
for those wishing to migrate data from any previous release.
Major changes relative to 7.4.x:
* Savepoints
* Point-in-Time recovery
* Tablespaces
* Improved buffer management
* ALTER TABLE column management improvements
Full list of changes is available at:
http://www.postgresql.org/docs/8.0/static/release.html#RELEASE-8-0
Also note that PostgreSQL server listens also on localhost (127.0.0.1)
by default now.
Diffstat (limited to 'databases/postgresql80')
-rw-r--r-- | databases/postgresql80/DESCR | 9 | ||||
-rw-r--r-- | databases/postgresql80/Makefile | 19 | ||||
-rw-r--r-- | databases/postgresql80/Makefile.common | 117 | ||||
-rw-r--r-- | databases/postgresql80/PLIST | 2 | ||||
-rw-r--r-- | databases/postgresql80/distinfo | 5 | ||||
-rw-r--r-- | databases/postgresql80/files/GNUmakefile.libpgtcl | 20 | ||||
-rw-r--r-- | databases/postgresql80/files/GNUmakefile.libpq | 20 | ||||
-rw-r--r-- | databases/postgresql80/files/Makefile.custom | 15 | ||||
-rw-r--r-- | databases/postgresql80/files/netbsd.c | 73 | ||||
-rw-r--r-- | databases/postgresql80/files/netbsd.h | 45 | ||||
-rw-r--r-- | databases/postgresql80/patches/patch-aa | 31 |
11 files changed, 356 insertions, 0 deletions
diff --git a/databases/postgresql80/DESCR b/databases/postgresql80/DESCR new file mode 100644 index 00000000000..9f6b5b5b0f9 --- /dev/null +++ b/databases/postgresql80/DESCR @@ -0,0 +1,9 @@ +PostgreSQL is a robust, next-generation, Object-Relational DBMS (ORDBMS), +derived from the Berkeley Postgres database management system. While +PostgreSQL retains the powerful object-relational data model, rich data types +and easy extensibility of Postgres, it replaces the PostQuel query language +with an extended subset of SQL. + +PostgreSQL is free and the complete source is available. + +This is the meta-package for the PostgreSQL database system. diff --git a/databases/postgresql80/Makefile b/databases/postgresql80/Makefile new file mode 100644 index 00000000000..2d29f27c5e9 --- /dev/null +++ b/databases/postgresql80/Makefile @@ -0,0 +1,19 @@ + +PKGNAME= postgresql80-${BASE_VERS} +COMMENT= Robust, next generation, object-relational DBMS + +DEPENDS+= postgresql80-client>=${BASE_VERS}:../../wip/postgresql80-client +DEPENDS+= postgresql80-server>=${BASE_VERS}:../../wip/postgresql80-server +DEPENDS+= postgresql80-docs>=${BASE_VERS}:../../wip/postgresql80-docs + +.include "Makefile.common" + +EXTRACT_ONLY= # empty +NO_CHECKSUM= YES +NO_CONFIGURE= YES +NO_BUILD= YES + +do-install: # empty +do-patch: # empty + +.include "../../mk/bsd.pkg.mk" diff --git a/databases/postgresql80/Makefile.common b/databases/postgresql80/Makefile.common new file mode 100644 index 00000000000..93991c625a7 --- /dev/null +++ b/databases/postgresql80/Makefile.common @@ -0,0 +1,117 @@ +# $NetBSD: Makefile.common,v 1.1.1.1 2005/02/06 12:32:05 jdolecek 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 + +DISTNAME?= postgresql-${DIST_VERS} +CATEGORIES+= databases +MASTER_SITES?= \ + ftp://ftp.de.postgresql.org/mirror/postgresql/source/v${DIST_VERS}/ \ + ftp://gd.tuwien.ac.at/db/www.postgresql.org/pub/source/v${DIST_VERS}/ \ + ftp://ftp.sunsite.auc.dk/mirrors/postgresql/source/v${DIST_VERS}/ \ + ftp://ftp.jaist.ac.jp/pub/dbms/postgres95/source/v${DIST_VERS}/ \ + http://www.postgresql.org/ftpsite/source/v${DIST_VERS}/ \ + ftp://ftp.postgresql.org/pub/source/v${DIST_VERS}/ + +EXTRACT_SUFX= .tar.bz2 + +MAINTAINER?= recht@NetBSD.org +HOMEPAGE?= http://www.postgresql.org/ + +CONFLICTS+= postgresql-[0-9]* postgresql73-* postgresql74-* + +DISTINFO_FILE?= ${.CURDIR}/../postgresql80/distinfo +COMMON_FILESDIR?= ${.CURDIR}/../postgresql80/files +PATCHDIR?= ${.CURDIR}/../postgresql80/patches + +# Version numbering scheme: +# +# DIST_VERS version number on the postgresql distfile +# BASE_VERS pkgsrc-mangled version number (convert pl -> .) +# +# Note: Do not forget jdbc-postgresql when updating version +DIST_VERS?= 8.0.1 +BASE_VERS?= ${DIST_VERS} + +BUILDLINK_DEPENDS.postgresql80-lib?= postgresql80-lib>=${BASE_VERS} +#BUILDLINK_DEPENDS.tcl-postgresql80?= tcl-postgresql80>=${BASE_VERS} + +USE_BUILDLINK3= yes +GNU_CONFIGURE= yes +BUILD_USES_MSGFMT= yes +USE_GNU_TOOLS+= lex make yacc +PKG_SYSCONFSUBDIR= postgresql + +# in 7.4.2, this is done by autoconf stuff which has leading whitespace +#USE_PKGLOCALEDIR= yes +#SUBST_CLASSES+= pkglocaledir2 +#SUBST_FILES.pkglocaledir2= configure config/programs.m4 +#SUBST_STAGE.pkglocaledir2= pre-configure +#SUBST_SED.pkglocaledir2= -e 's|\( localedir[ :]*=\).*|\1${_PKGLOCALEDIR}|' + +.include "../../mk/bsd.prefs.mk" + +# Add support for hierarchical queries with Oracle like CONNECT BY syntax. +# see http://gppl.terminal.ru/README.html for details. +.if defined(PGSQL_USE_HIER) && !empty(PGSQL_USE_HIER:M[yY][eE][sS]) +PATCH_SITES= http://gppl.moonbone.ru/ +PATCHFILES= hier-Pg7.4-0.5.3.tar.gz +PATCH_DIST_STRIP= -p1 +.endif +BUILD_DEFS+= PGSQL_USE_HIER + +PGSQL_TEMPLATE.SunOS= solaris +.if !defined(PGSQL_TEMPLATE.${OPSYS}) +PGSQL_TEMPLATE.${OPSYS}= ${LOWER_OPSYS} +.endif + +PG_DIR= ${PREFIX} +GNU_CONFIGURE_PREFIX= ${PG_DIR} +INSTALLATION_DIRS+= ${PG_DIR} + +#CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} +CONFIGURE_ARGS+= --with-docdir=${PREFIX}/share/doc/postgresql80 +CONFIGURE_ARGS+= --with-template="${PGSQL_TEMPLATE.${OPSYS}}" +CONFIGURE_ARGS+= --without-readline +CONFIGURE_ARGS+= --with-zlib +CONFIGURE_ARGS+= --enable-nls + +CONFIGURE_ARGS+= --without-java +CONFIGURE_ARGS+= --without-perl +CONFIGURE_ARGS+= --without-python +CONFIGURE_ARGS+= --without-tcl +CONFIGURE_ARGS+= --without-tk + +# Postgresql explicitly forbids any use of -ffast-math +CFLAGS:= ${CFLAGS:S/-ffast-math//} + +post-extract: + if [ -d ${WRKSRC}/src ]; then \ + ${RM} -f ${WRKSRC}/src/Makefile.custom; \ + ${CP} -f ${COMMON_FILESDIR}/Makefile.custom \ + ${WRKSRC}/src/Makefile.custom; \ + fi + if [ -d ${WRKSRC}/src/interfaces/libpq ]; then \ + ${RM} -f ${WRKSRC}/src/interfaces/libpq/GNUmakefile; \ + ${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpq \ + ${WRKSRC}/src/interfaces/libpq/GNUmakefile; \ + fi + if [ -d ${WRKSRC}/src/interfaces/libpgtcl ]; then \ + ${RM} -f ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \ + ${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpgtcl \ + ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \ + fi + if [ -d ${WRKSRC}/src/backend/port/dynloader ]; then \ + ${RM} -f ${WRKSRC}/src/backend/port/dynloader/netbsd.[ch];\ + ${CP} -f ${COMMON_FILESDIR}/netbsd.[ch] \ + ${WRKSRC}/src/backend/port/dynloader/; \ + fi + +.include "../../devel/gettext-lib/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" diff --git a/databases/postgresql80/PLIST b/databases/postgresql80/PLIST new file mode 100644 index 00000000000..42ad3c2e849 --- /dev/null +++ b/databases/postgresql80/PLIST @@ -0,0 +1,2 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ +@comment this plist intentionally left empty diff --git a/databases/postgresql80/distinfo b/databases/postgresql80/distinfo new file mode 100644 index 00000000000..48b7c2ae471 --- /dev/null +++ b/databases/postgresql80/distinfo @@ -0,0 +1,5 @@ +$NetBSD: distinfo,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ + +SHA1 (postgresql-8.0.1.tar.bz2) = 42a16fe13a6271b1612fb0a9f41f7da0a2e307b6 +Size (postgresql-8.0.1.tar.bz2) = 11049626 bytes +SHA1 (patch-aa) = 20492216de0e5238a02b4cdd18c297731cf6462a diff --git a/databases/postgresql80/files/GNUmakefile.libpgtcl b/databases/postgresql80/files/GNUmakefile.libpgtcl new file mode 100644 index 00000000000..b1ea47d2775 --- /dev/null +++ b/databases/postgresql80/files/GNUmakefile.libpgtcl @@ -0,0 +1,20 @@ +# $NetBSD: GNUmakefile.libpgtcl,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ +# +# This GNUmakefile overrides the `all' target of $(libpgtcl_srcdir)/Makefile +# to be empty if INSTALLED_LIBPGTCL is defined. This handles the submake +# targets sprinkled throughout the PostgreSQL Makefiles that execute +# +# @$(MAKE) -C $(libpgtcl_builddir) all +# +# to ensure that the libpgtcl libraries are built first. If INSTALLED_LIBPGTCL +# is defined, then have the `all' target simple return success. + +ifdef INSTALLED_LIBPGTCL +all: + @test -f libpgtcl.a || touch libpgtcl.a +endif + +%: force + @$(MAKE) -f Makefile $@ + +force: ; diff --git a/databases/postgresql80/files/GNUmakefile.libpq b/databases/postgresql80/files/GNUmakefile.libpq new file mode 100644 index 00000000000..16a1e9834fc --- /dev/null +++ b/databases/postgresql80/files/GNUmakefile.libpq @@ -0,0 +1,20 @@ +# $NetBSD: GNUmakefile.libpq,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ +# +# This GNUmakefile overrides the `all' target of $(libpq_srcdir)/Makefile +# to be empty if INSTALLED_LIBPQ is defined. This handles the submake +# targets sprinkled throughout the PostgreSQL Makefiles that execute +# +# @$(MAKE) -C $(libpq_builddir) all +# +# to ensure that the libpq libraries are built first. If INSTALLED_LIBPQ +# is defined, then have the `all' target simple return success. + +ifdef INSTALLED_LIBPQ +all: + @test -f libpq.a || touch libpq.a +endif + +%: force + @$(MAKE) -f Makefile $@ + +force: ; diff --git a/databases/postgresql80/files/Makefile.custom b/databases/postgresql80/files/Makefile.custom new file mode 100644 index 00000000000..2c27efbc3a4 --- /dev/null +++ b/databases/postgresql80/files/Makefile.custom @@ -0,0 +1,15 @@ +# $NetBSD: Makefile.custom,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ +# +# This file is included by Makefile.global, which is included by every +# sub-Makefile in the build tree. Makefiles for shared libraries include +# Makefile.global then Makefile.shlib. + +pkglibdir = $(exec_prefix)/lib/postgresql + +ifdef INSTALLED_LIBPQ +libpq = -lpq +endif + +ifdef INSTALLED_LIBPGTCL +libpgtcl = -lpgtcl +endif diff --git a/databases/postgresql80/files/netbsd.c b/databases/postgresql80/files/netbsd.c new file mode 100644 index 00000000000..d2ef8e70699 --- /dev/null +++ b/databases/postgresql80/files/netbsd.c @@ -0,0 +1,73 @@ +/*- + * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group + * Portions Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char sccsid[] = "@(#)dl.c 5.4 (Berkeley) 2/23/91"; +#endif /* LIBC_SCCS and not lint */ + +#include "postgres.h" + +#include <nlist.h> +#include <link.h> +#include <dlfcn.h> + +#include "dynloader.h" + +#ifndef HAVE_DLOPEN + +char * +pg_dlerror(void) +{ + return "dynaloader unsupported"; +} + +void * +pg_dlopen(const char *file, int num) +{ + elog(ERROR, "dynamic load not supported"); + return NULL; +} + +void * +pg_dlsym(void *handle, const char *name) +{ + return NULL; +} + +void +pg_dlclose(void *handle) +{ +} + +#endif /* ! HAVE_DLOPEN */ diff --git a/databases/postgresql80/files/netbsd.h b/databases/postgresql80/files/netbsd.h new file mode 100644 index 00000000000..b9ac224d9e5 --- /dev/null +++ b/databases/postgresql80/files/netbsd.h @@ -0,0 +1,45 @@ +/*------------------------------------------------------------------------- + * + * netbsd.h + * port-specific prototypes for NetBSD + * + * + * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * $Id: netbsd.h,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ + * + *------------------------------------------------------------------------- + */ +#ifndef PORT_PROTOS_H +#define PORT_PROTOS_H + +#include <sys/types.h> +#include <nlist.h> +#include <link.h> +#include <dlfcn.h> + +#include "utils/dynamic_loader.h" + +#ifdef HAVE_DLOPEN +/* + * In some older systems, the RTLD_NOW flag isn't defined and the mode + * argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted + * if available, but it doesn't exist everywhere. + * If it doesn't exist, set it to 0 so it has no effect. + */ +#ifndef RTLD_NOW +#define RTLD_NOW 1 +#endif +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif + +#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL) +#define pg_dlsym dlsym +#define pg_dlclose dlclose +#define pg_dlerror dlerror + +#endif /* HAVE_DLOPEN */ + +#endif /* PORT_PROTOS_H */ diff --git a/databases/postgresql80/patches/patch-aa b/databases/postgresql80/patches/patch-aa new file mode 100644 index 00000000000..a6592ae3d6f --- /dev/null +++ b/databases/postgresql80/patches/patch-aa @@ -0,0 +1,31 @@ +$NetBSD: patch-aa,v 1.1.1.1 2005/02/06 12:32:05 jdolecek Exp $ + +--- src/Makefile.shlib.orig Tue Nov 9 17:02:42 2004 ++++ src/Makefile.shlib +@@ -132,7 +132,7 @@ endif + + ifeq ($(PORTNAME), freebsd) + ifdef ELF_SYSTEM +- shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) ++ shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + LINK.shared = $(COMPILER) -shared -Wl,-x,-soname,$(soname) + else + shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) +@@ -149,7 +149,7 @@ ifeq ($(PORTNAME), netbsd) + endif + + ifeq ($(PORTNAME), hpux) +- shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) ++ shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + ifeq ($(GCC), yes) + SHLIB_LINK += `$(CC) $(LDFLAGS) -print-libgcc-file-name` + endif +@@ -161,7 +161,7 @@ ifeq ($(PORTNAME), hpux) + endif + + ifeq ($(PORTNAME), irix) +- shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) ++ shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + LINK.shared = $(COMPILER) -shared -Wl,-set_version,sgi$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + endif + |