From 76c9304cd11ae592173474b3272501896911ad2e8e0aa5176afbdf7fc393d27c Mon Sep 17 00:00:00 2001 From: Reinhard Max Date: Wed, 8 Dec 2010 13:01:31 +0000 Subject: [PATCH] Version 8.4.5 and init script fix OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/postgresql?expand=0&rev=41 --- postgresql-8.4.4.tar.bz2 | 3 - postgresql-8.4.5.tar.bz2 | 3 + postgresql-init | 50 +++++--------- postgresql-perl-return.patch | 10 ++- postgresql-pl.spec | 8 +-- postgresql.changes | 126 +++++++++++++++++++++++++++++++++++ postgresql.spec | 6 +- 7 files changed, 157 insertions(+), 49 deletions(-) delete mode 100644 postgresql-8.4.4.tar.bz2 create mode 100644 postgresql-8.4.5.tar.bz2 diff --git a/postgresql-8.4.4.tar.bz2 b/postgresql-8.4.4.tar.bz2 deleted file mode 100644 index ea370f7..0000000 --- a/postgresql-8.4.4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e66b398d565f7fb16d8ae58ae72881dcd3dbb1b88f532bbe1c2d1284812be37e -size 13853838 diff --git a/postgresql-8.4.5.tar.bz2 b/postgresql-8.4.5.tar.bz2 new file mode 100644 index 0000000..a66aa62 --- /dev/null +++ b/postgresql-8.4.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:300022ae2d998a0291a1e91978c48468fdc9c389afca05d6e5f18209ff5732bf +size 14114152 diff --git a/postgresql-init b/postgresql-init index 085303f..8c3b99b 100644 --- a/postgresql-init +++ b/postgresql-init @@ -56,30 +56,6 @@ H=/usr/bin/postmaster test -x $H || exit 5 PIDFILE=$DATADIR/postmaster.pid -if [ -r $DATADIR/PG_VERSION ] ; then - BIN_VERSION=$($H --version|sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/') - DATA_VERSION=$(cat $DATADIR/PG_VERSION) - if [ "$BIN_VERSION" != "$DATA_VERSION" ]; then - for libdir in /usr/lib64 /usr/lib; do - H=$libdir/postgresql/backup/$DATA_VERSION/postmaster - test -x $H && break - done - if test -x $H; then - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$libdir/postgresql/backup" - echo " Your databases are still using the format of PostgreSQL $DATA_VERSION." - echo " Therefore a backup of the old PostgreSQL server program will be used" - echo " until you have saved and removed your old database files" - echo " See also /usr/share/doc/packages/postgresql/README.SuSE.{de,en} ." - else - echo " Your databases are still using the format of PostgreSQL $DATA_VERSION," - echo " but no backup of the old PostgreSQL server program was found." - echo " See /usr/share/doc/packages/postgresql/README.SuSE.{en,de}" - echo " for details on updating PostgeSQL." - exit 5 - fi - fi -fi - # The echo return value for success (defined in /etc/rc.config). rc_reset @@ -121,23 +97,23 @@ case "$1" in } fi echo -n "Starting PostgreSQL" - ## remove old socket, if it exists and no daemon is running. + ## remove old socket and pidfile, if they exist + ## and no daemon is running. checkproc -p $PIDFILE $H || { rm -f /tmp/.s.PGSQL.* $PIDFILE } - - ## Start daemon with startproc(8). If this fails - ## the echo return value is set appropriate. pg_ctl start -s -w -p $H -D $DATADIR -o "\"$OPTIONS\"" rc_status -v ;; stop) echo -n "Shutting down PostgreSQL" - ## Stop daemon with killproc(8) and if this fails - ## set the echo return value. - - pg_ctl stop -s -D $DATADIR -m fast + if pg_ctl status -s -D $DATADIR >/dev/null + then + pg_ctl stop -s -D $DATADIR -m fast + else + rc_failed 0 + fi rc_status -v ;; @@ -174,7 +150,15 @@ case "$1" in # 3 - service not running # NOTE: checkproc returns LSB compliant status values. - checkproc -p $PIDFILE $H + pg_ctl status -s -D $DATADIR >/dev/null + if ! pg_ctl status -s -D $DATADIR >/dev/null + then + if test -f $DATADIR/postmaster.pid; then + rc_failed 1 + else + rc_failed 3 + fi + fi rc_status -v ;; diff --git a/postgresql-perl-return.patch b/postgresql-perl-return.patch index 0bd63cc..a8d24e7 100644 --- a/postgresql-perl-return.patch +++ b/postgresql-perl-return.patch @@ -1,12 +1,10 @@ -Index: postgresql-8.4.4/src/pl/plperl/plperl.c -=================================================================== ---- postgresql-8.4.4.orig/src/pl/plperl/plperl.c 2010-05-13 18:40:36.000000000 +0200 -+++ postgresql-8.4.4/src/pl/plperl/plperl.c 2010-06-18 10:18:15.758499052 +0200 -@@ -535,6 +535,7 @@ pp_require_safe(pTHX) +--- src/pl/plperl/plperl.c ++++ src/pl/plperl/plperl.c +@@ -641,6 +641,7 @@ RETPUSHYES; DIE(aTHX_ "Unable to load %s into plperl", name); + return 0; } - + /* diff --git a/postgresql-pl.spec b/postgresql-pl.spec index 953e1ac..82f4056 100644 --- a/postgresql-pl.spec +++ b/postgresql-pl.spec @@ -1,5 +1,5 @@ # -# spec file for package postgresql-pl (Version 8.4.4) +# spec file for package postgresql-pl (Version 8.4.5) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -26,8 +26,8 @@ BuildRequires: krb5-devel libxslt-devel %endif BuildRequires: python-devel tcl-devel Summary: The PL/Tcl, PL/Perl, and PL/Python Procedural Languages for PostgreSQL -Version: 8.4.4 -Release: 2 +Version: 8.4.5 +Release: 0. %define pg_minor_version %(echo %version | cut -f1-2 -d.) License: BSD3c(or similar) Group: Productivity/Databases/Servers @@ -115,7 +115,7 @@ and triggers. # in the postgresql source RPM. %setup -q -n postgresql-%{version} %patch0 -%patch1 -p1 +%patch1 %build export CFLAGS="%optflags $SP" diff --git a/postgresql.changes b/postgresql.changes index a8776af..72c500b 100644 --- a/postgresql.changes +++ b/postgresql.changes @@ -1,3 +1,129 @@ +------------------------------------------------------------------- +Wed Dec 8 13:00:12 UTC 2010 - max@novell.com + +- Fix LSB conformance of the init script (bnc#658014). + +------------------------------------------------------------------- +Thu Oct 7 17:34:57 CEST 2010 - max@suse.de + +- Security and bugfix release 8.4.5 (bnc#643771): + + * Use a separate interpreter for each calling SQL userid in + PL/Perl and PL/Tcl (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. + + * Fix possible duplicate scans of UNION ALL member relations. + + * Fix "cannot handle unplanned sub-select" error. + + * 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. + + * Fix computation of ANALYZE statistics for tsvector columns. + + * Improve planner's estimate of memory used by array_agg(), + string_agg(), and similar aggregate functions. + + * Fix failure to mark cached plans as transient. + + * Reduce PANIC to ERROR in some occasionally-reported btree + failure cases, and provide additional detail in the resulting + error messages. + + * Fix incorrect search logic for partial-match queries with GIN + indexes. + + * 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. + + * Fix possible failure when hashing a pass-by-reference function + result. + + * Improve merge join's handling of NULLs in the join columns. + + * Take care to fsync the contents of lockfiles (both + postmaster.pid and the socket lockfile) while writing them. + + * Avoid recursion while assigning XIDs to heavily-nested + subtransactions. + + * Avoid holding open old WAL segments in the walwriter process. + + * 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. + + * 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 _ + + * Re-allow input of Julian dates prior to 0001-01-01 AD. + + * 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. + + * 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). + + * 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. + ------------------------------------------------------------------- Thu May 27 10:52:05 CEST 2010 - max@suse.de diff --git a/postgresql.spec b/postgresql.spec index 3389631..f6635a8 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -1,5 +1,5 @@ # -# spec file for package postgresql (Version 8.4.4) +# spec file for package postgresql (Version 8.4.5) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -25,8 +25,8 @@ BuildRequires: ncurses-devel BuildRequires: krb5-devel libxslt-devel %endif Summary: Basic Clients and Utilities for PostgreSQL -Version: 8.4.4 -Release: 2 +Version: 8.4.5 +Release: 0 %define pg_minor_version %(echo %version | cut -f1-2 -d.) License: BSD3c(or similar) Group: Productivity/Databases/Tools