summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasatomo Nakano <nakano@gentoo.org>2005-12-25 11:32:46 +0000
committerMasatomo Nakano <nakano@gentoo.org>2005-12-25 11:32:46 +0000
commit31adee49b138136c3511cda0ed207a43f7188e99 (patch)
treee4fc92b1a2cdff0f77fa5a337d245927e48396d6
parentfixed digest (diff)
downloadhistorical-31adee49b138136c3511cda0ed207a43f7188e99.tar.gz
historical-31adee49b138136c3511cda0ed207a43f7188e99.tar.bz2
historical-31adee49b138136c3511cda0ed207a43f7188e99.zip
version bump
Package-Manager: portage-2.0.51.22-r3
-rw-r--r--dev-db/postgresql/ChangeLog23
-rw-r--r--dev-db/postgresql/Manifest29
-rw-r--r--dev-db/postgresql/files/digest-postgresql-7.3.123
-rw-r--r--dev-db/postgresql/files/digest-postgresql-7.4.104
-rw-r--r--dev-db/postgresql/files/digest-postgresql-8.0.54
-rw-r--r--dev-db/postgresql/files/digest-postgresql-8.1.13
-rw-r--r--dev-db/postgresql/files/pg_autovacuum.conf-7.4.1014
-rw-r--r--dev-db/postgresql/files/pg_autovacuum.conf-8.0.514
-rw-r--r--dev-db/postgresql/files/pg_autovacuum.init-7.4.1051
-rw-r--r--dev-db/postgresql/files/pg_autovacuum.init-8.0.551
-rw-r--r--dev-db/postgresql/files/postgresql-7.3.12-gentoo.patch51
-rw-r--r--dev-db/postgresql/files/postgresql-7.4.10-gentoo.patch51
-rw-r--r--dev-db/postgresql/files/postgresql-7.4.10-hppa-testandset.patch52
-rw-r--r--dev-db/postgresql/files/postgresql-7.4.10-vacuum-delay.patch284
-rw-r--r--dev-db/postgresql/files/postgresql-8.0.5-gentoo.patch39
-rw-r--r--dev-db/postgresql/files/postgresql-8.0.5-sh.patch34
-rw-r--r--dev-db/postgresql/files/postgresql-8.1.1-gentoo.patch39
-rw-r--r--dev-db/postgresql/files/postgresql-8.1.1-sh.patch34
-rw-r--r--dev-db/postgresql/files/postgresql.conf-7.4.1014
-rw-r--r--dev-db/postgresql/files/postgresql.conf-8.0.514
-rw-r--r--dev-db/postgresql/files/postgresql.conf-8.1.114
-rw-r--r--dev-db/postgresql/files/postgresql.init-7.3.1263
-rw-r--r--dev-db/postgresql/files/postgresql.init-7.4.1063
-rw-r--r--dev-db/postgresql/files/postgresql.init-8.0.563
-rw-r--r--dev-db/postgresql/files/postgresql.init-8.1.163
-rw-r--r--dev-db/postgresql/postgresql-7.3.12.ebuild242
-rw-r--r--dev-db/postgresql/postgresql-7.4.10.ebuild311
-rw-r--r--dev-db/postgresql/postgresql-8.0.5.ebuild230
-rw-r--r--dev-db/postgresql/postgresql-8.1.1.ebuild225
29 files changed, 2080 insertions, 2 deletions
diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog
index fb3f298717f2..c1fdd6eba926 100644
--- a/dev-db/postgresql/ChangeLog
+++ b/dev-db/postgresql/ChangeLog
@@ -1,6 +1,27 @@
# ChangeLog for dev-db/postgresql
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.252 2005/11/23 04:12:06 nakano Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.253 2005/12/25 11:32:46 nakano Exp $
+
+*postgresql-8.1.1 (25 Dec 2005)
+*postgresql-8.0.5 (25 Dec 2005)
+*postgresql-7.4.10 (25 Dec 2005)
+*postgresql-7.3.12 (25 Dec 2005)
+
+ 25 Dec 2005; Masatomo Nakano <nakano@gentoo.org>
+ +files/postgresql.init-7.3.12, +files/postgresql-7.3.12-gentoo.patch,
+ +files/pg_autovacuum.conf-7.4.10, +files/pg_autovacuum.init-7.4.10,
+ +files/postgresql.conf-7.4.10, +files/postgresql.init-7.4.10,
+ +files/postgresql-7.4.10-gentoo.patch,
+ +files/postgresql-7.4.10-hppa-testandset.patch,
+ +files/postgresql-7.4.10-vacuum-delay.patch,
+ +files/pg_autovacuum.conf-8.0.5, +files/pg_autovacuum.init-8.0.5,
+ +files/postgresql.conf-8.0.5, +files/postgresql.init-8.0.5,
+ +files/postgresql-8.0.5-gentoo.patch, +files/postgresql-8.0.5-sh.patch,
+ +files/postgresql.conf-8.1.1, +files/postgresql.init-8.1.1,
+ +files/postgresql-8.1.1-gentoo.patch, +files/postgresql-8.1.1-sh.patch,
+ +postgresql-7.3.12.ebuild, +postgresql-7.4.10.ebuild,
+ +postgresql-8.0.5.ebuild, +postgresql-8.1.1.ebuild:
+ Version bump.
23 Nov 2005; Masatomo Nakano <nakano@gentoo.org> postgresql-8.1.0.ebuild:
Fixed version check logic for 8.1. (#72814)
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 0908963b6aa0..84fc407f6ae9 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,3 +1,4 @@
+MD5 d401d8d99cfb1fa8a5944824e769d199 postgresql-7.4.10.ebuild 10746
MD5 b0b94d20c7d268d602aa6c60e0ce5ce9 postgresql-8.0.1-r3.ebuild 7735
MD5 6b7a297c80d292c075eca122933d25aa postgresql-8.1.0.ebuild 7622
MD5 f468afa31445f55ae2a035dba1e0911f postgresql-7.4.9.ebuild 10739
@@ -5,27 +6,36 @@ MD5 993f8413e91946fb334582c36b39afcb postgresql-7.4.7-r1.ebuild 10701
MD5 139b7ac3104b67db427da2074f54941b postgresql-8.0.4.ebuild 7681
MD5 68b207bf92c9fb56d7911c0b5af6cc9b postgresql-7.3.10.ebuild 8138
MD5 2265cba6143f2d8471e41be421367c5b postgresql-7.3.9-r1.ebuild 8028
+MD5 2ce85a44797906cb0e568f74f9664e97 postgresql-7.3.12.ebuild 8308
MD5 e04819f89769e06c3ff5d0019ea1f46c postgresql-7.4.8.ebuild 10569
MD5 0ab1b6f2bce8c619c7824a648f44667b postgresql-8.0.3.ebuild 7510
MD5 99f4b845820fa12720b8eecec8085c56 postgresql-8.0.1-r4.ebuild 7824
+MD5 706c42661ba209176144901c203c7df9 postgresql-8.1.1.ebuild 7626
MD5 08e125da5fd9e78854a2eb23f78274c3 postgresql-7.4.7-r2.ebuild 10854
MD5 c25c9a7ffe3a89d13b05d6030f4d9889 postgresql-7.3.6-r2.ebuild 7837
-MD5 85263402663eb1a9ad38abae1fa9e693 ChangeLog 48127
+MD5 da1fef5f898cda3dafbbbff7961e79f8 postgresql-8.0.5.ebuild 7689
+MD5 3b4b4a1d8bfffaaeb5bf1dac45f4f703 ChangeLog 49120
MD5 df1ce9230106e5853fb50850305ca2ba postgresql-7.3.11.ebuild 8305
MD5 f8d3d207746da2a3cd14dcaab8daab76 metadata.xml 163
MD5 90acacf5efb7b8a73ec5d34128358c32 files/CAN-2005-1409.patch 1698
+MD5 c915ffe48961dd13c6d47cd841243f6d files/pg_autovacuum.init-7.4.10 1415
MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.7-vacuum-delay.patch 8918
MD5 df4fedbfa30df690a6f78da9f5a44196 files/postgresql-7.4.7-securityfix.patch 1773
MD5 fa95ac5bd802d7220fe9196de93fbe97 files/postgresql-8.0.4-sh.patch 618
MD5 3273c43da88db8e7fa5fd9c413f651c5 files/postgresql.init-7.3.10 1280
MD5 4165a3ef6d3e253340b56c719a866c87 files/postgresql.init-7.3.11 1280
+MD5 7ec28ac34dbe625839d5dc00fa4e3383 files/postgresql.init-7.3.12 1280
+MD5 8f07e36790a8fa018d8ce99db2fe1030 files/postgresql.init-7.4.10 1280
MD5 8ca6301197c0d45d7530d4117d087b15 files/CAN-2005-1409-doc.patch 1749
MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.8-vacuum-delay.patch 8918
MD5 fa95ac5bd802d7220fe9196de93fbe97 files/postgresql-8.1.0-sh.patch 618
MD5 61b463e796709e035216374cb149d614 files/postgresql-7.3.10-gentoo.patch 1741
MD5 01f69b667825048f2e9807555b79b73d files/postgresql-8.0.3-gentoo.patch 1200
+MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.10 302
+MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.10 390
MD5 64cac596c308b19865f5738cc5af02b1 files/postgresql-7.4.9-gentoo.patch 1729
MD5 3c53278e59e16caa55429700c0da42f9 files/CAN-2005-1410.patch 2843
+MD5 fa95ac5bd802d7220fe9196de93fbe97 files/postgresql-8.0.5-sh.patch 618
MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.9-vacuum-delay.patch 8918
MD5 80e1a39d06466a396d8a2a1a5ff3b04a files/digest-postgresql-8.0.1-r3 293
MD5 80e1a39d06466a396d8a2a1a5ff3b04a files/digest-postgresql-8.0.1-r4 293
@@ -37,35 +47,49 @@ MD5 37e9be11579a5dd887ea56898555a013 files/postgresql.init-7.4.9 1279
MD5 fe44693b90eef9cf0b6118edb258da16 files/postgresql.init-8.0.1 1279
MD5 b7252dad787e4e9f4d645a47d7f74ad8 files/postgresql.init-8.0.3 1279
MD5 11eb946998d42bb657f9408b804b3099 files/postgresql.init-8.0.4 1279
+MD5 360e6723963869aba4f06ae2eee32940 files/postgresql.init-8.0.5 1279
MD5 d41a81e2e89a457cd171237bab44c8a0 files/postgresql.init-8.1.0 1279
+MD5 f75609ec7293847caed7208a0d99b1ce files/postgresql.init-8.1.1 1279
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.7 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.8 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.9 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.1 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.3 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.4 390
+MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.5 390
MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.1.0 390
+MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.1.1 390
+MD5 212e0c8eecc089ebdd1c6f6243a68327 files/postgresql-7.4.10-hppa-testandset.patch 1604
MD5 4591d7bc6524b885854c18bb9b9ce23a files/postgresql-8.0.1-securityfix.patch 1850
MD5 4d7967107d2e9dbb6c097c637625023b files/digest-postgresql-7.4.8 290
MD5 b368c73c1f3a16e6aacf7f83feba9873 files/digest-postgresql-7.4.9 290
MD5 6eaf9ba52385d9fc515d84cc4246db62 files/digest-postgresql-8.0.3 293
MD5 6b8a3129c9f85d8e97c5ee384c4c489b files/digest-postgresql-8.0.4 293
+MD5 bf3a1ce67f7cec15f659178e5cc352cf files/digest-postgresql-8.0.5 293
MD5 8a85abe5618194b2492c6ea1064cdffa files/digest-postgresql-8.1.0 223
+MD5 286607b1ba695bd538362bc462733380 files/digest-postgresql-8.1.1 223
+MD5 fa95ac5bd802d7220fe9196de93fbe97 files/postgresql-8.1.1-sh.patch 618
MD5 ffe7e2e6a0ae65238f2addcbbbba59d0 files/pg_autovacuum.init-7.4.7 1414
MD5 50be58ef7b752834f53ae86c70f75d9a files/pg_autovacuum.init-7.4.8 1414
MD5 b35f19cbbb6d2ef9cdc62a3a61faed52 files/pg_autovacuum.init-7.4.9 1414
MD5 62959a2ffd56e0e360b1437467c573a7 files/pg_autovacuum.init-8.0.1 1414
MD5 9b0d09ffaaa125d93a200e3783af23cc files/pg_autovacuum.init-8.0.3 1414
MD5 3d69e95f9646cfacb2ba866b3b6bd2af files/pg_autovacuum.init-8.0.4 1414
+MD5 ec12c73b63409341c60eaf1316d8443a files/pg_autovacuum.init-8.0.5 1414
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.7 302
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.8 302
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.9 302
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-8.0.1 302
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-8.0.3 302
MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-8.0.4 302
+MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-8.0.5 302
+MD5 037ba2ccd6b1f44d788394bf7708da29 files/postgresql-8.1.1-gentoo.patch 1200
MD5 dbe0601754b798a4d08f080137a57c43 files/postgresql-7.3.9-securityfix.patch 1443
+MD5 7c3d19a20c129b1e44c178badc506eae files/postgresql-7.4.10-gentoo.patch 1741
MD5 4501816025cc701e272b5e57937d0de0 files/postgresql-7.3.9-gentoo.patch 529
MD5 1b27a8ad9d652b6d292ff34ad385b208 files/postgresql-7.4.8-gentoo.patch 1729
+MD5 0d96640508169e15a9daef3e0668032a files/postgresql-7.3.12-gentoo.patch 1741
+MD5 290d9cac9f228e7479e316b68aadfd7c files/postgresql-8.0.5-gentoo.patch 1200
MD5 3665230043dd69d562482d92f2d08286 files/postgresql-8.0.1-gentoo.patch 808
MD5 66ade3cf803c867e04bb2ab9dfde3dbf files/postgresql-8.1.0-gentoo.patch 1200
MD5 3b4cbf59561d655b882ab335b892909d files/digest-postgresql-7.3.6-r2 223
@@ -79,7 +103,10 @@ MD5 2b0c84d2c26622573d4e2b7e0518fdad files/postgresql.conf 375
MD5 fa95ac5bd802d7220fe9196de93fbe97 files/postgresql-8.0.3-sh.patch 618
MD5 314c9147f25d4676c60a4761bbe500e2 files/digest-postgresql-7.3.10 226
MD5 419268f051162aee7f36e9c0b384fcc1 files/digest-postgresql-7.3.11 226
+MD5 03871c3f6c26f2fc57c9828782033461 files/digest-postgresql-7.3.12 226
+MD5 93bec864dca09f6d82e44e7ef3354998 files/digest-postgresql-7.4.10 293
MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.8-hppa-testandset.patch 1596
+MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.10-vacuum-delay.patch 8918
MD5 7fad73889572ccdf114ce0024e7170c6 files/postgresql-7.3.11-gentoo.patch 1741
MD5 01f69b667825048f2e9807555b79b73d files/postgresql-8.0.4-gentoo.patch 1200
MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.9-hppa-testandset.patch 1596
diff --git a/dev-db/postgresql/files/digest-postgresql-7.3.12 b/dev-db/postgresql/files/digest-postgresql-7.3.12
new file mode 100644
index 000000000000..41b02aa06ffd
--- /dev/null
+++ b/dev-db/postgresql/files/digest-postgresql-7.3.12
@@ -0,0 +1,3 @@
+MD5 1f2764d83309e6fbb150a635a4d7b193 postgresql-base-7.3.12.tar.bz2 5666468
+MD5 404e60bd3f0a7f03826769cc66f60078 postgresql-opt-7.3.12.tar.bz2 340942
+MD5 0d43b3c47cf4efbb88e0d3b6c9a44bb3 postgresql-docs-7.3.12.tar.bz2 2349826
diff --git a/dev-db/postgresql/files/digest-postgresql-7.4.10 b/dev-db/postgresql/files/digest-postgresql-7.4.10
new file mode 100644
index 000000000000..ca4053a80c35
--- /dev/null
+++ b/dev-db/postgresql/files/digest-postgresql-7.4.10
@@ -0,0 +1,4 @@
+MD5 0febdd68d8b6b42d0b1b28f44b61a3c0 postgresql-base-7.4.10.tar.bz2 6600686
+MD5 f7232f719e3a44c32339bf1f7b2f152c postgresql-opt-7.4.10.tar.bz2 332230
+MD5 73a9bd7cb4b28f7d9a046d5caa008427 postgresql-docs-7.4.10.tar.bz2 2428051
+MD5 16d037213b879963724da7809a0a1589 hier-Pg7.4-0.5.3.tar.gz 34662
diff --git a/dev-db/postgresql/files/digest-postgresql-8.0.5 b/dev-db/postgresql/files/digest-postgresql-8.0.5
new file mode 100644
index 000000000000..30413e5c0de5
--- /dev/null
+++ b/dev-db/postgresql/files/digest-postgresql-8.0.5
@@ -0,0 +1,4 @@
+MD5 bac4dfcd3b33124ba63f1c7a3ae49586 postgresql-base-8.0.5.tar.bz2 7826109
+MD5 77bb201d264ab5d34e6812bd0a615679 postgresql-opt-8.0.5.tar.bz2 133847
+MD5 1b6b3013f6098d2fddbeced56f38305a postgresql-docs-8.0.5.tar.bz2 2247707
+MD5 1d410cfb38253675fee36c8f9ee655e2 hier-Pg8.0.1-0.5.4.diff.gz 30662
diff --git a/dev-db/postgresql/files/digest-postgresql-8.1.1 b/dev-db/postgresql/files/digest-postgresql-8.1.1
new file mode 100644
index 000000000000..4502adbed9dd
--- /dev/null
+++ b/dev-db/postgresql/files/digest-postgresql-8.1.1
@@ -0,0 +1,3 @@
+MD5 24326d48b90c5081af000a70268d821c postgresql-base-8.1.1.tar.bz2 8046645
+MD5 743993bd0d19a781358c99a9abfaed6a postgresql-opt-8.1.1.tar.bz2 143567
+MD5 1289ffb5fbb507804ffa9f988bb238f3 postgresql-docs-8.1.1.tar.bz2 2453417
diff --git a/dev-db/postgresql/files/pg_autovacuum.conf-7.4.10 b/dev-db/postgresql/files/pg_autovacuum.conf-7.4.10
new file mode 100644
index 000000000000..f342ebfd2a47
--- /dev/null
+++ b/dev-db/postgresql/files/pg_autovacuum.conf-7.4.10
@@ -0,0 +1,14 @@
+# The PostgreSQL user is:
+PGUSER=postgres
+
+# LOG file is:
+PG_AUTOVACUUM_LOG=/var/lib/postgresql/data/pg_autovacuum.log
+
+# See the pg_autovacuum documentation for the details of how these
+# parameters affect pg_autovacuum's aggressiveness.
+
+VACUUM_BASE=1000
+VACUUM_SCALE=2
+
+SLEEP_BASE=300
+SLEEP_SCALE=2
diff --git a/dev-db/postgresql/files/pg_autovacuum.conf-8.0.5 b/dev-db/postgresql/files/pg_autovacuum.conf-8.0.5
new file mode 100644
index 000000000000..f342ebfd2a47
--- /dev/null
+++ b/dev-db/postgresql/files/pg_autovacuum.conf-8.0.5
@@ -0,0 +1,14 @@
+# The PostgreSQL user is:
+PGUSER=postgres
+
+# LOG file is:
+PG_AUTOVACUUM_LOG=/var/lib/postgresql/data/pg_autovacuum.log
+
+# See the pg_autovacuum documentation for the details of how these
+# parameters affect pg_autovacuum's aggressiveness.
+
+VACUUM_BASE=1000
+VACUUM_SCALE=2
+
+SLEEP_BASE=300
+SLEEP_SCALE=2
diff --git a/dev-db/postgresql/files/pg_autovacuum.init-7.4.10 b/dev-db/postgresql/files/pg_autovacuum.init-7.4.10
new file mode 100644
index 000000000000..fdf43cb5050e
--- /dev/null
+++ b/dev-db/postgresql/files/pg_autovacuum.init-7.4.10
@@ -0,0 +1,51 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/pg_autovacuum.init-7.4.10,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+depend() {
+ need postgresql logger
+}
+
+start() {
+ ebegin "Starting pg_autovacuum"
+ echo ""
+ echo -n "Waiting max. 10 sec. for postgresql to start "
+ CONTINUE=0
+ TOO_LONG=0
+ while [ "$CONTINUE" -eq 0 ] && [ $TOO_LONG -lt 10 ]
+ do
+ psql -U $PGUSER -d template1 -c "SELECT 1" 1> /dev/null 2> /dev/null
+ if [ "$?" -eq 0 ]
+ then
+ CONTINUE=1
+ else
+ echo -n "."
+ TOO_LONG=`expr $TOO_LONG + 1`
+ sleep 1
+ fi
+ done
+ start-stop-daemon -o --chuid $PGUSER --start --quiet --exec /usr/bin/pg_autovacuum -- -D -v $VACUUM_BASE -V $VACUUM_SCALE -s $SLEEP_BASE -S $SLEEP_SCALE -L $PG_AUTOVACUUM_LOG
+
+ sleep 1
+ pidof /usr/bin/pg_autovacuum > /dev/null
+ if [ $? -eq 0 ]; then
+ eend 0
+ else
+ eerror ""
+ eerror "Please see log file: $PG_AUTOVACUUM_LOG"
+ eerror "You may need to add following lines in /var/lib/postgresql/data/postgresql.conf and restart PostgreSQL."
+ eerror " stats_start_collector = true"
+ eerror " stats_row_level = true"
+
+ eerror "Please read ___DOCDIR___/contrib/README.pg_autovacuum for details."
+ eend 1
+ fi
+}
+
+stop() {
+ ebegin "Stopping pg_autovacuum"
+ start-stop-daemon --stop --quiet --exec /usr/bin/pg_autovacuum
+ result=$?
+ eend $result
+}
diff --git a/dev-db/postgresql/files/pg_autovacuum.init-8.0.5 b/dev-db/postgresql/files/pg_autovacuum.init-8.0.5
new file mode 100644
index 000000000000..fab05e85adc0
--- /dev/null
+++ b/dev-db/postgresql/files/pg_autovacuum.init-8.0.5
@@ -0,0 +1,51 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/pg_autovacuum.init-8.0.5,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+depend() {
+ need postgresql logger
+}
+
+start() {
+ ebegin "Starting pg_autovacuum"
+ echo ""
+ echo -n "Waiting max. 10 sec. for postgresql to start "
+ CONTINUE=0
+ TOO_LONG=0
+ while [ "$CONTINUE" -eq 0 ] && [ $TOO_LONG -lt 10 ]
+ do
+ psql -U $PGUSER -d template1 -c "SELECT 1" 1> /dev/null 2> /dev/null
+ if [ "$?" -eq 0 ]
+ then
+ CONTINUE=1
+ else
+ echo -n "."
+ TOO_LONG=`expr $TOO_LONG + 1`
+ sleep 1
+ fi
+ done
+ start-stop-daemon -o --chuid $PGUSER --start --quiet --exec /usr/bin/pg_autovacuum -- -D -v $VACUUM_BASE -V $VACUUM_SCALE -s $SLEEP_BASE -S $SLEEP_SCALE -L $PG_AUTOVACUUM_LOG
+
+ sleep 1
+ pidof /usr/bin/pg_autovacuum > /dev/null
+ if [ $? -eq 0 ]; then
+ eend 0
+ else
+ eerror ""
+ eerror "Please see log file: $PG_AUTOVACUUM_LOG"
+ eerror "You may need to add following lines in /var/lib/postgresql/data/postgresql.conf and restart PostgreSQL."
+ eerror " stats_start_collector = true"
+ eerror " stats_row_level = true"
+
+ eerror "Please read ___DOCDIR___/contrib/README.pg_autovacuum for details."
+ eend 1
+ fi
+}
+
+stop() {
+ ebegin "Stopping pg_autovacuum"
+ start-stop-daemon --stop --quiet --exec /usr/bin/pg_autovacuum
+ result=$?
+ eend $result
+}
diff --git a/dev-db/postgresql/files/postgresql-7.3.12-gentoo.patch b/dev-db/postgresql/files/postgresql-7.3.12-gentoo.patch
new file mode 100644
index 000000000000..4368fb7b186f
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-7.3.12-gentoo.patch
@@ -0,0 +1,51 @@
+diff -Naru postgresql-7.3.12.org/src/interfaces/Makefile postgresql-7.3.12/src/interfaces/Makefile
+--- postgresql-7.3.12.org/src/interfaces/Makefile 2004-04-20 01:33:51.000000000 +0100
++++ postgresql-7.3.12/src/interfaces/Makefile 2005-05-09 21:59:15.000000000 +0100
+@@ -12,7 +12,7 @@
+ top_builddir = ../..
+ include $(top_builddir)/src/Makefile.global
+
+-DIRS := libpq ecpg
++DIRS := ecpg
+
+ ALLDIRS := $(DIRS)
+
+diff -Naru postgresql-7.3.12.org/src/Makefile postgresql-7.3.12/src/Makefile
+--- postgresql-7.3.12.org/src/Makefile 2005-01-13 18:23:21.000000000 +0000
++++ postgresql-7.3.12/src/Makefile 2005-05-09 21:59:54.000000000 +0100
+@@ -18,7 +18,6 @@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+ $(MAKE) -C backend/utils/mb/conversion_procs $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -47,7 +46,6 @@
+ $(MAKE) -C port $@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -61,7 +59,6 @@
+ -$(MAKE) -C port $@
+ -$(MAKE) -C timezone $@
+ -$(MAKE) -C backend $@
+- -$(MAKE) -C include $@
+ -$(MAKE) -C interfaces $@
+ -$(MAKE) -C bin $@
+ -$(MAKE) -C pl $@
+diff -Naru postgresql-7.3.12.org/configure postgresql-7.3.12/configure
+--- postgresql-7.3.12.org/configure 2004-08-15 01:51:58.000000000 +0100
++++ postgresql-7.3.12/configure 2004-10-03 00:24:38.477010826 +0100
+@@ -5871,7 +5871,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ pgac_cv_check_readline=no
+-for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
++for pgac_lib in "" " -lncurses" " -lcurses" ; do
+ for pgac_rllib in -lreadline -ledit ; do
+ pgac_save_LIBS=$LIBS
+ LIBS="${pgac_rllib}${pgac_lib} $LIBS"
diff --git a/dev-db/postgresql/files/postgresql-7.4.10-gentoo.patch b/dev-db/postgresql/files/postgresql-7.4.10-gentoo.patch
new file mode 100644
index 000000000000..f82b11965db5
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-7.4.10-gentoo.patch
@@ -0,0 +1,51 @@
+diff -Naru postgresql-7.4.10.org/configure postgresql-7.4.10/configure
+--- postgresql-7.4.10.org/configure 2004-08-18 04:11:24.000000000 +0100
++++ postgresql-7.4.10/configure 2004-09-15 20:28:46.933631781 +0100
+@@ -6003,7 +6003,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ pgac_cv_check_readline=no
+-for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
++for pgac_lib in "" " -lncurses" " -lcurses" ; do
+ for pgac_rllib in -lreadline -ledit ; do
+ pgac_save_LIBS=$LIBS
+ LIBS="${pgac_rllib}${pgac_lib} $LIBS"
+diff -Naru postgresql-7.4.10.org/src/interfaces/Makefile postgresql-7.4.10/src/interfaces/Makefile
+--- postgresql-7.4.10.org/src/interfaces/Makefile 2004-04-20 01:33:51.000000000 +0100
++++ postgresql-7.4.10/src/interfaces/Makefile 2005-05-09 21:59:15.000000000 +0100
+@@ -12,7 +12,7 @@
+ top_builddir = ../..
+ include $(top_builddir)/src/Makefile.global
+
+-DIRS := libpq ecpg
++DIRS := ecpg
+
+ ALLDIRS := $(DIRS)
+
+diff -Naru postgresql-7.4.10.org/src/Makefile postgresql-7.4.10/src/Makefile
+--- postgresql-7.4.10.org/src/Makefile 2005-01-13 18:23:21.000000000 +0000
++++ postgresql-7.4.10/src/Makefile 2005-05-09 21:59:54.000000000 +0100
+@@ -18,7 +18,6 @@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+ $(MAKE) -C backend/utils/mb/conversion_procs $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -47,7 +46,6 @@
+ $(MAKE) -C port $@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -61,7 +59,6 @@
+ -$(MAKE) -C port $@
+ -$(MAKE) -C timezone $@
+ -$(MAKE) -C backend $@
+- -$(MAKE) -C include $@
+ -$(MAKE) -C interfaces $@
+ -$(MAKE) -C bin $@
+ -$(MAKE) -C pl $@
diff --git a/dev-db/postgresql/files/postgresql-7.4.10-hppa-testandset.patch b/dev-db/postgresql/files/postgresql-7.4.10-hppa-testandset.patch
new file mode 100644
index 000000000000..a8654c9849b9
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-7.4.10-hppa-testandset.patch
@@ -0,0 +1,52 @@
+diff -urN postgresql-7.4.10.orig/src/include/port/linux.h postgresql-7.4.10/src/include/port/linux.h
+--- postgresql-7.4.10.orig/src/include/port/linux.h 2003-10-26 01:41:10.000000000 +0000
++++ postgresql-7.4.10/src/include/port/linux.h 2004-01-09 20:22:50.000000000 +0000
+@@ -3,6 +3,11 @@
+
+ #define HAS_TEST_AND_SET
+
++#elif defined(__hppa__)
++typedef struct { int sema[4]; } slock_t;
++
++#define HAS_TEST_AND_SET
++
+ #elif defined(__sparc__)
+ typedef unsigned char slock_t;
+
+diff -urN postgresql-7.4.10.orig/src/include/storage/s_lock.h postgresql-7.4.10/src/include/storage/s_lock.h
+--- postgresql-7.4.10.orig/src/include/storage/s_lock.h 2003-11-04 09:43:56.000000000 +0000
++++ postgresql-7.4.10/src/include/storage/s_lock.h 2004-01-09 20:12:15.000000000 +0000
+@@ -112,6 +112,33 @@
+
+ #endif /* __i386__ || __x86_64__ */
+
++#if defined(__hppa__) || defined(__hppa)
++#define TAS(lock) tas(lock)
++
++#define __ldcw(a) ({ \
++ unsigned int __ret; \
++ __asm__ __volatile__("ldcw 0(%2),%0" \
++ : "=r" (__ret), "=m" (*(a)) : "r" (a)); \
++ __ret; \
++})
++
++#define __PA_LDCW_ALIGNMENT 16
++#define __ldcw_align(a) ({ \
++ volatile unsigned int __ret = (unsigned int) a; \
++ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \
++ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \
++ (unsigned int *) __ret; \
++})
++
++static __inline__ int
++tas(volatile slock_t *lock)
++{
++ volatile unsigned int *a = __ldcw_align (lock);
++ return (__ldcw(a) == 0);
++}
++
++#endif /* __hppa__ || __hppa */
++
+
+ /* Intel Itanium */
+ #if defined(__ia64__) || defined(__ia64)
diff --git a/dev-db/postgresql/files/postgresql-7.4.10-vacuum-delay.patch b/dev-db/postgresql/files/postgresql-7.4.10-vacuum-delay.patch
new file mode 100644
index 000000000000..e0f499859009
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-7.4.10-vacuum-delay.patch
@@ -0,0 +1,284 @@
+ * From: Jan Wieck <JanWieck ( at ) Yahoo ( dot ) com>
+ * To: "Matthew T. O'Connor" <matthew ( at ) zeut ( dot ) net>
+ * Subject: Re: Performance features the 4th
+ * Date: Sun, 09 Nov 2003 18:42:53 -0500
+
+Matthew T. O'Connor wrote:
+
+ ----- Original Message ----- From: "Jan Wieck" <JanWieck ( at ) Yahoo ( dot ) com>
+
+Tom Lane wrote:
+> Gaetano and a couple of other people did experiments that seemed to show
+> it was useful. I think we'd want to change the shape of the knob per
+> later suggestions (sleep 10 ms every N blocks, instead of N ms every
+> block) but it did seem that there was useful bang for little buck there.
+
+
+ I thought it was "sleep N ms every M blocks".
+
+Have we seen any numbers? Anything at all? Something that gives us a
+clue by what factor one has to multiply the total time a "VACUUM
+ANALYZE" takes, to get what effect in return?
+
+
+I have some time on sunday to do some testing. Is there a patch that I can
+apply that implements either of the two options? (sleep 10ms every M blocks
+or sleep N ms every M blocks).
+
+
+I know Tom posted the original patch that sleept N ms every 1 block (where N
+is > 10 due to OS limitations). Jan can you post a patch that has just the
+sleep code in it? Or should it be easy enough for me to cull out of the
+larger patch you posted?
+
+
+Sorry for the delay, had to finish some other concept yesterday (will be published soon).
+
+The attached patch adds
+
+ vacuum_group_delay_size = 10 (range 1-1000)
+ vacuum_group_delay_msec = 0 (range 0-1000)
+
+
+and does the sleeping via select(2). It does it only at the same places where Tom had done the usleep() in his hack, so I guess there is still some more to do besides the documentation, before it can be added to 7.4.1. But it should be enough to get some testing done.
+
+
+Jan
+
+--
+#======================================================================#
+# It's easier to get forgiveness for being wrong than for being right. #
+# Let's break this rule - forgive me. #
+#================================================== JanWieck ( at ) Yahoo ( dot ) com #
+
+Index: src/backend/access/nbtree/nbtree.c
+===================================================================
+RCS file: /home/pgsql/CvsRoot/pgsql-server/src/backend/access/nbtree/nbtree.c,v
+retrieving revision 1.106
+diff -c -b -r1.106 nbtree.c
+*** src/backend/access/nbtree/nbtree.c 2003/09/29 23:40:26 1.106
+--- src/backend/access/nbtree/nbtree.c 2003/11/09 23:39:36
+***************
+*** 27,32 ****
+--- 27,40 ----
+ #include "storage/smgr.h"
+
+
++ /*
++ * Variables for vacuum_group_delay option (in commands/vacuumlazy.c)
++ */
++ extern int vacuum_group_delay_size; /* vacuum N pages */
++ extern int vacuum_group_delay_msec; /* then sleep M msec */
++ extern int vacuum_group_delay_count;
++
++
+ /* Working state for btbuild and its callback */
+ typedef struct
+ {
+***************
+*** 610,615 ****
+--- 618,632 ----
+
+ CHECK_FOR_INTERRUPTS();
+
++ if (vacuum_group_delay_msec > 0)
++ {
++ if (++vacuum_group_delay_count >= vacuum_group_delay_size)
++ {
++ PG_DELAY(vacuum_group_delay_msec);
++ vacuum_group_delay_count = 0;
++ }
++ }
++
+ ndeletable = 0;
+ page = BufferGetPage(buf);
+ opaque = (BTPageOpaque) PageGetSpecialPointer(page);
+***************
+*** 736,741 ****
+--- 753,769 ----
+ Buffer buf;
+ Page page;
+ BTPageOpaque opaque;
++
++ CHECK_FOR_INTERRUPTS();
++
++ if (vacuum_group_delay_msec > 0)
++ {
++ if (++vacuum_group_delay_count >= vacuum_group_delay_size)
++ {
++ PG_DELAY(vacuum_group_delay_msec);
++ vacuum_group_delay_count = 0;
++ }
++ }
+
+ buf = _bt_getbuf(rel, blkno, BT_READ);
+ page = BufferGetPage(buf);
+Index: src/backend/commands/vacuumlazy.c
+===================================================================
+RCS file: /home/pgsql/CvsRoot/pgsql-server/src/backend/commands/vacuumlazy.c,v
+retrieving revision 1.32
+diff -c -b -r1.32 vacuumlazy.c
+*** src/backend/commands/vacuumlazy.c 2003/09/25 06:57:59 1.32
+--- src/backend/commands/vacuumlazy.c 2003/11/09 23:40:13
+***************
+*** 88,93 ****
+--- 88,100 ----
+ static TransactionId OldestXmin;
+ static TransactionId FreezeLimit;
+
++ /*
++ * Variables for vacuum_group_delay option (in commands/vacuumlazy.c)
++ */
++ int vacuum_group_delay_size = 10; /* vacuum N pages */
++ int vacuum_group_delay_msec = 0; /* then sleep M msec */
++ int vacuum_group_delay_count = 0;
++
+
+ /* non-export function prototypes */
+ static void lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,
+***************
+*** 228,233 ****
+--- 235,249 ----
+
+ CHECK_FOR_INTERRUPTS();
+
++ if (vacuum_group_delay_msec > 0)
++ {
++ if (++vacuum_group_delay_count >= vacuum_group_delay_size)
++ {
++ PG_DELAY(vacuum_group_delay_msec);
++ vacuum_group_delay_count = 0;
++ }
++ }
++
+ /*
+ * If we are close to overrunning the available space for
+ * dead-tuple TIDs, pause and do a cycle of vacuuming before we
+***************
+*** 469,474 ****
+--- 485,499 ----
+
+ CHECK_FOR_INTERRUPTS();
+
++ if (vacuum_group_delay_msec > 0)
++ {
++ if (++vacuum_group_delay_count >= vacuum_group_delay_size)
++ {
++ PG_DELAY(vacuum_group_delay_msec);
++ vacuum_group_delay_count = 0;
++ }
++ }
++
+ tblk = ItemPointerGetBlockNumber(&vacrelstats->dead_tuples[tupindex]);
+ buf = ReadBuffer(onerel, tblk);
+ LockBufferForCleanup(buf);
+***************
+*** 799,804 ****
+--- 824,838 ----
+ hastup;
+
+ CHECK_FOR_INTERRUPTS();
++
++ if (vacuum_group_delay_msec > 0)
++ {
++ if (++vacuum_group_delay_count >= vacuum_group_delay_size)
++ {
++ PG_DELAY(vacuum_group_delay_msec);
++ vacuum_group_delay_count = 0;
++ }
++ }
+
+ blkno--;
+
+Index: src/backend/utils/misc/guc.c
+===================================================================
+RCS file: /home/pgsql/CvsRoot/pgsql-server/src/backend/utils/misc/guc.c,v
+retrieving revision 1.164.2.1
+diff -c -b -r1.164.2.1 guc.c
+*** src/backend/utils/misc/guc.c 2003/11/07 21:27:50 1.164.2.1
+--- src/backend/utils/misc/guc.c 2003/11/09 23:27:49
+***************
+*** 73,78 ****
+--- 73,80 ----
+ extern int CommitDelay;
+ extern int CommitSiblings;
+ extern char *preload_libraries_string;
++ extern int vacuum_group_delay_size;
++ extern int vacuum_group_delay_msec;
+
+ #ifdef HAVE_SYSLOG
+ extern char *Syslog_facility;
+***************
+*** 1188,1193 ****
+--- 1190,1213 ----
+ },
+ &log_min_duration_statement,
+ -1, -1, INT_MAX / 1000, NULL, NULL
++ },
++
++ {
++ {"vacuum_group_delay_msec", PGC_USERSET, RESOURCES,
++ gettext_noop("Sets VACUUM's delay in milliseconds between processing groups of pages."),
++ NULL
++ },
++ &vacuum_group_delay_msec,
++ 0, 0, 1000, NULL, NULL
++ },
++
++ {
++ {"vacuum_group_delay_size", PGC_USERSET, RESOURCES,
++ gettext_noop("Sets VACUUM's group size for the vacuum_group_delay_msec option."),
++ NULL
++ },
++ &vacuum_group_delay_size,
++ 10, 1, 1000, NULL, NULL
+ },
+
+ /* End-of-list marker */
+Index: src/backend/utils/misc/postgresql.conf.sample
+===================================================================
+RCS file: /home/pgsql/CvsRoot/pgsql-server/src/backend/utils/misc/postgresql.conf.sample,v
+retrieving revision 1.92
+diff -c -b -r1.92 postgresql.conf.sample
+*** src/backend/utils/misc/postgresql.conf.sample 2003/10/08 03:49:38 1.92
+--- src/backend/utils/misc/postgresql.conf.sample 2003/11/09 23:04:21
+***************
+*** 69,74 ****
+--- 69,79 ----
+ #max_files_per_process = 1000 # min 25
+ #preload_libraries = ''
+
++ # - Vacuum napping -
++
++ #vacuum_group_delay_size = 10 # range 1-1000 pages ; vacuum this many pages
++ #vacuum_group_delay_msec = 0 # range 0-1000 msec ; then nap this long
++
+
+ #---------------------------------------------------------------------------
+ # WRITE AHEAD LOG
+Index: src/include/miscadmin.h
+===================================================================
+RCS file: /home/pgsql/CvsRoot/pgsql-server/src/include/miscadmin.h,v
+retrieving revision 1.134
+diff -c -b -r1.134 miscadmin.h
+*** src/include/miscadmin.h 2003/09/24 18:54:01 1.134
+--- src/include/miscadmin.h 2003/11/09 23:02:03
+***************
+*** 96,101 ****
+--- 96,111 ----
+ CritSectionCount--; \
+ } while(0)
+
++ /*
++ * Macro using select(2) to nap for milliseconds
++ */
++ #define PG_DELAY(_msec) \
++ { \
++ struct timeval _delay; \
++ _delay.tv_sec = (_msec) / 1000; \
++ _delay.tv_usec = ((_msec) % 1000) * 1000; \
++ (void) select(0, NULL, NULL, NULL, &_delay);\
++ }
+
+ /*****************************************************************************
+ * globals.h -- *
diff --git a/dev-db/postgresql/files/postgresql-8.0.5-gentoo.patch b/dev-db/postgresql/files/postgresql-8.0.5-gentoo.patch
new file mode 100644
index 000000000000..d922fabed2e4
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-8.0.5-gentoo.patch
@@ -0,0 +1,39 @@
+diff -Naru postgresql-8.0.4.org/src/interfaces/Makefile postgresql-8.0.4/src/interfaces/Makefile
+--- postgresql-8.0.4.org/src/interfaces/Makefile 2004-04-20 01:33:51.000000000 +0100
++++ postgresql-8.0.4/src/interfaces/Makefile 2005-05-09 21:59:15.000000000 +0100
+@@ -12,7 +12,7 @@
+ top_builddir = ../..
+ include $(top_builddir)/src/Makefile.global
+
+-DIRS := libpq ecpg
++DIRS := ecpg
+
+ ALLDIRS := $(DIRS)
+
+diff -Naru postgresql-8.0.4.org/src/Makefile postgresql-8.0.4/src/Makefile
+--- postgresql-8.0.4.org/src/Makefile 2005-01-13 18:23:21.000000000 +0000
++++ postgresql-8.0.4/src/Makefile 2005-05-09 21:59:54.000000000 +0100
+@@ -18,7 +18,6 @@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+ $(MAKE) -C backend/utils/mb/conversion_procs $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -47,7 +46,6 @@
+ $(MAKE) -C port $@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -61,7 +59,6 @@
+ -$(MAKE) -C port $@
+ -$(MAKE) -C timezone $@
+ -$(MAKE) -C backend $@
+- -$(MAKE) -C include $@
+ -$(MAKE) -C interfaces $@
+ -$(MAKE) -C bin $@
+ -$(MAKE) -C pl $@
diff --git a/dev-db/postgresql/files/postgresql-8.0.5-sh.patch b/dev-db/postgresql/files/postgresql-8.0.5-sh.patch
new file mode 100644
index 000000000000..fc59d52af0e8
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-8.0.5-sh.patch
@@ -0,0 +1,34 @@
+--- src/include/storage/s_lock.h~ 2005-01-01 07:03:42.000000000 +0900
++++ src/include/storage/s_lock.h 2005-08-17 23:09:19.000000000 +0900
+@@ -239,6 +239,31 @@
+ #endif /* __s390__ || __s390x__ */
+
+
++#if defined(__sh__)
++#define HAS_TEST_AND_SET
++
++typedef unsigned char slock_t;
++
++#define TAS(lock) tas(lock)
++
++static __inline__ int
++tas(volatile slock_t *lock)
++{
++ register int _res = 1;
++
++ __asm__ __volatile__(
++ "tas.b @%1\n\t"
++ "movt %0\n\t"
++ "xor #1,%0"
++: "=z"(_res)
++: "r"(lock)
++: "t","memory");
++ return _res;
++}
++
++#endif /* __sh__ */
++
++
+ #if defined(__sparc__)
+ #define HAS_TEST_AND_SET
+
diff --git a/dev-db/postgresql/files/postgresql-8.1.1-gentoo.patch b/dev-db/postgresql/files/postgresql-8.1.1-gentoo.patch
new file mode 100644
index 000000000000..61ed82b0a9cf
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-8.1.1-gentoo.patch
@@ -0,0 +1,39 @@
+diff -Naru postgresql-8.1.1.org/src/interfaces/Makefile postgresql-8.1.1/src/interfaces/Makefile
+--- postgresql-8.1.1.org/src/interfaces/Makefile 2004-04-20 01:33:51.000000000 +0100
++++ postgresql-8.1.1/src/interfaces/Makefile 2005-05-09 21:59:15.000000000 +0100
+@@ -12,7 +12,7 @@
+ top_builddir = ../..
+ include $(top_builddir)/src/Makefile.global
+
+-DIRS := libpq ecpg
++DIRS := ecpg
+
+ ALLDIRS := $(DIRS)
+
+diff -Naru postgresql-8.1.1.org/src/Makefile postgresql-8.1.1/src/Makefile
+--- postgresql-8.1.1.org/src/Makefile 2005-01-13 18:23:21.000000000 +0000
++++ postgresql-8.1.1/src/Makefile 2005-05-09 21:59:54.000000000 +0100
+@@ -18,7 +18,6 @@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+ $(MAKE) -C backend/utils/mb/conversion_procs $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -47,7 +46,6 @@
+ $(MAKE) -C port $@
+ $(MAKE) -C timezone $@
+ $(MAKE) -C backend $@
+- $(MAKE) -C include $@
+ $(MAKE) -C interfaces $@
+ $(MAKE) -C bin $@
+ $(MAKE) -C pl $@
+@@ -61,7 +59,6 @@
+ -$(MAKE) -C port $@
+ -$(MAKE) -C timezone $@
+ -$(MAKE) -C backend $@
+- -$(MAKE) -C include $@
+ -$(MAKE) -C interfaces $@
+ -$(MAKE) -C bin $@
+ -$(MAKE) -C pl $@
diff --git a/dev-db/postgresql/files/postgresql-8.1.1-sh.patch b/dev-db/postgresql/files/postgresql-8.1.1-sh.patch
new file mode 100644
index 000000000000..fc59d52af0e8
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-8.1.1-sh.patch
@@ -0,0 +1,34 @@
+--- src/include/storage/s_lock.h~ 2005-01-01 07:03:42.000000000 +0900
++++ src/include/storage/s_lock.h 2005-08-17 23:09:19.000000000 +0900
+@@ -239,6 +239,31 @@
+ #endif /* __s390__ || __s390x__ */
+
+
++#if defined(__sh__)
++#define HAS_TEST_AND_SET
++
++typedef unsigned char slock_t;
++
++#define TAS(lock) tas(lock)
++
++static __inline__ int
++tas(volatile slock_t *lock)
++{
++ register int _res = 1;
++
++ __asm__ __volatile__(
++ "tas.b @%1\n\t"
++ "movt %0\n\t"
++ "xor #1,%0"
++: "=z"(_res)
++: "r"(lock)
++: "t","memory");
++ return _res;
++}
++
++#endif /* __sh__ */
++
++
+ #if defined(__sparc__)
+ #define HAS_TEST_AND_SET
+
diff --git a/dev-db/postgresql/files/postgresql.conf-7.4.10 b/dev-db/postgresql/files/postgresql.conf-7.4.10
new file mode 100644
index 000000000000..e8dab3e4c827
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.conf-7.4.10
@@ -0,0 +1,14 @@
+# PostgreSQL's Database Directory
+PGDATA=/var/lib/postgresql/data
+
+# Logfile path: (NOTE: This must be uid/gid owned by the value of $PGUSER!)
+PGLOG=/var/lib/postgresql/data/postgresql.log
+
+# Run the PostgreSQL user as:
+PGUSER=postgres
+
+# Extra options to run postmaster with.
+# If you want to enable TCP/IP for PostgreSQL, add -i to the following:
+# PGOPTS="-N 1024 -B 2048 -i"
+PGOPTS=""
+
diff --git a/dev-db/postgresql/files/postgresql.conf-8.0.5 b/dev-db/postgresql/files/postgresql.conf-8.0.5
new file mode 100644
index 000000000000..e8dab3e4c827
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.conf-8.0.5
@@ -0,0 +1,14 @@
+# PostgreSQL's Database Directory
+PGDATA=/var/lib/postgresql/data
+
+# Logfile path: (NOTE: This must be uid/gid owned by the value of $PGUSER!)
+PGLOG=/var/lib/postgresql/data/postgresql.log
+
+# Run the PostgreSQL user as:
+PGUSER=postgres
+
+# Extra options to run postmaster with.
+# If you want to enable TCP/IP for PostgreSQL, add -i to the following:
+# PGOPTS="-N 1024 -B 2048 -i"
+PGOPTS=""
+
diff --git a/dev-db/postgresql/files/postgresql.conf-8.1.1 b/dev-db/postgresql/files/postgresql.conf-8.1.1
new file mode 100644
index 000000000000..e8dab3e4c827
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.conf-8.1.1
@@ -0,0 +1,14 @@
+# PostgreSQL's Database Directory
+PGDATA=/var/lib/postgresql/data
+
+# Logfile path: (NOTE: This must be uid/gid owned by the value of $PGUSER!)
+PGLOG=/var/lib/postgresql/data/postgresql.log
+
+# Run the PostgreSQL user as:
+PGUSER=postgres
+
+# Extra options to run postmaster with.
+# If you want to enable TCP/IP for PostgreSQL, add -i to the following:
+# PGOPTS="-N 1024 -B 2048 -i"
+PGOPTS=""
+
diff --git a/dev-db/postgresql/files/postgresql.init-7.3.12 b/dev-db/postgresql/files/postgresql.init-7.3.12
new file mode 100644
index 000000000000..7cc68d4e13a6
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.init-7.3.12
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-7.3.12,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+opts="${opts} reload"
+
+depend() {
+ use net
+}
+
+checkconfig() {
+ if [ ! -d $PGDATA ]; then
+ eerror "directory not found: $PGDATA"
+ eerror "You should create PGDATA directory first."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+ if [ -f $PGDATA/postmaster.pid ]; then
+ rm $PGDATA/postmaster.pid
+ fi
+ su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'"
+
+ while :
+ do
+ cnt=$(($cnt + 1))
+ if [ -f "$PGDATA/postmaster.pid" ]; then
+ ret=0
+ break
+ fi
+
+ if [ $cnt -eq 30 ]; then
+ eerror "Please see log file: $PGLOG"
+ ret=1
+ break
+ fi
+ sleep 1
+ done
+ eend $ret
+}
+
+stop() {
+ ebegin "Stopping PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast"
+ eend $?
+}
+
+svc_restart() {
+ ebegin "Restarting PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s"
+ eend $?
+}
diff --git a/dev-db/postgresql/files/postgresql.init-7.4.10 b/dev-db/postgresql/files/postgresql.init-7.4.10
new file mode 100644
index 000000000000..77cf7a3b792d
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.init-7.4.10
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-7.4.10,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+opts="${opts} reload"
+
+depend() {
+ use net
+}
+
+checkconfig() {
+ if [ ! -d $PGDATA ]; then
+ eerror "directory not found: $PGDATA"
+ eerror "You should create PGDATA directory first."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+ if [ -f $PGDATA/postmaster.pid ]; then
+ rm $PGDATA/postmaster.pid
+ fi
+ su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'"
+
+ while :
+ do
+ cnt=$(($cnt + 1))
+ if [ -f "$PGDATA/postmaster.pid" ]; then
+ ret=0
+ break
+ fi
+
+ if [ $cnt -eq 30 ]; then
+ eerror "Please see log file: $PGLOG"
+ ret=1
+ break
+ fi
+ sleep 1
+ done
+ eend $ret
+}
+
+stop() {
+ ebegin "Stopping PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast"
+ eend $?
+}
+
+svc_restart() {
+ ebegin "Restarting PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s"
+ eend $?
+}
diff --git a/dev-db/postgresql/files/postgresql.init-8.0.5 b/dev-db/postgresql/files/postgresql.init-8.0.5
new file mode 100644
index 000000000000..e4df6a3a9846
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.init-8.0.5
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-8.0.5,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+opts="${opts} reload"
+
+depend() {
+ use net
+}
+
+checkconfig() {
+ if [ ! -d $PGDATA ]; then
+ eerror "directory not found: $PGDATA"
+ eerror "You should create PGDATA directory first."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+ if [ -f $PGDATA/postmaster.pid ]; then
+ rm $PGDATA/postmaster.pid
+ fi
+ su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'"
+
+ while :
+ do
+ cnt=$(($cnt + 1))
+ if [ -f "$PGDATA/postmaster.pid" ]; then
+ ret=0
+ break
+ fi
+
+ if [ $cnt -eq 30 ]; then
+ eerror "Please see log file: $PGLOG"
+ ret=1
+ break
+ fi
+ sleep 1
+ done
+ eend $ret
+}
+
+stop() {
+ ebegin "Stopping PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast"
+ eend $?
+}
+
+svc_restart() {
+ ebegin "Restarting PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s"
+ eend $?
+}
diff --git a/dev-db/postgresql/files/postgresql.init-8.1.1 b/dev-db/postgresql/files/postgresql.init-8.1.1
new file mode 100644
index 000000000000..e682977c5d54
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql.init-8.1.1
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-8.1.1,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+opts="${opts} reload"
+
+depend() {
+ use net
+}
+
+checkconfig() {
+ if [ ! -d $PGDATA ]; then
+ eerror "directory not found: $PGDATA"
+ eerror "You should create PGDATA directory first."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+ if [ -f $PGDATA/postmaster.pid ]; then
+ rm $PGDATA/postmaster.pid
+ fi
+ su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'"
+
+ while :
+ do
+ cnt=$(($cnt + 1))
+ if [ -f "$PGDATA/postmaster.pid" ]; then
+ ret=0
+ break
+ fi
+
+ if [ $cnt -eq 30 ]; then
+ eerror "Please see log file: $PGLOG"
+ ret=1
+ break
+ fi
+ sleep 1
+ done
+ eend $ret
+}
+
+stop() {
+ ebegin "Stopping PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast"
+ eend $?
+}
+
+svc_restart() {
+ ebegin "Restarting PostgreSQL"
+ su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s"
+ eend $?
+}
diff --git a/dev-db/postgresql/postgresql-7.3.12.ebuild b/dev-db/postgresql/postgresql-7.3.12.ebuild
new file mode 100644
index 000000000000..2872719fbf6b
--- /dev/null
+++ b/dev-db/postgresql/postgresql-7.3.12.ebuild
@@ -0,0 +1,242 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.12.ebuild,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+inherit eutils gnuconfig flag-o-matic java-pkg
+
+DESCRIPTION="sophisticated Object-Relational DBMS"
+
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
+ mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
+ doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86"
+IUSE="doc java libg++ nls pam perl python readline ssl tcltk zlib threads selinux"
+
+DEPEND="virtual/libc
+ =dev-db/libpq-7.3.12*
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ readline? ( >=sys-libs/readline-4.1 )
+ tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ java? ( >=virtual/jdk-1.3 >=dev-java/ant-1.3
+ dev-java/java-config )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ nls? ( sys-devel/gettext )"
+# java dep workaround for portage bug
+# x86? ( java? ( =dev-java/sun-jdk-1.3* >=dev-java/ant-1.3 ) )
+RDEPEND="virtual/libc
+ =dev-db/libpq-7.3.12*
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ tcltk? ( >=dev-lang/tcl-8 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 )
+ java? ( >=virtual/jdk-1.3 )
+ selinux? ( sec-policy/selinux-postgresql )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )"
+
+PG_DIR="/var/lib/postgresql"
+
+pkg_setup() {
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 3 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases, you must"
+ eerror "use pg_dump to export your existing databases to a file, and then"
+ eerror "pg_restore to import them when you have upgraded completely."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ fi
+ fi
+ enewgroup postgres 70 \
+ || die "problem adding group postgres"
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres \
+ || die "problem adding user postgres"
+}
+
+check_java_config() {
+ JDKHOME="`java-config --jdk-home`"
+ if [[ -z "${JDKHOME}" || ! -d "${JDKHOME}" ]]; then
+ NOJDKERROR="You need to use java-config to set your JVM to a JDK!"
+ eerror "${NOJDKERROR}"
+ die "${NOJDKERROR}"
+ fi
+}
+
+src_unpack() {
+ unpack ${A} || die
+ epatch ${FILESDIR}/${P}-gentoo.patch
+}
+
+src_compile() {
+ filter-flags -ffast-math
+
+ if use java; then
+ check_java_config
+ fi
+
+ local myconf
+ use tcltk && myconf="--with-tcl"
+ use python && myconf="$myconf --with-python"
+ use perl && myconf="$myconf --with-perl"
+ use java && myconf="$myconf --with-java"
+ use ssl && myconf="$myconf --with-openssl"
+ use nls && myconf="$myconf --enable-nls"
+ use libg++ && myconf="$myconf --with-CXX"
+ use pam && myconf="$myconf --with-pam"
+ use readline || myconf="$myconf --without-readline"
+ use zlib || myconf="$myconf --without-zlib"
+ use threads && myconf="$myconf --enable-thread-safety"
+
+ # these are the only working CFLAGS I could get on ppc, so locking them
+ # down, anything more aggressive fails (i.e. -mcpu or -Ox)
+ # Gerk - Nov 26, 2002
+ use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # Detect mips systems properly
+ gnuconfig_update
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/lib \
+ --includedir=/usr/include/postgresql/pgsql \
+ --enable-depend \
+ --with-maxbackends=1024 \
+ $myconf || die
+
+ make || die
+ cd contrib
+ make || die
+}
+
+src_install() {
+ if use perl; then
+ mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
+ sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
+ ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
+ mv ${S}/src/pl/plperl/GNUmakefile ${S}/src/pl/plperl/GNUmakefile_orig
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ ${S}/src/pl/plperl/GNUmakefile_orig > ${S}/src/pl/plperl/GNUmakefile
+ fi
+
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal LIBDIR=${D}/usr/lib install || die
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal install-all-headers || die
+ cd ${S}/contrib
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ cd ${S}
+ dodoc COPYRIGHT HISTORY INSTALL README register.txt
+ dodoc contrib/adddepend/*
+
+ if use java; then
+ # we need to remove jar file after dojar; otherwise two same jar
+ # file are installed.
+ java-pkg_dojar ${D}/usr/share/postgresql/java/postgresql.jar
+ rm ${D}/usr/share/postgresql/java/postgresql.jar
+ fi
+
+ # backward compatibility
+ for i in ${D}/usr/include/postgresql/pgsql/*
+ do
+ ln -s ${i} ${D}/usr/include/
+ done
+
+ cd ${S}/doc
+ dodoc FAQ* README.* TODO bug.template
+ if use doc; then
+ cd ${S}/doc
+ docinto FAQ_html || die
+ dodoc src/FAQ/* || die
+ docinto sgml || die
+ dodoc src/sgml/*.{sgml,dsl} || die
+ docinto sgml/ref || die
+ dodoc src/sgml/ref/*.sgml || die
+ docinto TODO.detail || die
+ dodoc TODO.detail/* || die
+ fi
+
+ cd ${S}
+ exeinto /etc/init.d/
+ newexe ${FILESDIR}/postgresql.init-${PV} postgresql || die
+
+ insinto /etc/conf.d/
+ newins ${FILESDIR}/postgresql.conf postgresql || die
+
+ keepdir /var/lib/postgresql
+}
+
+pkg_postinst() {
+ einfo "Execute the following command"
+ einfo "emerge --config =${PF}"
+ einfo "to setup the initial database environment."
+ einfo ""
+ einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
+}
+
+pkg_config() {
+ einfo "Creating the data directory ..."
+ mkdir -p ${PG_DIR}/data
+ chown -Rf postgres:postgres ${PG_DIR}
+ chmod 700 ${PG_DIR}/data
+
+ einfo "Initializing the database ..."
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 3 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ else
+ einfon "A postgres data directory already exists from version "; cat ${PG_DIR}/data/PG_VERSION
+ einfo "Read the documentation to check how to upgrade to version ${PV}."
+ fi
+ else
+ # On hppa, postgresql need way more than the default sem index and shmmax
+ if [ "${ARCH}" = "hppa" ]; then
+ SEM_IDX_MIN=1024
+ SHMMAX_MIN=100000000
+ SEM_IDX=`sysctl kernel.sem | awk '{ print $6 }'`
+ if [ $SEM_IDX -lt ${SEM_IDX_MIN} ]; then
+ eerror "The last value of /proc/sys/kernel/sem is too low for postgresql to run"
+ eerror "Temporary setting this value to ${SEM_IDX_MIN} while creating the initial database."
+ cat /proc/sys/kernel/sem | sed -e "s/\t${SEM_IDX}/\t${SEM_IDX_MIN}/" > /proc/sys/kernel/sem
+ fi
+ fi
+ su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
+
+ if [ "${ARCH}" = "hppa" ]; then
+ if [ ! `sysctl kernel.sem | awk '{ print $6 }'` -eq ${SEM_IDX} ] ; then
+ cat /proc/sys/kernel/sem | sed -e "s/\t${SEM_IDX_MIN}/\t${SEM_IDX}/" > /proc/sys/kernel/sem
+ ewarn "Restoring the sem idx value to the previous value"
+ ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
+ ewarn "and set it to at least ${SEM_IDX_MIN}"
+ fi
+
+ if [ `sysctl kernel.shmmax | awk '{ print $3 }'` -lt ${SHMMAX_MIN} ]; then
+ eerror "The current value of /proc/sys/kernel/shmmax is too low"
+ eerror "for postgresql to run. Please edit /etc/sysctl.conf and set"
+ eerror "this value to at least ${SHMMAX_MIN}."
+
+ fi
+ fi
+
+ einfo "If you are upgrading from a pre-7.3 version of PostgreSQL, please read"
+ einfo "the README.adddepend file for information on how to properly migrate"
+ einfo "all serial columns, unique keys and foreign keys to this version."
+
+ einfo ""
+ einfo "You can use /etc/init.d/postgresql script to run PostgreSQL instead of pg_ctl."
+ einfo ""
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-7.4.10.ebuild b/dev-db/postgresql/postgresql-7.4.10.ebuild
new file mode 100644
index 000000000000..eb2a817bb22d
--- /dev/null
+++ b/dev-db/postgresql/postgresql-7.4.10.ebuild
@@ -0,0 +1,311 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4.10.ebuild,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+inherit eutils gnuconfig flag-o-matic java-pkg multilib toolchain-funcs
+
+DESCRIPTION="sophisticated Object-Relational DBMS."
+HOMEPAGE="http://www.postgresql.org/"
+P_HIERPG="hier-Pg7.4-0.5.3"
+SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
+ mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
+ doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )
+ pg-hier? ( ftp://gborg.postgresql.org/pub/hierpg/stable/${P_HIERPG}.tar.gz )"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="ssl nls java python tcltk perl libg++ pam readline zlib doc pg-hier pg-vacuumdelay pg-intdatetime threads xml2 selinux"
+
+DEPEND="virtual/libc
+ =dev-db/libpq-7.4.10*
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2
+ >=sys-devel/bison-1.875
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ readline? ( >=sys-libs/readline-4.1 )
+ tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ java? ( >=virtual/jdk-1.3 >=dev-java/ant-1.3
+ dev-java/java-config )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ nls? ( sys-devel/gettext )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt dev-util/pkgconfig )"
+# java dep workaround for portage bug
+# x86? ( java? ( =dev-java/sun-jdk-1.3* >=dev-java/ant-1.3 ) )
+RDEPEND="virtual/libc
+ =dev-db/libpq-7.4.10*
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ tcltk? ( >=dev-lang/tcl-8 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 )
+ java? ( >=virtual/jdk-1.3 )
+ selinux? ( sec-policy/selinux-postgresql )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt )"
+
+PG_DIR="/var/lib/postgresql"
+MAX_CONNECTIONS=1024
+
+pkg_setup() {
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 4 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases, you must"
+ eerror "use pg_dump to export your existing databases to a file, and then"
+ eerror "pg_restore to import them when you have upgraded completely."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ fi
+ fi
+ enewgroup postgres 70 \
+ || die "problem adding group postgres"
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres \
+ || die "problem adding user postgres"
+}
+
+check_java_config() {
+ JDKHOME="`java-config --jdk-home`"
+ if [[ -z "${JDKHOME}" || ! -d "${JDKHOME}" ]]; then
+ NOJDKERROR="You need to use java-config to set your JVM to a JDK!"
+ eerror "${NOJDKERROR}"
+ die "${NOJDKERROR}"
+ fi
+}
+
+src_unpack() {
+ unpack ${A} || die
+ epatch ${FILESDIR}/${P}-gentoo.patch
+
+ if use pg-hier; then
+ cd ${S} || die
+ epatch ${WORKDIR}/${P_HIERPG}.diff
+ fi
+
+ if use pg-vacuumdelay; then
+ cd ${S} || die
+ epatch ${FILESDIR}/${P}-vacuum-delay.patch
+ fi
+
+ if [ "${ARCH}" = "hppa" ]
+ then
+ cd ${S}
+ epatch ${FILESDIR}/${P}-hppa-testandset.patch
+ fi
+}
+
+src_compile() {
+ filter-flags -ffast-math
+
+ if use java; then
+ check_java_config
+ fi
+
+ local myconf
+ use tcltk && myconf="--with-tcl"
+ use python && myconf="$myconf --with-python"
+ use perl && myconf="$myconf --with-perl"
+ use java && myconf="$myconf --with-java"
+ use ssl && myconf="$myconf --with-openssl"
+ use nls && myconf="$myconf --enable-nls"
+ use libg++ && myconf="$myconf --with-CXX"
+ use pam && myconf="$myconf --with-pam"
+ use readline || myconf="$myconf --without-readline"
+ use zlib || myconf="$myconf --without-zlib"
+ use pg-intdatetime && myconf="$myconf --enable-integer-datetimes"
+ use threads && myconf="$myconf --enable-thread-safety"
+
+ # these are the only working CFLAGS I could get on ppc, so locking them
+ # down, anything more aggressive fails (i.e. -mcpu or -Ox)
+ # Gerk - Nov 26, 2002
+ use ppc && CFLAGS="-pipe -fsigned-char"
+ use xml2 && CFLAGS="${CFLAGS} $(pkg-config --cflags libxml-2.0)"
+ use xml2 && LIBS="${LIBS} $(pkg-config --libs libxml-2.0)"
+
+ # Detect mips systems properly
+ gnuconfig_update
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/$(get_libdir) \
+ --includedir=/usr/include/postgresql/pgsql \
+ --enable-depend \
+ --with-maxbackends=${MAX_CONNECTIONS} \
+ $myconf || die
+
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ cd contrib
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ if use xml2; then
+ make -C xml LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ fi
+}
+
+src_install() {
+ if use perl; then
+ mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
+ sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
+ ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
+ mv ${S}/src/pl/plperl/GNUmakefile ${S}/src/pl/plperl/GNUmakefile_orig
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ ${S}/src/pl/plperl/GNUmakefile_orig > ${S}/src/pl/plperl/GNUmakefile
+ fi
+
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal LIBDIR=${D}/usr/lib install || die
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal install-all-headers || die
+ cd ${S}/contrib
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ if use xml2; then
+ make -C xml DESTDIR=${D} IBDIR=${D}/usr/lib install || die
+ fi
+ cd ${S}
+ if use pg-hier; then
+ dodoc ${WORKDIR}/README-${P_HIERPG}.html || die
+ fi
+ dodoc README HISTORY COPYRIGHT INSTALL
+ dodoc contrib/adddepend/*
+
+ exeinto /usr/bin
+
+ if use java; then
+ # we need to remove jar file after dojar; otherwise two same jar
+ # file are installed.
+ java-pkg_dojar ${D}/usr/share/postgresql/java/postgresql.jar || die
+ rm ${D}/usr/share/postgresql/java/postgresql.jar
+ java-pkg_dojar ${D}/usr/share/postgresql/java/postgresql-examples.jar || die
+ rm ${D}/usr/share/postgresql/java/postgresql-examples.jar
+ fi
+
+ # backward compatibility
+ for i in ${D}/usr/include/postgresql/pgsql/*
+ do
+ ln -s ${i} ${D}/usr/include/
+ done
+
+ cd ${S}/doc
+ dodoc FAQ* README.* TODO bug.template
+ if use doc; then
+ cd ${S}/doc
+ docinto FAQ_html || die
+ dodoc src/FAQ/* || die
+ docinto sgml || die
+ dodoc src/sgml/*.{sgml,dsl} || die
+ docinto sgml/ref || die
+ dodoc src/sgml/ref/*.sgml || die
+ docinto TODO.detail || die
+ dodoc TODO.detail/* || die
+ fi
+
+ cd ${S}
+ exeinto /etc/init.d/
+ newexe ${FILESDIR}/postgresql.init-${PV} postgresql || die
+ newexe ${FILESDIR}/pg_autovacuum.init-${PV} pg_autovacuum || die
+ dosed "s:___DOCDIR___:/usr/share/doc/${PF}:" /etc/init.d/pg_autovacuum
+
+ insinto /etc/conf.d/
+ newins ${FILESDIR}/postgresql.conf-${PV} postgresql || die
+ newins ${FILESDIR}/pg_autovacuum.conf-${PV} pg_autovacuum || die
+}
+
+pkg_postinst() {
+ einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
+
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -eq 4 ] ; then
+ ewarn ""
+ ewarn "If you are upgrading from PostgreSQL 7.4 or 7.4.1, it is strongly recommended"
+ ewarn "that you read the release notes concerning changes to the system catalogs."
+ ewarn "You can run 7.4.2 without rerunning initdb, however you may still experience"
+ ewarn "random crashes due to an error in pg_statistic."
+ ewarn ""
+ ewarn "If you prefer not to re-initdb your installation, the release notes contain"
+ ewarn "a procedure for manually correcting the problem."
+ ewarn ""
+ fi
+
+ if use pg-hier; then
+ ewarn ""
+ ewarn "REQUIRED!! After installing patched PostgreSQL by pg-hier"
+ ewarn "it is required to run 'initdb'. Without this Pg will fail "
+ ewarn "with error "
+ ewarn "ERROR: did not find '}' at end of input node. "
+ ewarn ""
+ fi
+ else
+ einfo ""
+ einfo "Execute the following command"
+ einfo "emerge --config =${PF}"
+ einfo "to setup the initial database environment."
+ einfo ""
+ fi
+
+ einfo ""
+ einfo "Python modules was removed from PostgreSQL package."
+ einfo "If you need it, please run \"emerge dev-db/pygresql\"."
+ einfo ""
+}
+
+pkg_config() {
+ einfo "Creating the data directory ..."
+ mkdir -p ${PG_DIR}/data
+ chown -Rf postgres:postgres ${PG_DIR}
+ chmod 700 ${PG_DIR}/data
+
+ einfo "Initializing the database ..."
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 3 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ else
+ einfon "A postgres data directory already exists from version "; cat ${PG_DIR}/data/PG_VERSION
+ einfo "Read the documentation to check how to upgrade to version ${PV}."
+ fi
+ else
+ local SEM=`sysctl -n kernel.sem | cut -f-3`
+ local SEMMNI=`sysctl -n kernel.sem | cut -f4`
+ local SEMMNI_MIN=`expr \( ${MAX_CONNECTIONS} + 15 \) / 16`
+ local SHMMAX=`sysctl -n kernel.shmmax`
+ local SHMMAX_MIN=`expr 250000 + 30600 \* ${MAX_CONNECTIONS}`
+
+ if [ ${SEMMNI} -lt ${SEMMNI_MIN} ]; then
+ eerror "The current value of SEMMNI is too low"
+ eerror "for postgresql to run ${MAX_CONNECTIONS} connections"
+ eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
+ echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
+ fi
+ su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
+
+ if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
+ echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
+ ewarn "Restoring the SEMMNI value to the previous value"
+ ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
+ ewarn "and set it to at least ${SEMMNI_MIN}"
+ ewarn ""
+ ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
+ ewarn ""
+ fi
+
+ if [ ${SHMMAX} -lt ${SHMMAX_MIN} ]; then
+ eerror "The current value of SHMMAX is too low for postgresql to run."
+ eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}."
+ eerror ""
+ eerror " kernel.shmmax = ${SHMMAX_MIN}"
+ eerror ""
+
+ fi
+ einfo ""
+ einfo "You can use /etc/init.d/postgresql script to run PostgreSQL instead of pg_ctl."
+ einfo ""
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-8.0.5.ebuild b/dev-db/postgresql/postgresql-8.0.5.ebuild
new file mode 100644
index 000000000000..3542c56be82a
--- /dev/null
+++ b/dev-db/postgresql/postgresql-8.0.5.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.0.5.ebuild,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+inherit eutils gnuconfig flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="sophisticated Object-Relational DBMS."
+HOMEPAGE="http://www.postgresql.org/"
+P_HIERPG="hier-Pg8.0.1-0.5.4"
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${MY_PV}.tar.bz2
+ mirror://postgresql/source/v${PV}/${PN}-opt-${MY_PV}.tar.bz2
+ doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${MY_PV}.tar.bz2 )
+ pg-hier? ( http://gppl.moonbone.ru/${P_HIERPG}.diff.gz )"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ssl nls python tcltk perl libg++ pam readline xml2 zlib doc selinux kerberos pg-intdatetime pg-hier"
+
+S=${WORKDIR}/${MY_P}
+DEPEND="virtual/libc
+ =dev-db/libpq-8.0.5*
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2
+ >=sys-devel/bison-1.875
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ readline? ( >=sys-libs/readline-4.1 )
+ tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt dev-util/pkgconfig )
+ nls? ( sys-devel/gettext )
+ kerberos? ( virtual/krb5 )"
+RDEPEND="virtual/libc
+ =dev-db/libpq-8.0.5*
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ tcltk? ( >=dev-lang/tcl-8 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 )
+ selinux? ( sec-policy/selinux-postgresql )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt )
+ kerberos? ( virtual/krb5 )"
+
+PG_DIR="/var/lib/postgresql"
+
+pkg_setup() {
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 8 ] || [ ${PG_MAJOR} -eq 8 -a ${PG_MINOR} -lt 0 ] ; then
+ eerror "Postgres ${MY_PV} cannot upgrade your existing databases, you must"
+ eerror "use pg_dump to export your existing databases to a file, and then"
+ eerror "pg_restore to import them when you have upgraded completely."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ fi
+ fi
+ enewgroup postgres 70 \
+ || die "problem adding group postgres"
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres \
+ || die "problem adding user postgres"
+}
+
+src_unpack() {
+ unpack ${A} || die
+ cd ${S}
+ use pg-hier && epatch ${WORKDIR}/${P_HIERPG}.diff
+ epatch ${FILESDIR}/${P}-gentoo.patch
+ epatch ${FILESDIR}/${P}-sh.patch
+}
+
+src_compile() {
+ filter-flags -ffast-math -feliminate-dwarf2-dups
+
+ local myconf
+ use tcltk && myconf="--with-tcl"
+ use python && myconf="$myconf --with-python"
+ use perl && myconf="$myconf --with-perl"
+ use ssl && myconf="$myconf --with-openssl"
+ use nls && myconf="$myconf --enable-nls"
+ use libg++ && myconf="$myconf --with-CXX"
+ use pam && myconf="$myconf --with-pam"
+ use readline || myconf="$myconf --without-readline"
+ use zlib || myconf="$myconf --without-zlib"
+ use kerberos && myconf="$myconf --with-krb5"
+ use pg-intdatetime && myconf="$myconf --enable-integer-datetimes"
+
+ # these are the only working CFLAGS I could get on ppc, so locking them
+ # down, anything more aggressive fails (i.e. -mcpu or -Ox)
+ # Gerk - Nov 26, 2002
+ use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # Detect mips systems properly
+ gnuconfig_update
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --with-docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/$(get_libdir) \
+ --enable-depend \
+ $myconf || die
+
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ cd contrib
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ if use xml2; then
+ cd xml2
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ fi
+}
+
+src_install() {
+ if use perl; then
+ mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
+ sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
+ ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
+ mv ${S}/src/pl/plperl/GNUmakefile ${S}/src/pl/plperl/GNUmakefile_orig
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ ${S}/src/pl/plperl/GNUmakefile_orig > ${S}/src/pl/plperl/GNUmakefile
+ fi
+
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+# make DESTDIR=${D} install-all-headers || die
+ cd ${S}/contrib
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ if use xml2; then
+ cd ${S}/contrib/xml2
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ fi
+ cd ${S}
+ dodoc README HISTORY COPYRIGHT INSTALL
+ dodoc contrib/adddepend/*
+
+ exeinto /usr/bin
+
+ cd ${S}/doc
+ dodoc FAQ* README.* TODO bug.template
+ if use doc; then
+ cd ${S}/doc
+ docinto FAQ_html || die
+ dodoc src/FAQ/* || die
+ docinto sgml || die
+ dodoc src/sgml/*.{sgml,dsl} || die
+ docinto sgml/ref || die
+ dodoc src/sgml/ref/*.sgml || die
+ docinto TODO.detail || die
+ dodoc TODO.detail/* || die
+ fi
+
+ cd ${S}
+ exeinto /etc/init.d/
+ newexe ${FILESDIR}/postgresql.init-${PV} postgresql || die
+ newexe ${FILESDIR}/pg_autovacuum.init-${PV} pg_autovacuum || die
+ dosed "s:___DOCDIR___:/usr/share/doc/${PF}:" /etc/init.d/pg_autovacuum
+
+ insinto /etc/conf.d/
+ newins ${FILESDIR}/postgresql.conf-${PV} postgresql || die
+ newins ${FILESDIR}/pg_autovacuum.conf-${PV} pg_autovacuum || die
+
+ rm ${D}/usr/include/postgres_ext.h
+}
+
+pkg_postinst() {
+ einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
+
+ if [ ! -f ${PG_DIR}/data/PG_VERSION ] ; then
+ einfo ""
+ einfo "Execute the following command"
+ einfo "emerge --config =${PF}"
+ einfo "to setup the initial database environment."
+ einfo ""
+ fi
+}
+
+pkg_config() {
+ einfo "Creating the data directory ..."
+ mkdir -p ${PG_DIR}/data
+ chown -Rf postgres:postgres ${PG_DIR}
+ chmod 700 ${PG_DIR}/data
+
+ einfo "Initializing the database ..."
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ eerror "Postgres ${MY_PV} cannot upgrade your existing databases."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ else
+ local SEM=`sysctl -n kernel.sem | cut -f-3`
+ local SEMMNI=`sysctl -n kernel.sem | cut -f4`
+ local SEMMNI_MIN=`expr \( ${MAX_CONNECTIONS} + 15 \) / 16`
+ local SHMMAX=`sysctl -n kernel.shmmax`
+ local SHMMAX_MIN=`expr 250000 + 8200 \* 1000 + 14200 \* 100`
+
+ if [ ${SEMMNI} -lt ${SEMMNI_MIN} ]; then
+ eerror "The current value of SEMMNI is too low"
+ eerror "for postgresql to run ${MAX_CONNECTIONS} connections"
+ eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
+ echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
+ fi
+ su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
+
+ if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
+ echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
+ ewarn "Restoring the SEMMNI value to the previous value"
+ ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
+ ewarn "and set it to at least ${SEMMNI_MIN}"
+ ewarn ""
+ ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
+ ewarn ""
+ fi
+
+ if [ ${SHMMAX} -lt ${SHMMAX_MIN} ]; then
+ eerror "The current value of SHMMAX is too low for postgresql to run."
+ eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}."
+ eerror ""
+ eerror " kernel.shmmax = ${SHMMAX_MIN}"
+ eerror ""
+
+ fi
+ einfo ""
+ einfo "You can use /etc/init.d/postgresql script to run PostgreSQL instead of pg_ctl."
+ einfo ""
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-8.1.1.ebuild b/dev-db/postgresql/postgresql-8.1.1.ebuild
new file mode 100644
index 000000000000..66315887b9ed
--- /dev/null
+++ b/dev-db/postgresql/postgresql-8.1.1.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.1.1.ebuild,v 1.1 2005/12/25 11:32:46 nakano Exp $
+
+inherit eutils gnuconfig flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="sophisticated Object-Relational DBMS."
+HOMEPAGE="http://www.postgresql.org/"
+#P_HIERPG="hier-Pg8.0.1-0.5.4"
+SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
+ mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
+ doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )"
+# pg-hier? ( http://gppl.moonbone.ru/${P_HIERPG}.diff.gz )"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+#IUSE="ssl nls python tcltk perl libg++ pam readline xml2 zlib doc selinux kerberos pg-intdatetime pg-hier"
+IUSE="ssl nls python tcltk perl libg++ pam readline xml2 zlib doc selinux kerberos pg-intdatetime"
+
+DEPEND="virtual/libc
+ =dev-db/libpq-8.1.1*
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2
+ >=sys-devel/bison-1.875
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ readline? ( >=sys-libs/readline-4.1 )
+ tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt dev-util/pkgconfig )
+ nls? ( sys-devel/gettext )
+ kerberos? ( virtual/krb5 )"
+RDEPEND="virtual/libc
+ =dev-db/libpq-8.1.1*
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ tcltk? ( >=dev-lang/tcl-8 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 )
+ selinux? ( sec-policy/selinux-postgresql )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ xml2? ( dev-libs/libxml2 dev-libs/libxslt )
+ kerberos? ( virtual/krb5 )"
+
+PG_DIR="/var/lib/postgresql"
+
+pkg_setup() {
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 8 ] || [ ${PG_MAJOR} -eq 8 -a ${PG_MINOR} -lt 1 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases, you must"
+ eerror "use pg_dump to export your existing databases to a file, and then"
+ eerror "pg_restore to import them when you have upgraded completely."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ fi
+ fi
+ enewgroup postgres 70 \
+ || die "problem adding group postgres"
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres \
+ || die "problem adding user postgres"
+}
+
+src_unpack() {
+ unpack ${A} || die
+ cd ${S}
+# use pg-hier && epatch ${WORKDIR}/${P_HIERPG}.diff
+ epatch ${FILESDIR}/${P}-gentoo.patch
+ epatch ${FILESDIR}/${P}-sh.patch
+}
+
+src_compile() {
+ filter-flags -ffast-math -feliminate-dwarf2-dups
+
+ local myconf
+ use tcltk && myconf="--with-tcl"
+ use python && myconf="$myconf --with-python"
+ use perl && myconf="$myconf --with-perl"
+ use ssl && myconf="$myconf --with-openssl"
+ use nls && myconf="$myconf --enable-nls"
+ use libg++ && myconf="$myconf --with-CXX"
+ use pam && myconf="$myconf --with-pam"
+ use readline || myconf="$myconf --without-readline"
+ use zlib || myconf="$myconf --without-zlib"
+ use kerberos && myconf="$myconf --with-krb5"
+ use pg-intdatetime && myconf="$myconf --enable-integer-datetimes"
+
+ # these are the only working CFLAGS I could get on ppc, so locking them
+ # down, anything more aggressive fails (i.e. -mcpu or -Ox)
+ # Gerk - Nov 26, 2002
+ use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # Detect mips systems properly
+ gnuconfig_update
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --with-docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/$(get_libdir) \
+ --enable-depend \
+ $myconf || die
+
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ cd contrib
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ if use xml2; then
+ cd xml2
+ make LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die
+ fi
+}
+
+src_install() {
+ if use perl; then
+ mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
+ sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
+ ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
+ mv ${S}/src/pl/plperl/GNUmakefile ${S}/src/pl/plperl/GNUmakefile_orig
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ ${S}/src/pl/plperl/GNUmakefile_orig > ${S}/src/pl/plperl/GNUmakefile
+ fi
+
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+# make DESTDIR=${D} install-all-headers || die
+ cd ${S}/contrib
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ if use xml2; then
+ cd ${S}/contrib/xml2
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ fi
+ cd ${S}
+ dodoc README HISTORY COPYRIGHT INSTALL
+ dodoc contrib/adddepend/*
+
+ exeinto /usr/bin
+
+ cd ${S}/doc
+ dodoc FAQ* README.* TODO bug.template
+ if use doc; then
+ cd ${S}/doc
+ docinto FAQ_html || die
+ dodoc src/FAQ/* || die
+ docinto sgml || die
+ dodoc src/sgml/*.{sgml,dsl} || die
+ docinto sgml/ref || die
+ dodoc src/sgml/ref/*.sgml || die
+ docinto TODO.detail || die
+ dodoc TODO.detail/* || die
+ fi
+
+ cd ${S}
+ exeinto /etc/init.d/
+ newexe ${FILESDIR}/postgresql.init-${PV} postgresql || die
+
+ insinto /etc/conf.d/
+ newins ${FILESDIR}/postgresql.conf-${PV} postgresql || die
+
+ rm ${D}/usr/include/postgres_ext.h
+}
+
+pkg_postinst() {
+ einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
+
+ einfo ""
+ einfo "Execute the following command when you want to setup the initial database environment."
+ einfo "emerge --config =${PF}"
+ einfo ""
+ einfo "autovacuum function, which was in contrib, has moved to main PostgreSQL function from 8.1."
+ einfo "You can enable it in postgresql.conf."
+ einfo ""
+}
+
+pkg_config() {
+ einfo "Creating the data directory ..."
+ mkdir -p ${PG_DIR}/data
+ chown -Rf postgres:postgres ${PG_DIR}
+ chmod 700 ${PG_DIR}/data
+
+ einfo "Initializing the database ..."
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ else
+ local SEM=`sysctl -n kernel.sem | cut -f-3`
+ local SEMMNI=`sysctl -n kernel.sem | cut -f4`
+ local SEMMNI_MIN=`expr \( ${MAX_CONNECTIONS} + 15 \) / 16`
+ local SHMMAX=`sysctl -n kernel.shmmax`
+ local SHMMAX_MIN=`expr 250000 + 8200 \* 1000 + 14200 \* 100`
+
+ if [ ${SEMMNI} -lt ${SEMMNI_MIN} ]; then
+ eerror "The current value of SEMMNI is too low"
+ eerror "for postgresql to run ${MAX_CONNECTIONS} connections"
+ eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
+ echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
+ fi
+ su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
+
+ if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
+ echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
+ ewarn "Restoring the SEMMNI value to the previous value"
+ ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
+ ewarn "and set it to at least ${SEMMNI_MIN}"
+ ewarn ""
+ ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
+ ewarn ""
+ fi
+
+ if [ ${SHMMAX} -lt ${SHMMAX_MIN} ]; then
+ eerror "The current value of SHMMAX is too low for postgresql to run."
+ eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}."
+ eerror ""
+ eerror " kernel.shmmax = ${SHMMAX_MIN}"
+ eerror ""
+
+ fi
+ einfo ""
+ einfo "You can use /etc/init.d/postgresql script to run PostgreSQL instead of pg_ctl."
+ einfo ""
+ fi
+}