--- postgresql-8.4-8.4.14.orig/debian/libpq-dev.install +++ postgresql-8.4-8.4.14/debian/libpq-dev.install @@ -0,0 +1,19 @@ +usr/include/postgresql/internal/* +usr/include/postgresql/libpq-fe.h +usr/include/postgresql/libpq-events.h +usr/include/postgresql/libpq/libpq-fs.h +usr/include/postgresql/pg_config*.h +usr/include/postgresql/postgres_ext.h +usr/include/postgresql/8.4/server/catalog/pg_type.h /usr/include/postgresql/catalog +usr/include/postgresql/8.4/server/catalog/genbki.h /usr/include/postgresql/catalog +usr/include/postgresql/8.4/server/nodes/nodes.h /usr/include/postgresql/nodes +usr/include/postgresql/8.4/server/utils/{elog,errcodes,palloc}.h /usr/include/postgresql/utils +usr/include/postgresql/8.4/server/{c,pg_config,pg_config_manual,pg_config_os,port,pg_trace}.h /usr/include/postgresql/ +usr/include/postgresql/8.4/server/postgres{,_fe,_ext}.h /usr/include/postgresql/ +usr/include/postgresql/8.4/server/mb/pg_wchar.h /usr/include/postgresql/mb +usr/lib/libpgport.a +usr/lib/libpq.a +usr/lib/libpq.so +usr/lib/postgresql/8.4/bin/pg_config usr/bin +usr/share/postgresql/8.4/man/man1/pg_config.1 +usr/share/locale/*/LC_MESSAGES/pg_config-8.4.mo --- postgresql-8.4-8.4.14.orig/debian/postgresql-client-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-client-8.4.install @@ -0,0 +1,31 @@ +usr/lib/postgresql/8.4/bin/clusterdb +usr/lib/postgresql/8.4/bin/pg_dumpall +usr/lib/postgresql/8.4/bin/pg_dump +usr/lib/postgresql/8.4/bin/createdb +usr/lib/postgresql/8.4/bin/createlang +usr/lib/postgresql/8.4/bin/createuser +usr/lib/postgresql/8.4/bin/dropdb +usr/lib/postgresql/8.4/bin/droplang +usr/lib/postgresql/8.4/bin/dropuser +usr/lib/postgresql/8.4/bin/reindexdb +usr/lib/postgresql/8.4/bin/pg_restore +usr/lib/postgresql/8.4/bin/psql +usr/lib/postgresql/8.4/bin/vacuumdb +usr/share/postgresql/8.4/man/man1/pg_restore.1 +usr/share/postgresql/8.4/man/man1/psql.1 +usr/share/postgresql/8.4/man/man1/vacuumdb.1 +usr/share/postgresql/8.4/man/man1/clusterdb.1 +usr/share/postgresql/8.4/man/man1/pg_dump.1 +usr/share/postgresql/8.4/man/man1/pg_dumpall.1 +usr/share/postgresql/8.4/man/man1/createdb.1 +usr/share/postgresql/8.4/man/man1/createlang.1 +usr/share/postgresql/8.4/man/man1/createuser.1 +usr/share/postgresql/8.4/man/man1/dropdb.1 +usr/share/postgresql/8.4/man/man1/droplang.1 +usr/share/postgresql/8.4/man/man1/dropuser.1 +usr/share/postgresql/8.4/man/man1/reindexdb.1 +usr/share/postgresql/8.4/man/man7/*7 +usr/share/postgresql/8.4/psqlrc.sample +usr/share/locale/*/LC_MESSAGES/pg_dump-8.4.mo +usr/share/locale/*/LC_MESSAGES/psql-8.4.mo +usr/share/locale/*/LC_MESSAGES/pgscripts-8.4.mo --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.prerm +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.prerm @@ -0,0 +1,11 @@ +#!/bin/sh -e + +VERSION=8.4 + +#DEBHELPER# + +if [ "$1" = remove ]; then + . /usr/share/postgresql-common/maintscripts-functions + remove_version $VERSION +fi + --- postgresql-8.4-8.4.14.orig/debian/postgresql-doc-8.4.dirs +++ postgresql-8.4-8.4.14/debian/postgresql-doc-8.4.dirs @@ -0,0 +1 @@ +/usr/share/doc/postgresql-doc-8.4/tutorial --- postgresql-8.4-8.4.14.orig/debian/libpq-dev.manpages +++ postgresql-8.4-8.4.14/debian/libpq-dev.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/postgresql/8.4/man/man1/pg_config.1 --- postgresql-8.4-8.4.14.orig/debian/postgresql-pltcl-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-pltcl-8.4.install @@ -0,0 +1,4 @@ +usr/lib/postgresql/8.4/lib/pltcl.so +usr/lib/postgresql/8.4/bin/pltcl_* +usr/share/postgresql/8.4/unknown.pltcl +/usr/share/locale/*/*/pltcl-*.mo --- postgresql-8.4-8.4.14.orig/debian/pycompat +++ postgresql-8.4-8.4.14/debian/pycompat @@ -0,0 +1 @@ +2 --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.init +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.init @@ -0,0 +1,46 @@ +#!/bin/sh -e + +### BEGIN INIT INFO +# Provides: postgresql postgresql-8.4 +# Required-Start: $local_fs $remote_fs $network $time +# Required-Stop: $local_fs $remote_fs $network $time +# Should-Start: $syslog +# Should-Stop: $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: PostgreSQL 8.4 RDBMS server +### END INIT INFO + +# Setting environment variables for the postmaster here does not work; please +# set them in /etc/postgresql/8.4//environment instead. + +[ -r /usr/share/postgresql-common/init.d-functions ] || exit 0 + +. /usr/share/postgresql-common/init.d-functions + +VERSION=8.4 + +case "$1" in + start) + start $VERSION + ;; + stop) + stop "$VERSION" + ;; + restart) + restart "$VERSION" + ;; + force-reload | reload) + reload $VERSION + ;; + status) + status $VERSION + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload|status|autovac-start|autovac-stop|autovac-restart}" + exit 1 + ;; +esac + +exit 0 + --- postgresql-8.4-8.4.14.orig/debian/watch +++ postgresql-8.4-8.4.14/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://www.postgresql.org/ftp/source/ /ftp/source/v(8\.4.*)/ --- postgresql-8.4-8.4.14.orig/debian/postgresql-doc-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-doc-8.4.install @@ -0,0 +1 @@ +usr/share/doc/postgresql/html usr/share/doc/postgresql-doc-8.4/ --- postgresql-8.4-8.4.14.orig/debian/postgresql-doc-8.4.doc-base +++ postgresql-8.4-8.4.14/debian/postgresql-doc-8.4.doc-base @@ -0,0 +1,13 @@ +Document: postgresql-8.4 +Title: PostgreSQL 8.4 Documentation +Author: The PostgreSQL Global Development Group +Abstract: The documentation for the PostgreSQL database management system, + version 8.4. PostgreSQL is a sophisticated Object-Relational DBMS, supporting + almost all SQL constructs, including subselects, transactions, and + user-defined types and functions. +Section: Data Management + +Format: HTML +Index: /usr/share/doc/postgresql-doc-8.4/html/index.html +Files: /usr/share/doc/postgresql-doc-8.4/html/* + --- postgresql-8.4-8.4.14.orig/debian/libpq5.shlibs +++ postgresql-8.4-8.4.14/debian/libpq5.shlibs @@ -0,0 +1 @@ +libpq 5 libpq5 (>= 8.4~0cvs20090328) --- postgresql-8.4-8.4.14.orig/debian/postgresql-client-8.4.prerm +++ postgresql-8.4-8.4.14/debian/postgresql-client-8.4.prerm @@ -0,0 +1,10 @@ +#!/bin/sh -e + +#DEBHELPER# + +VERSION=8.4 + +if [ "$1" = remove ]; then + . /usr/share/postgresql-common/maintscripts-functions + remove_client_version $VERSION +fi --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.postrm +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.postrm @@ -0,0 +1,60 @@ +#!/bin/sh -e + +#DEBHELPER# + +VERSION=8.4 + +clean_dir() { + if [ -d "$1" ] && [ ! -L "$1" ]; then + rmdir "$1" >/dev/null 2>/dev/null || true + fi +} + +drop_cluster() { + # if we still have the postgresql-common package, use it to also shutdown + # server, etc.; otherwise just remove the directories + if [ -x /usr/bin/pg_dropcluster ]; then + pg_dropcluster --stop-server $VERSION "$1" + else + # remove data directory + PGDATALINK="/etc/postgresql/$VERSION/$1/pgdata" + if [ -e "$PGDATALINK" ]; then + rm -rf $(readlink -f "$PGDATALINK") "$PGDATALINK" + else + rm -rf "/var/lib/postgresql/$VERSION/$1/" + fi + + # remove log file, including rotated ones + LOGLINK="/etc/postgresql/$VERSION/$1/log" + if [ -e "$LOGLINK" ]; then + LOG=$(readlink -f "$LOGLINK") + rm -f $LOG* "$LOGLINK" + else + rm -f /var/log/postgresql/postgresql-$VERSION-"$1".log* + fi + + # remove conffiles + for f in pg_hba.conf pg_ident.conf postgresql.conf start.conf environment; do + rm -f /etc/postgresql/$VERSION/"$1"/$f + done + + clean_dir /etc/postgresql/$VERSION/"$1" + fi +} + +if [ "$1" = purge ]; then + [ -d "/etc/postgresql/$VERSION" ] || exit 0 + if [ "$(ls /etc/postgresql/$VERSION)" ]; then + for c in /etc/postgresql/$VERSION/*; do + [ -e "$c/postgresql.conf" ] || continue + cluster=$(basename "$c") + echo "Dropping cluster $cluster..." + drop_cluster "$cluster" + done + fi + + clean_dir /etc/postgresql/$VERSION + clean_dir /etc/postgresql + clean_dir /var/lib/postgresql/$VERSION + clean_dir /var/lib/postgresql +fi --- postgresql-8.4-8.4.14.orig/debian/compat +++ postgresql-8.4-8.4.14/debian/compat @@ -0,0 +1 @@ +5 --- postgresql-8.4-8.4.14.orig/debian/libpgtypes3.install +++ postgresql-8.4-8.4.14/debian/libpgtypes3.install @@ -0,0 +1 @@ +usr/lib/libpgtypes.so.3* --- postgresql-8.4-8.4.14.orig/debian/postgresql-plperl-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-plperl-8.4.install @@ -0,0 +1,2 @@ +usr/lib/postgresql/8.4/lib/plperl.so +/usr/share/locale/*/*/plperl-*.mo --- postgresql-8.4-8.4.14.orig/debian/libecpg-dev.manpages +++ postgresql-8.4-8.4.14/debian/libecpg-dev.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/postgresql/8.4/man/man1/ecpg.1 --- postgresql-8.4-8.4.14.orig/debian/rules +++ postgresql-8.4-8.4.14/debian/rules @@ -0,0 +1,160 @@ +#!/usr/bin/make -f +TCL_VER := 8.5 +MAJOR_VER := 8.4 + +include /usr/share/cdbs/1/rules/simple-patchsys.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/debhelper.mk + +LDFLAGS+= -Wl,--as-needed +CFLAGS+= -fPIC + +ifneq ($(findstring $(DEB_BUILD_ARCH), sparc alpha),) +# sparc and alpha's gcc currently miscompiles; see +# http://lists.debian.org/debian-alpha/2007/11/msg00025.html + CFLAGS+=-O1 +endif + +export DEB_BUILD_HARDENING=1 + +# build should fail on test suite failures on all arches +TESTSUITE_FAIL_CMD=exit 1 + +DEB_DH_INSTALL_SOURCEDIR=debian/tmp +DEB_CONFIGURE_EXTRA_FLAGS := --mandir=\$${prefix}/share/postgresql/$(MAJOR_VER)/man \ + --with-docdir=\$${prefix}/share/doc/postgresql-doc-$(MAJOR_VER) \ + --sysconfdir=/etc/postgresql-common \ + --datadir=\$${prefix}/share/postgresql/$(MAJOR_VER) \ + --bindir=\$${prefix}/lib/postgresql/$(MAJOR_VER)/bin \ + --includedir=\$${prefix}/include/postgresql/ \ + --enable-nls \ + --enable-integer-datetimes \ + --enable-thread-safety \ + --enable-debug \ + --disable-rpath \ + --with-tcl \ + --with-perl \ + --with-python \ + --with-pam \ + --with-krb5 \ + --with-gssapi \ + --with-openssl \ + --with-libxml \ + --with-libxslt \ + --with-ldap \ + --with-ossp-uuid \ + --with-gnu-ld \ + --with-tclconfig=/usr/lib/tcl$(TCL_VER) \ + --with-tkconfig=/usr/lib/tk$(TCL_VER) \ + --with-includes=/usr/include/tcl$(TCL_VER) \ + --with-system-tzdata=/usr/share/zoneinfo \ + --with-pgport=5432 \ + $(ARCH_OPTS) \ + CFLAGS='$(CFLAGS)' \ + LDFLAGS='$(LDFLAGS)' + +DEB_DH_MAKESHLIBS_ARGS := -Xusr/lib/postgresql/$(MAJOR_VER) +# disabled for CVS builds +#DEB_DH_INSTALLCHANGELOGS_ARGS := HISTORY +DEB_COMPRESS_EXCLUDE := .source .c +DEB_DH_INSTALLINIT_ARGS := -u'defaults 19 21' + +# build documentation tarball if not present +common-configure-indep:: doc/postgres.tar.gz doc/man.tar.gz +common-configure-arch:: doc/postgres.tar.gz doc/man.tar.gz + +doc/postgres.tar.gz: + make -C doc/src postgres.tar + mv doc/src/postgres.tar doc/ + gzip -9 doc/postgres.tar + +doc/man.tar.gz: + chmod 755 debian/docbook2man-sgmlspl/* + make -C doc/src man.tar D2MDIR=`pwd`/debian/docbook2man-sgmlspl + mv doc/src/man.tar doc/ + gzip -9 doc/man.tar + +clean:: + rm -f doc/postgres.tar.gz doc/man.tar.gz + +common-binary-predeb-arch:: + # verify that all files are installed; ignore manpages, since + # they are handled by dh_installman + missing=`dh_install --sourcedir=debian/tmp --list-missing --no-act 2>&1 | grep -v man/man`; \ + if [ -n "$$missing" ]; then \ + echo "Not all files are installed:"; \ + echo "$$missing"; \ + exit 1; \ + fi + +common-post-build-arch:: + # generate POT files for translators + find -name nls.mk -exec sh -c "make -C \$$(dirname {}) init-po" \; + +common-post-build-indep:: + # build tutorial stuff + make -C src/tutorial NO_PGXS=1 + +install/postgresql-doc-$(MAJOR_VER):: + install src/tutorial/*.c src/tutorial/*.source src/tutorial/Makefile src/tutorial/README debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/tutorial + +binary-predeb/postgresql-$(MAJOR_VER):: +ifeq (, $(findstring nocheck, $(DEB_BUILD_OPTIONS))) + # patch away the "don't execute as root" check for the test + # suite; doing it here will ensure that the actual debs have + # the check. + set -e; \ + patch --no-backup-if-mismatch -p1 < debian/disable-root-check.patch; \ + make -C src/test/regress bigcheck || fail=1; \ + patch --no-backup-if-mismatch -Rp1 < debian/disable-root-check.patch; \ + if [ -n "$$fail" ]; then \ + for l in regression.diffs log/initdb.log log/postmaster.log; do \ + if [ -e src/test/regress/$$l ]; then \ + echo "********* $$l *******"; \ + cat src/test/regress/$$l; \ + fi; \ + done; \ + $(TESTSUITE_FAIL_CMD); \ + fi +endif + + # compress manpages + find debian/postgresql-$(MAJOR_VER)/usr/share/postgresql/$(MAJOR_VER)/man -type f -exec gzip -9 '{}' \; + +binary-predeb/postgresql-client-$(MAJOR_VER):: + find debian/postgresql-client-$(MAJOR_VER)/usr/share/postgresql/$(MAJOR_VER)/man -type f -exec gzip -9 '{}' \; + +binary-install/postgresql-plpython-$(MAJOR_VER):: + dh_pycentral -p$(cdbs_curpkg) + dh_python -p$(cdbs_curpkg) usr/lib/postgresql/$(MAJOR_VER)/lib + +# run tests in contrib in temporary test installations, using programs +# from local tree +contrib-check: + set -e; cd contrib; \ + for d in *; do \ + [ -d $$d/sql ] || continue; \ + echo "============== Running tests in $$d"; \ + (cd $$d; \ + if ! ../../src/test/regress/pg_regress --top-builddir=../.. --temp-install=tmp_check --dbname=contrib_regression `cd sql; ls *.sql | sed 's/.sql$$//'`; then \ + cat regression.diffs; \ + fi); \ + done + +# run tests in contrib in temporary test installation, using programs +# from system installation +contrib-installcheck: + # set up temporary db + rm -rf tmp_data + mkdir tmp_data + /usr/lib/postgresql/$(MAJOR_VER)/bin/initdb -D tmp_data + /usr/lib/postgresql/$(MAJOR_VER)/bin/pg_ctl -D tmp_data -l tmp_data/postgres.log -o '-k /tmp' start + # wait until it started up + while !/usr/lib/postgresql/$(MAJOR_VER)/bin/psql -h /tmp -l >/dev/null 2>&1; do sleep 1; done + sleep 1 + while !/usr/lib/postgresql/$(MAJOR_VER)/bin/psql -h /tmp -l >/dev/null 2>&1; do sleep 1; done + # run the tests + -cd contrib; make installcheck + /usr/lib/postgresql/$(MAJOR_VER)/bin/pg_ctl -D tmp_data stop + # find and print the regression diffs + find contrib/ -name regression.diffs -exec cat '{}' \; --- postgresql-8.4-8.4.14.orig/debian/control +++ postgresql-8.4-8.4.14/debian/control @@ -0,0 +1,296 @@ +Source: postgresql-8.4 +Section: database +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Martin Pitt +Standards-Version: 3.8.3 +XS-Python-Version: current +Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), perl (>= 5.8), + libperl-dev, tcl8.5-dev, libreadline-dev | libreadline5-dev, libssl-dev, + zlib1g-dev | libz-dev, libpam0g-dev | libpam-dev, libxml2-dev, libkrb5-dev, + libldap2-dev, libxslt1-dev, libossp-uuid-dev, python-dev, + python-central (>= 0.5), gettext, hardening-wrapper, + bison, flex, docbook-utils, openjade, docbook +Homepage: http://www.postgresql.org/ +Vcs-Browser: http://bazaar.launchpad.net/~pitti/postgresql/debian-8.4 +Vcs-Bzr: https://code.launchpad.net/~pitti/postgresql/debian-8.4 + +Package: libpq-dev +Architecture: any +Section: libdevel +Depends: ${misc:Depends}, ${shlibs:Depends}, libpq5 (= ${binary:Version}), libssl-dev, libkrb5-dev, comerr-dev +Conflicts: postgresql-dev (<< 7.5) +Replaces: postgresql-dev +Suggests: postgresql-doc-8.4 +Description: header files for libpq5 (PostgreSQL library) + Header files and static library for compiling C programs to link + with the libpq library in order to communicate with a PostgreSQL + database backend. + . + PostgreSQL is an object-relational SQL database management system. + +Package: libpq5 +Architecture: any +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: PostgreSQL C client library + libpq is a C library that enables user programs to communicate with + the PostgreSQL database server. The server can be on another machine + and accessed through TCP/IP. This version of libpq is compatible + with servers from PostgreSQL 8.2 or later. + . + This package contains the run-time library, needed by packages using + libpq. + . + PostgreSQL is an object-relational SQL database management system. + +Package: libecpg6 +Architecture: any +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: run-time library for ECPG programs + The libecpg shared library is used by programs built with ECPG + (Embedded PostgreSQL for C). + . + PostgreSQL is an object-relational SQL database management system. + +Package: libecpg-dev +Architecture: any +Section: libdevel +Depends: ${misc:Depends}, ${shlibs:Depends}, libpq-dev, libecpg6 (= ${binary:Version}), libecpg-compat3 (= ${binary:Version}), libpgtypes3 (= ${binary:Version}) +Conflicts: postgresql-dev, libecpg3-dev +Description: development files for ECPG (Embedded PostgreSQL for C) + This package contains the necessary files to build ECPG (Embedded + PostgreSQL for C) programs. It includes the development libraries + and the preprocessor program ecpg. + . + PostgreSQL is an object-relational SQL database management system. + . + Install this package if you want to write C programs with SQL statements + embedded in them (rather than run by an external process). + +Package: libecpg-compat3 +Architecture: any +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: older version of run-time library for ECPG programs + The libecpg_compat shared library is used by programs built with ecpg. + (Embedded PostgreSQL for C). + . + PostgreSQL is an object-relational SQL database management system. + +Package: libpgtypes3 +Architecture: any +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: shared library libpgtypes for PostgreSQL 8.4 + The libpgtypes shared library is used by programs built with ecpg. + (Embedded PostgreSQL for C). + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, postgresql-client-8.4, postgresql-common (>= 104~), tzdata, ssl-cert, locales +Suggests: oidentd | ident-server +Conflicts: postgresql (<< 7.5) +Description: object-relational SQL database, version 8.4 server + PostgreSQL is a fully featured object-relational database management + system. It supports a large part of the SQL standard and is designed + to be extensible by users in many aspects. Some of the features are: + ACID transactions, foreign keys, views, sequences, subqueries, + triggers, user-defined types and functions, outer joins, multiversion + concurrency control. Graphical user interfaces and bindings for many + programming languages are available as well. + . + This package provides the database server for PostgreSQL 8.4. Servers + for other major release versions can be installed simultaneously and + are coordinated by the postgresql-common package. A package providing + ident-server is needed if you want to authenticate remote connections + with identd. + +Package: postgresql-client-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, postgresql-client-common (>= 104~) +Conflicts: postgresql (<< 7.5) +Suggests: postgresql-8.4, postgresql-doc-8.4 +Provides: postgresql-client +Description: front-end programs for PostgreSQL 8.4 + This package contains client and administrative programs for + PostgreSQL: these are the interactive terminal client psql and + programs for creating and removing users and databases. + . + This is the client package for PostgreSQL 8.4. If you install + PostgreSQL 8.4 on a standalone machine, you need the server package + postgresql-8.4, too. On a network, you can install this package on + many client machines, while the server package may be installed on + only one machine. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-server-dev-8.4 +Architecture: any +Section: libdevel +Depends: ${misc:Depends}, ${shlibs:Depends}, libpq-dev (>= 8.4~) +Description: development files for PostgreSQL 8.4 server-side programming + Header files for compiling SSI code to link into PostgreSQL's backend; for + example, for C functions to be called from SQL. + . + This package also contains the Makefiles necessary for building add-on + modules of PostgreSQL, which would otherwise have to be built in the + PostgreSQL source-code tree. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-doc-8.4 +Architecture: all +Section: doc +Depends: ${misc:Depends} +Conflicts: postgresql-doc (<< 7.5) +Description: documentation for the PostgreSQL database management system + This package contains all README files, user manual, and examples for + PostgreSQL 8.4. The manual is in HTML format. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-contrib-8.4 +Architecture: any +Depends: postgresql-8.4, ${misc:Depends}, ${shlibs:Depends}, postgresql-common (>= 104~) +Suggests: libdbd-pg-perl +Conflicts: postgresql-contrib (<< 7.5) +Description: additional facilities for PostgreSQL + The PostgreSQL contrib package provides several additional features + for the PostgreSQL database. This version is built to work with the + server package postgresql-8.4. contrib often serves as a testbed for + features before they are adopted into PostgreSQL proper: + . + adminpack - File and log manipulation routines, used by pgAdmin + btree_gist - B-Tree indexing using GiST (Generalised Search Tree) + chkpass - An auto-encrypted password datatype + cube - Multidimensional-cube datatype (GiST indexing example) + dblink - Functions to return results from a remote database + earthdistance - Operator for computing the distance (in miles) between + two points on the earth's surface + fuzzystrmatch - Levenshtein, metaphone, and soundex fuzzy string matching + hstore - Store (key, value) pairs + intagg - Integer aggregator/enumerator + _int - Index support for arrays of int4, using GiST (benchmark + needs the libdbd-pg-perl package) + isn - type extensions for ISBN, ISSN, ISMN, EAN13 product numbers + lo - Large Object maintenance + ltree - Tree-like data structures + oid2name - Maps OIDs to table names + pageinspect - Inspection of database pages + pg_buffercache - Real time queries on the shared buffer cache + pg_freespacemap- Displays the contents of the free space map (FSM) + pg_trgm - Determine the similarity of text based on trigram matching + pg_standby - Create a warm stand-by server + pgbench - TPC-B like benchmark + pgcrypto - Cryptographic functions + pgrowlocks - A function to return row locking information + pgstattuple - Returns the percentage of dead tuples in a table; this + indicates whether a vacuum is required. + seg - Confidence-interval datatype (GiST indexing example) + spi - PostgreSQL Server Programming Interface; 4 examples of + its use: + autoinc - A function for implementing AUTOINCREMENT/ + IDENTITY + insert_username - function for inserting user names + moddatetime - Update modification timestamps + refint - Functions for implementing referential + integrity (foreign keys). Note that this is + now superseded by built-in referential + integrity. + timetravel - Re-implements in user code the time travel + feature that was removed in 6.3. + tablefunc - examples of functions returning tables + uuid-ossp - UUID generation functions + vacuumlo - Remove orphaned large objects + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-plperl-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, postgresql-8.4, perl +Description: PL/Perl procedural language for PostgreSQL 8.4 + PL/Perl enables an SQL developer to write procedural language functions + for PostgreSQL 8.4 in Perl. You need this package if you have any + PostgreSQL 8.4 functions that use the languages plperl or plperlu. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-plpython-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, postgresql-8.4 +XB-Python-Version: ${python:Versions} +Description: PL/Python procedural language for PostgreSQL 8.4 + PL/Python enables an SQL developer to write procedural language functions + for PostgreSQL 8.4 in Python. You need this package if you have any + PostgreSQL 8.4 functions that use the languages plpython or plpythonu. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-pltcl-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, postgresql-8.4 +Description: PL/Tcl procedural language for PostgreSQL 8.4 + PL/Tcl enables an SQL developer to write procedural language functions + for PostgreSQL 8.4 in Tcl. You need this package if you have any + PostgreSQL 8.4 functions that use the languages pltcl or pltclu. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql +Architecture: all +Depends: postgresql-8.4, ${misc:Depends} +Description: object-relational SQL database (supported version) + PostgreSQL is a fully featured object-relational database management + system. It supports a large part of the SQL standard and is designed + to be extensible by users in many aspects. Some of the features are: + ACID transactions, foreign keys, views, sequences, subqueries, + triggers, user-defined types and functions, outer joins, multiversion + concurrency control. Graphical user interfaces and bindings for many + programming languages are available as well. + . + This package always depends on the currently supported PostgreSQL + database server version. + +Package: postgresql-client +Architecture: all +Depends: postgresql-client-8.4, ${misc:Depends} +Description: front-end programs for PostgreSQL (supported version) + This package contains client and administrative programs for + PostgreSQL: these are the interactive terminal client psql and + programs for creating and removing users and databases. + . + This package always depends on the currently supported database + client package for PostgreSQL. If you install PostgreSQL on a + standalone machine, you need the server package postgresql, too. On a + network, you can install this package on many client machines, while + the server package may be installed on only one machine. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-doc +Architecture: all +Section: doc +Depends: postgresql-doc-8.4, ${misc:Depends} +Description: documentation for the PostgreSQL database management system + This package contains all README files, user manual, and examples for + the currently supported PostgreSQL version. The manual is in HTML + format. + . + PostgreSQL is an object-relational SQL database management system. + +Package: postgresql-contrib +Architecture: all +Depends: postgresql-contrib-8.4, ${misc:Depends} +Description: additional facilities for PostgreSQL (supported version) + The PostgreSQL contrib package provides several additional features + for the PostgreSQL database. contrib often serves as a testbed for + features before they are adopted into PostgreSQL proper. + . + This package always depends on the currently supported contrib + package for PostgreSQL. + . + PostgreSQL is an object-relational SQL database management system. --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.install @@ -0,0 +1,30 @@ +usr/lib/postgresql/8.4/bin/initdb +usr/lib/postgresql/8.4/bin/pg_controldata +usr/lib/postgresql/8.4/bin/pg_ctl +usr/lib/postgresql/8.4/bin/pg_resetxlog +usr/lib/postgresql/8.4/bin/postgres +usr/lib/postgresql/8.4/bin/postmaster +usr/lib/postgresql/8.4/lib/*_and_*.so +usr/lib/postgresql/8.4/lib/plpgsql.so +usr/lib/postgresql/8.4/lib/dict_snowball.so +usr/lib/postgresql/8.4/lib/tsearch2.so +usr/share/locale/*/LC_MESSAGES/initdb-8.4.mo +usr/share/locale/*/LC_MESSAGES/pg_controldata-8.4.mo +usr/share/locale/*/LC_MESSAGES/pg_ctl-8.4.mo +usr/share/locale/*/LC_MESSAGES/pg_resetxlog-8.4.mo +usr/share/locale/*/LC_MESSAGES/postgres-8.4.mo +usr/share/locale/*/LC_MESSAGES/plpgsql-8.4.mo +usr/share/postgresql/8.4/man/man1/initdb.1 +usr/share/postgresql/8.4/man/man1/pg_controldata.1 +usr/share/postgresql/8.4/man/man1/pg_ctl.1 +usr/share/postgresql/8.4/man/man1/pg_resetxlog.1 +usr/share/postgresql/8.4/man/man1/postgres.1 +usr/share/postgresql/8.4/man/man1/postmaster.1 +usr/share/postgresql/8.4/timezonesets/* +usr/share/postgresql/8.4/tsearch_data +usr/share/postgresql/8.4/*.sql +usr/share/postgresql/8.4/*.conf.sample +usr/share/postgresql/8.4/postgres.bki +usr/share/postgresql/8.4/postgres.description +usr/share/postgresql/8.4/postgres.shdescription +usr/share/postgresql/8.4/sql_features.txt --- postgresql-8.4-8.4.14.orig/debian/postgresql-client-8.4.postinst +++ postgresql-8.4-8.4.14/debian/postgresql-client-8.4.postinst @@ -0,0 +1,11 @@ +#!/bin/sh -e + +VERSION=8.4 + +. /usr/share/postgresql-common/maintscripts-functions + +if [ "$1" = configure ]; then + configure_client_version $VERSION "$2" +fi + +#DEBHELPER# --- postgresql-8.4-8.4.14.orig/debian/postgresql-contrib-8.4.prerm +++ postgresql-8.4-8.4.14/debian/postgresql-contrib-8.4.prerm @@ -0,0 +1,10 @@ +#!/bin/sh -e + +#DEBHELPER# + +VERSION=8.4 + +if [ "$1" = remove ]; then + . /usr/share/postgresql-common/maintscripts-functions + remove_contrib_version $VERSION +fi --- postgresql-8.4-8.4.14.orig/debian/changelog +++ postgresql-8.4-8.4.14/debian/changelog @@ -0,0 +1,1346 @@ +postgresql-8.4 (8.4.14-0ubuntu10.04) lucid-proposed; urgency=low + + * New upstream bug fix release: (LP: #1055944) + - Fix planner's assignment of executor parameters, and fix executor's + rescan logic for CTE plan nodes. + These errors could result in wrong answers from queries that scan + the same WITH subquery multiple times. + - Improve page-splitting decisions in GiST indexes. + Multi-column GiST indexes might suffer unexpected bloat due to this + error. + - Fix cascading privilege revoke to stop if privileges are still held. + If we revoke a grant option from some role "X", but "X" still holds + that option via a grant from someone else, we should not + recursively revoke the corresponding privilege from role(s) "Y" + that "X" had granted it to. + - Fix handling of SIGFPE when PL/Perl is in use. + Perl resets the process's SIGFPE handler to SIG_IGN, which could + result in crashes later on. Restore the normal Postgres signal + handler after initializing PL/Perl. + - Prevent PL/Perl from crashing if a recursive PL/Perl function is + redefined while being executed. + - Work around possible misoptimization in PL/Perl. + Some Linux distributions contain an incorrect version of + "pthread.h" that results in incorrect compiled code in PL/Perl, + leading to crashes if a PL/Perl function calls another one that + throws an error. + + -- Martin Pitt Tue, 25 Sep 2012 07:38:24 +0200 + +postgresql-8.4 (8.4.13-0ubuntu10.04) lucid-security; urgency=low + + * New upstream security/bug fix release: + - Prevent access to external files/URLs via XML entity references + (Noah Misch, Tom Lane) + xml_parse() would attempt to fetch external files or URLs as needed + to resolve DTD and entity references in an XML value, thus allowing + unprivileged database users to attempt to fetch data with the + privileges of the database server. While the external data wouldn't + get returned directly to the user, portions of it could be exposed + in error messages if the data didn't parse as valid XML; and in any + case the mere ability to check existence of a file might be useful + to an attacker. (CVE-2012-3489) + - Prevent access to external files/URLs via "contrib/xml2"'s + xslt_process() (Peter Eisentraut) + libxslt offers the ability to read and write both files and URLs + through stylesheet commands, thus allowing unprivileged database + users to both read and write data with the privileges of the + database server. Disable that through proper use of libxslt's + security options. (CVE-2012-3488) + Also, remove xslt_process()'s ability to fetch documents and + stylesheets from external files/URLs. While this was a documented + "feature", it was long regarded as a bad idea. The fix for + CVE-2012-3489 broke that capability, and rather than expend effort + on trying to fix it, we're just going to summarily remove it. + - Prevent too-early recycling of btree index pages (Noah Misch) + When we allowed read-only transactions to skip assigning XIDs, we + introduced the possibility that a deleted btree page could be + recycled while a read-only transaction was still in flight to it. + This would result in incorrect index search results. The + probability of such an error occurring in the field seems very low + because of the timing requirements, but nonetheless it should be + fixed. + - Fix crash-safety bug with newly-created-or-reset sequences (Tom + Lane) + If "ALTER SEQUENCE" was executed on a freshly created or reset + sequence, and then precisely one nextval() call was made on it, and + then the server crashed, WAL replay would restore the sequence to a + state in which it appeared that no nextval() had been done, thus + allowing the first sequence value to be returned again by the next + nextval() call. In particular this could manifest for serial + columns, since creation of a serial column's sequence includes an + "ALTER SEQUENCE OWNED BY" step. + - Ensure the "backup_label" file is fsync'd after pg_start_backup() + (Dave Kerr) + - Back-patch 9.1 improvement to compress the fsync request queue + (Robert Haas) + This improves performance during checkpoints. The 9.1 change has + now seen enough field testing to seem safe to back-patch. + - Only allow autovacuum to be auto-canceled by a directly blocked + process (Tom Lane) + The original coding could allow inconsistent behavior in some + cases; in particular, an autovacuum could get canceled after less + than deadlock_timeout grace period. + - Improve logging of autovacuum cancels (Robert Haas) + - Fix log collector so that log_truncate_on_rotation works during the + very first log rotation after server start (Tom Lane) + - Fix WITH attached to a nested set operation + (UNION/INTERSECT/EXCEPT) (Tom Lane) + - Ensure that a whole-row reference to a subquery doesn't include any + extra GROUP BY or ORDER BY columns (Tom Lane) + - Disallow copying whole-row references in CHECK constraints and + index definitions during "CREATE TABLE" (Tom Lane) + This situation can arise in "CREATE TABLE" with LIKE or INHERITS. + The copied whole-row variable was incorrectly labeled with the row + type of the original table not the new one. Rejecting the case + seems reasonable for LIKE, since the row types might well diverge + later. For INHERITS we should ideally allow it, with an implicit + coercion to the parent table's row type; but that will require more + work than seems safe to back-patch. + - Fix memory leak in ARRAY(SELECT ...) subqueries (Heikki + Linnakangas, Tom Lane) + - Fix extraction of common prefixes from regular expressions (Tom + Lane) + The code could get confused by quantified parenthesized + subexpressions, such as ^(foo)?bar. This would lead to incorrect + index optimization of searches for such patterns. + - Fix bugs with parsing signed "hh":"mm" and "hh":"mm":"ss" fields in + interval constants (Amit Kapila, Tom Lane) + - Report errors properly in "contrib/xml2"'s xslt_process() (Tom + Lane) + - Update time zone data files to tzdata release 2012e for DST law + changes in Morocco and Tokelau + + -- Jamie Strandboge Thu, 16 Aug 2012 17:18:42 -0500 + +postgresql-8.4 (8.4.12-0ubuntu10.04) lucid-security; urgency=low + + * New upstream security/bug fix release: (LP: #1008317) + - Fix incorrect password transformation in "contrib/pgcrypto"'s DES + crypt() function. + If a password string contained the byte value 0x80, the remainder + of the password was ignored, causing the password to be much weaker + than it appeared. With this fix, the rest of the string is properly + included in the DES hash. Any stored password values that are + affected by this bug will thus no longer match, so the stored + values may need to be updated. (CVE-2012-2143) + - Ignore SECURITY DEFINER and SET attributes for a procedural + language's call handler. + Applying such attributes to a call handler could crash the server. + (CVE-2012-2655) + - Allow numeric timezone offsets in timestamp input to be up to 16 + hours away from UTC. + Some historical time zones have offsets larger than 15 hours, the + previous limit. This could result in dumped data values being + rejected during reload. + - Fix timestamp conversion to cope when the given time is exactly the + last DST transition time for the current timezone. + This oversight has been there a long time, but was not noticed + previously because most DST-using zones are presumed to have an + indefinite sequence of future DST transitions. + - Fix text to name and char to name casts to perform string + truncation correctly in multibyte encodings. + - Fix memory copying bug in to_tsquery(). + - Fix planner's handling of outer PlaceHolderVars within subqueries. + This bug concerns sub-SELECTs that reference variables coming from + the nullable side of an outer join of the surrounding query. In + 9.1, queries affected by this bug would fail with "ERROR: + Upper-level PlaceHolderVar found where not expected". But in 9.0 + and 8.4, you'd silently get possibly-wrong answers, since the value + transmitted into the subquery wouldn't go to null when it should. + - Fix slow session startup when pg_attribute is very large. + If pg_attribute exceeds one-fourth of shared_buffers, cache + rebuilding code that is sometimes needed during session start would + trigger the synchronized-scan logic, causing it to take many times + longer than normal. The problem was particularly acute if many new + sessions were starting at once. + - Ensure sequential scans check for query cancel reasonably often. + A scan encountering many consecutive pages that contain no live + tuples would not respond to interrupts meanwhile. + - Ensure the Windows implementation of PGSemaphoreLock() clears + ImmediateInterruptOK before returning. + This oversight meant that a query-cancel interrupt received later + in the same query could be accepted at an unsafe time, with + unpredictable but not good consequences. + - Show whole-row variables safely when printing views or rules. + Corner cases involving ambiguous names (that is, the name could be + either a table or column name of the query) were printed in an + ambiguous way, risking that the view or rule would be interpreted + differently after dump and reload. Avoid the ambiguous case by + attaching a no-op cast. + - Fix "COPY FROM" to properly handle null marker strings that + correspond to invalid encoding. + A null marker string such as E'\\0' should work, and did work in + the past, but the case got broken in 8.4. + - Ensure autovacuum worker processes perform stack depth checking + properly. + Previously, infinite recursion in a function invoked by + auto-"ANALYZE" could crash worker processes. + - Fix logging collector to not lose log coherency under high load. + The collector previously could fail to reassemble large messages if + it got too busy. + - Fix logging collector to ensure it will restart file rotation after + receiving SIGHUP. + - Fix WAL replay logic for GIN indexes to not fail if the index was + subsequently dropped> + - Fix memory leak in PL/pgSQL's "RETURN NEXT" command. + - Fix PL/pgSQL's "GET DIAGNOSTICS" command when the target is the + function's first variable. + - Fix potential access off the end of memory in psql's expanded + display ("\x") mode. + - Fix several performance problems in pg_dump when the database + contains many objects. + pg_dump could get very slow if the database contained many schemas, + or if many objects are in dependency loops, or if there are many + owned sequences. + - Fix "contrib/dblink"'s dblink_exec() to not leak temporary database + connections upon error. + - Fix "contrib/dblink" to report the correct connection name in error + messages. + + -- Martin Pitt Mon, 04 Jun 2012 09:03:09 +0200 + +postgresql-8.4 (8.4.11-0ubuntu0.10.04) lucid-security; urgency=low + + * New upstream bug fix/security release: (LP: #941912) + - Require execute permission on the trigger function for "CREATE + TRIGGER". + This missing check could allow another user to execute a trigger + function with forged input data, by installing it on a table he + owns. This is only of significance for trigger functions marked + SECURITY DEFINER, since otherwise trigger functions run as the + table owner anyway. (CVE-2012-0866) + - Remove arbitrary limitation on length of common name in SSL + certificates. + Both libpq and the server truncated the common name extracted from + an SSL certificate at 32 bytes. Normally this would cause nothing + worse than an unexpected verification failure, but there are some + rather-implausible scenarios in which it might allow one + certificate holder to impersonate another. The victim would have to + have a common name exactly 32 bytes long, and the attacker would + have to persuade a trusted CA to issue a certificate in which the + common name has that string as a prefix. Impersonating a server + would also require some additional exploit to redirect client + connections. (CVE-2012-0867) + - Convert newlines to spaces in names written in pg_dump comments. + pg_dump was incautious about sanitizing object names that are + emitted within SQL comments in its output script. A name containing + a newline would at least render the script syntactically incorrect. + Maliciously crafted object names could present a SQL injection risk + when the script is reloaded. (CVE-2012-0868) + - Fix btree index corruption from insertions concurrent with + vacuuming. + An index page split caused by an insertion could sometimes cause a + concurrently-running "VACUUM" to miss removing index entries that + it should remove. After the corresponding table rows are removed, + the dangling index entries would cause errors (such as "could not + read block N in file ...") or worse, silently wrong query results + after unrelated rows are re-inserted at the now-free table + locations. This bug has been present since release 8.2, but occurs + so infrequently that it was not diagnosed until now. If you have + reason to suspect that it has happened in your database, reindexing + the affected index will fix things. + - Update per-column permissions, not only per-table permissions, when + changing table owner. + Failure to do this meant that any previously granted column + permissions were still shown as having been granted by the old + owner. This meant that neither the new owner nor a superuser could + revoke the now-untraceable-to-table-owner permissions. + - Allow non-existent values for some settings in "ALTER USER/DATABASE + SET". + Allow default_text_search_config, default_tablespace, and + temp_tablespaces to be set to names that are not known. This is + because they might be known in another database where the setting + is intended to be used, or for the tablespace cases because the + tablespace might not be created yet. The same issue was previously + recognized for search_path, and these settings now act like that + one. + - Avoid crashing when we have problems deleting table files + post-commit. + Dropping a table should lead to deleting the underlying disk files + only after the transaction commits. In event of failure then (for + instance, because of wrong file permissions) the code is supposed + to just emit a warning message and go on, since it's too late to + abort the transaction. This logic got broken as of release 8.4, + causing such situations to result in a PANIC and an unrestartable + database. + - Track the OID counter correctly during WAL replay, even when it + wraps around. + Previously the OID counter would remain stuck at a high value until + the system exited replay mode. The practical consequences of that + are usually nil, but there are scenarios wherein a standby server + that's been promoted to master might take a long time to advance + the OID counter to a reasonable value once values are needed. + - Fix regular expression back-references with - attached. + Rather than enforcing an exact string match, the code would + effectively accept any string that satisfies the pattern + sub-expression referenced by the back-reference symbol. + A similar problem still afflicts back-references that are embedded + in a larger quantified expression, rather than being the immediate + subject of the quantifier. This will be addressed in a future + PostgreSQL release. + - Fix recently-introduced memory leak in processing of inet/cidr + values. + - Fix dangling pointer after "CREATE TABLE AS"/"SELECT INTO" in a + SQL-language function. + In most cases this only led to an assertion failure in + assert-enabled builds, but worse consequences seem possible. + - Fix I/O-conversion-related memory leaks in plpgsql. + - Improve pg_dump's handling of inherited table columns. + pg_dump mishandled situations where a child column has a different + default expression than its parent column. If the default is + textually identical to the parent's default, but not actually the + same (for instance, because of schema search path differences) it + would not be recognized as different, so that after dump and + restore the child would be allowed to inherit the parent's default. + Child columns that are NOT NULL where their parent is not could + also be restored subtly incorrectly. + - Fix pg_restore's direct-to-database mode for INSERT-style table + data. + Direct-to-database restores from archive files made with + "--inserts" or "--column-inserts" options fail when using + pg_restore from a release dated September or December 2011, as a + result of an oversight in a fix for another problem. The archive + file itself is not at fault, and text-mode output is okay. + - Allow AT option in ecpg DEALLOCATE statements. + The infrastructure to support this has been there for awhile, but + through an oversight there was still an error check rejecting the + case. + - Fix error in "contrib/intarray"'s int[] & int[] operator. + If the smallest integer the two input arrays have in common is 1, + and there are smaller values in either array, then 1 would be + incorrectly omitted from the result. + - Fix error detection in "contrib/pgcrypto"'s encrypt_iv() and + decrypt_iv(). + These functions failed to report certain types of invalid-input + errors, and would instead return random garbage values for + incorrect input. + - Fix one-byte buffer overrun in "contrib/test_parser". + The code would try to read one more byte than it should, which + would crash in corner cases. Since "contrib/test_parser" is only + example code, this is not a security issue in itself, but bad + example code is still bad. + - Use __sync_lock_test_and_set() for spinlocks on ARM, if available. + This function replaces our previous use of the SWPB instruction, + which is deprecated and not available on ARMv6 and later. Reports + suggest that the old code doesn't fail in an obvious way on recent + ARM boards, but simply doesn't interlock concurrent accesses, + leading to bizarre failures in multiprocess operation. + - Use "-fexcess-precision=standard" option when building with gcc + versions that accept it. + This prevents assorted scenarios wherein recent versions of gcc + will produce creative results. + - Allow use of threaded Python on FreeBSD. + Our configure script previously believed that this combination + wouldn't work; but FreeBSD fixed the problem, so remove that error + check. + * Drop 00git_inet_cidr_unpack.patch, 04-armel-tas.patch: applied upstream. + + -- Martin Pitt Mon, 27 Feb 2012 15:15:19 +0100 + +postgresql-8.4 (8.4.10-0ubuntu0.10.04.1) lucid-proposed; urgency=low + + * Add 00git_inet_cidr_unpack.patch: Revert the behavior of inet/cidr + functions to not unpack the arguments. This fixes the memory leak when + sorting inet values. Patch taken from upstream git HEAD. Spotted during + testing in LP #904631. + * 01-armel-tas.patch: Turn slock_t datatype into an int, and define + S_UNLOCK() to call __sync_lock_release() instead of using the default + implementation. This complies to the gcc built-in atomic operations + specifiction more strictly and now also works on the Panda boards. + (LP: #904828) + + -- Martin Pitt Thu, 05 Jan 2012 13:34:33 +0100 + +postgresql-8.4 (8.4.10-0ubuntu0.10.04) lucid-proposed; urgency=low + + * New upstream release: (LP: #904631) + - Fix bugs in information_schema.referential_constraints view. + This view was being insufficiently careful about matching the + foreign-key constraint to the depended-on primary or unique key + constraint. That could result in failure to show a foreign key + constraint at all, or showing it multiple times, or claiming that + it depends on a different constraint than the one it really does. + Since the view definition is installed by initdb, merely upgrading + will not fix the problem. If you need to fix this in an existing + installation, you can (as a superuser) drop the information_schema + schema then re-create it by sourcing + "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if + you're uncertain where "SHAREDIR" is.) This must be repeated in + each database to be fixed. + - Fix incorrect replay of WAL records for GIN index updates. + This could result in transiently failing to find index entries + after a crash, or on a hot-standby server. The problem would be + repaired by the next "VACUUM" of the index, however. + - Fix TOAST-related data corruption during CREATE TABLE dest AS + SELECT - FROM src or INSERT INTO dest SELECT * FROM src. + If a table has been modified by "ALTER TABLE ADD COLUMN", attempts + to copy its data verbatim to another table could produce corrupt + results in certain corner cases. The problem can only manifest in + this precise form in 8.4 and later, but we patched earlier versions + as well in case there are other code paths that could trigger the + same bug. + - Fix race condition during toast table access from stale syscache + entries. + - Track dependencies of functions on items used in parameter default + expressions. Previously, a referenced object could be dropped without + having dropped or modified the function, leading to misbehavior when the + function was used. Note that merely installing this update will not fix + the missing dependency entries; to do that, you'd need to "CREATE OR + REPLACE" each such function afterwards. If you have functions whose + defaults depend on non-built-in objects, doing so is recommended. + - Allow inlining of set-returning SQL functions with multiple OUT + parameters. + - Make DatumGetInetP() unpack inet datums that have a 1-byte header, + and add a new macro, DatumGetInetPP(), that does not. + - Improve locale support in money type's input and output. + Aside from not supporting all standard lc_monetary formatting + options, the input and output functions were inconsistent, meaning + there were locales in which dumped money values could not be + re-read. + - Don't let transform_null_equals affect CASE foo WHEN NULL ... + constructs. transform_null_equals is only supposed to affect foo = NULL + expressions written directly by the user, not equality checks + generated internally by this form of CASE. + - Change foreign-key trigger creation order to better support + self-referential foreign keys. For a cascading foreign key that + references its own table, a row update will fire both the ON UPDATE + trigger and the CHECK trigger as one event. The ON UPDATE trigger must + execute first, else the CHECK will check a non-final state of the row + and possibly throw an inappropriate error. However, the firing order of + these triggers is determined by their names, which generally sort in + creation order since the triggers have auto-generated names following + the convention "RI_ConstraintTrigger_NNNN". A proper fix would require + modifying that convention, which we will do in 9.2, but it seems risky + to change it in existing releases. So this patch just changes the + creation order of the triggers. Users encountering this type of error + should drop and re-create the foreign key constraint to get its triggers + into the right order. + - Avoid floating-point underflow while tracking buffer allocation + rate. + - Preserve blank lines within commands in psql's command history. + The former behavior could cause problems if an empty line was + removed from within a string literal, for example. + - Fix pg_dump to dump user-defined casts between auto-generated + types, such as table rowtypes. + - Use the preferred version of xsubpp to build PL/Perl, not + necessarily the operating system's main copy. + - Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn". + - Honor query cancel interrupts promptly in pgstatindex(). + - Ensure VPATH builds properly install all server header files. + - Shorten file names reported in verbose error messages. + Regular builds have always reported just the name of the C file + containing the error message call, but VPATH builds formerly + reported an absolute path name. + + -- Martin Pitt Sat, 03 Dec 2011 17:38:40 +0100 + +postgresql-8.4 (8.4.9-0ubuntu0.10.04) lucid-security; urgency=low + + * New upstream bug fix/security release: (LP: #866049) + - Fix bugs in indexing of in-doubt HOT-updated tuples. + These bugs could result in index corruption after reindexing a + system catalog. They are not believed to affect user indexes. + - Fix multiple bugs in GiST index page split processing. + The probability of occurrence was low, but these could lead to + index corruption. + - Fix possible buffer overrun in tsvector_concat(). + The function could underestimate the amount of memory needed for + its result, leading to server crashes. + - Fix crash in xml_recv when processing a "standalone" parameter. + - Make pg_options_to_table return NULL for an option with no value. + Previously such cases would result in a server crash. + - Avoid possibly accessing off the end of memory in "ANALYZE" and in + SJIS-2004 encoding conversion. + This fixes some very-low-probability server crash scenarios. + - Prevent intermittent hang in interactions of startup process with + bgwriter process. + This affected recovery in non-hot-standby cases. + - Fix race condition in relcache init file invalidation. + There was a window wherein a new backend process could read a stale + init file but miss the inval messages that would tell it the data + is stale. The result would be bizarre failures in catalog accesses, + typically "could not read block 0 in file ..." later during + startup. + - Fix memory leak at end of a GiST index scan. + Commands that perform many separate GiST index scans, such as + verification of a new GiST-based exclusion constraint on a table + already containing many rows, could transiently require large + amounts of memory due to this leak. + - Fix incorrect memory accounting (leading to possible memory bloat) + in tuplestores supporting holdable cursors and plpgsql's RETURN + NEXT command. + - Fix performance problem when constructing a large, lossy bitmap. + - Fix join selectivity estimation for unique columns. + This fixes an erroneous planner heuristic that could lead to poor + estimates of the result size of a join. + - Fix nested PlaceHolderVar expressions that appear only in + sub-select target lists. This mistake could result in outputs of an + outer join incorrectly appearing as NULL. + - Allow nested EXISTS queries to be optimized properly. + - Fix array- and path-creating functions to ensure padding bytes are + zeroes. This avoids some situations where the planner will think that + semantically-equal constants are not equal, resulting in poor + optimization. + - Fix "EXPLAIN" to handle gating Result nodes within inner-indexscan + subplans. The usual symptom of this oversight was "bogus varno" errors. + - Work around gcc 4.6.0 bug that breaks WAL replay. This could lead to + loss of committed transactions after a server crash. + - Fix dump bug for VALUES in a view. + - Disallow SELECT FOR UPDATE/SHARE on sequences. + This operation doesn't work as expected and can lead to failures. + - Fix "VACUUM" so that it always updates pg_class.reltuples/relpages. + This fixes some scenarios where autovacuum could make increasingly + poor decisions about when to vacuum tables. + - Defend against integer overflow when computing size of a hash table. + - Fix cases where "CLUSTER" might attempt to access already-removed + TOAST data. + - Fix portability bugs in use of credentials control messages for + "peer" authentication. + - Fix SSPI login when multiple roundtrips are required. + The typical symptom of this problem was "The function requested is + not supported" errors during SSPI login. + - Throw an error if "pg_hba.conf" contains hostssl but SSL is + disabled. This was concluded to be more user-friendly than the + previous behavior of silently ignoring such lines. + - Fix typo in pg_srand48 seed initialization. + This led to failure to use all bits of the provided seed. This + function is not used on most platforms (only those without + srandom), and the potential security exposure from a + less-random-than-expected seed seems minimal in any case. + - Avoid integer overflow when the sum of LIMIT and OFFSET values + exceeds 2^63. + - Add overflow checks to int4 and int8 versions of generate_series(). + - Fix trailing-zero removal in to_char(). In a format with FM and no + digit positions after the decimal point, zeroes to the left of the + decimal point could be removed incorrectly. + - Fix pg_size_pretty() to avoid overflow for inputs close to 2^63. + - Weaken plpgsql's check for typmod matching in record values. + An overly enthusiastic check could lead to discarding length + modifiers that should have been kept. + - Fix pg_upgrade to preserve toast tables' relfrozenxids during an + upgrade from 8.3. Failure to do this could lead to "pg_clog" files + being removed too soon after the upgrade. + - Fix psql's counting of script file line numbers during COPY from a + different file. + - Fix pg_restore's direct-to-database mode for + standard_conforming_strings. pg_restore could emit incorrect commands + when restoring directly to a database server from an archive file that + had been made with standard_conforming_strings set to on. + - Be more user-friendly about unsupported cases for parallel + pg_restore. This change ensures that such cases are detected and + reported before any restore actions have been taken. + - Fix write-past-buffer-end and memory leak in libpq's LDAP service + lookup code. + - In libpq, avoid failures when using nonblocking I/O and an SSL + connection. + - Improve libpq's handling of failures during connection startup. + In particular, the response to a server report of fork() failure + during SSL connection startup is now saner. + - Improve libpq's error reporting for SSL failures. + - Fix PQsetvalue() to avoid possible crash when adding a new tuple to + a PGresult originally obtained from a server query. + - Make ecpglib write double values with 15 digits precision. + - In ecpglib, be sure LC_NUMERIC setting is restored after an error. + - Apply upstream fix for blowfish signed-character bug + (CVE-2011-2483) (Closes: #631285) + "contrib/pg_crypto"'s blowfish encryption code could give wrong + results on platforms where char is signed (which is most), leading + to encrypted passwords being weaker than they should be. + - Fix memory leak in "contrib/seg". + - Fix pgstatindex() to give consistent results for empty indexes. + - Allow building with perl 5.14. (Closes: #628503) + + -- Martin Pitt Tue, 04 Oct 2011 12:34:35 +0200 + +postgresql-8.4 (8.4.8-0ubuntu0.10.04) lucid-proposed; urgency=low + + * New upstream bug fix release: (LP: #767165) + - If your installation was upgraded from a previous major release by + running pg_upgrade, you should take action to prevent possible data loss + due to a now-fixed bug in pg_upgrade. The recommended solution is to run + "VACUUM FREEZE" on all TOAST tables. More information is available at + http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix. + - Fix pg_upgrade's handling of TOAST tables. + This error poses a significant risk of data loss for installations + that have been upgraded with pg_upgrade. This patch corrects the + problem for future uses of pg_upgrade, but does not in itself cure + the issue in installations that have been processed with a buggy + version of pg_upgrade. + - Suppress incorrect "PD_ALL_VISIBLE flag was incorrectly set" + warning. + - Disallow including a composite type in itself. + - Avoid potential deadlock during catalog cache initialization. + - Fix dangling-pointer problem in BEFORE ROW UPDATE trigger handling + when there was a concurrent update to the target tuple. + - Disallow "DROP TABLE" when there are pending deferred trigger + events for the table. + Formerly the "DROP" would go through, leading to "could not open + relation with OID nnn" errors when the triggers were eventually + fired. + - Prevent crash triggered by constant-false WHERE conditions during + GEQO optimization. + - Improve planner's handling of semi-join and anti-join cases. + - Fix selectivity estimation for text search to account for NULLs. + - Improve PL/pgSQL's ability to handle row types with dropped columns. + - Fix PL/Python memory leak involving array slices. + - Fix pg_restore to cope with long lines (over 1KB) in TOC files. + - Put in more safeguards against crashing due to division-by-zero + with overly enthusiastic compiler optimization. (Closes: #616180) + + -- Martin Pitt Wed, 20 Apr 2011 15:57:49 +0200 + +postgresql-8.4 (8.4.7-0ubuntu0.10.04) lucid-security; urgency=low + + * New upstream security/bug fix release: (LP: #711318) + - Fix buffer overrun in "contrib/intarray"'s input function for the + query_int type. + This bug is a security risk since the function's return address + could be overwritten. Thanks to Apple Inc's security team for + reporting this issue and supplying the fix. (CVE-2010-4015) + - Avoid failures when "EXPLAIN" tries to display a simple-form CASE + expression. + If the CASE's test expression was a constant, the planner could + simplify the CASE into a form that confused the expression-display + code, resulting in "unexpected CASE WHEN clause" errors. + - Fix assignment to an array slice that is before the existing range + of subscripts. + If there was a gap between the newly added subscripts and the first + pre-existing subscript, the code miscalculated how many entries + needed to be copied from the old array's null bitmap, potentially + leading to data corruption or crash. + - Avoid unexpected conversion overflow in planner for very distant + date values. + The date type supports a wider range of dates than can be + represented by the timestamp types, but the planner assumed it + could always convert a date to timestamp with impunity. + - Fix pg_restore's text output for large objects (BLOBs) when + standard_conforming_strings is on. + Although restoring directly to a database worked correctly, string + escaping was incorrect if pg_restore was asked for SQL text output + and standard_conforming_strings had been enabled in the source + database. + - Fix erroneous parsing of tsquery values containing ... & + !(subexpression) | ... . + Queries containing this combination of operators were not executed + correctly. The same error existed in "contrib/intarray"'s query_int + type and "contrib/ltree"'s ltxtquery type. + - Fix bug in "contrib/seg"'s GiST picksplit algorithm. + This could result in considerable inefficiency, though not actually + incorrect answers, in a GiST index on a seg column. If you have + such an index, consider "REINDEX"ing it after installing this + update. (This is identical to the bug that was fixed in + "contrib/cube" in the previous update.) + + -- Martin Pitt Tue, 01 Feb 2011 22:20:34 +0100 + +postgresql-8.4 (8.4.6-0ubuntu10.04) lucid-proposed; urgency=low + + * New upstream bug fix release: (LP: #693157) + - Force the default wal_sync_method to be fdatasync on Linux. + The default on Linux has actually been fdatasync for many years, + but recent kernel changes caused PostgreSQL to choose open_datasync + instead. This choice did not result in any performance improvement, + and caused outright failures on certain filesystems, notably ext4 + with the data=journal mount option. + - Fix assorted bugs in WAL replay logic for GIN indexes. + This could result in "bad buffer id: 0" failures or corruption of + index contents during replication. + - Fix recovery from base backup when the starting checkpoint WAL + record is not in the same WAL segment as its redo point. + - Fix persistent slowdown of autovacuum workers when multiple workers + remain active for a long time. + The effective vacuum_cost_limit for an autovacuum worker could drop + to nearly zero if it processed enough tables, causing it to run + extremely slowly. + - Add support for detecting register-stack overrun on IA64. + The IA64 architecture has two hardware stacks. Full prevention of + stack-overrun failures requires checking both. + - Add a check for stack overflow in copyObject(). + Certain code paths could crash due to stack overflow given a + sufficiently complex query. + - Fix detection of page splits in temporary GiST indexes. + It is possible to have a "concurrent" page split in a temporary + index, if for example there is an open cursor scanning the index + when an insertion is done. GiST failed to detect this case and + hence could deliver wrong results when execution of the cursor + continued. + - Fix error checking during early connection processing. + The check for too many child processes was skipped in some cases, + possibly leading to postmaster crash when attempting to add the new + child process to fixed-size arrays. + - Improve efficiency of window functions. + Certain cases where a large number of tuples needed to be read in + advance, but work_mem was large enough to allow them all to be held + in memory, were unexpectedly slow. percent_rank(), cume_dist() and + ntile() in particular were subject to this problem. + - Avoid memory leakage while "ANALYZE"'ing complex index expressions. + - Ensure an index that uses a whole-row Var still depends on its + table. + An index declared like create index i on t (foo(t.-)) would not + automatically get dropped when its table was dropped. + - Do not "inline" a SQL function with multiple OUT parameters. + This avoids a possible crash due to loss of information about the + expected result rowtype. + - Behave correctly if ORDER BY, LIMIT, FOR UPDATE, or WITH is + attached to the VALUES part of INSERT ... VALUES. + - Fix constant-folding of COALESCE() expressions. + The planner would sometimes attempt to evaluate sub-expressions + that in fact could never be reached, possibly leading to unexpected + errors. + - Fix postmaster crash when connection acceptance (accept() or one of + the calls made immediately after it) fails, and the postmaster was + compiled with GSSAPI support. + - Fix missed unlink of temporary files when log_temp_files is active. + If an error occurred while attempting to emit the log message, the + unlink was not done, resulting in accumulation of temp files. + - Add print functionality for InhRelation nodes. + This avoids a failure when debug_print_parse is enabled and certain + types of query are executed. + - Fix incorrect calculation of distance from a point to a horizontal + line segment. + This bug affected several different geometric distance-measurement + operators. + - Fix incorrect calculation of transaction status in ecpg. + - Fix PL/pgSQL's handling of "simple" expressions to not fail in + recursion or error-recovery cases. + - Fix PL/Python's handling of set-returning functions. + Attempts to call SPI functions within the iterator generating a set + result would fail. + - Fix bug in "contrib/cube"'s GiST picksplit algorithm. + This could result in considerable inefficiency, though not actually + incorrect answers, in a GiST index on a cube column. If you have + such an index, consider "REINDEX"ing it after installing this + update. + - Don't emit "identifier will be truncated" notices in + "contrib/dblink" except when creating new connections. + - Fix potential coredump on missing public key in "contrib/pgcrypto". + - Fix memory leak in "contrib/xml2"'s XPath query functions. + + + -- Martin Pitt Tue, 21 Dec 2010 21:13:09 +0100 + +postgresql-8.4 (8.4.5-0ubuntu10.04) lucid-security; urgency=low + + * New upstream security/bug fix update: (LP: #655293) + - Use a separate interpreter for each calling SQL userid in PL/Perl + and PL/Tcl. + This change prevents security problems that can be caused by + subverting Perl or Tcl code that will be executed later in the same + session under another SQL user identity (for example, within a + SECURITY DEFINER function). Most scripting languages offer numerous + ways that that might be done, such as redefining standard functions + or operators called by the target function. Without this change, + any SQL user with Perl or Tcl language usage rights can do + essentially anything with the SQL privileges of the target + function's owner. + The cost of this change is that intentional communication among + Perl and Tcl functions becomes more difficult. To provide an escape + hatch, PL/PerlU and PL/TclU functions continue to use only one + interpreter per session. This is not considered a security issue + since all such functions execute at the trust level of a database + superuser already. + It is likely that third-party procedural languages that claim to + offer trusted execution have similar security issues. We advise + contacting the authors of any PL you are depending on for + security-critical purposes. + Our thanks to Tim Bunce for pointing out this issue + (CVE-2010-3433). + - Prevent possible crashes in pg_get_expr() by disallowing it from + being called with an argument that is not one of the system catalog + columns it's intended to be used with. + - Fix incorrect placement of placeholder evaluation. + This bug could result in query outputs being non-null when they + should be null, in cases where the inner side of an outer join is a + sub-select with non-strict expressions in its output list. + - Fix possible duplicate scans of UNION ALL member relations. + - Fix "cannot handle unplanned sub-select" error. + This occurred when a sub-select contains a join alias reference + that expands into an expression containing another sub-select. + - Fix mishandling of whole-row Vars that reference a view or + sub-select and appear within a nested sub-select. + - Fix mishandling of cross-type IN comparisons. + This could result in failures if the planner tried to implement an + IN join with a sort-then-unique-then-plain-join plan. + - Fix computation of "ANALYZE" statistics for tsvector columns. + The original coding could produce incorrect statistics, leading to + poor plan choices later. + - Improve planner's estimate of memory used by array_agg(), + string_agg(), and similar aggregate functions. + The previous drastic underestimate could lead to out-of-memory + failures due to inappropriate choice of a hash-aggregation plan. + - Fix failure to mark cached plans as transient. + If a plan is prepared while "CREATE INDEX CONCURRENTLY" is in + progress for one of the referenced tables, it is supposed to be + re-planned once the index is ready for use. This was not happening + reliably. + - Reduce PANIC to ERROR in some occasionally-reported btree failure + cases, and provide additional detail in the resulting error + messages. + This should improve the system's robustness with corrupted indexes. + - Fix incorrect search logic for partial-match queries with GIN + indexes. + Cases involving AND/OR combination of several GIN index conditions + didn't always give the right answer, and were sometimes much slower + than necessary. + - Prevent show_session_authorization() from crashing within + autovacuum processes. + - Defend against functions returning setof record where not all the + returned rows are actually of the same rowtype. + - Fix possible corruption of pending trigger event lists during + subtransaction rollback. + This could lead to a crash or incorrect firing of triggers. + - Fix possible failure when hashing a pass-by-reference function + result. + - Improve merge join's handling of NULLs in the join columns. + A merge join can now stop entirely upon reaching the first NULL, if + the sort order is such that NULLs sort high. + - Take care to fsync the contents of lockfiles (both "postmaster.pid" + and the socket lockfile) while writing them. + This omission could result in corrupted lockfile contents if the + machine crashes shortly after postmaster start. That could in turn + prevent subsequent attempts to start the postmaster from + succeeding, until the lockfile is manually removed. + - Avoid recursion while assigning XIDs to heavily-nested + subtransactions. + The original coding could result in a crash if there was limited + stack space. + - Avoid holding open old WAL segments in the walwriter process. + The previous coding would prevent removal of no-longer-needed + segments. + - Fix log_line_prefix's %i escape, which could produce junk early in + backend startup. + - Prevent misinterpretation of partially-specified relation options + for TOAST tables. + In particular, fillfactor would be read as zero if any other + reloption had been set for the table, leading to serious bloat. + - Fix inheritance count tracking in "ALTER TABLE ... ADD CONSTRAINT" + - Fix possible data corruption in "ALTER TABLE ... SET TABLESPACE" + when archiving is enabled. + - Allow "CREATE DATABASE" and "ALTER DATABASE ... SET TABLESPACE" to + be interrupted by query-cancel. + - Improve "CREATE INDEX"'s checking of whether proposed index + expressions are immutable. + - Fix "REASSIGN OWNED" to handle operator classes and families. + - Fix possible core dump when comparing two empty tsquery values. + - Fix LIKE's handling of patterns containing % followed by _. + We've fixed this before, but there were still some + incorrectly-handled cases. + - Re-allow input of Julian dates prior to 0001-01-01 AD. + Input such as 'J100000'::date worked before 8.4, but was + unintentionally broken by added error-checking. + - Fix PL/pgSQL to throw an error, not crash, if a cursor is closed + within a FOR loop that is iterating over that cursor. + - In PL/Python, defend against null pointer results from + PyCObject_AsVoidPtr and PyCObject_FromVoidPtr. + - In libpq, fix full SSL certificate verification for the case where + both host and hostaddr are specified. + - Make psql recognize "DISCARD ALL" as a command that should not be + encased in a transaction block in autocommit-off mode. + - Fix some issues in pg_dump's handling of SQL/MED objects. + Notably, pg_dump would always fail if run by a non-superuser, which + was not intended. + - Improve pg_dump and pg_restore's handling of non-seekable archive + files. + This is important for proper functioning of parallel restore. + - Improve parallel pg_restore's ability to cope with selective + restore (-L option). + The original code tended to fail if the -L file commanded a + non-default restore ordering. + - Fix ecpg to process data from RETURNING clauses correctly. + - Fix some memory leaks in ecpg. + - Improve "contrib/dblink"'s handling of tables containing dropped + columns. + - Fix connection leak after "duplicate connection name" errors in + "contrib/dblink". + - Fix "contrib/dblink" to handle connection names longer than 62 + bytes correctly. + - Add hstore(text, text) function to "contrib/hstore". + This function is the recommended substitute for the now-deprecated + => operator. It was back-patched so that future-proofed code can be + used with older server versions. Note that the patch will be + effective only after "contrib/hstore" is installed or reinstalled + in a particular database. Users might prefer to execute the "CREATE + FUNCTION" command by hand, instead. + - Update build infrastructure and documentation to reflect the source + code repository's move from CVS to Git. + + -- Martin Pitt Tue, 05 Oct 2010 22:05:37 +0200 + +postgresql-8.4 (8.4.4-0ubuntu10.04) lucid-security; urgency=low + + * New upstream security/bug fix release: + - Enforce restrictions in plperl using an opmask applied to the whole + interpreter, instead of using "Safe.pm". + Recent developments have convinced us that "Safe.pm" is too + insecure to rely on for making plperl trustable. This change + removes use of "Safe.pm" altogether, in favor of using a separate + interpreter with an opcode mask that is always applied. Pleasant + side effects of the change include that it is now possible to use + Perl's strict pragma in a natural way in plperl, and that Perl's $a + and $b variables work as expected in sort routines, and that + function compilation is significantly faster. (CVE-2010-1169) + - Prevent PL/Tcl from executing untrustworthy code from pltcl_modules. + PL/Tcl's feature for autoloading Tcl code from a database table + could be exploited for trojan-horse attacks, because there was no + restriction on who could create or insert into that table. This + change disables the feature unless pltcl_modules is owned by a + superuser. (However, the permissions on the table are not checked, + so installations that really need a less-than-secure modules table + can still grant suitable privileges to trusted non-superusers.) + Also, prevent loading code into the unrestricted "normal" Tcl + interpreter unless we are really going to execute a pltclu + function. (CVE-2010-1170) + - Fix data corruption during WAL replay of ALTER ... SET TABLESPACE. + When archive_mode is on, ALTER ... SET TABLESPACE generates a WAL + record whose replay logic was incorrect. It could write the data to + the wrong place, leading to possibly-unrecoverable data corruption. + Data corruption would be observed on standby slaves, and could + occur on the master as well if a database crash and recovery + occurred after committing the ALTER and before the next checkpoint. + - Fix possible crash if a cache reset message is received during + rebuild of a relcache entry. + This error was introduced in 8.4.3 while fixing a related failure. + - Apply per-function GUC settings while running the language + validator for the function. This avoids failures if the function's code + is invalid without the setting; an example is that SQL functions may not + parse if the search_path is not correct. + - Do constraint exclusion for inherited "UPDATE" and "DELETE" target + tables when constraint_exclusion = partition. + Due to an oversight, this setting previously only caused constraint + exclusion to be checked in "SELECT" commands. + - Do not allow an unprivileged user to reset superuser-only parameter + settings. + Previously, if an unprivileged user ran ALTER USER ... RESET ALL + for himself, or ALTER DATABASE ... RESET ALL for a database he + owns, this would remove all special parameter settings for the user + or database, even ones that are only supposed to be changeable by a + superuser. Now, the "ALTER" will only remove the parameters that + the user has permission to change. + - Avoid possible crash during backend shutdown if shutdown occurs + when a CONTEXT addition would be made to log entries. + In some cases the context-printing function would fail because the + current transaction had already been rolled back when it came time + to print a log message. + - Fix erroneous handling of %r parameter in recovery_end_command. + The value always came out zero. + - Ensure the archiver process responds to changes in archive_command + as soon as possible. + - Fix pl/pgsql's CASE statement to not fail when the case expression + is a query that returns no rows. + - Update pl/perl's "ppport.h" for modern Perl versions. + - Fix assorted memory leaks in pl/python. + - Handle empty-string connect parameters properly in ecpg. + - Prevent infinite recursion in psql when expanding a variable that + refers to itself. + - Fix psql's \copy to not add spaces around a dot within \copy + (select ...). + Addition of spaces around the decimal point in a numeric literal + would result in a syntax error. + - Avoid formatting failure in psql when running in a locale context + that doesn't match the client_encoding. + - Fix unnecessary "GIN indexes do not support whole-index scans" + errors for unsatisfiable queries using "contrib/intarray" operators. + - Ensure that "contrib/pgstattuple" functions respond to cancel + interrupts promptly. + + -- Martin Pitt Sat, 15 May 2010 13:31:46 +0200 + +postgresql-8.4 (8.4.3-1) unstable; urgency=low + + * New upstream bug fix release: + - Add new configuration parameter ssl_renegotiation_limit to control + how often we do session key renegotiation for an SSL connection. + This can be set to zero to disable renegotiation completely, which + may be required if a broken SSL library is used. In particular, + some vendors are shipping stopgap patches for CVE-2009-3555 that + cause renegotiation attempts to fail. + - 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. + This corrects a problem introduced in the previous minor release. + One case that failed is when a plpgsql function returning set is + called within another function's exception handler. + - Add support for doing FULL JOIN ON FALSE. + This prevents a regression from pre-8.4 releases for some queries + that can now be simplified to a constant-false join condition. + - 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. + This prevents erratic behavior if a role or database name starts + with @. If you need to include a file whose path name contains + spaces, you can still do so, but you must write @"/path to/file" + rather than putting the quotes around the whole construct. + - 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. + 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. + This case was formerly rejected as an error, but it's more + convenient to treat it the same as a zero-element array. In + particular this avoids unnecessary failures when an ltree operation + is applied to the result of ARRAY(SELECT ...) and the sub-select + returns no rows. + - Fix assorted crashes in "contrib/xml2" caused by sloppy memory + management. + * Rebuild against libossp-uuid16. (Closes: #570108, LP: #538284) + + -- Martin Pitt Sat, 13 Mar 2010 16:44:46 +0100 + +postgresql-8.4 (8.4.2-2) unstable; urgency=low + + [ Alexander Sack ] + * Add 04-armel-tas.patch: Fix ftbfs on armel: Use gcc intrinsics rather + than assembler to implement tas (test and set). (LP: #497331) + + [ Martin Pitt ] + * Drop 15-dict-fallback-dir.patch: p-common 104 now directly creates the + names tsearch is looking for. Bump p-common dependency accordingly. + + -- Martin Pitt Tue, 19 Jan 2010 23:25:34 +0100 + +postgresql-8.4 (8.4.2-1) unstable; urgency=medium + + Medium urgency due to security fixes. + + [ Peter Eisentraut ] + * debian/control: Added Homepage + * debian/control: Added ${misc:Depends} on all packages, per lintian + * debian/control: Added versioned dependencies on the shared libraries used + by the libecpg-dev package + * debian/control: Removed obsolete build dependency bzip2 + * debian/control: Added Vcs fields + + [ Martin Pitt ] + * New upstream security/bug fix release: + - Protect against indirect security threats caused by index functions + changing session-local state. This change prevents allegedly-immutable + index functions from possibly subverting a superuser's session + (CVE-2009-4136). + - Reject SSL certificates containing an embedded null byte in the + common name (CN) field. This prevents unintended matching of a + certificate to a server or client name during SSL validation + (CVE-2009-4034). + - Fix hash index corruption. The 8.4 change that made hash indexes keep + entries sorted by hash value failed to update the bucket splitting and + compaction routines to preserve the ordering. So application of either + of those operations could lead to permanent corruption of an index, in + the sense that searches might fail to find entries that are present. To + deal with this, it is recommended to REINDEX any hash indexes you may + have after installing this update. + - Fix possible crash during backend-startup-time cache initialization. + - Avoid crash on empty thesaurus dictionary. + - Prevent signals from interrupting VACUUM at unsafe times. + - Fix possible crash due to integer overflow in hash table size + calculation. + - Fix crash if a DROP is attempted on an internally-dependent object. + - Fix very rare crash in inet/cidr comparisons. + - Ensure that shared tuple-level locks held by prepared transactions + are not ignored. + - Fix premature drop of temporary files used for a cursor that is + accessed within a subtransaction. + - Fix memory leak in syslogger process when rotating to a new CSV + logfile. + - Fix memory leak in postmaster when re-parsing "pg_hba.conf". + - Make FOR UPDATE/SHARE in the primary query not propagate into WITH + queries. + - Fix bug with a WITH RECURSIVE query immediately inside another one. + - Fix concurrency bug in hash indexes. + - Fix incorrect logic for GiST index page splits, when the split + depends on a non-first column of the index. + - Fix wrong search results for a multi-column GIN index with + fastupdate enabled. + - Fix bugs in WAL entry creation for GIN indexes. + - Don't error out if recycling or removing an old WAL file fails at + the end of checkpoint. + - Fix PAM password processing to be more robust. + The previous code is known to fail with the combination of the + Linux pam_krb5 PAM module with Microsoft Active Directory as the + domain controller. It might have problems elsewhere too, since it + was making unjustified assumptions about what arguments the PAM + stack would pass to it. + - Raise the maximum authentication token (Kerberos ticket) size in + GSSAPI and SSPI authentication methods. While the old 2000-byte limit + was more than enough for Unix Kerberos implementations, tickets issued + by Windows Domain Controllers can be much larger. + - Ensure that domain constraints are enforced in constructs like + ARRAY[...]::domain, where the domain is over an array type. + - Fix foreign-key logic for some cases involving composite-type + columns as foreign keys. + - Ensure that a cursor's snapshot is not modified after it is created. + - Fix CREATE TABLE to properly merge default expressions coming from + different inheritance parent tables. This used to work but was broken in + 8.4. + - Re-enable collection of access statistics for sequences. This used to + work but was broken in 8.3. + - Fix processing of ownership dependencies during CREATE OR REPLACE + FUNCTION. + - Fix incorrect handling of WHERE "x"="x" conditions. + In some cases these could get ignored as redundant, but they aren't + -- they're equivalent to "x" IS NOT NULL. + - Fix incorrect plan construction when using hash aggregation to + implement DISTINCT for textually identical volatile expressions + - Fix Assert failure for a volatile SELECT DISTINCT ON expression + - Fix ts_stat() to not fail on an empty tsvector value + - Make text search parser accept underscores in XML attributes + - Fix encoding handling in xml binary input. + If the XML header doesn't specify an encoding, we now assume UTF-8 + by default; the previous handling was inconsistent. + - Fix bug with calling plperl from plperlu or vice versa. + - Fix session-lifespan memory leak when a PL/Perl function is + redefined. + - Ensure that Perl arrays are properly converted to PostgreSQL arrays + when returned by a set-returning PL/Perl function. + - Fix rare crash in exception processing in PL/Python. + - Fix ecpg problem with comments in DECLARE CURSOR statements + - Fix ecpg to not treat recently-added keywords as reserved words + This affected the keywords CALLED, CATALOG, DEFINER, ENUM, + FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY, + SERVER, UNBOUNDED, and WRAPPER. + - Re-allow regular expression special characters in psql's \df + function name parameter. + - Put FREEZE and VERBOSE options in the right order in the VACUUM + command that "contrib/vacuumdb" produces. + - Fix possible leak of connections when "contrib/dblink" encounters + an error + - Make the postmaster ignore any application_name parameter in + connection request packets, to improve compatibility with future + libpq versions. + * debian/control: libreadline5-dev → libreadline-dev. (Closes: #553831) + * Add 03-sh-architecture.patch: Support Renesas' SuperH architecture, thanks + Nobuhiro Iwamatsu! (Closes: #548847) + + -- Martin Pitt Mon, 14 Dec 2009 19:02:38 +0100 + +postgresql-8.4 (8.4.1-1) unstable; urgency=medium + + * Urgency medium due to security fix. + * New upstream security/bug fix release: + - Disallow "RESET ROLE" and "RESET SESSION AUTHORIZATION" inside + security-definer functions. This covers a case that was missed in the + previous patch that disallowed "SET ROLE" and "SET SESSION + AUTHORIZATION" inside security-definer functions. [CVE-2007-6600] + - Fix WAL page header initialization at the end of archive recovery. + This could lead to failure to process the WAL in a subsequent archive + recovery. + - Fix "cannot make new WAL entries during recovery" error. + - Fix problem that could make expired rows visible after a crash. + This bug involved a page status bit potentially not being set + correctly after a server crash. + - Make "LOAD" of an already-loaded loadable module into a no-op. + Formerly, "LOAD" would attempt to unload and re-load the module, + but this is unsafe and not all that useful. + - Make window function PARTITION BY and ORDER BY items always be + interpreted as simple expressions. + In 8.4.0 these lists were parsed following the rules used for + top-level GROUP BY and ORDER BY lists. But this was not correct per + the SQL standard, and it led to possible circularity. + - Fix several errors in planning of semi-joins. These led to wrong query + results in some cases where IN or EXISTS was used together with another + join. + - Fix handling of whole-row references to subqueries that are within + an outer join. An example is SELECT COUNT(ss.-) FROM ... LEFT JOIN + (SELECT ...) ss ON .... Here, ss.- would be treated as + ROW(NULL,NULL,...) for null-extended join rows, which is not the same as + a simple NULL. Now it is treated as a simple NULL. + - Fix locale handling with plperl. This bug could cause the server's + locale setting to change when a plperl function is called, leading to + data corruption. + - Fix handling of reloptions to ensure setting one option doesn't + force default values for others. + - Ensure that a "fast shutdown" request will forcibly terminate open + sessions, even if a "smart shutdown" was already in progress. + - Avoid memory leak for array_agg() in GROUP BY queries. + - Treat to_char(..., 'TH') as an uppercase ordinal suffix with + 'HH'/'HH12'. It was previously handled as 'th'. + - Include the fractional part in the result of EXTRACT(second) and + EXTRACT(milliseconds) for time and time with time zone inputs. + This has always worked for floating-point datetime configurations, + but was broken in the integer datetime code. + - Fix overflow for INTERVAL 'x ms' when "x" is more than 2 million + and integer datetimes are in use. + - Improve performance when processing toasted values in index scans. + This is particularly useful for PostGIS. + - Fix a typo that disabled commit_delay. + - Output early-startup messages to "postmaster.log" if the server is + started in silent mode. Previously such error messages were discarded, + leading to difficulty in debugging. + - Remove translated FAQs. They are now on the wiki. The main FAQ was moved + to the wiki some time ago. + - Fix pg_ctl to not go into an infinite loop if "postgresql.conf" is + empty. + - Fix several errors in pg_dump's --binary-upgrade mode. pg_dump + --binary-upgrade is used by pg_migrator. + - Fix "contrib/xml2"'s xslt_process() to properly handle the maximum + number of parameters (twenty). + - Improve robustness of libpq's code to recover from errors during + "COPY FROM STDIN". + - Avoid including conflicting readline and editline header files when + both libraries are installed. + - Work around gcc bug that causes "floating-point exception" instead + of "division by zero" on some platforms. + * debian/control: Bump Standards-Version to 3.8.3 (no changes necessary). + + -- Martin Pitt Sun, 06 Sep 2009 14:11:13 +0200 + +postgresql-8.4 (8.4.0-2) unstable; urgency=low + + * debian/libpq-dev.install: Ship catalog/genbki.h. (Closes: #536139) + * debian/rules: Drop --enable-cassert for final release. + + -- Martin Pitt Sat, 11 Jul 2009 16:59:35 +0200 + +postgresql-8.4 (8.4.0-1) unstable; urgency=low + + * Final 8.4.0 release. Major enhancements: + - Windowing Functions + - Common Table Expressions and Recursive Queries + - Default and variadic parameters for functions + - Parallel Restore + - Column Permissions + - Per-database locale settings + - Improved hash indexes + - Improved join performance for EXISTS and NOT EXISTS queries + - Easier-to-use Warm Standby + - Automatic sizing of the Free Space Map + - Visibility Map (greatly reduces vacuum overhead for slowly-changing + tables) + - Version-aware psql (backslash commands work against older servers) + - Support SSL certificates for user authentication + - Per-function runtime statistics + - Easy editing of functions in psql + - New contrib modules: pg_stat_statements, auto_explain, citext, + btree_gin + Upload to unstable, 8.4 is the new default. + * debian/control: Build the versionless metapackages and have them point to + 8.4. + + -- Martin Pitt Wed, 01 Jul 2009 17:41:41 +0200 + +postgresql-8.4 (8.4~rc1-1) experimental; urgency=low + + * First release candidate of 8.4. + + -- Martin Pitt Mon, 22 Jun 2009 09:17:52 +0200 + +postgresql-8.4 (8.4~beta2-2) experimental; urgency=low + + * Second public beta of 8.4. + * debian/control: Slightly lower the dependencies for postgresql-common to + >= 98~, so that backports also match. + + -- Martin Pitt Tue, 19 May 2009 14:03:37 +0200 + +postgresql-8.4 (8.4~beta1+cvs20090503-1) experimental; urgency=low + + * New upstream snapshot. + + -- Martin Pitt Tue, 05 May 2009 00:58:06 +0200 + +postgresql-8.4 (8.4~beta1-1) experimental; urgency=low + + * First public beta of 8.4. + * debian/*.install: Add new gettext translations. + * debian/control: Bump p-common dependency to >= 98 to ensure support for + 8.4. + * debian/rules: Build with --enable-cassert while in beta. + + -- Martin Pitt Mon, 27 Apr 2009 08:35:30 +0200 + +postgresql-8.4 (8.4~0cvs20090328-1) experimental; urgency=low + + * Package current trunk, which will become 8.4 in time. Packaging branched + from 8.3 packaging trunk. Move from cdbs' tarball.mk to bzr-builddeb. + * Drop obsolete patches: + - 03-gettext-domains.patch: Adopted upstream. + - 04-psql-passwordprompt.patch: Obsoleted by new psql -w option. + - 05-check-rlimits-nofile.patch: Adopted upstream. + * Update remaining patches for new upstream version. + * Add debian/docbook2man-sgmlspl/docbook2man-spec{.pl,_makelinks}: Current + Debian version in docbook-utils is way too old and broken (see #275715, + #271611), locally ship the current ones from upstream, in order to build + manpages. + * debian/rules: Build documentation and manpage tarballs if not present (as + with building from CVS). Add necessary build dependencies docbook-utils, + openjade, and docbook. + + -- Martin Pitt Fri, 20 Mar 2009 12:00:13 +0100 --- postgresql-8.4-8.4.14.orig/debian/disable-root-check.patch +++ postgresql-8.4-8.4.14/debian/disable-root-check.patch @@ -0,0 +1,36 @@ +diff -Nur postgresql-8.4/build-tree/postgresql-8.4beta1/src/backend/main/main.c postgresql-8.4.new/build-tree/postgresql-8.4beta1/src/backend/main/main.c +--- postgresql-8.4beta1/src/backend/main/main.c 2006-09-26 00:50:41.000000000 +0200 ++++ postgresql-8.4beta1/src/backend/main/main.c 2006-09-26 00:51:43.000000000 +0200 +@@ -326,7 +326,7 @@ + check_root(const char *progname) + { + #ifndef WIN32 +- if (geteuid() == 0) ++ if (0 && geteuid() == 0) + { + write_stderr("\"root\" execution of the PostgreSQL server is not permitted.\n" + "The server must be started under an unprivileged user ID to prevent\n" +diff -Nur postgresql-8.4/build-tree/postgresql-8.4beta1/src/bin/initdb/initdb.c postgresql-8.4.new/build-tree/postgresql-8.4beta1/src/bin/initdb/initdb.c +--- postgresql-8.4beta1/src/bin/initdb/initdb.c 2006-09-26 00:50:41.000000000 +0200 ++++ postgresql-8.4beta1/src/bin/initdb/initdb.c 2006-09-26 00:52:09.000000000 +0200 +@@ -636,7 +636,7 @@ + + pw = getpwuid(geteuid()); + +- if (geteuid() == 0) /* 0 is root's uid */ ++ if (0 && geteuid() == 0) /* 0 is root's uid */ + { + fprintf(stderr, + _("%s: cannot be run as root\n" +diff -Nur postgresql-8.4/build-tree/postgresql-8.4beta1/src/bin/pg_ctl/pg_ctl.c postgresql-8.4.new/build-tree/postgresql-8.4beta1/src/bin/pg_ctl/pg_ctl.c +--- postgresql-8.4beta1/src/bin/pg_ctl/pg_ctl.c 2006-09-26 00:50:41.000000000 +0200 ++++ postgresql-8.4beta1/src/bin/pg_ctl/pg_ctl.c 2006-09-26 00:52:23.000000000 +0200 +@@ -1517,7 +1517,7 @@ + * Disallow running as root, to forestall any possible security holes. + */ + #ifndef WIN32 +- if (geteuid() == 0) ++ if (0 && geteuid() == 0) + { + write_stderr(_("%s: cannot be run as root\n" + "Please log in (using, e.g., \"su\") as the " --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.links +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.links @@ -0,0 +1 @@ +/usr/share/doc/postgresql-common/README.Debian.gz /usr/share/doc/postgresql-8.4/README.Debian.gz --- postgresql-8.4-8.4.14.orig/debian/libecpg-compat3.install +++ postgresql-8.4-8.4.14/debian/libecpg-compat3.install @@ -0,0 +1 @@ +usr/lib/libecpg_compat.so.3* --- postgresql-8.4-8.4.14.orig/debian/libecpg-dev.install +++ postgresql-8.4-8.4.14/debian/libecpg-dev.install @@ -0,0 +1,12 @@ +usr/include/postgresql/ecpg*.h +usr/include/postgresql/informix/* +usr/include/postgresql/pgtypes_*.h +usr/include/postgresql/sql3types.h +usr/include/postgresql/sqlca.h +usr/lib/postgresql/8.4/bin/ecpg usr/bin +usr/lib/libecpg.so +usr/lib/libecpg_compat.so +usr/lib/libpgtypes.so +usr/lib/libecpg.a +usr/lib/libecpg_compat.a +usr/lib/libpgtypes.a --- postgresql-8.4-8.4.14.orig/debian/libecpg6.install +++ postgresql-8.4-8.4.14/debian/libecpg6.install @@ -0,0 +1,2 @@ +usr/lib/libecpg.so.6* +/usr/share/locale/*/*/ecpg*.mo --- postgresql-8.4-8.4.14.orig/debian/libpq5.install +++ postgresql-8.4-8.4.14/debian/libpq5.install @@ -0,0 +1,2 @@ +usr/lib/libpq.so.5* +usr/share/locale/*/LC_MESSAGES/libpq*.mo --- postgresql-8.4-8.4.14.orig/debian/postgresql-server-dev-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-server-dev-8.4.install @@ -0,0 +1,3 @@ +usr/include/postgresql/8.4/* +usr/lib/postgresql/8.4/lib/pgxs/* +usr/lib/postgresql/8.4/bin/pg_config --- postgresql-8.4-8.4.14.orig/debian/postgresql-plpython-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-plpython-8.4.install @@ -0,0 +1,2 @@ +usr/lib/postgresql/8.4/lib/plpython.so +/usr/share/locale/*/*/plpython-*.mo --- postgresql-8.4-8.4.14.orig/debian/postgresql-contrib-8.4.install +++ postgresql-8.4-8.4.14/debian/postgresql-contrib-8.4.install @@ -0,0 +1,42 @@ +usr/share/doc/postgresql/contrib/* usr/share/doc/postgresql-contrib-8.4 +usr/share/postgresql/8.4/contrib/* +usr/lib/postgresql/8.4/bin/oid2name +usr/lib/postgresql/8.4/bin/pgbench +usr/lib/postgresql/8.4/bin/vacuumlo +usr/lib/postgresql/8.4/bin/pg_standby +usr/lib/postgresql/8.4/lib/_int.so +usr/lib/postgresql/8.4/lib/autoinc.so +usr/lib/postgresql/8.4/lib/btree_gist.so +usr/lib/postgresql/8.4/lib/chkpass.so +usr/lib/postgresql/8.4/lib/cube.so +usr/lib/postgresql/8.4/lib/dblink.so +usr/lib/postgresql/8.4/lib/earthdistance.so +usr/lib/postgresql/8.4/lib/fuzzystrmatch.so +usr/lib/postgresql/8.4/lib/insert_username.so +usr/lib/postgresql/8.4/lib/lo.so +usr/lib/postgresql/8.4/lib/ltree.so +usr/lib/postgresql/8.4/lib/moddatetime.so +usr/lib/postgresql/8.4/lib/pageinspect.so +usr/lib/postgresql/8.4/lib/pg_trgm.so +usr/lib/postgresql/8.4/lib/pgcrypto.so +usr/lib/postgresql/8.4/lib/pgstattuple.so +usr/lib/postgresql/8.4/lib/refint.so +usr/lib/postgresql/8.4/lib/seg.so +usr/lib/postgresql/8.4/lib/tablefunc.so +usr/lib/postgresql/8.4/lib/timetravel.so +usr/lib/postgresql/8.4/lib/pgxml.so +usr/lib/postgresql/8.4/lib/pg_buffercache.so +usr/lib/postgresql/8.4/lib/adminpack.so +usr/lib/postgresql/8.4/lib/sslinfo.so +usr/lib/postgresql/8.4/lib/isn.so +usr/lib/postgresql/8.4/lib/hstore.so +usr/lib/postgresql/8.4/lib/pgrowlocks.so +usr/lib/postgresql/8.4/lib/pg_freespacemap.so +usr/lib/postgresql/8.4/lib/uuid-ossp.so +usr/lib/postgresql/8.4/lib/test_parser.so +usr/lib/postgresql/8.4/lib/dict_int.so +usr/lib/postgresql/8.4/lib/dict_xsyn.so +usr/lib/postgresql/8.4/lib/auto_explain.so +usr/lib/postgresql/8.4/lib/pg_stat_statements.so +usr/lib/postgresql/8.4/lib/citext.so +usr/lib/postgresql/8.4/lib/btree_gin.so --- postgresql-8.4-8.4.14.orig/debian/postgresql-contrib-8.4.postinst +++ postgresql-8.4-8.4.14/debian/postgresql-contrib-8.4.postinst @@ -0,0 +1,11 @@ +#!/bin/sh -e + +VERSION=8.4 + +. /usr/share/postgresql-common/maintscripts-functions + +if [ "$1" = configure ]; then + configure_contrib_version $VERSION "$2" +fi + +#DEBHELPER# --- postgresql-8.4-8.4.14.orig/debian/copyright +++ postgresql-8.4-8.4.14/debian/copyright @@ -0,0 +1,110 @@ +This package was debianized by Martin Pitt . + +PostgreSQL was downloaded from ftp://ftp.postgresql.org/mirror/postgresql/src/ + +Please note that there are many other mirrors, listed on +http://www.postgresql.org/mirrors-ftp.html. + +Copyright. The following copyright applies to the entire distribution: + + PostgreSQL Data Base Management System + (formerly known as Postgres, then as Postgres95). + + Portions Copyright (c) 1996-2003, The PostgreSQL Global Development Group + + Portions Copyright (c) 1994, The Regents of the University of California + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose, without fee, and without a written agreement + is hereby granted, provided that the above copyright notice and this + paragraph and the following two paragraphs appear in all copies. + + IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS + DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO + PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +The following copyright applies to the regex code in the backend +(src/backend/regex): + + Copyright (c) 1998, 1999 Henry Spencer. All rights reserved. + + Development of this software was funded, in part, by Cray Research Inc., + UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics + Corporation, none of whom are responsible for the results. The author + thanks all of them. + + Redistribution and use in source and binary forms -- with or without + modification -- are permitted for any purpose, provided that + redistributions in source form retain this entire copyright notice and + indicate the origin and nature of any modifications. + + I'd appreciate being given credit for this package in the documentation + of software which uses it, but that is not a requirement. + + THIS SOFTWARE IS PROVIDED ``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 + HENRY SPENCER 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. + +PostgreSQL adopted the code out of Tcl 8.4.1. Portions of regc_locale.c +and re_syntax.n were developed by Tcl developers other than Henry; these +files bear the Tcl copyright and license notice: + + This software is copyrighted by the Regents of the University of + California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState + Corporation and other parties. The following terms apply to all files + associated with the software unless explicitly disclaimed in + individual files. + + The authors hereby grant permission to use, copy, modify, distribute, + and license this software and its documentation for any purpose, provided + that existing copyright notices are retained in all copies and that this + notice is included verbatim in any distributions. No written agreement, + license, or royalty fee is required for any of the authorized uses. + Modifications to this software may be copyrighted by their authors + and need not follow the licensing terms described here, provided that + the new terms are clearly indicated on the first page of each file where + they apply. + + IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY + FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY + DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE + IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE + NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR + MODIFICATIONS. + + GOVERNMENT USE: If you are acquiring this software on behalf of the + U.S. government, the Government shall have only "Restricted Rights" + in the software and related documentation as defined in the Federal + Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you + are acquiring the software on behalf of the Department of Defense, the + software shall be classified as "Commercial Computer Software" and the + Government shall have only "Restricted Rights" as defined in Clause + 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the + authors grant the U.S. Government and others acting in its behalf + permission to use and distribute the software in accordance with the + terms specified in this license. + +Subsequent modifications to the code by the PostgreSQL project follow +the same license terms as the rest of PostgreSQL. --- postgresql-8.4-8.4.14.orig/debian/postgresql-8.4.postinst +++ postgresql-8.4-8.4.14/debian/postgresql-8.4.postinst @@ -0,0 +1,24 @@ +#!/bin/sh -e + +VERSION=8.4 + + +if [ "$1" = configure ]; then + # fix init script stop priority on upgrades + if dpkg --compare-versions "$2" le-nl "8.4~rc2-1"; then + echo "Fixing init script priorities..." + for l in 0 1 6; do + old=/etc/rc$l.d/K19postgresql-8.4 + new=/etc/rc$l.d/K21postgresql-8.4 + if [ -e $old ] && ! [ -e $new ]; then + mv $old $new + fi + done + fi + + . /usr/share/postgresql-common/maintscripts-functions + + configure_version $VERSION "$2" +fi + +#DEBHELPER# --- postgresql-8.4-8.4.14.orig/debian/patches/01-build-contrib.patch +++ postgresql-8.4-8.4.14/debian/patches/01-build-contrib.patch @@ -0,0 +1,25 @@ +diff -Nur postgresql-8.2/build-tree/postgresql-8.2beta1/GNUmakefile.in postgresql-8.2.new/build-tree/postgresql-8.2beta1/GNUmakefile.in +--- postgresql-8.2beta1/GNUmakefile.in 2006-08-18 21:58:05.000000000 +0200 ++++ postgresql-8.2beta1/GNUmakefile.in 2006-09-25 19:15:34.000000000 +0200 +@@ -12,18 +14,21 @@ + $(MAKE) -C doc all + $(MAKE) -C src all + $(MAKE) -C config all ++ $(MAKE) -C contrib all + @echo "All of PostgreSQL successfully made. Ready to install." + + install: + $(MAKE) -C doc $@ + $(MAKE) -C src $@ + $(MAKE) -C config $@ ++ $(MAKE) -C contrib $@ + @echo "PostgreSQL installation complete." + + installdirs uninstall: + $(MAKE) -C doc $@ + $(MAKE) -C src $@ + $(MAKE) -C config $@ ++ $(MAKE) -C contrib $@ + + distprep: + $(MAKE) -C doc $@ --- postgresql-8.4-8.4.14.orig/debian/patches/07-relax-sslkey-permscheck.patch +++ postgresql-8.4-8.4.14/debian/patches/07-relax-sslkey-permscheck.patch @@ -0,0 +1,21 @@ +diff -Nur -x '*.orig' -x '*~' postgresql-8.4-8.4~rc1/src/backend/libpq/be-secure.c postgresql-8.4-8.4~rc1.new/src/backend/libpq/be-secure.c +--- postgresql-8.4-8.4~rc1/src/backend/libpq/be-secure.c 2009-06-11 16:48:58.000000000 +0200 ++++ postgresql-8.4-8.4~rc1.new/src/backend/libpq/be-secure.c 2009-06-22 07:49:45.873269466 +0200 +@@ -751,12 +751,15 @@ + * directory permission check in postmaster.c) + */ + #if !defined(WIN32) && !defined(__CYGWIN__) +- if (!S_ISREG(buf.st_mode) || buf.st_mode & (S_IRWXG | S_IRWXO)) ++ if (!S_ISREG(buf.st_mode) || (buf.st_mode & (S_IWGRP | S_IRWXO)) || ++ (buf.st_uid != geteuid()) && buf.st_uid != 0) + ereport(FATAL, + (errcode(ERRCODE_CONFIG_FILE_ERROR), + errmsg("private key file \"%s\" has group or world access", + SERVER_PRIVATE_KEY_FILE), +- errdetail("Permissions should be u=rw (0600) or less."))); ++ errdetail("File must be owned by the \ ++database user or root, must have no write permission for \"group\", and must \ ++have no permissions for \"other\"."))); + #endif + + if (SSL_CTX_use_PrivateKey_file(SSL_context, --- postgresql-8.4-8.4.14.orig/debian/patches/10-tutorial-README.patch +++ postgresql-8.4-8.4.14/debian/patches/10-tutorial-README.patch @@ -0,0 +1,13 @@ +diff -ruN postgresql-8.2.3-old/src/tutorial/README postgresql-8.2.3/src/tutorial/README +--- postgresql-8.2.3-old/src/tutorial/README 2001-10-26 22:45:33.000000000 +0200 ++++ postgresql-8.2.3/src/tutorial/README 2006-04-10 22:17:29.000000000 +0200 +@@ -1,8 +1,7 @@ + This directory contains SQL tutorial scripts. To look at them, first do a + % make + to compile all the scripts and C files for the user-defined functions +-and types. (make needs to be GNU make --- it may be named something +-different on your system, often gmake) ++and types. This requires postgresql-server-dev-8.4 to be installed. + + Then, run psql with the -s (single-step) flag: + % psql -s --- postgresql-8.4-8.4.14.orig/debian/patches/08-pkglibdir.patch +++ postgresql-8.4-8.4.14/debian/patches/08-pkglibdir.patch @@ -0,0 +1,12 @@ +diff -ruN postgresql-8.2beta4-old/src/Makefile.global.in postgresql-8.2beta4/src/Makefile.global.in +--- postgresql-8.2beta4-old/src/Makefile.global.in 2005-09-27 18:39:32.000000000 +0100 ++++ postgresql-8.2beta4/src/Makefile.global.in 2005-10-26 20:40:52.000000000 +0100 +@@ -89,7 +89,7 @@ + pkglibdir = $(libdir) + ifeq "$(findstring pgsql, $(pkglibdir))" "" + ifeq "$(findstring postgres, $(pkglibdir))" "" +-override pkglibdir := $(pkglibdir)/postgresql ++override pkglibdir := $(pkglibdir)/postgresql/8.4/lib + endif + endif + --- postgresql-8.4-8.4.14.orig/debian/patches/03-sh-architecture.patch +++ postgresql-8.4-8.4.14/debian/patches/03-sh-architecture.patch @@ -0,0 +1,38 @@ +--- postgresql-8.4-8.4.1/src/include/storage/s_lock.h 2009-01-02 02:24:01.000000000 +0900 ++++ postgresql-head/src/include/storage/s_lock.h 2009-09-29 15:06:45.000000000 +0900 +@@ -567,6 +567,35 @@ + + #endif /* __m32r__ */ + ++#if defined(__sh__) /* Renesas' SuperH */ ++#define HAS_TEST_AND_SET ++ ++typedef unsigned char slock_t; ++ ++#define TAS(lock) tas(lock) ++ ++static __inline__ int ++tas(volatile slock_t *lock) ++{ ++ register int _res; ++ ++ /* ++ * This asm is coded as if %0 could be any register, but actually SuperH ++ * restricts the target of xor-immediate to be R0. That's handled by ++ * the "z" constraint on _res. ++ */ ++ __asm__ __volatile__( ++ " tas.b @%2 \n" ++ " movt %0 \n" ++ " xor #1,%0 \n" ++: "=z"(_res), "+m"(*lock) ++: "r"(lock) ++: "memory", "t"); ++ return _res; ++} ++ ++#endif /* __sh__ */ ++ + + /* These live in s_lock.c, but only for gcc */ + --- postgresql-8.4-8.4.14.orig/debian/patches/14-pg_config-paths.patch +++ postgresql-8.4-8.4.14/debian/patches/14-pg_config-paths.patch @@ -0,0 +1,26 @@ +--- postgresql-8.3.0/src/bin/pg_config/pg_config.c 2008-02-03 12:12:01.000000000 +0100 ++++ postgresql-8.3.0/src/bin/pg_config/pg_config.c 2008-02-03 12:13:09.000000000 +0100 +@@ -26,6 +26,8 @@ + + #include "port.h" + ++#include "../port/pg_config_paths.h" ++ + static const char *progname; + static char mypath[MAXPGPATH]; + +@@ -465,13 +467,7 @@ + } + } + +- ret = find_my_exec(argv[0], mypath); +- +- if (ret) +- { +- fprintf(stderr, _("%s: could not find own program executable\n"), progname); +- exit(1); +- } ++ snprintf(mypath, sizeof(mypath), "%s/%s", PGBINDIR, progname); + + /* no arguments -> print everything */ + if (argc < 2) --- postgresql-8.4-8.4.14.orig/debian/patches/09-server-includedir.patch +++ postgresql-8.4-8.4.14/debian/patches/09-server-includedir.patch @@ -0,0 +1,12 @@ +diff -ruN postgresql-8.2.0-old/src/Makefile.global.in postgresql-8.2.0/src/Makefile.global.in +--- postgresql-8.2.0-old/src/Makefile.global.in 2005-11-05 18:54:55.000000000 -0500 ++++ postgresql-8.2.0/src/Makefile.global.in 2005-11-05 18:55:59.000000000 -0500 +@@ -133,7 +133,7 @@ + + # These derived path variables aren't separately configurable. + +-includedir_server = $(pkgincludedir)/server ++includedir_server = $(pkgincludedir)/8.4/server + includedir_internal = $(pkgincludedir)/internal + pgxsdir = $(pkglibdir)/pgxs + --- postgresql-8.4-8.4.14.orig/debian/patches/06-libpq-defaultsocketdir.patch +++ postgresql-8.4-8.4.14/debian/patches/06-libpq-defaultsocketdir.patch @@ -0,0 +1,12 @@ +diff -ruN postgresql-8.2.3-old/src/include/pg_config_manual.h postgresql-8.2.3/src/include/pg_config_manual.h +--- postgresql-8.2.3-old/src/include/pg_config_manual.h 2004-09-10 16:27:37.000000000 +0200 ++++ postgresql-8.2.3/src/include/pg_config_manual.h 2005-06-14 19:21:28.200000000 +0200 +@@ -160,7 +160,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and --- postgresql-8.4-8.4.14.orig/debian/patches/02-pager.patch +++ postgresql-8.4-8.4.14/debian/patches/02-pager.patch @@ -0,0 +1,12 @@ +diff -Nur postgresql-8.2/build-tree/postgresql-8.2beta1/src/bin/psql/print.h postgresql-8.2.new/build-tree/postgresql-8.2beta1/src/bin/psql/print.h +--- postgresql-8.2beta1/src/bin/psql/print.h 2006-08-30 00:25:07.000000000 +0200 ++++ postgresql-8.2beta1/src/bin/psql/print.h 2006-09-25 19:18:54.000000000 +0200 +@@ -89,7 +89,7 @@ + void setDecimalLocale(void); + + #ifndef __CYGWIN__ +-#define DEFAULT_PAGER "more" ++#define DEFAULT_PAGER "/usr/bin/pager" + #else + #define DEFAULT_PAGER "less" + #endif --- postgresql-8.4-8.4.14.orig/debian/patches/11-pg_regress-socketpath.patch +++ postgresql-8.4-8.4.14/debian/patches/11-pg_regress-socketpath.patch @@ -0,0 +1,42 @@ +diff -Nur -x '*.orig' -x '*~' postgresql-8.4-8.4~0cvs20090328/src/test/regress/pg_regress.c postgresql-8.4-8.4~0cvs20090328.new/src/test/regress/pg_regress.c +--- postgresql-8.4-8.4~0cvs20090328/src/test/regress/pg_regress.c 2009-03-28 23:04:14.000000000 +0100 ++++ postgresql-8.4-8.4~0cvs20090328.new/src/test/regress/pg_regress.c 2009-03-28 23:32:54.660811088 +0100 +@@ -888,7 +888,7 @@ + + /* And now we can build and execute the shell command */ + snprintf(psql_cmd, sizeof(psql_cmd), +- SYSTEMQUOTE "\"%s%spsql\" -X -c \"%s\" \"%s\"" SYSTEMQUOTE, ++ SYSTEMQUOTE "\"%s%spsql\" -h /tmp -X -c \"%s\" \"%s\"" SYSTEMQUOTE, + psqldir ? psqldir : "", + psqldir ? "/" : "", + query_escaped, +@@ -2122,7 +2122,7 @@ + * Check if there is a postmaster running already. + */ + snprintf(buf2, sizeof(buf2), +- SYSTEMQUOTE "\"%s/psql\" -X postgres <%s 2>%s" SYSTEMQUOTE, ++ SYSTEMQUOTE "\"%s/psql\" -h /tmp -X postgres <%s 2>%s" SYSTEMQUOTE, + bindir, DEVNULL, DEVNULL); + + for (i = 0; i < 16; i++) +@@ -2154,7 +2154,7 @@ + */ + header(_("starting postmaster")); + snprintf(buf, sizeof(buf), +- SYSTEMQUOTE "\"%s/postgres\" -D \"%s/data\" -F%s -c \"listen_addresses=%s\" > \"%s/log/postmaster.log\" 2>&1" SYSTEMQUOTE, ++ SYSTEMQUOTE "\"%s/postgres\" -D \"%s/data\" -k /tmp -F%s -c \"listen_addresses=%s\" > \"%s/log/postmaster.log\" 2>&1" SYSTEMQUOTE, + bindir, temp_install, + debug ? " -d 5" : "", + hostname ? hostname : "", +diff -Nur -x '*.orig' -x '*~' postgresql-8.4-8.4~0cvs20090328/src/test/regress/pg_regress_main.c postgresql-8.4-8.4~0cvs20090328.new/src/test/regress/pg_regress_main.c +--- postgresql-8.4-8.4~0cvs20090328/src/test/regress/pg_regress_main.c 2009-03-28 23:04:14.000000000 +0100 ++++ postgresql-8.4-8.4~0cvs20090328.new/src/test/regress/pg_regress_main.c 2009-03-28 23:31:22.307182553 +0100 +@@ -59,7 +59,7 @@ + add_stringlist_item(expectfiles, expectfile); + + snprintf(psql_cmd, sizeof(psql_cmd), +- SYSTEMQUOTE "\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1" SYSTEMQUOTE, ++ SYSTEMQUOTE "\"%s%spsql\" -h /tmp -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1" SYSTEMQUOTE, + psqldir ? psqldir : "", + psqldir ? "/" : "", + dblist->str, --- postgresql-8.4-8.4.14.orig/debian/patches/13-pg_service.conf_directory_doc.patch +++ postgresql-8.4-8.4.14/debian/patches/13-pg_service.conf_directory_doc.patch @@ -0,0 +1,13 @@ +--- postgresql-8.3RC2/src/interfaces/libpq/pg_service.conf.sample 2007-09-14 16:31:22.000000000 +0200 ++++ postgresql-8.3RC2/src/interfaces/libpq/pg_service.conf.sample 2008-01-19 17:24:45.000000000 +0100 +@@ -8,8 +8,8 @@ + # to look up such parameters. A sample configuration for postgres is + # included in this file. Lines beginning with '#' are comments. + # +-# Copy this to your sysconf directory (typically /usr/local/pgsql/etc) and +-# rename it pg_service.conf. ++# Copy this to /etc/postgresql-common/ (or select its location with the ++# PGSYSCONFDIR environment variable) and rename it pg_service.conf. + # + # + #[postgres] --- postgresql-8.4-8.4.14.orig/debian/patches/12-psql-sensible-editor.patch +++ postgresql-8.4-8.4.14/debian/patches/12-psql-sensible-editor.patch @@ -0,0 +1,11 @@ +--- postgresql-8.3beta3/src/bin/psql/settings.h 2007-01-05 23:19:49.000000000 +0100 ++++ postgresql-8.3beta3/src/bin/psql/settings.h 2007-11-21 17:10:38.000000000 +0100 +@@ -19,7 +19,7 @@ + #if defined(WIN32) || defined(__CYGWIN__) + #define DEFAULT_EDITOR "notepad.exe" + #else +-#define DEFAULT_EDITOR "vi" ++#define DEFAULT_EDITOR "sensible-editor" + #endif + + #define DEFAULT_PROMPT1 "%/%R%# " --- postgresql-8.4-8.4.14.orig/debian/docbook2man-sgmlspl/docbook2man-spec_makelinks +++ postgresql-8.4-8.4.14/debian/docbook2man-sgmlspl/docbook2man-spec_makelinks @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +while() +{ + chomp; + ($main, $link) = split(/\t/); + + $n = $main; + $n =~ s/^.*\.(\d).*$/$1/; + + open(LINK, ">$link"); + print LINK ".so man$n/$main\n"; + close(LINK); +} + --- postgresql-8.4-8.4.14.orig/debian/docbook2man-sgmlspl/docbook2man-spec.pl +++ postgresql-8.4-8.4.14/debian/docbook2man-sgmlspl/docbook2man-spec.pl @@ -0,0 +1,1546 @@ +=head1 NAME + +docbook2man-spec.pl - convert DocBook RefEntries to Unix manpages + +=head1 SYNOPSIS + +The sgmlspl script from the SGMLSpm Perl module must be used to run +this script. Use it like this: + +nsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl + +See man page or included DocBook documentation for details. + +=head1 DESCRIPTION + +This is a sgmlspl spec file that produces Unix-style +man pages from DocBook RefEntry markup. + +=head1 COPYRIGHT + +Copyright (C) 1998-2001 Steve Cheng + +Copyright (C) 1999 Thomas Lockhart + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +You should have received a copy of the GNU General Public License along with +this program; see the file COPYING. If not, please write to the Free +Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +=cut + +# $Id: docbook2man-spec.pl,v 1.1.1.1 2001/09/06 18:37:06 stevecheng Exp $ + +use SGMLS; # Use the SGMLS package. +use SGMLS::Output; # Use stack-based output. +use SGMLS::Refs; + + +######################################################################## +# SGMLSPL script produced automatically by the script sgmlspl.pl +# +# Document Type: any, but processes only RefEntries +# Edited by: me :) +######################################################################## + + +$write_manpages = 0; +$blank_xrefs = 0; + +$default_sect = "1"; +$default_date = `date "+%d %B %Y"`; +$cite_numeral_only = 1; + +while (@ARGV) { + my $arg = shift @ARGV; + if ($arg eq "--section") { + $default_sect = shift @ARGV || die "$arg requires an argument\n"; + } elsif ($arg eq "--date") { + $default_date = shift @ARGV || die "$arg requires an argument\n"; + } elsif ($arg eq "--lowercase") { + $lowercase_names = 1; + } elsif ($arg eq "--preserve-case") { + $lowercase_names = 0; + } elsif ($arg eq "--cite-numeral-only") { + $cite_numeral_only = 1; + } elsif ($arg eq "--nocite-numeral-only") { + $cite_numeral_only = 0; + } elsif ($arg eq "--help") { + print "Usage: $0", + " [ --section