debian/0000775000000000000000000000000012755111736007200 5ustar debian/control0000664000000000000000000000240312365717575010614 0ustar Source: postgresql-9.1 Section: database Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian PostgreSQL Maintainers Uploaders: Martin Pitt , Peter Eisentraut , Christoph Berg Standards-Version: 3.9.5 Build-Depends: debhelper (>= 8~), dpkg-dev (>= 1.16.1~) | hardening-wrapper, perl (>= 5.8), libperl-dev, libedit-dev, zlib1g-dev | libz-dev, libpq-dev (>= 9.1), bison, flex, gettext Homepage: http://www.postgresql.org/ Vcs-Browser: http://anonscm.debian.org/loggerhead/pkg-postgresql/postgresql-9.1/jessie Vcs-Bzr: http://bzr.debian.org/bzr/pkg-postgresql/postgresql-9.1/jessie/ Package: postgresql-plperl-9.1 Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, perl Description: PL/Perl procedural language for PostgreSQL 9.1 PL/Perl enables an SQL developer to write procedural language functions for PostgreSQL 9.1 in Perl. You need this package if you have any PostgreSQL 9.1 functions that use the languages plperl or plperlu. . PostgreSQL 9.1 is obsolete. This package is only provided for upgrades from 9.1 from Debian 7.x ("Wheezy") and should not be installed otherwise. debian/changelog0000664000000000000000000016426112755072421011061 0ustar postgresql-9.1 (9.1.23-0ubuntu0.14.04) trusty-security; urgency=medium * New upstream bug fix release (LP: #1614113). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Wed, 17 Aug 2016 16:30:41 +0200 postgresql-9.1 (9.1.22-0ubuntu0.14.04) trusty-proposed; urgency=medium * New upstream bug fix release (LP: #1581016). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Thu, 12 May 2016 16:07:46 +0200 postgresql-9.1 (9.1.21-0ubuntu0.14.04) trusty-proposed; urgency=medium * New upstream bug fix release (LP: #1564268) - In PL/Perl, properly translate empty Postgres arrays into empty Perl arrays. -- Martin Pitt Thu, 31 Mar 2016 11:06:25 +0200 postgresql-9.1 (9.1.20-0ubuntu0.14.04) trusty-security; urgency=medium * New upstream release (LP: #1544576). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Thu, 11 Feb 2016 15:56:18 +0100 postgresql-9.1 (9.1.19-0ubuntu0.14.04) trusty-security; urgency=medium * New upstream bug fix release (LP: #1504132). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Thu, 08 Oct 2015 15:52:45 +0200 postgresql-9.1 (9.1.18-0ubuntu0.14.04) trusty-proposed; urgency=medium * New upstream bug fix release (LP: #1464669). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Fri, 12 Jun 2015 16:11:09 +0200 postgresql-9.1 (9.1.17-0ubuntu0.14.04) trusty-proposed; urgency=medium * New upstream bug fix release (LP: #1461425). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Wed, 03 Jun 2015 09:56:12 +0200 postgresql-9.1 (9.1.16-0ubuntu0.14.04) trusty-security; urgency=medium * New upstream security/bug fix release (LP: #1457093) - Improve detection of system-call failures Our replacement implementation of snprintf() failed to check for errors reported by the underlying system library calls; the main case that might be missed is out-of-memory situations. In the worst case this might lead to information exposure, due to our code assuming that a buffer had been overwritten when it hadn't been. Also, there were a few places in which security-relevant calls of other system library functions did not check for failure. It remains possible that some calls of the *printf() family of functions are vulnerable to information disclosure if an out-of-memory error occurs at just the wrong time. We judge the risk to not be large, but will continue analysis in this area. (CVE-2015-3166) - Note: The other vulnerabilities fixed in 9.1.16 don't affect this version as we build the PL/Perl package only. -- Martin Pitt Wed, 20 May 2015 23:16:18 +0200 postgresql-9.1 (9.1.15-0ubuntu0.14.04) trusty-security; urgency=medium * New upstream bug fix release (LP: #1418928). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. -- Martin Pitt Fri, 06 Feb 2015 12:53:38 +0100 postgresql-9.1 (9.1.14-0ubuntu0.14.04) trusty-proposed; urgency=medium * New upstream bug fix release (LP: #1348176). No effective changes for PL/Perl, the version must just be higher than the one in precise, to not break upgrades. * Drop pg_regress patches to run tests with socket in /tmp, obsolete with upstream changes and not applicable any more. -- Martin Pitt Tue, 29 Jul 2014 14:58:28 +0200 postgresql-9.1 (9.1.13-1) unstable; urgency=medium * New upstream release: - Fix memory leak in PL/Perl when returning a composite result, including multiple-OUT-parameter cases. * Bump Standards-Version to 3.9.5. No changes necessary. -- Martin Pitt Tue, 18 Mar 2014 10:18:13 +0100 postgresql-9.1 (9.1.12-1) unstable; urgency=medium * New upstream release: No effective changes for PL/Perl, the version must just be higher than the one in wheezy. -- Martin Pitt Thu, 20 Feb 2014 08:02:45 -0800 postgresql-9.1 (9.1.11-2) unstable; urgency=low * Branch off "jessie" for the reduction to PL/Perl, keep "trunk" for the full builds on apt.postgresql.org. Update Vcs-*. * Drop all binary packages except for postgresql-plperl-9.1. Version 9.1 is obsolete and not supported in Jessie any more. However, postgresql-plperl-9.1 from Wheezy is not installable in Jessie any more due to the different Perl version, so we need a postgresql-plperl-9.1 built against libperl5.18 so that you can upgrade your existing 9.1 clusters to 9.3. Drop unnecessary build dependencies and disable the optional features to speed up the build. * Drop autopkgtest, we can't test this package standalone within wheezy. -- Martin Pitt Tue, 17 Dec 2013 11:19:04 +0100 postgresql-9.1 (9.1.11-1) unstable; urgency=low [ Martin Pitt ] * Stop building client-side libraries on Ubuntu, 14.04 moves to -9.3. [ Christoph Berg ] * New upstream security/bug fix release: + Fix "VACUUM"'s tests to see whether it can update relfrozenxid (Andres Freund) In some cases "VACUUM" (either manual or autovacuum) could incorrectly advance a table's relfrozenxid value, allowing tuples to escape freezing, causing those rows to become invisible once 2^31 transactions have elapsed. The probability of data loss is fairly low since multiple incorrect advancements would need to happen before actual loss occurs, but it's not zero. Users upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected, but all later versions contain the bug. The issue can be ameliorated by, after upgrading, vacuuming all tables in all databases while having vacuum_freeze_table_age set to zero. This will fix any latent corruption but will not be able to fix all pre-existing data errors. However, an installation can be presumed safe after performing this vacuuming if it has executed fewer than 2^31 update transactions in its lifetime (check this with SELECT txid_current() < 2^31). + Fix initialization of "pg_clog" and "pg_subtrans" during hot standby startup (Andres Freund, Heikki Linnakangas) This bug can cause data loss on standby servers at the moment they start to accept hot-standby queries, by marking committed transactions as uncommitted. The likelihood of such corruption is small unless, at the time of standby startup, the primary server has executed many updating transactions since its last checkpoint. Symptoms include missing rows, rows that should have been deleted being still visible, and obsolete versions of updated rows being still visible alongside their newer versions. This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14. Standby servers that have only been running earlier releases are not at risk. It's recommended that standby servers that have ever run any of the buggy releases be re-cloned from the primary (e.g., with a new base backup) after upgrading. -- Christoph Berg Tue, 03 Dec 2013 09:12:50 +0100 postgresql-9.1 (9.1.10-1) unstable; urgency=low * New upstream bug fix release. See changelog.gz for details. * Drop 00git-perl5.18.patch, applied upstream. * Add 04-config-update.patch: Refresh config.{guess,sub} to latest version for enabling ports, in particular arm64 and the upcoming ppc64el. -- Martin Pitt Wed, 09 Oct 2013 10:00:31 +0200 postgresql-9.1 (9.1.9-5) unstable; urgency=low [ Christoph Berg ] * Pull 82b0102650cf85268145a46f0ab488bacf6599a1 from upstream head to better support VPATH builds of PGXS modules, and make the install targets depend on installdirs. [ Martin Pitt ] * debian/rules: Still build the client-side libraries on Ubuntu. -- Christoph Berg Tue, 10 Sep 2013 12:24:21 -0400 postgresql-9.1 (9.1.9-4) unstable; urgency=low * debian/rules: Ignore test suite failures on hurd (unimplemented semaphores) and kfreebsd-* (PL tests known to fail). -- Martin Pitt Wed, 28 Aug 2013 10:28:01 +0200 postgresql-9.1 (9.1.9-3) unstable; urgency=low [ Martin Pitt ] * debian/rules: Support multi-arch locations of {tcl,tk}-config. * debian/rules: Don't build with kerberos and LDAP support for DEB_STAGE=stage1 to aid with bootstrapping. * debian/tests/control: Add missing net-tools dependency (for ifconfig). * Add 00git-aarch64.patch: Add ARM64 (aarch64) support to s_lock.h. Backported from upstream git. * debian/rules: Call dh with --parallel. * Add 00git-perl5.18.patch: Adjust PL/Perl test cases to also work for Perl 5.18. Backported from upstream 9.1 stable branch. * debian/rules: Don't build client-side libraries unless we have a pgdg version, as these are built by -9.3 now. [ Christoph Berg ] * Pull 6697aa2bc25c83b88d6165340348a31328c35de6 from upstream head to better support VPATH builds of PGXS modules. * debian/rules, 60-pg_regress_socketdir: Remove the temporary patches from pg_regress, and teach pg_regress to support unix socket dirs in --host. Use a random port number as well. * debian/rules: Use "make check-world" to run the regression tests. Thanks to Peter Eisentraut for the suggestion. * 61-extra_regress_opts: Add EXTRA_REGRESS_OPTS in Makefile.global(.in) and in src/interfaces/ecpg/test/Makefile. -- Martin Pitt Tue, 27 Aug 2013 18:08:50 +0200 postgresql-9.1 (9.1.9-2) unstable; urgency=low * debian/copyright: Fix syntax errors. * debian/rules: Build with -fno-aggressive-loop-optimizations with gcc 4.8 to avoid generating bad code due to the broken usage of variable-length arrays. This is fixed properly in 9.2, but the patch does not backport well. (Closes: #701340) -- Martin Pitt Wed, 19 Jun 2013 08:12:14 +0200 postgresql-9.1 (9.1.9-1) unstable; urgency=high * Urgency high because of critical remote data destruction vulnerability. * New upstream security/bug fix release: - Fix insecure parsing of server command-line switches. A connection request containing a database name that begins with "-" could be crafted to damage or destroy files within the server's data directory, even if the request is eventually rejected. [CVE-2013-1899] (Closes: #704479) - Reset OpenSSL randomness state in each postmaster child process. This avoids a scenario wherein random numbers generated by "contrib/pgcrypto" functions might be relatively easy for another database user to guess. The risk is only significant when the postmaster is configured with ssl = on but most connections don't use SSL encryption. [CVE-2013-1900] - Make REPLICATION privilege checks test current user not authenticated user. An unprivileged database user could exploit this mistake to call pg_start_backup() or pg_stop_backup(), thus possibly interfering with creation of routine backups. [CVE-2013-1901] - Fix GiST indexes to not use "fuzzy" geometric comparisons when it's not appropriate to do so. The core geometric types perform comparisons using "fuzzy" equality, but gist_box_same must do exact comparisons, else GiST indexes using it might become inconsistent. After installing this update, users should "REINDEX" any GiST indexes on box, polygon, circle, or point columns, since all of these use gist_box_same. - Fix erroneous range-union and penalty logic in GiST indexes that use "contrib/btree_gist" for variable-width data types, that is text, bytea, bit, and numeric columns. These errors could result in inconsistent indexes in which some keys that are present would not be found by searches, and also in useless index bloat. Users are advised to "REINDEX" such indexes after installing this update. - Fix bugs in GiST page splitting code for multi-column indexes. These errors could result in inconsistent indexes in which some keys that are present would not be found by searches, and also in indexes that are unnecessarily inefficient to search. Users are advised to "REINDEX" multi-column GiST indexes after installing this update. - See HISTORY/changelog.gz for details about the other bug fixes. * Bump Standards-Version to 3.9.4 (no changes necessary). -- Martin Pitt Tue, 02 Apr 2013 10:26:14 +0200 postgresql-9.1 (9.1.8-1) unstable; urgency=medium [ Martin Pitt ] * Add autopkgtest, moved from postgresql-common. * debian/rules: Only build the error codes and the plpython subtree for the "python3" flavor, to cut down build time. * Add missing docbook build dependency. (Closes: #697618) [ Christoph Berg ] * New upstream version. + Prevent execution of enum_recv from SQL The function was misdeclared, allowing a simple SQL command to crash the server. In principle an attacker might be able to use it to examine the contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. (CVE-2013-0255) -- Christoph Berg Tue, 05 Feb 2013 14:15:33 +0100 postgresql-9.1 (9.1.7-1) unstable; urgency=low * New upstream bug fix release. See HISTORY/changelog.gz for details. * Add 03-python-includedirs.patch: Detect both python3.3 include locations. Thanks Dmitrijs Ledkovs! -- Martin Pitt Mon, 03 Dec 2012 22:32:35 +0000 postgresql-9.1 (9.1.6-1) unstable; urgency=medium * Urgency medium because of data loss bug fix. * New upstream bug fix release: - Fix persistence marking of shared buffers during WAL replay. This mistake can result in buffers not being written out during checkpoints, resulting in data corruption if the server later crashes without ever having written those buffers. Corruption can occur on any server following crash recovery, but it is significantly more likely to occur on standby slave servers since those perform much more WAL replay. There is a low probability of corruption of btree and GIN indexes. There is a much higher probability of corruption of table "visibility maps". Fortunately, visibility maps are non-critical data in 9.1, so the worst consequence of such corruption in 9.1 installations is transient inefficiency of vacuuming. Table data proper cannot be corrupted by this bug. While no index corruption due to this bug is known to have occurred in the field, as a precautionary measure it is recommended that production installations "REINDEX" all btree and GIN indexes at a convenient time after upgrading to 9.1.6. Also, if you intend to do an in-place upgrade to 9.2.X, before doing so it is recommended to perform a "VACUUM" of all tables while having vacuum_freeze_table_age set to zero. This will ensure that any lingering wrong data in the visibility maps is corrected before 9.2.X can depend on it. vacuum_cost_delay can be adjusted to reduce the performance impact of vacuuming, while causing it to take longer to finish. - See HISTORY/changelog.gz for the other bug fixes. * debian/rules: Compress all binaries with xz. Thanks Cyril Brulebois! (Closes: #688678) -- Martin Pitt Tue, 25 Sep 2012 05:40:23 +0200 postgresql-9.1 (9.1.5-2) unstable; urgency=low * debian/rules: Re-enable hardening functions (regression from 9.1.3-2 when hardening-wrapper is not installed). Use "hardening=all", but disable "pie" (as that's not compatible with -fPIC) and add -pie to CFLAGS explicitly. Also drop the explicit "-Wl,-z,now" linker option, as this is now implied with "all". (LP: #1039618) * Fix upgrades from older 9.1 releases in stable Ubuntu -updates/-security releasese. The strict "<< 9.1.4-2~" check for moving pg_basebackup.1.gz is not sufficient, as Ubuntu stables have newer upstream releases by now. - debian/control: Move Breaks/Replaces: from static version to ${binary:Version}. - debian/postgresql-9.1.preinst: Also fix the alternatives when upgrading from a -0something version. - (LP: #1043449) -- Martin Pitt Fri, 31 Aug 2012 09:54:27 +0200 postgresql-9.1 (9.1.5-1) unstable; urgency=medium * Urgency medium due to security fixes and bug fixes which should reach Wheezy quickly. * New upstream bug fix/security release: - Prevent access to external files/URLs via XML entity references. xml_parse() would attempt to fetch external files or URLs as needed to resolve DTD and entity references in an XML value, thus allowing unprivileged database users to attempt to fetch data with the privileges of the database server. While the external data wouldn't get returned directly to the user, portions of it could be exposed in error messages if the data didn't parse as valid XML; and in any case the mere ability to check existence of a file might be useful to an attacker. (CVE-2012-3489) - Prevent access to external files/URLs via "contrib/xml2"'s xslt_process(). libxslt offers the ability to read and write both files and URLs through stylesheet commands, thus allowing unprivileged database users to both read and write data with the privileges of the database server. Disable that through proper use of libxslt's security options. (CVE-2012-3488) Also, remove xslt_process()'s ability to fetch documents and stylesheets from external files/URLs. While this was a documented "feature", it was long regarded as a bad idea. The fix for CVE-2012-3489 broke that capability, and rather than expend effort on trying to fix it, we're just going to summarily remove it. - Lots of other bug fixes, see HISTORY/changelog.gz. -- Martin Pitt Fri, 17 Aug 2012 14:41:52 +0200 postgresql-9.1 (9.1.4-3) unstable; urgency=medium Urgency medium: Trivial changes, and fixes RC bug. [ Christoph Berg ] * debian/source/options: Ignore test suite .sql files, to fix building twice in a row; ignore .bzr-builddeb/default.conf so bzr checkouts can be built using dpkg-buildpackage. [ Martin Pitt ] * debian/postgresql-9.1.postrm: Do not remove the directories /var/{lib,log}/postgresql/, they are owned by the postgresql-common package. (Closes: #681966) -- Martin Pitt Sat, 21 Jul 2012 16:53:55 +0200 postgresql-9.1 (9.1.4-2) unstable; urgency=low [ Christoph Berg ] * Some cosmetic changes to control and rules file. * Add myself to Uploaders. [ Martin Pitt ] * Move pg_basebackup *.mo files and man page to -client-9.2. Thanks to Peter Eisentraut for spotting this. (Closes: #674421) * debian/postgresql-9.1.preinst: Remove postmaster.1.gz alternative on upgrades to this version, so that the postinst can rebuild it. This is necessary to drop pg_basebackup.1.gz from the server alternatives group, so that it can go into the client group. * debian/postgresql-9.1.preinst: Drop obsolete transition code. * debian/rules: Set -DLINUX_OOM_ADJ in CPPFLAGS, not in CFLAGS. Thanks Peter Eisentraut. (Closes: #668300) -- Martin Pitt Fri, 22 Jun 2012 10:35:38 +0200 postgresql-9.1 (9.1.4-1) unstable; urgency=medium * Urgency medium due to security fixes. * New upstream bug fix/security 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) - Make "contrib/citext"'s upgrade script fix collations of citext arrays and domains over citext. Release 9.1.2 provided a fix for collations of citext columns and indexes in databases upgraded or reloaded from pre-9.1 installations, but that fix was incomplete: it neglected to handle arrays and domains over citext. This release extends the module's upgrade script to handle these cases. As before, if you have already run the upgrade script, you'll need to run the collation update commands by hand instead. See the 9.1.2 release notes for more information about doing this. - 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(). - Ensure txid_current() reports the correct epoch when executed in hot standby. - 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 planning of UNION ALL subqueries with output columns that are not simple variables. Planning of such cases got noticeably worse in 9.1 as a result of a misguided fix for "MergeAppend child's targetlist doesn't match MergeAppend" errors. Revert that fix and do it another way. - 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. - Fix "EXPLAIN VERBOSE" for writable CTEs containing RETURNING clauses. - Fix "PREPARE TRANSACTION" to work correctly in the presence of advisory locks. Historically, "PREPARE TRANSACTION" has simply ignored any session-level advisory locks the session holds, but this case was accidentally broken in 9.1. - Fix truncation of unlogged tables. - Ignore missing schemas during non-interactive assignments of search_path. This re-aligns 9.1's behavior with that of older branches. Previously 9.1 would throw an error for nonexistent schemas mentioned in search_path settings obtained from places such as "ALTER DATABASE SET". - Fix bugs with temporary or transient tables used in extension scripts. This includes cases such as a rewriting "ALTER TABLE" within an extension update script, since that uses a transient table behind the scenes. - 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 "too many LWLocks taken" failure in GiST indexes. - Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped. - Correctly detect SSI conflicts of prepared transactions after a crash. - Avoid synchronous replication delay when committing a transaction that only modified temporary tables. In such a case the transaction's commit record need not be flushed to standby servers, but some of the code didn't know that and waited for it to happen anyway. - Fix error handling in pg_basebackup. - Fix walsender to not go into a busy loop if connection is terminated. - 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. - Ensure that PL/Perl package-qualifies the _TD variable. This bug caused trigger invocations to fail when they are nested within a function invocation that changes the current package. - Fix PL/Python functions returning composite types to accept a string for their result value. This case was accidentally broken by the 9.1 additions to allow a composite result value to be supplied in other formats, such as dictionaries. - 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 memory and file descriptor leaks in pg_restore when reading a directory-format archive. - Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace. - In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure. - 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. - Fix "contrib/vacuumlo" to use multiple transactions when dropping many large objects. This change avoids exceeding max_locks_per_transaction when many objects need to be dropped. The behavior can be adjusted with the new -l (limit) option. * debian/control: Bump debhelper build dependency to >= 8, as it does not build with earlier versions. * 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 06:47:45 +0200 postgresql-9.1 (9.1.3-2) unstable; urgency=low * debian/control, debian/rules: Support and prefer dpkg-buildflags when building with dpkg-dev >= 1.16.1~. Fall back to hardening-wrapper otherwise, to keep supporting backports. * debian/rules: Build with "-z now" for some extra hardening. We can't use the full "hardening=+all", as PIE causes build failures. * debian/copyright: Fix syntax for copyright format 1.0. * debian/control: Bump Breaks/Replaces versions to current binary version, so that e. g. the moved pg_basebackup does not cause upgrade errors when upgrading from higher point releases in previous distro releases. (LP: #944632) -- Martin Pitt Tue, 06 Mar 2012 11:55:57 +0100 postgresql-9.1 (9.1.3-1) unstable; urgency=medium * Urgency medium due to security fixes. * New upstream security/bug fix 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. - Fix transient zeroing of shared buffers during WAL replay. The replay logic would sometimes zero and refill a shared buffer, so that the contents were transiently invalid. In hot standby mode this can result in a query that's executing in parallel seeing garbage data. Various symptoms could result from that, but the most common one seems to be "invalid memory alloc request size". - Fix handling of data-modifying WITH subplans in READ COMMITTED rechecking. A WITH clause containing "INSERT"/"UPDATE"/"DELETE" would crash if the parent "UPDATE" or "DELETE" command needed to be re-evaluated at one or more rows due to concurrent updates in READ COMMITTED mode. - Fix corner case in SSI transaction cleanup. When finishing up a read-write serializable transaction, a crash could occur if all remaining active serializable transactions are read-only. - Fix postmaster to attempt restart after a hot-standby crash. A logic error caused the postmaster to terminate, rather than attempt to restart the cluster, if any backend process crashed while operating in hot standby mode. - Fix "CLUSTER"/"VACUUM FULL" handling of toast values owned by recently-updated rows. This oversight could lead to "duplicate key value violates unique constraint" errors being reported against the toast table's index during one of these commands. - 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. - Support foreign data wrappers and foreign servers in "REASSIGN OWNED". This command failed with "unexpected classid" errors if it needed to change the ownership of any such objects. - 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. - Fix "unsupported node type" error caused by COLLATE in an "INSERT" expression. - 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. - Recover from errors occurring during WAL replay of "DROP TABLESPACE". Replay will attempt to remove the tablespace's directories, but there are various reasons why this might fail (for example, incorrect ownership or permissions on those directories). Formerly the replay code would panic, rendering the database unrestartable without manual intervention. It seems better to log the problem and continue, since the only consequence of failure to remove the directories is some wasted disk space. - Fix race condition in logging AccessExclusiveLocks for hot standby. Sometimes a lock would be logged as being held by "transaction zero". This is at least known to produce assertion failures on slave servers, and might be the cause of more serious problems. - Track the OID counter correctly during WAL replay, even when it wraps around. - Prevent emitting misleading "consistent recovery state reached" log message at the beginning of crash recovery. - Fix initial value of pg_stat_replication.replay_location. - 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 planner's ability to push down index-expression restrictions through UNION ALL. - Fix planning of WITH clauses referenced in "UPDATE"/"DELETE" on an inherited table. This bug led to "could not find plan for CTE" failures. - Fix GIN cost estimation to handle column IN (...) index conditions. This oversight would usually lead to crashes if such a condition could be used with a GIN index. - 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. - Work around bug in perl's SvPVutf8() function. This function crashes when handed a typeglob or certain read-only objects such as $^V. Make plperl avoid passing those to it. - In pg_dump, don't dump contents of an extension's configuration tables if the extension itself is not being dumped. - 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. - Teach pg_upgrade to handle renaming of plpython's shared library. Upgrading a pre-9.1 database that included plpython would fail because of this oversight. - Allow pg_upgrade to process tables containing regclass columns. Since pg_upgrade now takes care to preserve pg_class OIDs, there was no longer any reason for this restriction. - Make libpq ignore ENOTDIR errors when looking for an SSL client certificate file. This allows SSL connections to be established, though without a certificate, even when the user's home directory is set to something like /dev/null. - Fix some more field alignment issues in ecpg's SQLDA area. - 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. - Do not use the variable name when defining a varchar structure in ecpg. - Fix "contrib/auto_explain"'s JSON output mode to produce valid JSON. - 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 (Chris Rees) Our configure script previously believed that this combination wouldn't work; but FreeBSD fixed the problem, so remove that error check. * Drop 00git_inet_cidr_unpack.patch, 01-armel-tas.patch: Applied upstream. * debian/watch: Use ftp for checking, thanks Peter Eisentraut. (Closes: #656129) * debian/control: Bump Standards-Version to 3.9.3. No changes necessary. -- Martin Pitt Mon, 27 Feb 2012 07:30:59 +0100 postgresql-9.1 (9.1.2-4) unstable; urgency=low * Add docbook-xsl, opensp and xsltproc build dependencies. -- Martin Pitt Wed, 04 Jan 2012 11:57:36 +0100 postgresql-9.1 (9.1.2-3) unstable; urgency=low * debian/*.symbols: Update symbol versions to accurate historic data. Many thanks to Christoph Berg for these! (Closes: #652931) * Add 00git_inet_cidr_unpack.patch: Revert the behavior of inet/cidr functions to not unpack the arguments. This fixes the memory leak when sorting inet values. Patch taken from upstream git HEAD. * debian/control: Add missing docbook-dsssl build dependency to fix generation of documentation. (Closes: #654330) * debian/control: Use openjade instead of the ancient jade for building the documentation. -- Martin Pitt Tue, 03 Jan 2012 16:48:21 +0100 postgresql-9.1 (9.1.2-2) unstable; urgency=low * 01-armel-tas.patch: Turn slock_t datatype into an int, and define S_UNLOCK() to call __sync_lock_release() instead of using the default implementation. This complies to the gcc built-in atomic operations specifiction more strictly and now also works on the Panda boards. (LP: #904828) * Replace 01-armel-tas.patch with 01-atomic-builtins.patch to use gcc/intel atomic builtins if available. Drop the arm implementation as it does not work on newer thumb2/panda board. * Move PL/Python translations from -plpython-9.1 package to main postgresql-9.1 package, as they are also used by the -plpython3 extension. (Closes: #651837) * Move pg_basebackup from the server to the client package, it's a client-side program. * debian/control: Re-add bison and flex build dependencies, so that the generated and shipped Makefile.global gets non-empty BISON and FLEX values. (Closes: #647135) -- Martin Pitt Wed, 21 Dec 2011 12:07:54 +0100 postgresql-9.1 (9.1.2-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. - Make "contrib/citext"'s upgrade script fix collations of citext columns and indexes. Existing citext columns and indexes aren't correctly marked as being of a collatable data type during pg_upgrade from a pre-9.1 server. That leads to operations on them failing with errors such as "could not determine which collation to use for string comparison". This change allows them to be fixed by the same script that upgrades the citext module into a proper 9.1 extension during CREATE EXTENSION citext FROM unpackaged. If you have a previously-upgraded database that is suffering from this problem, and you already ran the "CREATE EXTENSION" command, you can manually run (as superuser) the "UPDATE" commands found at the end of "SHAREDIR/extension/citext--unpackaged--1.0.sql". (Run pg_config --sharedir if you're uncertain where "SHAREDIR" is.) - Fix possible crash during "UPDATE" or "DELETE" that joins to the output of a scalar-returning function. - Fix incorrect replay of WAL records for GIN index updates. - Fix TOAST-related data corruption during CREATE TABLE dest AS SELECT - FROM src or INSERT INTO dest SELECT * FROM src. - Fix possible failures during hot standby startup. - Start hot standby faster when initial snapshot is incomplete. - Fix race condition during toast table access from stale syscache entries. The typical symptom was transient errors like "missing chunk number 0 for toast value NNNNN in pg_toast_2619", where the cited toast table would always belong to a system catalog. - 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. - Fix incorrect management of placeholder variables in nestloop joins. This bug is known to lead to "variable not found in subplan target list" planner errors, and could possibly result in wrong query output when outer joins are involved. - Fix window functions that sort by expressions involving aggregates. - Fix "MergeAppend child's targetlist doesn't match MergeAppend" planner errors. - Fix index matching for operators with both collatable and noncollatable inputs. In 9.1.0, an indexable operator that has a non-collatable left-hand input type and a collatable right-hand input type would not be recognized as matching the left-hand column's index. An example is the hstore ? text operator. - Allow inlining of set-returning SQL functions with multiple OUT parameters. - Don't trust deferred-unique indexes for join removal. - 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. - Fix IF EXISTS to work correctly in "DROP OPERATOR FAMILY". - Disallow dropping of an extension from within its own script. - Don't mark auto-generated types as extension members. - Cope with invalid pre-existing search_path settings during "CREATE EXTENSION". - Avoid floating-point underflow while tracking buffer allocation rate. - Prevent autovacuum transactions from running in serializable mode. Autovacuum formerly used the cluster-wide default transaction isolation level, but there is no need for it to use anything higher than READ COMMITTED, and using SERIALIZABLE could result in unnecessary delays for other processes. - Ensure walsender processes respond promptly to SIGTERM. - Exclude "postmaster.opts" from base backups. - Fix incorrect field alignment in ecpg's SQLDA area. - 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. - Avoid platform-specific infinite loop in pg_dump. - Fix compression of plain-text output format in pg_dump. pg_dump has historically understood -Z with no -F switch to mean that it should emit a gzip-compressed version of its plain text output. Restore that behavior. - Fix pg_dump to dump user-defined casts between auto-generated types, such as table rowtypes. - Fix missed quoting of foreign server names in pg_dump. - Assorted fixes for pg_upgrade. Handle exclusion constraints correctly, avoid failures on Windows, don't complain about mismatched toast table names in 8.4 databases. - In PL/pgSQL, allow foreign tables to define row types. - Fix up conversions of PL/Perl functions' results. Restore the pre-9.1 behavior that PL/Perl functions returning void ignore the result value of their last Perl statement; 9.1.0 would throw an error if that statement returned a reference. Also, make sure it works to return a string value for a composite type, so long as the string meets the type's input format. In addition, throw errors for attempts to return Perl arrays or hashes when the function's declared result type is not an array or composite type, respectively. (Pre-9.1 versions rather uselessly returned strings like ARRAY(0x221a9a0) or HASH(0x221aa90) in such cases.) - Ensure PL/Perl strings are always correctly UTF8-encoded. - Use the preferred version of xsubpp to build PL/Perl, not necessarily the operating system's main copy. - Correctly propagate SQLSTATE in PL/Python exceptions. - Do not install PL/Python extension files for Python major versions other than the one built against. - Change all the "contrib" extension script files to report a useful error message if they are fed to psql. This should help teach people about the new method of using "CREATE EXTENSION" to load these files. In most cases, sourcing the scripts directly would fail anyway, but with harder-to-interpret messages. - Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn". - Remove "contrib/sepgsql" tests from the regular regression test mechanism. Since these tests require root privileges for setup, they're impractical to run automatically. Switch over to a manual approach instead, and provide a testing script to help with that. - Fix assorted errors in "contrib/unaccent"'s configuration file parsing. - Honor query cancel interrupts promptly in pgstatindex(). - Revert unintentional enabling of WAL_DEBUG. Fortunately, as debugging tools go, this one is pretty cheap; but it's not intended to be enabled by default, so revert. - 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. * debian/rules: Fix build failure for binary-indep-only builds. (Closes: #646079) -- Martin Pitt Fri, 02 Dec 2011 14:39:18 +0100 postgresql-9.1 (9.1.1-3) unstable; urgency=low * debian/rules: Build with LINUX_OOM_ADJ=0 on Linux, to allow the OOM killer to slay the backends when the postmaster gets marked as unkillable. (LP: #854590) -- Martin Pitt Wed, 19 Oct 2011 09:43:13 +0200 postgresql-9.1 (9.1.1-2) unstable; urgency=low [ Peter Eisentraut ] * Fix FTBFS twice with dpkg-dev >= 1.16.1, because of leftover file src/backend/gettext-files. Clean that one explicitly. (Closes: #643645) * Fix lintian reports: (Closes: #643646) - brace-expansion-in-debhelper-config-file - maintainer-script-without-set-e [ Martin Pitt ] * debian/*.install, debian/rules: Compress manpages in debian/tmp instead of just two binary packages and forgetting the others. * Build a new postgresql-plpython3-9.1 package for Python 3 support. This requires some reorganization of debian/rules to do multiple builds. * debian/postgresql-9.1.postrm: Clean up /var/log/postgresql/ on purge. Spotted by piuparts. -- Martin Pitt Fri, 07 Oct 2011 18:52:55 +0200 postgresql-9.1 (9.1.1-1) unstable; urgency=low * New upstream bug fix release: - Make pg_options_to_table return NULL for an option with no value. Previously such cases would result in a server crash. - 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 explicit reference to pg_temp schema in "CREATE TEMPORARY TABLE". This used to be allowed, but failed in 9.1.0. -- Martin Pitt Mon, 26 Sep 2011 14:35:36 +0200 postgresql-9.1 (9.1.0-1) unstable; urgency=low * Final 9.1 release. * 02-relax-sslkey-permscheck.patch, 50-per-version-dirs.patch: Refresh to apply cleanly. * debian/control: Tighten the dependencies of the -pl* extensions/-contrib to postgresql-9.1 to the same binary version. (Closes: #640335) -- Martin Pitt Mon, 12 Sep 2011 16:02:28 +0200 postgresql-9.1 (9.1~rc1-3) unstable; urgency=low * debian/watch: Fix for mangling ~rc, thanks Peter Eisentraut. (Closes: #639357) * debian/control: Add versionless Provides: to the PL* extensions, as per request from Christoph Berg. * debian/control: Add "Replaces: postgresql-9.0-dbg" to fix file conflict. (Closes: #639258) * debian/control: Drop the versionless metapackages, they are built from postgresql-common now. This behaves better with backports. Thanks to Christoph Berg for the suggestion. -- Martin Pitt Sat, 27 Aug 2011 13:42:40 +0200 postgresql-9.1 (9.1~rc1-2) unstable; urgency=low * debian/control: Build the versionless metapackages again, and point them to 9.1. -- Martin Pitt Thu, 25 Aug 2011 12:50:45 +0200 postgresql-9.1 (9.1~rc1-1) unstable; urgency=low * New upstream release. * Upload to unstable now that the final 9.1 release will come soon. 9.1 will most probably be the version supported in the Wheezy release. * 54-debian-alternatives-for-external-tools.patch: Unfuzz for new release. * debian/control: Suggest locales-all. (Closes: #629875) * debian/control: Wrap dependencies. * debian/control: Add explicit jade build dependency. (see #621492 for the corresponding 9.0 bug report) -- Martin Pitt Sun, 21 Aug 2011 20:59:58 +0200 postgresql-9.1 (9.1~beta3-1) experimental; urgency=low * New upstream beta release. - Works around gcc 4.6.0 bug. (Closes: #633086) Note that this does not change the data format since Beta 2, so no need to dump/reload clusters. -- Martin Pitt Thu, 14 Jul 2011 18:39:43 +0200 postgresql-9.1 (9.1~beta2-1) experimental; urgency=low * New upstream beta release. * Drop 03-cmsgcred-size.patch, fixed upstream. * debian/postgresql-9.1.install: Install new pg_basebackup translations. * debian/control: Fix the server-dev dependency to p-common to also work for backports. * debian/watch: Fix for beta versions. * debian/copyright: Add pointers to GPL and Artistic licenses for the Perl terms. * debian/postgresql-9.1.preinst: Fail the package upgrade early when upgrading from beta-1, as the DB format changed. -- Martin Pitt Tue, 14 Jun 2011 09:53:29 +0200 postgresql-9.1 (9.1~beta1-4) experimental; urgency=low * debian/control: Add postgresql-common dependency to -server-dev, so that we get the pg_config diversion. * 52-tutorial-README.patch: Fix server-dev version in comment. * 51-default-sockets-in-var.patch: Move the pg_regress patching parts to debian/pg_regress-in-tmp.patch and temporarily apply it only for running the local checks. In the installed system it seems we actually do want it to use the /var/run/postgresql socket dir. (Closes: #554166) -- Martin Pitt Sun, 29 May 2011 19:34:38 +0200 postgresql-9.1 (9.1~beta1-3) experimental; urgency=low * Move /usr/share/postgresql/9.1/extension/pl* from -contrib into the actual -pl* packages, and ship PL/pgsql in postgresql-9.1. * debian/copyright: Convert to DEP-5. * debian/copyright: Add current copyrights, thanks to Ansgar Burchardt for noticing. * Add 03-cmsgcred-size.patch: Fix size of struct cmsgcred to fix ident authentication on kFreeBSD 64 bit. Thanks to Petr Salinger for the patch! (Closes: #627597) -- Martin Pitt Sun, 22 May 2011 20:44:36 +0200 postgresql-9.1 (9.1~beta1-2) experimental; urgency=low * debian/control: Add missing ${misc:Depends} to -dbg. * Bump Standards-Version to 3.9.2 (no changes necessary). * debian/rules: Fix FTBFS with only-binary (-B) builds. -- Martin Pitt Wed, 11 May 2011 10:41:53 +0200 postgresql-9.1 (9.1~beta1-1) experimental; urgency=low * First 9.1 beta release. Packaging based on 9.1 branch. * debian/control: Do not build the versionless metapackages for now, as long as 9.0 is still the default. -- Martin Pitt Wed, 11 May 2011 09:18:56 +0200 debian/source/0000775000000000000000000000000012312007546010470 5ustar debian/source/format0000664000000000000000000000001412312007546011676 0ustar 3.0 (quilt) debian/source/options0000664000000000000000000000014412312007546012105 0ustar extend-diff-ignore = src/test/regress/sql/.+\.sql extend-diff-ignore = \.bzr-builddeb/default\.conf debian/compat0000664000000000000000000000000212312007546010366 0ustar 7 debian/patches/0000775000000000000000000000000012365717560010633 5ustar debian/patches/52-tutorial-README.patch0000664000000000000000000000152012312007546014660 0ustar Author: Martin Pitt Description: Update tutorial README for required build dependencies. Forwarded: No, Debian specific Index: postgresql-9.0-9.0~beta1/src/tutorial/README =================================================================== --- postgresql-9.0-9.0~beta1.orig/src/tutorial/README 2008-03-21 14:23:29.000000000 +0100 +++ postgresql-9.0-9.0~beta1/src/tutorial/README 2010-05-01 15:01:42.747229787 +0200 @@ -6,8 +6,7 @@ This directory contains SQL tutorial scripts. To look at them, first do a % make to compile all the scripts and C files for the user-defined functions -and types. (make needs to be GNU make --- it may be named something -different on your system, often gmake) +and types. This requires postgresql-server-dev-9.1 to be installed. Then, run psql with the -s (single-step) flag: % psql -s debian/patches/series0000664000000000000000000000050712365717552012053 0ustar 00git-aarch64.patch 00git-vpath.patch 00git-vpath2.patch 01-vpath3.patch 02-relax-sslkey-permscheck.patch 03-python-includedirs.patch 04-config-update.patch 50-per-version-dirs.patch 51-default-sockets-in-var.patch 52-tutorial-README.patch 53-pg_service.conf_directory_doc.patch 54-debian-alternatives-for-external-tools.patch debian/patches/02-relax-sslkey-permscheck.patch0000664000000000000000000000263412312007546016631 0ustar Description: Relax security check on private SSL key file: The file is also considered safe if it has owner and/or group "root", and if it is group-readable (unless the group is something other than root or the database owner group). Author: Martin Pitt Forwarded: Yes, but rejected upstream Bug-Debian: http://bugs.debian.org/327901 Index: postgresql-9.1-9.1.0/src/backend/libpq/be-secure.c =================================================================== --- postgresql-9.1-9.1.0.orig/src/backend/libpq/be-secure.c 2011-09-09 07:21:46.091745835 +0200 +++ postgresql-9.1-9.1.0/src/backend/libpq/be-secure.c 2011-09-09 07:21:48.061745850 +0200 @@ -767,12 +767,15 @@ * directory permission check in postmaster.c) */ #if !defined(WIN32) && !defined(__CYGWIN__) - if (!S_ISREG(buf.st_mode) || buf.st_mode & (S_IRWXG | S_IRWXO)) + if (!S_ISREG(buf.st_mode) || (buf.st_mode & (S_IWGRP | S_IRWXO)) || + ((buf.st_uid != geteuid()) && buf.st_uid != 0)) ereport(FATAL, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("private key file \"%s\" has group or world access", SERVER_PRIVATE_KEY_FILE), - errdetail("Permissions should be u=rw (0600) or less."))); + errdetail("File must be owned by the \ +database user or root, must have no write permission for \"group\", and must \ +have no permissions for \"other\"."))); #endif if (SSL_CTX_use_PrivateKey_file(SSL_context, debian/patches/03-python-includedirs.patch0000664000000000000000000000406212312007546015706 0ustar Description: detect both python3.3 includes locations Author: Dmitrijs Ledkovs Forwarded: yes Last-Update: 2012-10-25 Index: postgresql-9.1-9.1.6/config/python.m4 =================================================================== --- postgresql-9.1-9.1.6.orig/config/python.m4 2012-09-19 22:50:31.000000000 +0100 +++ postgresql-9.1-9.1.6/config/python.m4 2012-10-25 11:08:37.000000000 +0100 @@ -34,6 +34,11 @@ python_version=`${PYTHON} -c "import sys; print(sys.version[[:3]])"` python_configdir=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"` python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"` +python_platincludespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc(plat_specific=True))"` +if test x"$python_includespec" != x"$python_platincludespec" +then + python_includespec="$python_includespec $python_platincludespec" +fi AC_SUBST(python_majorversion)[]dnl AC_SUBST(python_version)[]dnl Index: postgresql-9.1-9.1.6/configure =================================================================== --- postgresql-9.1-9.1.6.orig/configure 2012-09-19 22:50:31.000000000 +0100 +++ postgresql-9.1-9.1.6/configure 2012-10-25 11:09:45.587362563 +0100 @@ -7305,6 +7305,11 @@ python_version=`${PYTHON} -c "import sys; print(sys.version[:3])"` python_configdir=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"` python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"` +python_platincludespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc(plat_specific=True))"` +if test x"$python_includespec" != x"$python_platincludespec" +then + python_includespec="$python_includespec $python_platincludespec" +fi # This should be enough of a message. { $as_echo "$as_me:$LINENO: result: $python_configdir" >&5 debian/patches/00git-vpath.patch0000664000000000000000000000746412312007546013716 0ustar commit 6697aa2bc25c83b88d6165340348a31328c35de6 Author: Andrew Dunstan Date: Mon Jul 1 12:53:05 2013 -0400 Improve support for building PGXS modules with VPATH. A VPATH build will be performed when the module's make file path is not the current directory or when USE_VPATH is set. This will assist packagers and others who prefer to build without polluting the source directories. There is still a bit of work to do here, notably documentation, but it's probably a good idea to commit what we have so far and let people test it out on their modules. Cédric Villemain, with an addition from me. --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -416,11 +416,22 @@ endif +# If PGXS is not defined, build libpq and libpgport dependancies as required. +# If the build is with PGXS, then these are supposed to be already built and +# installed, and we just ensure that the expected files exist. +ifndef PGXS submake-libpq: $(MAKE) -C $(libpq_builddir) all +else +submake-libpq: $(libdir)/libpq.so ; +endif +ifndef PGXS submake-libpgport: $(MAKE) -C $(top_builddir)/src/port all +else +submake-libpgport: $(libdir)/libpgport.a $(libdir)/libpgcommon.a ; +endif .PHONY: submake-libpq submake-libpgport --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -62,8 +62,20 @@ include $(top_builddir)/src/Makefile.global top_srcdir = $(top_builddir) +# If USE_VPATH is set or Makefile is not in current directory we are building +# the extension with VPATH so we set the variable here +ifdef USE_VPATH +srcdir = $(USE_VPATH) +VPATH = $(USE_VPATH) +else +ifeq ($(CURDIR),$(dir $(firstword $(MAKEFILE_LIST)))) srcdir = . VPATH = +else +srcdir = $(dir $(firstword $(MAKEFILE_LIST))) +VPATH = $(srcdir) +endif +endif endif @@ -102,33 +114,40 @@ endif # MODULE_big -install: all installdirs -ifneq (,$(EXTENSION)) - $(INSTALL_DATA) $(addprefix $(srcdir)/, $(addsuffix .control, $(EXTENSION))) '$(DESTDIR)$(datadir)/extension/' -endif # EXTENSION -ifneq (,$(DATA)$(DATA_built)) - $(INSTALL_DATA) $(addprefix $(srcdir)/, $(DATA)) $(DATA_built) '$(DESTDIR)$(datadir)/$(datamoduledir)/' -endif # DATA -ifneq (,$(DATA_TSEARCH)) - $(INSTALL_DATA) $(addprefix $(srcdir)/, $(DATA_TSEARCH)) '$(DESTDIR)$(datadir)/tsearch_data/' -endif # DATA_TSEARCH +install: all installdirs installcontrol installdata installdatatsearch installdocs installscripts ifdef MODULES $(INSTALL_SHLIB) $(addsuffix $(DLSUFFIX), $(MODULES)) '$(DESTDIR)$(pkglibdir)/' endif # MODULES +ifdef PROGRAM + $(INSTALL_PROGRAM) $(PROGRAM)$(X) '$(DESTDIR)$(bindir)' +endif # PROGRAM + +installcontrol: $(addsuffix .control, $(EXTENSION)) +ifneq (,$(EXTENSION)) + $(INSTALL_DATA) $< '$(DESTDIR)$(datadir)/extension/' +endif + +installdata: $(DATA) $(DATA_built) +ifneq (,$(DATA)$(DATA_built)) + $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/$(datamoduledir)/' +endif + +installdatatsearch: $(DATA_TSEARCH) +ifneq (,$(DATA_TSEARCH)) + $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/tsearch_data/' +endif + +installdocs: $(DOCS) ifdef DOCS ifdef docdir - $(INSTALL_DATA) $(addprefix $(srcdir)/, $(DOCS)) '$(DESTDIR)$(docdir)/$(docmoduledir)/' + $(INSTALL_DATA) $^ '$(DESTDIR)$(docdir)/$(docmoduledir)/' endif # docdir endif # DOCS -ifdef PROGRAM - $(INSTALL_PROGRAM) $(PROGRAM)$(X) '$(DESTDIR)$(bindir)' -endif # PROGRAM + +installscripts: $(SCRIPTS) $(SCRIPTS_built) ifdef SCRIPTS - $(INSTALL_SCRIPT) $(addprefix $(srcdir)/, $(SCRIPTS)) '$(DESTDIR)$(bindir)/' + $(INSTALL_SCRIPT) $^ '$(DESTDIR)$(bindir)/' endif # SCRIPTS -ifdef SCRIPTS_built - $(INSTALL_SCRIPT) $(SCRIPTS_built) '$(DESTDIR)$(bindir)/' -endif # SCRIPTS_built ifdef MODULE_big install: install-lib @@ -253,6 +272,7 @@ all: $(test_files_build) $(test_files_build): $(abs_builddir)/%: $(srcdir)/% + $(MKDIR_P) $(dir $@) ln -s $< $@ endif # VPATH debian/patches/00git-vpath2.patch0000664000000000000000000000132412312007546013765 0ustar commit 82b0102650cf85268145a46f0ab488bacf6599a1 Author: Andrew Dunstan Date: Wed Jul 3 19:03:31 2013 -0400 Install all a Makefile's extension controls, not just the first. Bug introduced by commit 6697aa2bc25c83b88d6165340348a31328c35de6 and reported by Robert Haas. diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index f4eaa74..8618aa1 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -134,7 +134,7 @@ endif # PROGRAM installcontrol: $(addsuffix .control, $(EXTENSION)) ifneq (,$(EXTENSION)) - $(INSTALL_DATA) $< '$(DESTDIR)$(datadir)/extension/' + $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/extension/' endif installdata: $(DATA) $(DATA_built) debian/patches/01-vpath3.patch0000664000000000000000000000221112312007546013257 0ustar Make the install targets depend on installdirs (not yet upstream, tbd) --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -132,29 +132,29 @@ $(INSTALL_PROGRAM) $(PROGRAM)$(X) '$(DESTDIR)$(bindir)' endif # PROGRAM -installcontrol: $(addsuffix .control, $(EXTENSION)) +installcontrol: $(addsuffix .control, $(EXTENSION)) | installdirs ifneq (,$(EXTENSION)) $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/extension/' endif -installdata: $(DATA) $(DATA_built) +installdata: $(DATA) $(DATA_built) | installdirs ifneq (,$(DATA)$(DATA_built)) $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/$(datamoduledir)/' endif -installdatatsearch: $(DATA_TSEARCH) +installdatatsearch: $(DATA_TSEARCH) | installdirs ifneq (,$(DATA_TSEARCH)) $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/tsearch_data/' endif -installdocs: $(DOCS) +installdocs: $(DOCS) | installdirs ifdef DOCS ifdef docdir $(INSTALL_DATA) $^ '$(DESTDIR)$(docdir)/$(docmoduledir)/' endif # docdir endif # DOCS -installscripts: $(SCRIPTS) $(SCRIPTS_built) +installscripts: $(SCRIPTS) $(SCRIPTS_built) | installdirs ifdef SCRIPTS $(INSTALL_SCRIPT) $^ '$(DESTDIR)$(bindir)/' endif # SCRIPTS debian/patches/50-per-version-dirs.patch0000664000000000000000000000435412312007546015300 0ustar Author: Martin Pitt Description: Use version specific installation directories so that several major versions can be installed in parallel. Forwarded: No, Debian specific packaging with postgresql-common * Install lib files into /usr/lib/postgresql//lib/ * Install server related header files into /usr/include/postgresql//server/ * Disable PostgreSQL's automagic path mangling and fix libdir for pg_config, so that pg_config in /usr/bin and /usr/lib/postgresql//bin behave identically. Bug-Debian: http://bugs.debian.org/462037 Index: postgresql-9.1-9.1.0/src/Makefile.global.in =================================================================== --- postgresql-9.1-9.1.0.orig/src/Makefile.global.in 2011-09-09 07:21:46.011745835 +0200 +++ postgresql-9.1-9.1.0/src/Makefile.global.in 2011-09-09 07:21:51.041745870 +0200 @@ -96,7 +96,7 @@ pkglibdir = $(libdir) ifeq "$(findstring pgsql, $(pkglibdir))" "" ifeq "$(findstring postgres, $(pkglibdir))" "" -override pkglibdir := $(pkglibdir)/postgresql +override pkglibdir := $(pkglibdir)/postgresql/9.1/lib endif endif @@ -144,7 +144,7 @@ # These derived path variables aren't separately configurable. -includedir_server = $(pkgincludedir)/server +includedir_server = $(pkgincludedir)/9.1/server includedir_internal = $(pkgincludedir)/internal pgxsdir = $(pkglibdir)/pgxs Index: postgresql-9.1-9.1.0/src/bin/pg_config/pg_config.c =================================================================== --- postgresql-9.1-9.1.0.orig/src/bin/pg_config/pg_config.c 2011-09-09 07:21:46.031745835 +0200 +++ postgresql-9.1-9.1.0/src/bin/pg_config/pg_config.c 2011-09-09 07:21:51.041745870 +0200 @@ -26,6 +26,8 @@ #include "port.h" +#include "../port/pg_config_paths.h" + static const char *progname; static char mypath[MAXPGPATH]; @@ -481,7 +483,6 @@ { int i; int j; - int ret; set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_config")); @@ -497,13 +498,7 @@ } } - ret = find_my_exec(argv[0], mypath); - - if (ret) - { - fprintf(stderr, _("%s: could not find own program executable\n"), progname); - exit(1); - } + snprintf(mypath, sizeof(mypath), "%s/%s", PGBINDIR, progname); /* no arguments -> print everything */ if (argc < 2) debian/patches/53-pg_service.conf_directory_doc.patch0000664000000000000000000000166412312007546020057 0ustar Author: Martin Pitt Description: Update pg_service.conf example to tell the Debian specific file location. Forwarded: No, Debian specific Index: postgresql-9.1-9.1~beta1/src/interfaces/libpq/pg_service.conf.sample =================================================================== --- postgresql-9.1-9.1~beta1.orig/src/interfaces/libpq/pg_service.conf.sample 2011-04-27 23:17:22.000000000 +0200 +++ postgresql-9.1-9.1~beta1/src/interfaces/libpq/pg_service.conf.sample 2011-05-10 11:25:42.151949794 +0200 @@ -8,8 +8,8 @@ # to look up such parameters. A sample configuration for postgres is # included in this file. Lines beginning with '#' are comments. # -# Copy this to your sysconf directory (typically /usr/local/pgsql/etc) and -# rename it pg_service.conf. +# Copy this to /etc/postgresql-common/ (or select its location with the +# PGSYSCONFDIR environment variable) and rename it pg_service.conf. # # #[postgres] debian/patches/51-default-sockets-in-var.patch0000664000000000000000000000204312312007546016351 0ustar Author: Martin Pitt Description: Put server Unix sockets into /var/run/postgresql/ by default Forwarded: No, Debian specific configuration with postgresql-common Using /tmp for sockets allows everyone to spoof a PostgreSQL server. Thus use /var/run/postgresql/ for "system" clusters which run as 'postgres' (user clusters will still use /tmp). Since system cluster are by far the common case, set it as default. Index: postgresql-9.1-9.1~beta1/src/include/pg_config_manual.h =================================================================== --- postgresql-9.1-9.1~beta1.orig/src/include/pg_config_manual.h 2011-04-27 23:17:22.000000000 +0200 +++ postgresql-9.1-9.1~beta1/src/include/pg_config_manual.h 2011-05-10 11:24:47.331949788 +0200 @@ -141,7 +141,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 debian/patches/04-config-update.patch0000664000000000000000000006360312312007546014616 0ustar Description: Refresh config.{guess,sub} to latest version for enabling ports. Index: postgresql-9.1-9.1.10/config/config.guess =================================================================== --- postgresql-9.1-9.1.10.orig/config/config.guess 2013-10-08 05:13:47.000000000 +0200 +++ postgresql-9.1-9.1.10/config/config.guess 2013-10-09 09:51:50.891784517 +0200 @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -17,26 +15,22 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,9 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -140,12 +132,33 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -202,6 +215,10 @@ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -304,7 +321,7 @@ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -792,21 +809,26 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -852,15 +874,22 @@ exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -872,56 +901,54 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -940,54 +967,63 @@ #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1191,6 +1227,9 @@ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1217,19 +1256,21 @@ exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1246,7 +1287,7 @@ NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1315,11 +1356,11 @@ i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c <. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -75,9 +68,7 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -125,13 +116,17 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -154,7 +149,7 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -223,6 +218,12 @@ -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -247,20 +248,27 @@ # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -278,20 +286,21 @@ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +309,7 @@ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +324,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -329,7 +337,10 @@ strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -352,25 +363,30 @@ # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -388,19 +404,20 @@ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -408,10 +425,11 @@ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -711,7 +729,6 @@ i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -769,11 +786,15 @@ basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -808,10 +829,18 @@ ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i686-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -992,7 +1021,11 @@ basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1120,13 +1153,8 @@ basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1324,21 +1352,21 @@ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1470,9 +1498,6 @@ -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1521,6 +1546,12 @@ c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; tic54x-*) os=-coff ;; @@ -1548,9 +1579,6 @@ ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout @@ -1564,6 +1592,9 @@ mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; debian/patches/00git-aarch64.patch0000664000000000000000000000302512312007546014011 0ustar From 5c7603c318872a42e1665b228f68fdf58714d945 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 4 Jun 2013 15:42:02 -0400 Subject: [PATCH] Add ARM64 (aarch64) support to s_lock.h. Use the same gcc atomic functions as we do on newer ARM chips. (Basically this is a copy and paste of the __arm__ code block, but omitting the SWPB option since that definitely won't work.) Back-patch to 9.2. The patch would work further back, but we'd also need to update config.guess/config.sub in older branches to make them build out-of-the-box, and there hasn't been demand for it. Mark Salter --- src/include/storage/s_lock.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index ce45ffe..180c013 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -336,6 +336,29 @@ tas(volatile slock_t *lock) #endif /* __arm__ */ +/* + * On ARM64, we use __sync_lock_test_and_set(int *, int) if available. + */ +#if defined(__aarch64__) || defined(__aarch64) +#ifdef HAVE_GCC_INT_ATOMICS +#define HAS_TEST_AND_SET + +#define TAS(lock) tas(lock) + +typedef int slock_t; + +static __inline__ int +tas(volatile slock_t *lock) +{ + return __sync_lock_test_and_set(lock, 1); +} + +#define S_UNLOCK(lock) __sync_lock_release(lock) + +#endif /* HAVE_GCC_INT_ATOMICS */ +#endif /* __aarch64__ */ + + /* S/390 and S/390x Linux (32- and 64-bit zSeries) */ #if defined(__s390__) || defined(__s390x__) #define HAS_TEST_AND_SET -- 1.7.10.4 debian/patches/54-debian-alternatives-for-external-tools.patch0000664000000000000000000000242512312007546021554 0ustar Author: Martin Pitt Description: Use Debian alternatives for external tools instead of hardcoded programs Forwarded: No, Debian specific Index: postgresql-9.1-9.1~rc1/src/bin/psql/print.h =================================================================== --- postgresql-9.1-9.1~rc1.orig/src/bin/psql/print.h 2011-08-18 23:23:13.000000000 +0200 +++ postgresql-9.1-9.1~rc1/src/bin/psql/print.h 2011-08-21 10:07:15.654681131 +0200 @@ -172,7 +172,7 @@ extern const printTextFormat *get_line_style(const printTableOpt *opt); #ifndef __CYGWIN__ -#define DEFAULT_PAGER "more" +#define DEFAULT_PAGER "/usr/bin/pager" #else #define DEFAULT_PAGER "less" #endif Index: postgresql-9.1-9.1~rc1/src/bin/psql/settings.h =================================================================== --- postgresql-9.1-9.1~rc1.orig/src/bin/psql/settings.h 2011-08-18 23:23:13.000000000 +0200 +++ postgresql-9.1-9.1~rc1/src/bin/psql/settings.h 2011-08-21 10:07:55.264681395 +0200 @@ -20,8 +20,8 @@ #define DEFAULT_EDITOR "notepad.exe" /* no DEFAULT_EDITOR_LINENUMBER_ARG for Notepad */ #else -#define DEFAULT_EDITOR "vi" -#define DEFAULT_EDITOR_LINENUMBER_ARG "+" +#define DEFAULT_EDITOR "sensible-editor" +/*#define DEFAULT_EDITOR_LINENUMBER_ARG "+"*/ #endif #define DEFAULT_PROMPT1 "%/%R%# " debian/copyright0000664000000000000000000002512012312007546011123 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: PostgreSQL Source: ftp://ftp.postgresql.org/mirror/postgresql/src/ Files: * Copyright: Portions Copyright (c) 1996-2003, The PostgreSQL Global Development Group Portions Copyright (c) 1994, The Regents of the University of California License: BSD 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. Files: src/backend/regex/* Copyright: Copyright (c) 1998, 1999 Henry Spencer. All rights reserved. License: 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. Files: src/backend/regex/regc_locale.c Copyright: Copyright (c) 1998 by Scriptics Corporation. License: Tcl Files: src/backend/regex/re_syntax.n Copyright: Copyright (c) 1998 Sun Microsystems, Inc. Copyright (c) 1999 Scriptics Corporation License: Tcl Files: contrib/fuzzystrmatch/dmetaphone.c Copyright: Copyright 2000, Maurice Aubrey Copyright 2003, North Carolina State Highway Patrol License: Perl / BSD This module is free software; you may redistribute it and/or modify it under the same terms as Perl itself. . All rights reserved. . 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 NORTH CAROLINA STATE HIGHWAY PATROL 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 NORTH CAROLINA STATE HIGHWAY PATROL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE NORTH CAROLINA STATE HIGHWAY PATROL 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 NORTH CAROLINA STATE HIGHWAY PATROL HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Files: contrib/pageinspect/btreefuncs.c contrib/pgstattuple/pgstatindex.c Copyright: Copyright (c) 2006 Satoshi Nagayasu License: BSD 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 AUTHOR 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 AUTHOR 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 AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Files: contrib/pgrowlocks/* Copyright: Copyright (c) 2005-2006 Tatsuo Ishii License: BSD Same license text as contrib/pageinspect/btreefuncs.c Files: contrib/pgstattuple/pgstattuple.c Copyright: Copyright (c) 2001, 2002 Tatsuo Ishii License: BSD Same license text as contrib/pageinspect/btreefuncs.c Files: contrib/pgcrypto/crypt-des.c Copyright: Copyright (c) 1994 David Burren License: BSD-like Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the author nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: contrib/pgcrypto/fortuna.* contrib/pgcrypto/mbuf.* contrib/pgcrypto/pgp* Copyright: Copyright (c) 2005 Marko Kreen License: BSD-like Same license text as contrib/pgcrypto/crypt-des.c Files: contrib/pgcrypto/internal.c contrib/pgcrypto/internal-sha2.c contrib/pgcrypto/openssl.c contrib/pgcrypto/pgcrypto.* contrib/pgcrypto/px* contrib/pgcrypto/random.c Copyright: Copyright (c) 2001 Marko Kreen License: BSD-like Same license text as contrib/pgcrypto/crypt-des.c Files: contrib/pgcrypto/sha2.* Copyright: Copyright (c) 2000-2001, Aaron D. Gifford License: BSD-like Same license text as contrib/pgcrypto/crypt-des.c Files: src/bin/pg_dump/* Copyright: Portions Copyright (c) 2000, Philip Warner License: Rights are granted to use this software in any way so long as this notice is not removed. The author is not responsible for loss or damages that may result from its use. Files: src/backend/utils/mb/Unicode/*.txt Copyright: Copyright (C) 2001 earthian@tama.or.jp, All Rights Reserved. Copyright (C) 2001 I'O, All Rights Reserved. Copyright (C) 2006 Project X0213, All Rights Reserved. License: You can use, modify, distribute this table freely. License: Tcl 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. debian/watch0000664000000000000000000000022312312007546010216 0ustar version=3 opts=uversionmangle=s/alpha/~alpha/;s/beta/~beta/;s/rc/~rc/ \ ftp://ftp.postgresql.org/pub/source/v(9\.1.*)/postgresql-(9\.1.*).tar.bz2 debian/postgresql-plperl-9.1.install0000664000000000000000000000016212312007546014563 0ustar usr/lib/postgresql/9.1/lib/plperl.so usr/share/postgresql/9.1/extension/plperl* /usr/share/locale/*/*/plperl-*.mo debian/rules0000775000000000000000000000534612312007546010260 0ustar #!/usr/bin/make -f DEB_VERSION = $(shell dpkg-parsechangelog | sed -n -e '/^Version:/s/.*: //p') MAJOR_VER := $(shell echo $(DEB_VERSION) | cut -f1,2 -d.) # support both hardening-wrapper (for backports) and dpkg-buildflags export DEB_BUILD_HARDENING = 1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/buildflags.mk LDFLAGS+= -Wl,--as-needed CFLAGS+= -fPIC -pie 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 COMMON_CONFIGURE_FLAGS= \ # build should fail on test suite failures on all arches TESTSUITE_FAIL_CMD=exit 1 # hurd doesn't implement semaphores; succeed anyway so they at least have libpq5 # tests currently fail on kfreebsd-* ifneq ($(filter $(DEB_BUILD_ARCH), hurd-i386 kfreebsd-amd64 kfreebsd-i386),) TESTSUITE_FAIL_CMD=exit 0 endif %: dh $@ --parallel override_dh_auto_configure: ./configure \ --mandir=/usr/share/postgresql/$(MAJOR_VER)/man \ --docdir=/usr/share/doc/postgresql-doc-$(MAJOR_VER) \ --sysconfdir=/etc/postgresql-common \ --datarootdir=/usr/share/ \ --datadir=/usr/share/postgresql/$(MAJOR_VER) \ --bindir=/usr/lib/postgresql/$(MAJOR_VER)/bin \ --libdir=/usr/lib/ \ --libexecdir=/usr/lib/postgresql/ \ --includedir=/usr/include/postgresql/ \ --enable-nls \ --enable-integer-datetimes \ --enable-thread-safety \ --enable-debug \ --disable-rpath \ --with-perl \ --with-gnu-ld \ --with-pgport=5432 \ --with-system-tzdata=/usr/share/zoneinfo \ --without-ossp-uuid \ --without-krb5 \ --without-gssapi \ --without-ldap \ --without-tcl \ --without-python \ --without-pam \ --without-openssl \ --without-libxml \ --without-libxslt \ CFLAGS='$(CFLAGS)' \ CPPFLAGS='$(CPPFLAGS)' \ LDFLAGS='$(LDFLAGS)' override_dh_auto_install: make install DESTDIR=$(CURDIR)/debian/tmp override_dh_auto_clean: [ ! -e GNUmakefile ] || $(MAKE) distclean override_dh_auto_test: ifeq (, $(findstring nocheck, $(DEB_BUILD_OPTIONS))) if ! make -C src/pl/plperl -k check EXTRA_REGRESS_OPTS='--host=/tmp --port=$(shell perl -le 'print 1024 + int(rand(64000))')'; then \ for l in `find build -name regression.diffs -o -name initdb.log -o -name postmaster.log`; do \ echo "******** $$l ********"; \ tail -n100 $$l; \ done; \ $(TESTSUITE_FAIL_CMD); \ fi endif override_dh_builddeb: dh_builddeb $(BINARY_BLACKLIST) -- -Zxz