summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvsdist <cvsdist@fedoraproject.org>2004-09-09 10:41:55 +0000
committercvsdist <cvsdist@fedoraproject.org>2004-09-09 10:41:55 +0000
commit06e8d17f1d18ae71142d7342ec781ea5d433fc8b (patch)
tree378bc88cb4f8e7c9efe677f4b69653f944ae286a
parent7fe3c310105200bc6fb2aa3946e06e8269613e39 (diff)
downloadpostgresql-setup-06e8d17f1d18ae71142d7342ec781ea5d433fc8b.tar.gz
postgresql-setup-06e8d17f1d18ae71142d7342ec781ea5d433fc8b.tar.xz
postgresql-setup-06e8d17f1d18ae71142d7342ec781ea5d433fc8b.zip
auto-import postgresql-7.3.2-3 from postgresql-7.3.2-3.src.rpmpostgresql-7_3_2-3RHL-8-splitRHEL-3-split
-rw-r--r--.cvsignore4
-rw-r--r--README.rpm-dist257
-rwxr-xr-xfilter-requires-perl-Pg.sh3
-rw-r--r--postgresql.init86
-rwxr-xr-xpostgresql.spec793
-rw-r--r--sources4
6 files changed, 402 insertions, 745 deletions
diff --git a/.cvsignore b/.cvsignore
index 5d60585..444a58e 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,3 +1 @@
-migration-scripts.tar.gz
-postgresql-7.2.4.tar.gz
-postgresql-dump.1.gz
+postgresql-7.3.2.tar.gz
diff --git a/README.rpm-dist b/README.rpm-dist
index ecf543f..ce775d3 100644
--- a/README.rpm-dist
+++ b/README.rpm-dist
@@ -1,18 +1,14 @@
README.rpm-dist
-----------------------------------------------------------------------------
-Version 4.1, for the PostgreSQL 7.2.1-2PGDG RPMset.
+Version 5.0, for the PostgreSQL 7.3-1PGDG RPMset.
Lamar Owen <lamar.owen@wgcr.org>
-
-DISCLAIMER: the following information is provided in the hope that it helps
-people install and use PostgreSQL. It is being provided without warranty of
-any kind, so, use at your own risk.
-----------------------------------------------------------------------------
Contents:
0.) Quick -i note.
1.) Introduction, QuickStart, and credits
2.) PostgreSQL RPM packages and rationale
- 3.) Upgrading. (Deprecated. Will be removed in a future README)
+ 3.) Starting multiple postmasters
4.) Regression Testing
5.) Starting postmaster automatically on startup
6.) Grand Unified Configuration(GUC) File.
@@ -31,35 +27,47 @@ recommended way to get '-i' functionality back.
INTRODUCTION
-----------------------------------------------------------------------------
-This document exists to explain the layout of the RPM's for PostgreSQL, to
-explain how to migrate from an older version, and to explain WHY it can be
-so difficult to upgrade PostgreSQL.
+This document exists to explain the layout of the RPM's for PostgreSQL,to
+describe various RPM specifics, and to document special features found
+in the RPMset.
-This document is written to be applicable to version 7.2.1 of PostgreSQL,
-which is the current version of the RPM's as of this writing.
+This document is written to be applicable to version 7.3 of PostgreSQL,
+which is the current version of the RPM's as of this writing. More to the
+point, versions prior to 7.3 are not documented here.
-Official PostgreSQL Global Development Group RPM's carry a 'PGDG' after the
-release number. Other RPMset's as distributed with Linux distributions may
-have a different release number and initials.
+Official PostgreSQL Global Development Group RPM's have from version 7.1.2
+on carried a 'PGDG' after the release number. Other RPMset's as distributed
+with Linux distributions may have a different release number and initials.
It is preferable for the distribution-specific set to be the one used, as
the PGDG set is intentionally generic. So, if your distro has a set of RPMs,
use them in preference. If you want to stay up-to-date on the PostgreSQL
core itself, use the PGDG generic set -- but understand that it is a
-GENERIC set. In particular, SuSE and RedHat users that use late-model
-distributions should definitely use their RPMs. Trond and Reinhard do a
-good job keeping them up to date. The Polish(ed) Linux Distribution also
-does an excellent job with the PLD RPM version.
+GENERIC set.
These RPMs are designed to be LSB-compliant -- if you find this not to be the
case, please let me know by way of the pgsql-ports@postgresql.org mailing
list.
+These RPMs no longer support any sort of upgrading process other than that
+documented in the regular documentation. That is, you must dump, upgrade,
+initdb, and restore your data. The 7.2 to 7.3 migration can be quite
+difficult, even to the point of requiring hand-editing of the dumpfile.
+
+Thus, the 7.3 postgresql-server RPM specifically conflicts with prior
+versions. The old server subpackage must be removed first, the new package
+installed, and the data restored from dump.
+
+A new section on running multiple postmasters has replaced the old upgrade
+instructions.
+
QUICKSTART
-----------------------------------------------------------------------------
-If this is an upgrade, please go to section 3, UPGRADING.
-If this is a fresh installation, simply start the postmaster using:
- /etc/rc.d/init.d/postgresql start (on RedHat and TurboLinux)
+For a fresh installation on a recent Red Hat or similar system, a simple
+service postgresql start
+as root will prepare a new database (initdb), and start a postmaster that
+will listen on Unix socket 5432 only. Edit /var/lib/pgsql/data/postgresql.conf
+to enable TCP/IP -- see the section on '-i.'
The file /var/lib/pgsql/.bash_profile is now packaged to help with the
setting of environment variables. You may edit this file, and it won't be
@@ -77,7 +85,7 @@ CREDITS
Thomas Lockhart
Uncle George
Ryan Kirkpatrick
-Trond Eivind Glomsrød
+Trond Eivind Glomsrd
Mark Knox
Mike Mascari
Nicolas Huillard
@@ -86,42 +94,38 @@ Roger Luethi
Jeff Johnson
Reinhard Max
Peter Eisentraut
-
-A big THANK YOU to Trond, particularly. He has poured an amazing amount of
-work into this package, particularly in cleaning up my errors, as well as
-getting the contrib package to actually be useful.
+Joe Conway
POSTGRESQL RPM PACKAGES AND RATIONALE.
-----------------------------------------------------------------------------
-[This section has been edited. See prior versions for older history]
-
-PostgreSQL is a large, multifaceted program, with many clients and options
-that all users will not need. So, several subpackages are built. Here is
-the list of the current (7.2.1) packages:
+The RPMset is packaged in the following subpackages:
postgresql: Some clients and libraries, and documentation
postgresql-server: Server executables and data files
postgresql-devel: Client-side development libraries
-postgresql-perl: PERL client module
+postgresql-tcl: TCL/TK client libraries and docs
postgresql-python: The PygreSQL client library
-postgresql-odbc: Linux ODBC client (not required to use ODBC from Win95)
postgresql-jdbc: JAR of the JDBC client
postgresql-test: The regression tests and associated files.
-postgresql-tk: Tk client and pgaccess.
postgresql-tcl: Tcl client and PL ONLY.
postgresql-libs: client shared libraries.
postgresql-docs: extra documentation,such as the SGML doc sources.
postgresql-contrib: The contrib source tree, as well as selected binaries.
+postgresql-pl: PL/Perl (if possible on this dist), PL/Python, and PL/Tcl
+
+Note that there is no postgresql-perl, postgresql-odbc, postgresql-tk, or
+postgresql-plperl package any longer. This is due to these portions being
+removed from the PostgreSQL source tarball. The TK client package 'pgaccess'
+was the core of the -tk subpackage -- so the pgtksh client was rolled back
+into the -tcl package.
-The postgresql-libs package is required for all installations. Otherwise, a
-mix and match installation may be made. The devel package is required to
-do any compilation of a program that uses either the client libs or the
-server (SPI) interface.
+PostgreSQL is split up into multiple packages so that users can 'pick and
+choose' what pieces are needed, and what dependencies are required.
RPM FILE LOCATIONS.
-----------------------------------------------------------------------------
-In compliance with the LSB, the PostgreSQL RPM's install files in a manner
-not consistent with much of the PostgreSQL documentation. According to the
+In compliance with the Linux FHS, the PostgreSQL RPM's install files in a manner
+not consistent with most of the PostgreSQL documentation. According to the
standard PostgreSQL documentation, PostgreSQL is installed under the directory
/usr/local/pgsql, with executables, source, and data existing in various
subdirectories.
@@ -142,7 +146,6 @@ Data: /var/lib/pgsql/data
Backup area: /var/lib/pgsql/backup
Templates: /usr/share/pgsql
Procedural Languages: /usr/lib/pgsql
-TK client docs: /usr/share/doc/postgresql-tk-x.y.z
Development Headers: /usr/include/pgsql
Other shared data: /usr/share/pgsql
Regression tests: /usr/lib/pgsql/test/regress (in the -test package)
@@ -161,123 +164,31 @@ for you.
These RPM's are meant to be LSB-compliant. If you find errors in them that
cause thembe be non-compliant, please let me know.
-UPGRADING.
------------------------------------------------------------------------------
-WARNING: This information is deprecated. Make sure to fully back up
-your database files BEFORE upgrading the RPM. Unfortunately, even then
-you may have problems -- so be ready to hand-edit dump files.
-
-A pg_upgrade utility is found in the contrib tree -- but it is not really
-production quality code. If this lack of easy upgrades bothers you, please
-let the developer list (pgsql-hackers@postgresql.org) know about it -- maybe
-seamless upgrades can be made a higher prioriy if enough users complain.
-
-Use the following information at your own risk.
-
-CAUTION: While a semi-automatic upgrade process has been implemented, it is
-STRONGLY recommended that a full dump of your database (using pg_dumpall) is
-performed BEFORE upgrading the RPMs! If you have already done the upgrade
-with the RPM, and want to return to your previous version to do the dump,
-find the old RPM's and use 'rpm -U --oldpackage' to downgrade.
-
-I cannot overemphasize this precaution.
-
-NOTE: moving your existing data from /var/lib/pgsql to /var/lib/pgsql/data is
-not currently automatic -- you will need to do this yourself at this release!
-This change occurred between 6.5.3 and 7.0, so upgrading from prior to 7.0 to
-7.0 or later might be difficult. The rh-dump script is provided to ease this,
-see below.
-
-The single biggest problem with upgrading PostgreSQL RPM's has been the lack
-of a reasonably automated upgrade process. PostgreSQL has the property of
-the binary on-disk database format changing between major versions (like
-between 6.3 and 6.4). However, a change from 6.5 to 6.5.3 does not change
-the on-disk format.
-
-This property (feature, misfeature, bug, whatever) has been a known property of
-PostgreSQL since before it was called PostgreSQL -- it has always been this
-way. However, the means by which an upgrade is performed is not readily
-performed in a fully automated fashion, as a "dump-initdb-restore" cycle has
-to be performed. This doesn't appear to be too difficult -- however, dumping
-the old database requires the old executables -- and, if you've already done
-an rpm -U postgresql* (or upgraded from an older version of RedHat and didn't
-specifically exclude the postgresql rpms), you no longer have the older
-executables to dump your data. And your data is useless (until you reinstall
-the old version, that is). All RPM's prior to late releases of version 6.5.
-1 have this upgrade issue.
-
-The newest RPM's for PostgreSQL attempt to make your job in upgrading a little
-easier. First, during the installation of the new RPM's, a copy is made of
-all the executable files and libraries necessary to make a backup of your data.
-Second, the initialization script in the new postgresql-server package detects
-the version of any database found -- if the version is old, then the startup
-of the new version is aborted. However, if no database is found, a new one
-is made.
-
-One thing must be remembered -- due to the restructuring of the PostgreSQL
-RPM's, you will have to manually select the postgresql-server package if you
-want the server -- it is not installed by default in an upgrade. You can either
-select it during the upgrade/install, or you can mount your RedHat CD and
-install manually with rpm -i.
-
-To facilitate upgrading, the postgresql-dump utility has been provided. Look
-at the man page for postgresql-dump to see its usage. All executables to
-restore the immediately prior version of the PostgreSQL database are placed in
-the directory /usr/lib/pgsql/backup, and are accessed by the postgresql-dump
-script. The directory /usr/lib/pgsql/backup is owned by the postgres user --
-you can use this directory to hold dump files and preserve directories.
-
-The basic sequence is:
-(as user postgres):
-postgresql-dump -t /var/lib/pgsql/backup/db.bak -p /var/lib/pgsql/backup/old -d
-(you can abort the ASCII dump with 'Q', as it uses more) Then, (as user root):
-
-***** NOTE ***** ***** NOTE *****
-
-The above script is broken. Use "rh-pgdump.sh targetfile" instead, remove the
-old databases (/var/lib/pgsql/base) (or safer - move them somewhere else first),
-start the database and follow the insert procedure described below.
-
-***** NOTE ***** ***** NOTE *****
-
-service postgresql start
-
-(which will automatically create a new database structure) And finally,
-
-(as user postgres):
-psql -e template1 </var/lib/pgsql/backup/db.bak
-
-Once you are satisfied that the data has been restored properly, you may remove
-the dump file (/var/lib/pgsql/backup/db.bak) and the preserve directory
-(/var/lib/pgsql/backup/old).
-
-EXPLANATION OF STEPS:
+MULTIPLE POSTMASTERS
-------------------------------------------------------------------------------
-postgresql-dump: dumps the old database structure out, using the postmaster and
-the backend saved during the rpm upgrade. This step MUST be done as user
-postgres.
-
-/etc/rc.d/init.d/postgresql start: initializes the new database structure that
-the data from your old version will be restored into, does some sanity
-checking, and starts the postmaster. Due to the nature of some of the tasks,
-this step must be done as root.
-
-psql -e: restores the old database into the new structure created by the
-previous step.
-
-NOTE:
--------------------------------------------------------------------------------
-If you have added tables, indices, or basically anything to the template1
-database which is the default administrative database this script will NOT
-upgrade your database. As a matter of fact you will lose your data included
-in the template1 database. Please look at www.postgresql.org for information
-on upgrading the template1 database. This is a known bug in the PostgreSQL
-pg_dump and pg_dumpall utilities.
-
-The above information is considered deprecated. The utilities it mentions
-are also considered deprecated and will be removed from a future release of
-the RPMset due to the difficulty involved with a dump-restore upgrade and the
-hand-editing of dumpfiles that are sometimes necessary.
+The postgresql-server RPM contains an 'initscript' that is used to start the
+postmaster. The current version of this script has logic to be able to start
+multiple postmasters, with different data areas, listening on different ports,
+etc. To use this functionality requires root access.
+
+As an example, let us create a secondary postmaster called, creatively enough,
+'secondary'. Here are the steps:
+1.) create a hard link in /etc/rc.d/init.d (or equivalent location)
+ to postgresql named 'secondary' : ln postgresql secondary Pick
+ a name not already used in /etc/rc.d/init.d!
+2.) create a file in /etc/sysconfig/pgsql named secondary. This file is
+ a shell script -- typically you would define PGDATA, PGPORT, and PGOPTS
+ here. Since $PGDATA/postgresql.conf will override many of these
+ settings, except PGDATA, you might be surprised on startup.
+3.) create the target PGDATA.
+4.) Initdb the targe PGDATA as documented in the main documentation.
+ Automatic initdb may or may not work for you, so a manual one is
+ preferred. This must be done as user 'postgres'
+5.) Edit postgresql.conf to change the port, address, tcpip settings, etc.
+6.) Start the postmaster with 'service secondary start'.
+
+Note that there may be problems with the standard symlink -- consider this
+support experimental at this point in time.
REGRESSION TESTING
-------------------------------------------------------------------------------
@@ -316,10 +227,10 @@ STARTING POSTMASTER AUTOMATICALLY AT SYSTEM STARTUP
RedHat Linux uses the System V Init package. A startup script for PostgreSQL
is provided in the server package, as /etc/rc.d/init.d/postgresql. To start
the postmaster, with sanity checking, as root, run
-/etc/rc.d/init.d/postgresql start
+service postgresql start
to shut postmaster down,
-/etc/rc.d/init.d/postgresql stop
-There are other parameters to this script -- /etc/rc.d/init.d/postgresql for a
+service postgresql stop
+There are other parameters to this script -- execute 'service postgresql' for a
listing.
To get this script to run at system startup or any time the system switches into
@@ -366,28 +277,22 @@ environment to rebuild the full RPM set.
This release of the RPMset includes the ability to conditionally build
sets of packages. The parameters, their defaults, and the meanings are:
-build6x undef #build for RHL 6.x. Define to 1 to build for 6.x,
- # undefined otherwise.
- #currently, this disables the kerberos, nls, and ssl
- # builds, as well as correcting dependencies for 6.x
+build6x undef #don't build for Red Hat 6.x. Define it to cause
+ # other options to be tailored to 6.x.
beta 0 #build with cassert and do not strip the binaries
perl 1 #build the postgresql-perl package.
tcl 1 #build the postgresql-tcl package.
tkpkg 1 #build the postgresql-tk package.
-odbc 1 #build the postgresql-odbc package.
jdbc 1 #build the postgresql-jdbc package.
+pls 1 #build the postgresql-pl package.
test 1 #build the postgresql-test package.
python 1 #build the postgresql-python package.
-pltcl 1 #build the postgresql-pltcl package.
-forceplperl 0 #don't force a build of pl/perl over libperl.a
-plperl 0 #don't build the postgresql-plperl package.
+pltcl 1 #build the pltcl portion of the postgresql-pl package.
+plperl 1 #build the plperl portion of the postgresql-pl package.
ssl 1 #use OpenSSL support.
kerberos 1 #use Kerberos 5 support.
nls 1 #build with national language support.
-enable_mb 1 #enable multibyte encodings.
-pgaccess 1 #build the pgaccess client, part of postgresql-tk.
-newintarray 0 #substitute a newer intarray contrib.
-pam 1 #build --with-pam
+pam 1 #build with PAM support.
To use these defines, invoke a rebuild like this:
rpm --rebuild --define 'perl 0' --define 'tcl 0' --define 'tkpkg 0'\
@@ -401,9 +306,11 @@ More of these conditionals will be added in the future.
CONTRIB FILES
-------------------------------------------------------------------------------
The contents of the contrib tree are packaged into the -contrib subpackage
-and are compiled and placed into /usr/lib/pgsql/contrib with no further
-processing. Please see each directory under contrib for details on how to
-install and use.
+and are processed with make and make install. There is documentation in
+/usr/share/doc/postgresql-contrib-VERSION for these modules. Most of the
+modules are in /usr/lib/pgsql for loadable modules, and binaries are in
+/usr/bin. In the future these files may be split out, depending upon function
+and dependencies.
LOGGING SET UP
-------------------------------------------------------------------------------
diff --git a/filter-requires-perl-Pg.sh b/filter-requires-perl-Pg.sh
new file mode 100755
index 0000000..f37557f
--- /dev/null
+++ b/filter-requires-perl-Pg.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/lib/rpm/perl.req $* | grep -v 'perl(Pg'
diff --git a/postgresql.init b/postgresql.init
index 60ecb54..f8b3954 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -17,7 +17,7 @@
# Changed PGDATA.
#
-# Version 7.0.2 Trond Eivind Glomsrød <teg@redhat.com>
+# Version 7.0.2 Trond Eivind Glomsrd <teg@redhat.com>
# use functions, add conditional restart
# Version 7.0.3 Lamar Owen <lamar@postgresql.org>
@@ -28,7 +28,7 @@
# Version 7.1 Release Candidate Lamar Owen <lamar@postgresql.org>
# initdb parameters have changed.
-# Version 7.1.2 Trond Eivind Glomsrød <teg@redhat.com>
+# Version 7.1.2 Trond Eivind Glomsrd <teg@redhat.com>
# Specify shell for su
# Handle stop better - kill unwanted output, make it wait until the database is ready
# Handle locales slightly differently - always using "C" isn't a valid option
@@ -48,8 +48,11 @@
# Tested the $? return for the stop script -- it does in fact propagate.
# TODO: multiple postmasters.
-# PGVERSION is: (note that PGVERSION is the major: 7.2.1 -> PGVERSION 7.2)
-PGVERSION=7.2
+# VErsion 7.3 Lamar OWen <lamar.owen@ramifordistat.net>
+# Multiple postmasters, courtesy Karl DeBisschop
+
+# PGVERSION is:
+PGVERSION=7.3
# Source function library.
INITD=/etc/rc.d/init.d
@@ -61,30 +64,40 @@ TYPESET=`typeset -f|grep "declare"`
# Get config.
. /etc/sysconfig/network
+# Find the name of the script
+NAME=`basename $0`
+
+# Set defaults for port and database directory
+PGPORT=5432
+export PGDATA=/var/lib/pgsql
+if [ -f $PGDATA/PG_VERSION ] && [ -d $PGDATA/base/template1 ]
+then
+ echo "Using old-style directory structure"
+else
+ export PGDATA=/var/lib/pgsql/data
+fi
+
+# Override defaults from /etc/sysconfig/pgsql if file is present
+[ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME}
+export PGDATA
+export PGPORT
+export PGOPTS
+
# Check that networking is up.
# Pretty much need it for postmaster.
[ "${NETWORKING}" = "no" ] && exit 0
[ -f /usr/bin/postmaster ] || exit 0
-
start(){
- PSQL_START=$"Starting postgresql service: "
-
- # Check for older PGDATA location.
- if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d /var/lib/pgsql/base/template1 ]
- then
- export PGDATA=/var/lib/pgsql
- else
- export PGDATA=/var/lib/pgsql/data
- fi
+ PSQL_START=$"Starting ${NAME} service: "
# Check for the PGDATA structure
if [ -f $PGDATA/PG_VERSION ] && [ -d $PGDATA/base ]
then
# Check version of existing PGDATA
- if [ `cat $PGDATA/PG_VERSION` != '7.2' ]
+ if [ `cat $PGDATA/PG_VERSION` != '7.3' ]
then
SYSDOCDIR="(Your System's documentation directory)"
if [ -d /usr/doc/postgresql-$PGVERSION ]
@@ -125,6 +138,7 @@ start(){
then
mkdir -p $PGDATA
chown postgres.postgres $PGDATA
+ chmod go-rwx $PGDATA
fi
# Make sure the locale from the initdb is preserved for later startups...
[ -f /etc/sysconfig/i18n ] && cp /etc/sysconfig/i18n $PGDATA/../initdb.i18n
@@ -133,29 +147,31 @@ start(){
# Is expanded this early to be used in the command su runs
echo "export LANG LC_ALL LC_CTYPE LC_COLLATE LC_NUMERIC LC_CTYPE LC_TIME" >> $PGDATA/../initdb.i18n
# Initialize the database
- su -l postgres -s /bin/sh -c "/usr/bin/initdb --pgdata=/var/lib/pgsql/data > /dev/null 2>&1" < /dev/null
+ su -l postgres -s /bin/sh -c "/usr/bin/initdb --pgdata=$PGDATA > /dev/null 2>&1" < /dev/null
[ -f $PGDATA/PG_VERSION ] && echo_success
[ ! -f $PGDATA/PG_VERSION ] && echo_failure
echo
fi
# Check for postmaster already running...
- pid=`pidof -s postmaster`
- if [ $pid ]
+ # note that pg_ctl only looks at the data structures in PGDATA
+ # you really do need the pidof()
+ pid=`pidof -s /usr/bin/postmaster`
+ if [ $pid ] && /usr/bin/pg_ctl status -D $PGDATA > /dev/null 2>&1
then
echo $"Postmaster already running."
else
#all systems go -- remove any stale lock files
- rm -f /tmp/.s.PGSQL.* > /dev/null
+ rm -f /tmp/.s.PGSQL.${PGPORT} > /dev/null
echo -n "$PSQL_START"
- su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster start > /dev/null 2>&1" < /dev/null
+ su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster -o '-p ${PGPORT}' start > /dev/null 2>&1" < /dev/null
sleep 1
- pid=`pidof -s postmaster`
+ pid=`pidof -s /usr/bin/postmaster`
if [ $pid ]
then
success "$PSQL_START"
- touch /var/lock/subsys/postgresql
- echo $pid > /var/run/postmaster.pid
+ touch /var/lock/subsys/${NAME}
+ echo $pid > /var/run/postmaster.${PGPORT}.pid
echo
else
failure "$PSQL_START"
@@ -165,24 +181,18 @@ start(){
}
stop(){
- echo -n $"Stopping postgresql service: "
- # Check for older PGDATA location.
- if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d /var/lib/pgsql/base/template1 ]
+ echo -n $"Stopping ${NAME} service: "
+ su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl stop -D $PGDATA -s -m fast" > /dev/null 2>&1
+ ret=$?
+ if [ $ret -eq 0 ]
then
- export PGDATA=/var/lib/pgsql
+ echo_success
else
- export PGDATA=/var/lib/pgsql/data
+ echo_failure
fi
- su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl stop -D $PGDATA -s -m fast" > /dev/null 2>&1
- ret=$?
- if [ $ret -eq 0 ]; then
- echo_success
- else
- echo_failure
- fi
echo
- rm -f /var/run/postmaster.pid
- rm -f /var/lock/subsys/postgresql
+ rm -f /var/run/postmaster.${PGPORT}.pid
+ rm -f /var/lock/subsys/${NAME}
}
restart(){
@@ -191,7 +201,7 @@ restart(){
}
condrestart(){
- [ -e /var/lock/subsys/postgresql ] && restart || :
+ [ -e /var/lock/subsys/${NAME} ] && restart
}
reload(){
diff --git a/postgresql.spec b/postgresql.spec
index 48ee43c..43057ee 100755
--- a/postgresql.spec
+++ b/postgresql.spec
@@ -9,26 +9,20 @@
%define beta 0
%{?beta:%define __os_install_post /usr/lib/rpm/brp-compress}
-%{!?perl:%define perl 1}
+
%{!?tcl:%define tcl 1}
-%{!?tkpkg:%define tkpkg 1}
-%{!?odbc:%define odbc 1}
+%{!?tkpkg:%define tkpkg 0}
%{!?jdbc:%define jdbc 1}
%{!?test:%define test 1}
%{!?python:%define python 1}
%{!?pltcl:%define pltcl 1}
-%{?forceplperl:%define plperl %{expand:forceplperl}}
-%{!?forceplperl:%define forceplperl 0}
-%{!?plperl:%define plperl 0}
+%{!?plperl:%define plperl 1}
+%{!?pls:%define pls 1}
%{!?ssl:%define ssl 1}
%{!?kerberos:%define kerberos 1}
%{!?nls:%define nls 1}
%{!?pam:%define pam 1}
-# Utility feature defines.
-%{!?enable_mb:%define enable_mb 1}
-%{!?pgaccess:%define pgaccess 1}
-
# Python major version.
%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
%{expand: %%define pynextver %(python -c 'import sys;print(float(sys.version[0:3])+0.1)')}
@@ -36,7 +30,7 @@
Summary: PostgreSQL client programs and libraries.
Name: postgresql
-Version: 7.2.4
+Version: 7.3.2
# Conventions for PostgreSQL Global Development Group RPM releases:
@@ -58,34 +52,27 @@ Version: 7.2.4
# Pre-release RPM's should not be put up on the public ftp.postgresql.org server
# -- only test releases or full releases should be.
-Release: 5.80
+Release: 3
License: BSD
Group: Applications/Databases
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.gz
-Source2: redhat-style-files.lst
Source3: postgresql.init
-Source4: suse-style-files.lst
Source5: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.gz.md5
Source6: README.rpm-dist
-Source7: migration-scripts.tar.gz
-Source8: http://jdbc.postgresql.org/download/jdbc7.2dev-1.1.jar
-Source9: http://jdbc.postgresql.org/download/jdbc7.2dev-1.2.jar
-Source10: http://jdbc.postgresql.org/download/jdbc7.1-1.1.jar
-Source11: http://jdbc.postgresql.org/download/jdbc7.1-1.2.jar
-Source12: postgresql-dump.1.gz
-Source14: rh-pgdump.sh
+Source8: http://jdbc.postgresql.org/download/pg73b1jdbc1.jar
+Source9: http://jdbc.postgresql.org/download/pg73b1jdbc2.jar
+Source10: http://jdbc.postgresql.org/download/pg73b1jdbc3.jar
Source15: postgresql-bashprofile
+Source16: filter-requires-perl-Pg.sh
Patch1: rpm-pgsql-%{version}.patch
-Patch2: postgresql-%{version}-security.patch
+Patch2: rpm-multilib-%{version}.patch
Patch3: postgresql-%{version}-tighten.patch
-Buildrequires: perl glibc-devel
+Patch4: postgresql-7.3.1-isblank.patch
+Buildrequires: perl glibc-devel bison flex
Prereq: /sbin/ldconfig initscripts
%if %python
BuildPrereq: python-devel
%endif
-%if %perl
-BuildPrereq: perl
-%endif
%if %tcl
BuildPrereq: tcl
%endif
@@ -113,33 +100,6 @@ BuildPrereq: pam-devel
Url: http://www.postgresql.org/
Obsoletes: postgresql-clients
Buildroot: %{_tmppath}/%{name}-%{version}-root
-# Obsolete the packages we are not building...
-%if ! %{plperl}
-Obsoletes: postgresql-plperl
-%endif
-%if ! %{tcl}
-Obsoletes: postgresql-tcl
-%endif
-%if ! %{tkpkg}
-Obsoletes: postgresql-tk
-%endif
-%if ! %{odbc}
-Obsoletes: postgresql-odbc
-%endif
-%if ! %{perl}
-Obsoletes: postgresql-perl
-%endif
-%if ! %{python}
-Obsoletes: postgresql-python
-%endif
-%if ! %{jdbc}
-Obsoletes: postgresql-jdbc
-%endif
-%if ! %{test}
-Obsoletes: postgresql-test
-%endif
-
-
# This is the PostgreSQL Global Development Group Official RPMset spec file,
# or a derivative thereof.
@@ -149,11 +109,12 @@ Obsoletes: postgresql-test
# Major Contributors:
# ---------------
# Lamar Owen
-# Trond Eivind Glomsrød <teg@redhat.com>
+# Trond Eivind Glomsrd <teg@redhat.com>
# Thomas Lockhart
# Reinhard Max
# Karl DeBisschop
# Peter Eisentraut
+# Joe Conway
# and others in the Changelog....
# This spec file and ancilliary files are licensed in accordance with
@@ -200,7 +161,7 @@ Summary: The programs needed to create and run a PostgreSQL server.
Group: Applications/Databases
Prereq: /usr/sbin/useradd /sbin/chkconfig
Requires: postgresql = %{version} libpq.so
-Conflicts: postgresql-server <= 7.1.3
+Conflicts: postgresql < 7.3
%description server
The postgresql-server package includes the programs needed to create
@@ -226,7 +187,7 @@ project, or if you want to generate printed documentation.
%package contrib
Summary: Contributed source and binaries distributed with PostgreSQL
Group: Applications/Databases
-Requires: postgresql = %{version} postgresql-perl postgresql-tcl tk
+Requires: postgresql = %{version}
%description contrib
The postgresql-contrib package contains contributed packages that are
included in the PostgreSQL distribution.
@@ -247,69 +208,30 @@ you're installing postgresql-server, you need to install this
package.
#------------
-%if %plperl
-%package plperl
-Summary: The PL/Perl procedural language for PostgreSQL.
+%if %pls
+%package pl
+Summary: The PL procedural languages for PostgreSQL.
Group: Applications/Databases
-Requires: perl, postgresql = %{version}
+Requires: postgresql = %{version}
+PreReq: postgresql-server = %{version}
-%description plperl
+%description pl
PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-plperl package contains the the PL/Perl
-procedural language for the backend.
+system. The postgresql-pl package contains the the PL/Perl, PL/Tcl, and PL/Python
+procedural languages for the backend. PL/Pgsql is part of the core server package.
%endif
#------------
%if %tcl
%package tcl
-Summary: A Tcl client library, and the PL/Tcl procedural language for PostgreSQL.
+Summary: A Tcl client library for PostgreSQL.
Group: Applications/Databases
Requires: tcl >= 8.0
%description tcl
PostgreSQL is an advanced Object-Relational database management
system. The postgresql-tcl package contains the libpgtcl client library,
-the pg-enhanced pgtclsh, and the PL/Tcl procedural language for the backend.
-%endif
-
-#------------
-%if %tkpkg
-%package tk
-Summary: Tk shell and tk-based GUI for PostgreSQL.
-Group: Applications/Databases
-Requires: tcl >= 8.0, tk >= 8.0
-
-%description tk
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-tk package contains the pgaccess
-program. Pgaccess is a graphical front end, written in Tcl/Tk, for the
-psql and related PostgreSQL client programs.
-%endif
-
-#------------
-%if %odbc
-%package odbc
-Summary: The ODBC driver needed for accessing a PostgreSQL DB using ODBC.
-Group: Applications/Databases
-
-%description odbc
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-odbc package includes the ODBC (Open DataBase
-Connectivity) driver and sample configuration files needed for
-applications to access a PostgreSQL database using ODBC.
-%endif
-
-#------------
-%if %perl
-%package perl
-Summary: Development module needed for Perl code to access a PostgreSQL DB.
-Group: Applications/Databases
-Requires: perl >= 5.004-4
-
-%description perl
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-perl package includes a module for developers
-to use when writing Perl code for accessing a PostgreSQL database.
+the pg-enhanced pgtclsh,and the pg-enhanced tksh, if so configured at buildtime.
%endif
#------------
@@ -346,6 +268,7 @@ Java programs to access a PostgreSQL database.
Summary: The test suite distributed with PostgreSQL.
Group: Applications/Databases
Requires: postgresql = %{version}
+PreReq: postgresql-server = %{version}
%description test
PostgreSQL is an advanced Object-Relational database management
@@ -354,50 +277,43 @@ binaries of various tests for the PostgreSQL database management
system, including regression tests and benchmarks.
%endif
+%define __perl_requires %{SOURCE16}
+
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
-
+%patch4 -p1
+autoconf
%build
-# Get file lists....
-#tar xzf %{SOURCE4}
-# Moved out of tarball.
-cp %{SOURCE2} %{SOURCE4} .
-
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
-
-./configure --enable-locale --with-CXX --prefix=/usr --disable-rpath\
+export LIBNAME=%{_lib}
+%configure --disable-rpath \
%if %beta
--enable-debug \
--enable-cassert \
%endif
-%if %perl
+%if %plperl
--with-perl \
%endif
-%if %enable_mb
- --enable-multibyte \
-%endif
%if %tcl
--with-tcl \
+ --with-tclconfig=%{_libdir} \
%endif
%if %tkpkg
+ --with-tkconfig=%{_libdir} \
%else
--without-tk \
%endif
-%if %odbc
- --with-odbc \
-%endif
- --enable-syslog\
%if %python
--with-python \
%endif
@@ -413,11 +329,9 @@ CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
%if %nls
--enable-nls \
%endif
- --sysconfdir=/etc/pgsql \
- --mandir=%{_mandir} \
- --docdir=%{_docdir} \
- --includedir=%{_includedir} \
- --datadir=/usr/share/pgsql
+ --sysconfdir=/etc/sysconfig/pgsql \
+ --datadir=/usr/share/pgsql \
+ --with-docdir=%{_docdir}
make all
make -C contrib all
@@ -434,47 +348,6 @@ rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
make -C contrib DESTDIR=$RPM_BUILD_ROOT install
-%if %perl
- make DESTDIR=$RPM_BUILD_ROOT -C src/interfaces/perl5 -f Makefile install
-
- # Get rid of the packing list generated by the perl Makefile, and build my own...
- find $RPM_BUILD_ROOT/usr/lib/perl5 -name .packlist -exec rm -f {} \;
- find $RPM_BUILD_ROOT/usr/lib/perl5 -type f -print | \
- sed -e "s|$RPM_BUILD_ROOT/|/|g" | \
- sed -e "s|.*/man/.*|&\*|" > perlfiles.list
- find $RPM_BUILD_ROOT/usr/lib/perl5 -type d -name Pg -print | \
- sed -e "s|$RPM_BUILD_ROOT/|%dir /|g" >> perlfiles.list
-
- # check and fixup Pg manpage location....
- if [ ! -e $RPM_BUILD_ROOT%{_mandir}/man3/Pg.* ]
- then
- mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3
- cp src/interfaces/perl5/blib/man3/Pg.3pm $RPM_BUILD_ROOT%{_mandir}/man3
- fi
-
- pushd src/interfaces
- mkdir -p $RPM_BUILD_ROOT/usr/share/pgsql/perl5
- cp -a perl5/test.pl $RPM_BUILD_ROOT/usr/share/pgsql/perl5
- popd
- # remove perllocal.pod and Pg.bs from the file list - only occurs with 5.6
-
- perl -pi -e "s/^.*perllocal.pod$//" perlfiles.list
- perl -pi -e "s/^.*Pg.bs$//" perlfiles.list
- mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/site_perl/%{_arch}-linux/auto/Pg
-
-%endif
-
-
-# man pages....
-# the postgresql-dump manpage.....
-pushd $RPM_BUILD_ROOT%{_mandir}
-cp %{SOURCE12} man1
-popd
-
-# install the dump script
-
-install -m755 %SOURCE14 $RPM_BUILD_ROOT/usr/bin/
-
# install dev headers.
make DESTDIR=$RPM_BUILD_ROOT install-all-headers
@@ -482,18 +355,6 @@ make DESTDIR=$RPM_BUILD_ROOT install-all-headers
# copy over Makefile.global to the include dir....
install -m755 src/Makefile.global $RPM_BUILD_ROOT/usr/include/pgsql
-%if %pgaccess
- # pgaccess installation
- pushd src/bin
- install -m 755 pgaccess/pgaccess $RPM_BUILD_ROOT/usr/bin
- mkdir -p $RPM_BUILD_ROOT/usr/share/pgsql/pgaccess
- install -m 644 pgaccess/main.tcl $RPM_BUILD_ROOT/usr/share/pgsql/pgaccess
- tar cf - pgaccess/lib pgaccess/images | tar xf - -C $RPM_BUILD_ROOT/usr/share/pgsql
- cp -a pgaccess/doc/html ../../doc/pgaccess
- cp pgaccess/demo/*.sql ../../doc/pgaccess
- popd
-%endif
-
%if %jdbc
# Java/JDBC
# The user will have to set a CLASSPATH to find it here, but not sure where else to put it...
@@ -502,26 +363,13 @@ install -m755 src/Makefile.global $RPM_BUILD_ROOT/usr/include/pgsql
install -m 755 %{SOURCE8} $RPM_BUILD_ROOT/usr/share/pgsql
install -m 755 %{SOURCE9} $RPM_BUILD_ROOT/usr/share/pgsql
install -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/share/pgsql
- install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/share/pgsql
%endif
-# The initscripts....
-# Redhat-style....
if [ -d /etc/rc.d/init.d ]
then
install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql
- mv redhat-style-files.lst files.lst
-fi
-
-# SuSE-style....
-# NOTE: SuSE stuff not yet fully implemented -- this is likely to not work yet.
-# Putting SuSE-style stuff here
-if [ -d /sbin/init.d ]
-then
- # install the SuSE stuff...
- mv suse-style-files.lst files.lst
fi
@@ -534,6 +382,10 @@ install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/backups
# postgres' .bash_profile
install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile
+# Create the multiple postmaster startup directory
+install -d -m 700 $RPM_BUILD_ROOT/etc/sysconfig/pgsql
+
+
%if %test
# tests. There are many files included here that are unnecessary, but include
# them anyway for completeness.
@@ -546,22 +398,17 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile
popd
%endif
-# Upgrade scripts.
-pushd $RPM_BUILD_ROOT
-tar xzf %{SOURCE7}
-popd
-
-# logrotate script removed until future release
-#logrotate script source (which needs WORK)
-#mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
-#cp %{SOURCE8} $RPM_BUILD_ROOT/etc/logrotate.d/postgres
-#chmod 0644 $RPM_BUILD_ROOT/etc/logrotate.d/postgres
-
# Fix some more documentation
# gzip doc/internals.ps
cp %{SOURCE6} README.rpm-dist
mv $RPM_BUILD_ROOT%{_docdir}/postgresql/html doc
+rm -rf $RPM_BUILD_ROOT%{_docdir}/postgresql
+%if %tkpkg
+%else
+rm -rf $RPM_BUILD_ROOT%{_mandir}/man1/pgtksh.*
+%endif
+
# Symlink libpq.so.2.0 to libpq.so.2 for backwards compatibility, until
# -soname patches are the norm.
pushd $RPM_BUILD_ROOT/usr/lib
@@ -573,25 +420,12 @@ popd
%find_lang pg_dump
%find_lang postgres
%find_lang psql
+%find_lang pg_resetxlog
+%find_lang pg_controldata
+cat libpq.lang > libpq.lst
cat psql.lang pg_dump.lang > main.lst
-cat postgres.lang files.lst > server.lst
-
-%pre
-# Need to make backups of some executables if an upgrade
-# They will be needed to do a dump of the old version's database.
-# All output redirected to /dev/null.
-
-if [ $1 -gt 1 ]
-then
- mkdir -p /usr/lib/pgsql/backup > /dev/null
- pushd /usr/bin > /dev/null
- cp -fp postmaster postgres pg_dump pg_dumpall psql /usr/share/pgsql/backup > /dev/null 2>&1 || :
- popd > /dev/null
- pushd /usr/lib > /dev/null
- cp -fp libpq.* /usr/share/pgsql/backup > /dev/null 2>&1 || :
- popd > /dev/null
-fi
+cat postgres.lang pg_resetxlog.lang pg_controldata.lang > server.lst
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
@@ -624,19 +458,14 @@ if [ $1 = 0 ] ; then
groupdel postgres >/dev/null 2>&1 || :
fi
-%if %odbc
-%post -p /sbin/ldconfig odbc
-%postun -p /sbin/ldconfig odbc
-%endif
-
%if %tcl
%post -p /sbin/ldconfig tcl
%postun -p /sbin/ldconfig tcl
%endif
-%if %plperl
-%post -p /sbin/ldconfig plperl
-%postun -p /sbin/ldconfig plperl
+%if %pls
+%post -p /sbin/ldconfig pl
+%postun -p /sbin/ldconfig pl
%endif
%if %test
@@ -646,13 +475,8 @@ chown -R postgres.postgres /usr/share/pgsql/test >/dev/null 2>&1 || :
%clean
rm -rf $RPM_BUILD_ROOT
-rm -f perlfiles.list
-
-# Ok, we are dynamically generating some filelists. These are by default
-# under the BUILD/postgresql-x.y.z tree.
-# Note that macros such as config are available in those lists.
-# The lists differentiate between RedHat, SuSE, and others.
+# FILES section.
%files -f main.lst
%defattr(-,root,root)
@@ -660,29 +484,32 @@ rm -f perlfiles.list
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
%doc doc/html
-/usr/bin/createdb
-/usr/bin/createlang
-/usr/bin/createuser
-/usr/bin/dropdb
-/usr/bin/droplang
-/usr/bin/dropuser
-/usr/bin/pg_dump
-/usr/bin/pg_dumpall
-/usr/bin/pg_encoding
-/usr/bin/pg_id
-/usr/bin/pg_restore
-/usr/bin/psql
-/usr/bin/vacuumdb
-%{_mandir}/man1/createdb.1*
-%{_mandir}/man1/createlang.1*
-%{_mandir}/man1/createuser.1*
-%{_mandir}/man1/dropdb.1*
-%{_mandir}/man1/droplang.1*
-%{_mandir}/man1/dropuser.1*
-%{_mandir}/man1/pg_dump.1*
-%{_mandir}/man1/pg_dumpall.1*
-%{_mandir}/man1/psql.1*
-%{_mandir}/man1/vacuumdb.1*
+%{_bindir}/clusterdb
+%{_bindir}/createdb
+%{_bindir}/createlang
+%{_bindir}/createuser
+%{_bindir}/dropdb
+%{_bindir}/droplang
+%{_bindir}/dropuser
+%{_bindir}/pg_dump
+%{_bindir}/pg_dumpall
+%{_bindir}/pg_encoding
+%{_bindir}/pg_id
+%{_bindir}/pg_restore
+%{_bindir}/psql
+%{_bindir}/vacuumdb
+%{_mandir}/man1/clusterdb.*
+%{_mandir}/man1/createdb.*
+%{_mandir}/man1/createlang.*
+%{_mandir}/man1/createuser.*
+%{_mandir}/man1/dropdb.*
+%{_mandir}/man1/droplang.*
+%{_mandir}/man1/dropuser.*
+%{_mandir}/man1/pg_dump.*
+%{_mandir}/man1/pg_dumpall.*
+%{_mandir}/man1/pg_restore.*
+%{_mandir}/man1/psql.*
+%{_mandir}/man1/vacuumdb.*
%{_mandir}/man7/*
%files docs
@@ -691,188 +518,158 @@ rm -f perlfiles.list
%files contrib
%defattr(-,root,root)
-/usr/lib/pgsql/_int.so
-/usr/lib/pgsql/array_iterator.so
-/usr/lib/pgsql/autoinc.so
-/usr/lib/pgsql/btree_gist.so
-/usr/lib/pgsql/chkpass.so
-/usr/lib/pgsql/cube.so
-/usr/lib/pgsql/dblink.so
-/usr/lib/pgsql/earthdistance.so
-/usr/lib/pgsql/fti.so
-/usr/lib/pgsql/fuzzystrmatch.so
-/usr/lib/pgsql/insert_username.so
-/usr/lib/pgsql/isbn_issn.so
-/usr/lib/pgsql/lo.so
-/usr/lib/pgsql/misc_utils.so
-/usr/lib/pgsql/moddatetime.so
-/usr/lib/pgsql/noup.so
-/usr/lib/pgsql/pgcrypto.so
-/usr/lib/pgsql/pgstattuple.so
-/usr/lib/pgsql/refint.so
-/usr/lib/pgsql/rserv.so
-/usr/lib/pgsql/rtree_gist.so
-/usr/lib/pgsql/seg.so
-/usr/lib/pgsql/string_io.so
-/usr/lib/pgsql/timetravel.so
-/usr/lib/pgsql/tsearch.so
-/usr/lib/pgsql/user_locks.so
-/usr/share/pgsql/contrib/
-/usr/bin/dbf2pg
-/usr/bin/findoidjoins
-/usr/bin/make_oidjoins_check
-/usr/bin/fti.pl
-/usr/bin/oid2name
-/usr/bin/pg_controldata
-/usr/bin/pg_dumplo
-/usr/bin/pg_logger
-/usr/bin/pg_resetxlog
-/usr/bin/pgbench
-/usr/bin/RservTest
-/usr/bin/MasterInit
-/usr/bin/MasterAddTable
-/usr/bin/Replicate
-/usr/bin/MasterSync
-/usr/bin/CleanLog
-/usr/bin/SlaveInit
-/usr/bin/SlaveAddTable
-/usr/bin/GetSyncID
-/usr/bin/PrepareSnapshot
-/usr/bin/ApplySnapshot
-/usr/bin/InitRservTest
-/usr/bin/vacuumlo
-%doc %{_docdir}/postgresql/contrib/README.*
-%doc %{_docdir}/postgresql/contrib/*.example
+%{_libdir}/pgsql/_int.so
+%{_libdir}/pgsql/array_iterator.so
+%{_libdir}/pgsql/autoinc.so
+%{_libdir}/pgsql/btree_gist.so
+%{_libdir}/pgsql/chkpass.so
+%{_libdir}/pgsql/cube.so
+%{_libdir}/pgsql/dblink.so
+%{_libdir}/pgsql/dbsize.so
+%{_libdir}/pgsql/earthdistance.so
+%{_libdir}/pgsql/fti.so
+%{_libdir}/pgsql/fuzzystrmatch.so
+%{_libdir}/pgsql/insert_username.so
+%{_libdir}/pgsql/int_aggregate.so
+%{_libdir}/pgsql/isbn_issn.so
+%{_libdir}/pgsql/lo.so
+%{_libdir}/pgsql/ltree.so
+%{_libdir}/pgsql/misc_utils.so
+%{_libdir}/pgsql/moddatetime.so
+%{_libdir}/pgsql/noup.so
+%{_libdir}/pgsql/pending.so
+%{_libdir}/pgsql/pgcrypto.so
+%{_libdir}/pgsql/pgstattuple.so
+%{_libdir}/pgsql/refint.so
+%{_libdir}/pgsql/rserv.so
+%{_libdir}/pgsql/rtree_gist.so
+%{_libdir}/pgsql/seg.so
+%{_libdir}/pgsql/string_io.so
+%{_libdir}/pgsql/tablefunc.so
+%{_libdir}/pgsql/timetravel.so
+%{_libdir}/pgsql/tsearch.so
+%{_libdir}/pgsql/user_locks.so
+%{_datadir}/pgsql/contrib/
+%{_bindir}/dbf2pg
+%{_bindir}/findoidjoins
+%{_bindir}/make_oidjoins_check
+%{_bindir}/fti.pl
+%{_bindir}/oid2name
+%{_bindir}/pg_dumplo
+%{_bindir}/pg_logger
+%{_bindir}/pgbench
+%{_bindir}/RservTest
+%{_bindir}/MasterInit
+%{_bindir}/MasterAddTable
+%{_bindir}/Replicate
+%{_bindir}/MasterSync
+%{_bindir}/CleanLog
+%{_bindir}/SlaveInit
+%{_bindir}/SlaveAddTable
+%{_bindir}/GetSyncID
+%{_bindir}/PrepareSnapshot
+%{_bindir}/ApplySnapshot
+%{_bindir}/InitRservTest
+%{_bindir}/vacuumlo
+%doc contrib/*/README.* contrib/spi/*.example
%files libs -f libpq.lang
%defattr(-,root,root)
-/usr/lib/libpq.so.*
-/usr/lib/libecpg.so.*
-/usr/lib/libpq++.so.*
-/usr/lib/libpgeasy.so.*
+%{_libdir}/libpq.so.*
+%{_libdir}/libecpg.so.*
%files server -f server.lst
%defattr(-,root,root)
-/usr/bin/initdb
-/usr/bin/initlocation
-/usr/bin/ipcclean
-/usr/bin/pg_ctl
-/usr/bin/pg_passwd
-/usr/bin/postgres
-/usr/bin/postgresql-dump
-/usr/bin/postmaster
-/usr/bin/rh-pgdump.sh
-%{_mandir}/man1/initdb.1*
-%{_mandir}/man1/initlocation.1*
-%{_mandir}/man1/ipcclean.1*
-%{_mandir}/man1/pg_ctl.1*
-%{_mandir}/man1/pg_passwd.1*
-%{_mandir}/man1/pg_restore.1*
-%{_mandir}/man1/postgres.1*
-%{_mandir}/man1/postmaster.1*
-%{_mandir}/man1/postgresql-dump.1*
-/usr/share/pgsql/postgres.bki
-/usr/share/pgsql/postgres.description
-/usr/share/pgsql/*.sample
-/usr/lib/pgsql/plpgsql.so
-%dir /usr/lib/pgsql
-%dir /usr/share/pgsql
-%attr(700,postgres,postgres) %dir /usr/share/pgsql/backup
-/usr/share/pgsql/backup/pg_dumpall_new
+/etc/rc.d/init.d/postgresql
+%dir /etc/sysconfig/pgsql
+%{_bindir}/initdb
+%{_bindir}/initlocation
+%{_bindir}/ipcclean
+%{_bindir}/pg_controldata
+%{_bindir}/pg_ctl
+%{_bindir}/pg_resetxlog
+%{_bindir}/postgres
+%{_bindir}/postmaster
+%{_mandir}/man1/initdb.*
+%{_mandir}/man1/initlocation.*
+%{_mandir}/man1/ipcclean.*
+%{_mandir}/man1/pg_controldata.*
+%{_mandir}/man1/pg_ctl.*
+%{_mandir}/man1/pg_resetxlog.*
+%{_mandir}/man1/postgres.*
+%{_mandir}/man1/postmaster.*
+%{_datadir}/pgsql/postgres.bki
+%{_datadir}/pgsql/postgres.description
+%{_datadir}/pgsql/*.sample
+%{_libdir}/pgsql/plpgsql.so
+%dir %{_libdir}/pgsql
+%dir %{_datadir}/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql/data
%attr(700,postgres,postgres) %dir /var/lib/pgsql/backups
%attr(644,postgres,postgres) %config(noreplace) /var/lib/pgsql/.bash_profile
+%{_libdir}/pgsql/*_and_*.so
+%{_datadir}/pgsql/conversion_create.sql
%files devel
%defattr(-,root,root)
/usr/include/*
-/usr/bin/ecpg
-/usr/bin/pg_config
-/usr/lib/libpq.so
-/usr/lib/libecpg.so
-/usr/lib/libpq++.so
-/usr/lib/libpgeasy.so
-/usr/lib/libpq.a
-/usr/lib/libecpg.a
-/usr/lib/libpq++.a
-/usr/lib/libpgeasy.a
-%if %odbc
-/usr/lib/libpsqlodbc.a
-%endif
+%{_bindir}/ecpg
+%{_bindir}/pg_config
+%{_libdir}/libpq.so
+%{_libdir}/libecpg.so
+%{_libdir}/libpq.a
+%{_libdir}/libecpg.a
%if %tcl
-/usr/lib/libpgtcl.a
+%{_libdir}/libpgtcl.a
%endif
-%{_mandir}/man1/ecpg.1*
-%{_mandir}/man1/pg_config.1*
+%{_mandir}/man1/ecpg.*
+%{_mandir}/man1/pg_config.*
%if %tcl
%files tcl
%defattr(-,root,root)
-%attr(755,root,root) /usr/lib/libpgtcl.so.*
+%attr(755,root,root) %{_libdir}/libpgtcl.so.*
# libpgtcl.so is not in devel because Tcl scripts may load it by that name.
-/usr/lib/libpgtcl.so
-/usr/bin/pgtclsh
-%{_mandir}/man1/pgtclsh.1*
-/usr/lib/pgsql/pltcl.so
-/usr/bin/pltcl_delmod
-/usr/bin/pltcl_listmod
-/usr/bin/pltcl_loadmod
-/usr/share/pgsql/unknown.pltcl
-%endif
-
+%{_libdir}/libpgtcl.so
+%{_bindir}/pgtclsh
+%{_mandir}/man1/pgtclsh.*
%if %tkpkg
-%files tk
-%defattr(-,root,root)
-/usr/bin/pgtksh
-%{_mandir}/man1/pgtksh.1*
+%{_bindir}/pgtksh
+%{_mandir}/man1/pgtksh.*
%endif
-
-%if %pgaccess
-%doc doc/pgaccess/*
-/usr/share/pgsql/pgaccess
-/usr/bin/pgaccess
-%{_mandir}/man1/pgaccess.1*
%endif
-%if %odbc
-%files odbc
+%if %pls
+%files pl
%defattr(-,root,root)
-%attr(755,root,root) /usr/lib/libpsqlodbc.so*
-/usr/share/pgsql/odbc.sql
-/usr/share/pgsql/odbc-drop.sql
+%if %plperl
+%{_libdir}/pgsql/plperl.so
%endif
-
-%if %perl
-%files -f perlfiles.list perl
-%defattr (-,root,root)
-%dir /usr/lib/perl5/site_perl/%{_arch}-linux/auto
-/usr/share/pgsql/perl5
-%{_mandir}/man3/Pg.*
+%if %pltcl
+%{_libdir}/pgsql/pltcl.so
+%{_bindir}/pltcl_delmod
+%{_bindir}/pltcl_listmod
+%{_bindir}/pltcl_loadmod
+%{_datadir}/pgsql/unknown.pltcl
%endif
-
-%if %plperl
-%files plperl
-%defattr(-,root,root)
-/usr/lib/pgsql/plperl.so
+%{_libdir}/pgsql/plpython.so
%endif
%if %python
%files python
%defattr(-,root,root)
%doc src/interfaces/python/README src/interfaces/python/tutorial
-/usr/lib/python%{pyver}/site-packages/_pgmodule.so
-/usr/lib/python%{pyver}/site-packages/*.py
-/usr/lib/pgsql/plpython.so
+%{_libdir}/python%{pyver}/site-packages/_pgmodule.so
+%{_libdir}/python%{pyver}/site-packages/*.py
%endif
%if %jdbc
%files jdbc
%defattr(-,root,root)
-/usr/share/pgsql/jdbc7.1-1.1.jar
-/usr/share/pgsql/jdbc7.1-1.2.jar
-/usr/share/pgsql/jdbc7.2dev-1.1.jar
-/usr/share/pgsql/jdbc7.2dev-1.2.jar
+%{_datadir}/pgsql/pg73b1jdbc1.jar
+%{_datadir}/pgsql/pg73b1jdbc2.jar
+%{_datadir}/pgsql/pg73b1jdbc3.jar
%endif
%if %test
@@ -883,129 +680,73 @@ rm -f perlfiles.list
%endif
%changelog
-* Mon Nov 03 2003 David Jee <djee@redhat.com>
-- 7.2.4-4.(73,80) - rename the to_ascii() patch to a generic security
-patch, and add another security patch to it, which avoids running off
-the end of to_timestamp()'s input string when the input is shorter than
-the format string expects.
-- 7.2.4-5.(73,80) - fix the entry above to say to_timestamp(), not
-to_char()
-
-* Fri Oct 31 2003 David Jee <djee@redhat.com>
-- 7.2.4-2.(73,80) - merge changes from 7.2.4-2PGDG release: Fixed some
-missing files in devel, python, odbc, tcl, and contrib packages.
-- 7.2.4-3.(73,80) - include a patch for to_ascii() buffer overrun
-vulnerability.
-
-* Tue Oct 28 2003 David Jee <djee@redhat.com>
-- 7.2.4-1.(73,80) - initial Red Hat build.
-
-* Wed Dec 20 2002 Andrew Overholt <overholt@redhat.com>
-- 7.2.3-4.(73,80) - add buffer overrun patch for geo_ops
-- 7.2.3-5.(73,80) - add pg_hba.conf tightening patch
-
-* Thu Dec 19 2002 Andrew Overholt <overholt@redhat.com>
-- 7.2.3-3.(73,80) - correct init script success/failure messages.
-
-* Tue Dec 17 2002 Andrew Overholt <overholt@redhat.com>
-- 7.2.3-1 - initial Red Hat build.
-- 7.2.3-2.(73,80) - distribution-specific release tags to avoid upgrading
- issues.
-
-* Wed Oct 02 2002 Lamar Owen <lamar.owen@ramifordistat.net>
-- 7.2.3-1PGDG
-
-* Mon Aug 26 2002 Lamar Owen <lamar.owen@ramifordistat.net>
-- 7.2.2-1PGDG
-- Applied PeterE's contrib patch -- contrib is now completely restructured.
-- server conflicts with less than 7.2, as a warning to the upcoming
--- yank of the broken partial upgrade.
-
-* Thu Aug 22 2002 Lamar Owen <lamar.owen@ramifordistat.net>
-- 7.2.2 security fix.
-- deprecate postgresql-dump system.
-- 7.2.2-0.1PGDG PRERELEASE!
-
-* Fri Apr 12 2002 Lamar Owen <lamar.owen@ramifordistat.net>
-- Correct tcl conditionals -- especially for the devel package.
-- Corrected BuildPrereq conditionals.
-- Added a build6x conditional -- define it to build for RHL 6.x
-- Integrate a few of Trond's fixes from RawHide.
-- Pulled file-lists out of tarball for better maintainability.
-- Updated README.rpm-dist.
-- 6.x build can't buildprereq pam-devel, as 6.x has no pam-devel.
-
-* Tue Apr 09 2002 Lamar Owen <lamar.owen@ramifordistat.net>
-- Integrate DP's patch and stuff.
-
-* Fri Apr 05 2002 David B. Peterson <dave@toppledwagon.com>
-- hacked for 7.2.1 (made rpm-pgsql-7.2.1.patch from rpm-pgsql-7.2.patch)
-- changed gettext version to 0.10.35 (from 0.10.36, for RH62)
-- added BuildPrereq for tk
-
-* Wed Apr 3 2002 Trond Eivind Glomsrød <teg@redhat.com> 7.2.1-3
-- make postgresql-server and postgresql depend on postgresql-libs
-- store backups of old binaries in /usr/lib/pgsql/backup instead of /usr/share
-
-* Thu Mar 21 2002 Trond Eivind Glomsrød <teg@redhat.com> 7.2-6
-- Move the libpgtcl.so symlink into the tcl subpackage from -devel
-- Enable pam support
-- Include the odbc plugin, not just the symlink to it
-
-* Tue Feb 04 2002 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2 final.
-- 7.2-1PGDG RPM release.
-- Integrate NLS build per Peter E.
-- Clean up a few things; undef beta for final build.
-- Newer JDBC -- point to correct website and 7.2 dev.
-- postgresql.init changes.
-- NLS build does funky %defattr things; redhat-style-files.lst changed
--- for execute permission on /etc/rc.d/init.d/postgresql
-
-* Sun Jan 27 2002 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2rc2-0.1PGDG
-
-* Thu Nov 29 2001 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2b3-0.3PGDG
-- beta conditionals for debugging, assertion checking, and no strip.
-
-* Tue Nov 27 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Improve python version handling
-
-* Fri Nov 23 2001 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2b3-0.2PGDG
-- second beta3 tarball.
-
-* Thu Nov 22 2001 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2b3-0.1PGDG
-- Beta3
-- Docs changes --man pages back, internals.ps gone.
-- manl (letter 'ell') is now 'man7'.
-
-* Mon Nov 19 2001 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2b2-0.1PGDG
-- --disable-rpath configure option.
-
-* Fri Oct 26 2001 Lamar Owen <lamar.owen@wgcr.org>
-- Actual PGDG 7.2b1.
-
-* Mon Oct 01 2001 Lamar Owen <lamar.owen@wgcr.org>
-- 7.2alpha-0.1PGDG
-- Merged some changes from Peter Eisentraut for7.2.
-- Cleaned up some legacy junk.
-- Prepare for 7.2 beta cycle.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+* Fri Feb 14 2003 Andrew Overholt <overholt@redhat.com> 7.3.2-3
+- Remove pltcl.so from postgresql-tcl and plpython.so from postgresql-server.
+ [Bugzilla #83906]
+
+* Wed Feb 12 2003 Andrew Overholt <overholt@redhat.com> 7.3.2-2
+- Fix typo in pg_hba.conf tighten patch. [Bugzilla #81366]
+
+* Wed Feb 5 2003 Andrew Overholt <overholt@redhat.com> 7.3.2-1
+- Initial 7.3.1 build.
+- Add bison and flex to BuildRequires line. [Bugzilla #83553]
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Thu Jan 09 2003 Elliot Lee <sopwith@redhat.com> 7.3.1-5
+- Rebuild for newer libssl
+- Add patch4 (isblank.patch) to make it all build
+
+* Sat Jan 4 2003 Jeff Johnson <jbj@redhat.com> 7.3.1-4
+- use internal dep generator.
+
+* Fri Jan 3 2003 Andrew Overholt <overholt@redhat.com> 7.3.1-3
+- Remove spurious PreReq line
+
+* Fri Jan 3 2003 Andrew Overholt <overholt@redhat.com> 7.3.1-2
+- Rebuild with new 7.3.1 tarball
+- Remove obsoletes postgresql-perl line (should have been postgresql-plperl)
+ as we did not have that package previously
+
+* Wed Dec 18 2002 Andrew Overholt <overholt@redhat.com> 7.3.1-1
+- Initial 7.3.1 build.
+
+* Tue Dec 17 2002 Nalin Dahyabhai <nalin@redhat.com> 7.3-6
+- Make postgresql-pl obsolete postgresql-perl, not postgresql-plperl
+
+* Fri Dec 13 2002 Andrew Overholt <overholt@redhat.com>
+- Remove perl(Pg) dependency
+- Bash profile PGDATA fix
+- Updated initscript to new community version
+
+* Tue Dec 10 2002 Andrew Overholt <overholt@redhat.com>
+- Upgrade to 7.3 community spec file.
+- Add patch to use with multilib.
+- Change explicit path names to use RPM macros (multilib).
+- Add security patch.
+
+* Thu Dec 05 2002 Lamar Owen <lamar.owen@ramifordistat.net>
+- 7.3-2PGDG
+- Fix typo in initscript. Argh!!
+
+* Wed Dec 04 2002 Lamar Owen <lamar.owen@ramifordistat.net>
+- 7.3-0.5PGDG
+- Jerk out all perl client stuff and kludgage
+- Rename plperl subpackage to a pl subpackage containing all but PL/Pgsql PL's
+- Eliminate locale and multibyte explicit enables -- they are both defaults now
+- Eliminate pgaccess code; it's not a part of the main tarball anymore
+- Eliminate ODBC stuff -- it's also separate now. Use unixODBC instead.
+- Eliminated separate tk client package -- rolled the tk client into the tcl client.
+- Moved pltcl into the pl subpackage.
+- Added plpython to the pl subpackage.
+- /etc/sysconfig/pgsql is sysconfdir for multiple postmaster startup.
+
+
+* Mon Dec 02 2002 Lamar Owen <lamar.owen@ramifordistat.net>
+- 7.3-0.1PGDG (not released)
+- Integrate 7.3 jar's courtesy Joe Conway
+- Integrate multi-postmaster initscript courtesy Karl DeBisschop
+- Some renames and restructures.
+- Stripped out the last dregs of the postgresql-dump migration script.
+- Conflicts with less than 7.3.
diff --git a/sources b/sources
index ed4c8c9..ec98b20 100644
--- a/sources
+++ b/sources
@@ -1,3 +1 @@
-5e9beca9c039be1ded2e51a0edcd9fba migration-scripts.tar.gz
-b767f204a91097f1b3a6d2b4c39eac7a postgresql-7.2.4.tar.gz
-3d2e8223f6bb715659cbecedeae81ccc postgresql-dump.1.gz
+23d2762571e8c5bb21eee08aab968ccb postgresql-7.3.2.tar.gz