summaryrefslogtreecommitdiff
path: root/databases/postgresql84
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2010-04-12 09:58:38 +0000
committeradam <adam@pkgsrc.org>2010-04-12 09:58:38 +0000
commite585da8fd0d76795d34dd02bce28c9d1bee7af4b (patch)
treeb5a85937a85c601df1d0d62507b840eeeb54d568 /databases/postgresql84
parentbe2ae37c5f7db457803437c43cfd737d2bf3986c (diff)
downloadpkgsrc-e585da8fd0d76795d34dd02bce28c9d1bee7af4b.tar.gz
Changes 8.4.3:
* Add new configuration parameter ssl_renegotiation_limit to control how often we do session key renegotiation for an SSL connection * Fix possible deadlock during backend startup * Fix possible crashes due to not handling errors during relcache reload cleanly * Fix possible crash due to use of dangling pointer to a cached plan * Fix possible crash due to overenthusiastic invalidation of cached plan for "ROLLBACK" * Fix possible crashes when trying to recover from a failure in subtransaction start * Fix server memory leak associated with use of savepoints and a client encoding different from server's encoding * Fix incorrect WAL data emitted during end-of-recovery cleanup of a GIST index page split * Fix bug in WAL redo cleanup method for GIN indexes * Fix incorrect comparison of scan key in GIN index search * Make substring() for bit types treat any negative length as meaning "all the rest of the string" The previous coding treated only -1 that way, and would produce an invalid result value for other negative values, possibly leading to a crash (CVE-2010-0442). * Fix integer-to-bit-string conversions to handle the first fractional byte correctly when the output bit width is wider than the given integer by something other than a multiple of 8 bits * Fix some cases of pathologically slow regular expression matching * Fix bug occurring when trying to inline a SQL function that returns a set of a composite type that contains dropped columns * Fix bug with trying to update a field of an element of a composite-type array column * Avoid failure when "EXPLAIN" has to print a FieldStore or assignment ArrayRef expression These cases can arise now that "EXPLAIN VERBOSE" tries to print plan node target lists. * Avoid an unnecessary coercion failure in some cases where an undecorated literal string appears in a subquery within "UNION"/"INTERSECT"/"EXCEPT" This fixes a regression for some cases that worked before 8.4. * Avoid undesirable rowtype compatibility check failures in some cases where a whole-row Var has a rowtype that contains dropped columns * Fix the STOP WAL LOCATION entry in backup history files to report the next WAL segment's name when the end location is exactly at a segment boundary * Always pass the catalog ID to an option validator function specified in "CREATE FOREIGN DATA WRAPPER" * Fix some more cases of temporary-file leakage * Add support for doing FULL JOIN ON FALSE * Improve constraint exclusion processing of boolean-variable cases, in particular make it possible to exclude a partition that has a "bool_column = false" constraint * Prevent treating an INOUT cast as representing binary compatibility * Include column name in the message when warning about inability to grant or revoke column-level privileges This is more useful than before and helps to prevent confusion when a "REVOKE" generates multiple messages, which formerly appeared to be duplicates. * When reading "pg_hba.conf" and related files, do not treat @something as a file inclusion request if the @ appears inside quote marks; also, never treat @ by itself as a file inclusion request * Prevent infinite loop on some platforms if a directory is named as an inclusion target in "pg_hba.conf" and related files * Fix possible infinite loop if SSL_read or SSL_write fails without setting errno This is reportedly possible with some Windows versions of openssl. * Disallow GSSAPI authentication on local connections, since it requires a hostname to function correctly * Protect ecpg against applications freeing strings unexpectedly * Make ecpg report the proper SQLSTATE if the connection disappears * Fix translation of cell contents in psql \d output * Fix psql's numericlocale option to not format strings it shouldn't in latex and troff output formats * Fix a small per-query memory leak in psql * Make psql return the correct exit status (3) when ON_ERROR_STOP and --single-transaction are both specified and an error occurs during the implied "COMMIT" * Fix pg_dump's output of permissions for foreign servers * Fix possible crash in parallel pg_restore due to out-of-range dependency IDs * Fix plpgsql failure in one case where a composite column is set to NULL * Fix possible failure when calling PL/Perl functions from PL/PerlU or vice versa * Add volatile markings in PL/Python to avoid possible compiler-specific misbehavior * Ensure PL/Tcl initializes the Tcl interpreter fully The only known symptom of this oversight is that the Tcl clock command misbehaves if using Tcl 8.5 or later. * Prevent ExecutorEnd from being run on portals created within a failed transaction or subtransaction This is known to cause issues when using "contrib/auto_explain". * Prevent crash in "contrib/dblink" when too many key columns are specified to a dblink_build_sql_* function * Allow zero-dimensional arrays in "contrib/ltree" operations * Fix assorted crashes in "contrib/xml2" caused by sloppy memory management * Make building of "contrib/xml2" more robust on Windows * Fix race condition in Windows signal handling One known symptom of this bug is that rows in pg_listener could be dropped under heavy load. * Make the configure script report failure if the C compiler does not provide a working 64-bit integer datatype This case has been broken for some time, and no longer seems worth supporting, so just reject it at configure time instead. * Update time zone data files to tzdata release 2010e for DST law changes in Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa.
Diffstat (limited to 'databases/postgresql84')
-rw-r--r--databases/postgresql84/Makefile.common77
-rw-r--r--databases/postgresql84/distinfo12
-rw-r--r--databases/postgresql84/patches/patch-ad78
-rw-r--r--databases/postgresql84/patches/patch-ae45
-rw-r--r--databases/postgresql84/patches/patch-ai6
5 files changed, 30 insertions, 188 deletions
diff --git a/databases/postgresql84/Makefile.common b/databases/postgresql84/Makefile.common
index dbb1950e147..229ec5a5ec9 100644
--- a/databases/postgresql84/Makefile.common
+++ b/databases/postgresql84/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.3 2009/12/16 13:30:53 adam Exp $
+# $NetBSD: Makefile.common,v 1.4 2010/04/12 09:58:38 adam Exp $
#
# This Makefile fragment is included by all PostgreSQL packages built from
# the main sources of the PostgreSQL distribution except jdbc-postgresql.
@@ -32,13 +32,10 @@ COMMON_FILESDIR?= ${.CURDIR}/../postgresql84/files
PATCHDIR?= ${.CURDIR}/../postgresql84/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-postgresql84 when updating version
-#
-DIST_VERS?= 8.4.2
+DIST_VERS?= 8.4.3
BASE_VERS?= ${DIST_VERS}
BUILDLINK_API_DEPENDS.postgresql84-client+= postgresql84-client>=${BASE_VERS}
@@ -49,10 +46,10 @@ PKG_SYSCONFSUBDIR= postgresql
.include "../../mk/bsd.prefs.mk"
-PGSQL_TEMPLATE.SunOS= solaris
-PGSQL_TEMPLATE.IRIX= irix5
-.if !defined(PGSQL_TEMPLATE.${OPSYS})
-PGSQL_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
+PG_TEMPLATE.SunOS= solaris
+PG_TEMPLATE.IRIX= irix5
+.if !defined(PG_TEMPLATE.${OPSYS})
+PG_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
.endif
PG_SUBPREFIX= # empty
@@ -76,7 +73,7 @@ CONFIGURE_ARGS+= --sysconfdir=${PG_ETC_DIR}
CONFIGURE_ARGS+= --datadir=${PG_DATA_DIR}
CONFIGURE_ARGS+= --localedir=${PG_LOCALE_DIR}
CONFIGURE_ARGS+= --with-docdir=${PG_DOC_DIR}
-CONFIGURE_ARGS+= --with-template=${PGSQL_TEMPLATE.${OPSYS}}
+CONFIGURE_ARGS+= --with-template=${PG_TEMPLATE.${OPSYS}}
CONFIGURE_ARGS+= --without-readline
CONFIGURE_ARGS+= --without-zlib
CONFIGURE_ARGS+= --enable-nls
@@ -95,7 +92,6 @@ 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
@@ -106,58 +102,29 @@ FILES_SUBST+= PG_PREFIX=${PG_PREFIX:Q}
.include "../../devel/gettext-lib/buildlink3.mk"
post-extract:
- if ${TEST} -d ${WRKSRC}/src; then \
- rm -f ${WRKSRC}/src/Makefile.custom; \
- cp -f ${COMMON_FILESDIR}/Makefile.custom \
- ${WRKSRC}/src/Makefile.custom; \
- rm -f ${WRKSRC}/src/Makefile.shlib; \
- cp -f ${COMMON_FILESDIR}/Makefile.libtool \
- ${WRKSRC}/src/Makefile.shlib; \
- fi
- if ${TEST} -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 ${TEST} -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
+ cp -f ${COMMON_FILESDIR}/Makefile.custom ${WRKSRC}/src/Makefile.custom
+ cp -f ${COMMON_FILESDIR}/Makefile.libtool ${WRKSRC}/src/Makefile.shlib
.if !empty(USE_LIBLTDL:M[yY][eE][sS])
- if ${TEST} -d ${WRKSRC}/src/backend/port/dynloader; then \
- template=${PGSQL_TEMPLATE.${OPSYS}:Q}; \
- rm -f ${WRKSRC}/src/backend/port/dynloader/$$template.[ch]; \
- cp -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
- ${WRKSRC}/src/backend/port/dynloader/$$template.h; \
- ${ECHO} "static int dummy = 0;" \
- >${WRKSRC}/src/backend/port/dynloader/$$template.c
- fi
+ 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
- if ${TEST} -d ${WRKSRC}/src/template; then \
- touch ${WRKSRC}/src/template/dragonfly; \
- fi
- if ${TEST} -d ${WRKSRC}/src/backend/port/dynloader; then \
- 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; \
- fi
- if ${TEST} -d ${WRKSRC}/src/include/port; then \
- cp ${WRKSRC}/src/include/port/freebsd.h \
- ${WRKSRC}/src/include/port/dragonfly.h; \
- fi
- if ${TEST} -d ${WRKSRC}/src/makefiles; then \
- cp ${WRKSRC}/src/makefiles/Makefile.freebsd \
- ${WRKSRC}/src/makefiles/Makefile.dragonfly; \
- fi
+ 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
# 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 (hardcoded in the
# PostgreSQL sources). Please don't change this value unless you know
# what you are doing.
-#
BUILD_DEFS+= PGSQL_BLCKSZ
.if defined(PGSQL_BLCKSZ)
diff --git a/databases/postgresql84/distinfo b/databases/postgresql84/distinfo
index 5aa7000162d..f0b48042fbd 100644
--- a/databases/postgresql84/distinfo
+++ b/databases/postgresql84/distinfo
@@ -1,15 +1,13 @@
-$NetBSD: distinfo,v 1.3 2009/12/16 13:30:53 adam Exp $
+$NetBSD: distinfo,v 1.4 2010/04/12 09:58:38 adam Exp $
-SHA1 (postgresql-8.4.2.tar.bz2) = a617698ef3b41a74fe2c4af346172eb03e7f8a7f
-RMD160 (postgresql-8.4.2.tar.bz2) = 8d0030f185e9581bec6e2a0df903596579621bce
-Size (postgresql-8.4.2.tar.bz2) = 13600699 bytes
+SHA1 (postgresql-8.4.3.tar.bz2) = 5edad69e797620c4f27520cb1986bc78c173d67a
+RMD160 (postgresql-8.4.3.tar.bz2) = 4f8bba582138ea8d77059851c361d6f2fb838e52
+Size (postgresql-8.4.3.tar.bz2) = 13645257 bytes
SHA1 (patch-aa) = aeeeaafb38e75d8e8f6639280e997ba4c905b45f
SHA1 (patch-ab) = 3cf9c7f0f812d2e41681281538c3f707cec232c3
SHA1 (patch-ac) = 0b82797d0b80bdd1e9b5f3de4989fe3848adf6cb
-SHA1 (patch-ad) = 5612e447bbb76e81f72d39ad0153b9f77d47f653
-SHA1 (patch-ae) = 8b3e47320dfe05d94b769c9b079fd7ca6d26f5d6
SHA1 (patch-af) = a73769cf05223d2ee06249c9e69c85038c2cd936
SHA1 (patch-ag) = 85dac95e40efc16270885087f868aeb76e1b9214
SHA1 (patch-ah) = 25102dce1b9b22385353af23500636fb18e3bf64
-SHA1 (patch-ai) = 46e896a71d09af71d6b0c8ae5a8b0d5f35424482
+SHA1 (patch-ai) = 0d6f536f7593e362ec216eafa73c718ad6bed8fc
SHA1 (patch-an) = a1e7f421a101cf9ccddcaf3ce17aa1847cf76310
diff --git a/databases/postgresql84/patches/patch-ad b/databases/postgresql84/patches/patch-ad
deleted file mode 100644
index 01ef2528733..00000000000
--- a/databases/postgresql84/patches/patch-ad
+++ /dev/null
@@ -1,78 +0,0 @@
-$NetBSD: patch-ad,v 1.1.1.1 2009/07/29 06:26:18 adam Exp $
-
---- src/backend/port/dynloader/netbsd.c.orig 2008-04-05 10:45:52.000000000 +0200
-+++ src/backend/port/dynloader/netbsd.c
-@@ -42,64 +42,30 @@ static char sccsid[] = "@(#)dl.c 5.4 (Be
-
- #include "dynloader.h"
-
--static char error_message[BUFSIZ];
-+#ifndef HAVE_DLOPEN
-
- char *
--BSD44_derived_dlerror(void)
-+pg_dlerror(void)
- {
-- static char ret[BUFSIZ];
--
-- strcpy(ret, error_message);
-- error_message[0] = 0;
-- return (ret[0] == 0) ? NULL : ret;
-+ return "dynaloader unsupported";
- }
-
- void *
--BSD44_derived_dlopen(const char *file, int num)
-+pg_dlopen(const char *file, int num)
- {
--#if !defined(HAVE_DLOPEN)
-- snprintf(error_message, sizeof(error_message),
-- "dlopen (%s) not supported", file);
-+ elog(ERROR, "dynamic load not supported");
- return NULL;
--#else
-- void *vp;
--
-- if ((vp = dlopen((char *) file, num)) == NULL)
-- snprintf(error_message, sizeof(error_message),
-- "dlopen (%s) failed: %s", file, dlerror());
-- return vp;
--#endif
- }
-
- void *
--BSD44_derived_dlsym(void *handle, const char *name)
-+pg_dlsym(void *handle, const char *name)
- {
--#if !defined(HAVE_DLOPEN)
-- snprintf(error_message, sizeof(error_message),
-- "dlsym (%s) failed", name);
- return NULL;
--#elif defined(__ELF__)
-- return dlsym(handle, name);
--#else
-- void *vp;
-- char buf[BUFSIZ];
--
-- if (*name != '_')
-- {
-- snprintf(buf, sizeof(buf), "_%s", name);
-- name = buf;
-- }
-- if ((vp = dlsym(handle, (char *) name)) == NULL)
-- snprintf(error_message, sizeof(error_message),
-- "dlsym (%s) failed", name);
-- return vp;
--#endif
- }
-
- void
--BSD44_derived_dlclose(void *handle)
-+pg_dlclose(void *handle)
- {
--#if defined(HAVE_DLOPEN)
-- dlclose(handle);
--#endif
- }
-+
-+#endif /* ! HAVE_DLOPEN */
diff --git a/databases/postgresql84/patches/patch-ae b/databases/postgresql84/patches/patch-ae
deleted file mode 100644
index bc151f79a02..00000000000
--- a/databases/postgresql84/patches/patch-ae
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD: patch-ae,v 1.1.1.1 2009/07/29 06:26:18 adam Exp $
-
---- src/backend/port/dynloader/netbsd.h.orig 2005-01-01 07:00:32.000000000 +0900
-+++ src/backend/port/dynloader/netbsd.h
-@@ -21,19 +21,7 @@
-
- #include "utils/dynamic_loader.h"
-
--/*
-- * Dynamic Loader on NetBSD 1.0.
-- *
-- * this dynamic loader uses the system dynamic loading interface for shared
-- * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
-- * library as the file to be dynamically loaded.
-- *
-- * agc - I know this is all a bit crufty, but it does work, is fairly
-- * portable, and works (the stipulation that the d.l. function must
-- * begin with an underscore is fairly tricky, and some versions of
-- * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
-- */
--
-+#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
-@@ -47,14 +35,11 @@
- #define RTLD_GLOBAL 0
- #endif
-
--#define pg_dlopen(f) BSD44_derived_dlopen((f), RTLD_NOW | RTLD_GLOBAL)
--#define pg_dlsym BSD44_derived_dlsym
--#define pg_dlclose BSD44_derived_dlclose
--#define pg_dlerror BSD44_derived_dlerror
-+#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL)
-+#define pg_dlsym dlsym
-+#define pg_dlclose dlclose
-+#define pg_dlerror dlerror
-
--char *BSD44_derived_dlerror(void);
--void *BSD44_derived_dlopen(const char *filename, int num);
--void *BSD44_derived_dlsym(void *handle, const char *name);
--void BSD44_derived_dlclose(void *handle);
-+#endif /* HAVE_DLOPEN */
-
- #endif /* PORT_PROTOS_H */
diff --git a/databases/postgresql84/patches/patch-ai b/databases/postgresql84/patches/patch-ai
index b8029ca5c58..6aae6088192 100644
--- a/databases/postgresql84/patches/patch-ai
+++ b/databases/postgresql84/patches/patch-ai
@@ -1,6 +1,6 @@
-$NetBSD: patch-ai,v 1.1.1.1 2009/07/29 06:26:19 adam Exp $
+$NetBSD: patch-ai,v 1.2 2010/04/12 09:58:39 adam Exp $
---- src/timezone/zic.c.orig 2009-06-11 16:49:15.000000000 +0200
+--- src/timezone/zic.c.orig 2010-03-16 07:17:04.000000000 +0000
+++ src/timezone/zic.c
@@ -120,51 +120,51 @@ struct zone
@@ -69,7 +69,7 @@ $NetBSD: patch-ai,v 1.1.1.1 2009/07/29 06:26:19 adam Exp $
static void setboundaries(void);
-static pg_time_t tadd(const pg_time_t t1, long t2);
+static pg_time_t tadd(const pg_time_t t1, const long t2);
- static void usage(void);
+ static void usage(FILE *stream, int status);
static void writezone(const char *name, const char *string);
-static int yearistype(int year, const char *type);
+static int yearistype(const int year, const char *type);