--- postgresql-8.4-8.4.16.orig/debian/changelog +++ postgresql-8.4-8.4.16/debian/changelog @@ -0,0 +1,1339 @@ +postgresql-8.4 (8.4.16-1) unstable; urgency=low + + * New upstream release. The only effective change is two translation updates + for PL/Perl. Otherwise the version must just be higher than the one in + squeeze, as usual. + + -- Martin Pitt Tue, 05 Feb 2013 15:47:29 +0100 + +postgresql-8.4 (8.4.15-1) unstable; urgency=low + + * New upstream bug fix release (no PL/Perl changes). + + -- Christoph Berg Tue, 04 Dec 2012 16:13:54 +0100 + +postgresql-8.4 (8.4.14-1) unstable; urgency=low + + * debian/watch: Update so that this actually works again. Adjusted from + current -9.2 watch file. + * New upstream bug fix release: + - 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 05:59:32 +0200 + +postgresql-8.4 (8.4.13-1) unstable; urgency=low + + * New upstream release. There are no effective changes for PL/Perl, but we + need a version in unstable/wheezy which is larger than the version in + squeeze, otherwise the upgrade will fail. + + -- Martin Pitt Wed, 19 Sep 2012 07:11:48 +0200 + +postgresql-8.4 (8.4.12-3) unstable; urgency=medium + + * Urgency medium; the current version in testing (with the full server) + is unsupportable in a stable release. + * debian/control: Drop dependency to postgresql-8.4. While it is technically + correct (it needs Squeeze's postgresql-8.4 package) it makes britney + refuse to get this into testing, as the package is uninstallable in + Wheezy. + + -- Martin Pitt Sat, 21 Jul 2012 16:32:58 +0200 + +postgresql-8.4 (8.4.12-2) unstable; urgency=low + + * Drop all binary packages except for postgresql-plperl-8.4. Version 8.4 is + obsolete and not supported in Wheezy any more, and there are no remaining + reverse dependencies any more. However, postgresql-plperl-8.4 from Squeeze + is not installable in Wheezy any more due to the different Perl version, + so we need a postgresql-plperl-8.4 built against libperl5.14 so that you + can upgrade your existing 8.4 clusters to 9.1. Drop unnecessary build + dependencies and disable the optional features to speed up the build. + + -- Martin Pitt Wed, 20 Jun 2012 07:26:18 +0200 + +postgresql-8.4 (8.4.12-1) unstable; urgency=medium + + * Urgency medium due to security fixes. + * New upstream security/bug fix release: + - 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. + * debian/control: Move bzr branches to alioth, so that other members of + pkg-postgresql can commit. Update Vcs-* tags. + * debian/control: Set Maintainer: to pkg-postgresql group, and move myself + to Uploaders:. + + -- Martin Pitt Mon, 04 Jun 2012 07:18:59 +0200 + +postgresql-8.4 (8.4.11-1) unstable; urgency=medium + + * Urgency medium due to security fixes. + * New upstream bug fix/security release: + - 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 04-armel-tas.patch, applied upstream. + + -- Martin Pitt Sat, 25 Feb 2012 11:17:15 +0100 + +postgresql-8.4 (8.4.10-1) unstable; urgency=low + + * New upstream bug fix release: + - 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 Fri, 02 Dec 2011 14:46:33 +0100 + +postgresql-8.4 (8.4.9-1) unstable; urgency=low + + * New upstream bug fix release: + - 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) + * Drop 16-cmsgcred-size.patch, fixed upstream in a different way. + + -- Martin Pitt Sun, 25 Sep 2011 14:23:57 +0200 + +postgresql-8.4 (8.4.8-2) unstable; urgency=low + + * debian/postgresql-8.4.postrm: Clean up pg_ctl.conf on purge. + * debian/control, debian/rules: Drop usage of pycentral. We don't ship any + Python extension/module, so we don't need a python helper at all. + (Closes: #616948) + * Add 16-cmsgcred-size.patch: Fix size of struct cmsgcred to fix ident + authentication on kFreeBSD 64 bit. Thanks to Petr Salinger for the patch! + (Closes: #612888) + + -- Martin Pitt Sun, 22 May 2011 15:41:07 +0200 + +postgresql-8.4 (8.4.8-1) unstable; urgency=medium + + Priority medium due to data-loss pg_upgrade bug. + + [ Martin Pitt ] + * New upstream bug fix release: + - 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) + * debian/control: Stop building the versionless metapackages and client-side + libraries, they are built by postgresql-9.0 now. Add libpq-dev build + dependency. + * debian/rules: Drop check for uninstalled files, since it'd now break the + build due to the uninstalled libraries. + + [ Matthias Klose ] + * Add 15-bool-altivec.patch: Fix definition of bool on __APPLE_ALTIVEC__ + architecture (ppc64). + + -- Martin Pitt Wed, 20 Apr 2011 15:25:02 +0200 + +postgresql-8.4 (8.4.7-1) unstable; urgency=low + + * New upstream security/bug fix release: + - 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 17:14:21 +0100 + +postgresql-8.4 (8.4.6-1) unstable; urgency=low + + * New upstream bug fix release: + - 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 Sat, 18 Dec 2010 23:04:15 +0100 + +postgresql-8.4 (8.4.5-2) unstable; urgency=low + + * debian/control: Build against libedit instead of libreadline. We can't + simultaneously link against readline (GPL) and libssl (incompatible with + GPL). (Closes: #603598) + + -- Martin Pitt Wed, 17 Nov 2010 18:02:46 +0100 + +postgresql-8.4 (8.4.5-1) unstable; urgency=medium + + * Urgency medium, since this fixes a security bug (but also a lot of other + bugs, it's not a pinpointed patch). + * New upstream security/bug fix update: + - 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. + * debian/postgresql-8.4.preinst: Add missing debhelper token. + * debian/control: Bump Standards-Version to 3.9.1 (no changes necessary). + + -- Martin Pitt Tue, 05 Oct 2010 20:41:08 +0200 + +postgresql-8.4 (8.4.4-2) unstable; urgency=low + + * Migrate to a common init script for all server versions, to avoid + providing the "postgresql" service in multiple packages (which causes + insserv to complain bitterly): + - Drop debian/postgresql-8.4.init. + - debian/control: Bump dependency to postgresql-common to ensure we have a + common /etc/init.d/postgresql init script. + - debian/postgresql-8.4.preinst: Remove/rename our init script on upgrade. + - debian/postgresql-8.4.prerm: Call stop_version on upgrade. + - debian/rules: Drop dh_installinit arguments. + - (Closes: #585890) + + -- Martin Pitt Mon, 19 Jul 2010 23:29:03 +0200 + +postgresql-8.4 (8.4.4-1) unstable; urgency=medium + + * Urgency medium due to security fixes. + * 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.16.orig/debian/control +++ postgresql-8.4-8.4.16/debian/control @@ -0,0 +1,26 @@ +Source: postgresql-8.4 +Section: database +Priority: optional +Maintainer: Debian PostgreSQL Maintainers +Uploaders: Martin Pitt , Peter Eisentraut +Standards-Version: 3.9.1 +Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), perl (>= 5.8), + libperl-dev, libedit-dev, + zlib1g-dev | libz-dev, + libpq-dev (>= 8.4~), + gettext, hardening-wrapper, + bison, flex +Homepage: http://www.postgresql.org/ +Vcs-Browser: http://anonscm.debian.org/loggerhead/pkg-postgresql/postgresql-8.4/trunk +Vcs-Bzr: http://bzr.debian.org/bzr/pkg-postgresql/postgresql-8.4/trunk/ + +Package: postgresql-plperl-8.4 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, 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 8.4 is obsolete. This package is only provided for upgrades from + 8.4 from Debian 6.0 ("Squeeze") and should not be installed otherwise. --- postgresql-8.4-8.4.16.orig/debian/postgresql-plperl-8.4.install +++ postgresql-8.4-8.4.16/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.16.orig/debian/compat +++ postgresql-8.4-8.4.16/debian/compat @@ -0,0 +1 @@ +5 --- postgresql-8.4-8.4.16.orig/debian/copyright +++ postgresql-8.4-8.4.16/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.16.orig/debian/watch +++ postgresql-8.4-8.4.16/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts=uversionmangle=s/alpha/~alpha/;s/beta/~beta/;s/rc/~rc/ \ +ftp://ftp.postgresql.org/pub/source/v(8\.4.*)/postgresql-(8\.4.*).tar.gz --- postgresql-8.4-8.4.16.orig/debian/disable-root-check.patch +++ postgresql-8.4-8.4.16/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.16.orig/debian/rules +++ postgresql-8.4-8.4.16/debian/rules @@ -0,0 +1,72 @@ +#!/usr/bin/make -f +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_DESTDIR=$(CURDIR)/debian/tmp +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 \ + --disable-rpath \ + --without-tcl \ + --with-perl \ + --without-python \ + --without-pam \ + --without-krb5 \ + --without-gssapi \ + --without-openssl \ + --without-libxml \ + --without-libxslt \ + --without-ldap \ + --without-ossp-uuid \ + --with-gnu-ld \ + --with-system-tzdata=/usr/share/zoneinfo \ + --with-pgport=5432 \ + $(ARCH_OPTS) \ + CFLAGS='$(CFLAGS)' \ + LDFLAGS='$(LDFLAGS)' + +DEB_DH_MAKESHLIBS_ARGS := -Xusr/lib/postgresql/$(MAJOR_VER) + +binary-predeb/postgresql-plperl-$(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 --- postgresql-8.4-8.4.16.orig/debian/patches/11-pg_regress-socketpath.patch +++ postgresql-8.4-8.4.16/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.16.orig/debian/patches/06-libpq-defaultsocketdir.patch +++ postgresql-8.4-8.4.16/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.16.orig/debian/patches/15-bool-altivec.patch +++ postgresql-8.4-8.4.16/debian/patches/15-bool-altivec.patch @@ -0,0 +1,22 @@ +--- postgresql-8.4-8.4.7.orig/src/include/c.h ++++ postgresql-8.4-8.4.7/src/include/c.h +@@ -177,7 +177,7 @@ + + #ifndef __cplusplus + +-#ifndef bool ++#if !defined(bool) || defined(__APPLE_ALTIVEC__) + typedef char bool; + #endif + +--- postgresql-8.4-8.4.7.orig/src/test/thread/thread_test.c ++++ postgresql-8.4-8.4.7/src/test/thread/thread_test.c +@@ -24,7 +24,7 @@ + #include "postgres.h" + #else + /* From src/include/c.h" */ +-#ifndef bool ++#if !defined(bool) || defined(__APPLE_ALTIVEC__) + typedef char bool; + #endif + --- postgresql-8.4-8.4.16.orig/debian/patches/08-pkglibdir.patch +++ postgresql-8.4-8.4.16/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.16.orig/debian/patches/03-sh-architecture.patch +++ postgresql-8.4-8.4.16/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 */ +