Update to PostgreSQL 8.4.0.

This commit is contained in:
Tom Lane 2009-08-18 02:58:55 +00:00
parent cddd7916a2
commit 084ca74c64
11 changed files with 190 additions and 274 deletions

View File

@ -1,5 +1,5 @@
postgresql-8.3.7.tar.bz2
postgresql-8.4.0.tar.bz2
PyGreSQL-3.8.1.tgz
pgtcl1.6.2.tar.gz
pgtcldocs-20070115.zip
postgresql-8.3.7-US.pdf
postgresql-8.4.0-US.pdf

View File

@ -33,10 +33,10 @@ abs_builddir := $(shell pwd)
check: installcheck-parallel
installcheck: cleandirs
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
./pg_regress --schedule=$(srcdir)/serial_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
installcheck-parallel: cleandirs
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
./pg_regress --schedule=$(srcdir)/parallel_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
# The tests command the server to write into testtablespace and results.
# On a SELinux-enabled system this will fail unless we mark those directories
@ -53,10 +53,10 @@ runtest: installcheck
runtest-parallel: installcheck-parallel
bigtest: cleandirs
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
./pg_regress --schedule=$(srcdir)/serial_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
bigcheck: cleandirs
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
./pg_regress --schedule=$(srcdir)/parallel_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
##

View File

@ -1,12 +1,12 @@
README.rpm-dist
-----------------------------------------------------------------------------
Version 8.2, for the PostgreSQL 8.2.1-2 RPMset.
Devrim Gündüz <devrim@CommandPrompt.com>, Lamar Owen <lowen@pari.edu>
Version 8.4, for the PostgreSQL 8.4 RPM set.
Devrim Gündüz <devrim@CommandPrompt.com>
-----------------------------------------------------------------------------
Contents:
0.) Quick note about '-i'
1.) Introduction, QuickStart, and credits
1.) Introduction and QuickStart
2.) PostgreSQL RPM packages and rationale
3.) Starting multiple postmasters
4.) Regression Testing
@ -31,44 +31,49 @@ This document exists to explain the layout of the RPMs 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 8.2 of PostgreSQL,
This document is written to be applicable to version 8.4 of PostgreSQL,
which is the current version of the RPMs as of this writing. More to the
point, versions prior to 8.2 are not documented here.
point, versions prior to 8.4 are not documented here.
Official PostgreSQL Global Development Group RPMs have from version 7.1.2
on carried a 'PGDG' after the release number. Other RPMsets distributed
with Linux distributions may have a different release number and initials.
Official PostgreSQL Global Development Group RPMs carry a 'PGDG after the
release number. Other RPMsets 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.
If you want to stay up-to-date on the PostgreSQL core itself, you may
want to use PGDG set, instead of the binaries supplied by distribution.
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. Dump first, then remove the old server
subpackage, install the new package, and restore the data from dump. (A new
method of running multiple versions of PostgreSQL, along with the capability
to run multiple postmasters, is in development, but was not ready for this
release.)
These RPMs do not support any sort of major version upgrading process
other than that documented in the regular documentation. That is, you
must dump, upgrade,initdb, and restore your data if you are
performing a major version update. This is not needed for minor version
updates.
SuSE has maintained their own RPMset for some time -- their documentation
supercedes any found in this file.
For major version upgrade, dump first, then remove the old server
subpackage, install the new package, and restore the data from dump.
This document is intended for use only with Red Hat, CentOS and Fedora.
QUICKSTART
-----------------------------------------------------------------------------
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 localhost and Unix socket 5432 only. Edit
/var/lib/pgsql/data/postgresql.conf and pg_hba.conf if you want to allow
remote access -- see the section on Grand Unified Configuration.
For a fresh installation, you will need to initialize the cluster first. Run:
The file /var/lib/pgsql/.bash_profile is now packaged to help with the
service postgresql initdb
as root, and it will prepare a new database cluster for you. Then you will
need to start PostgreSQL. Again as root, run:
service postgresql start
This command will start a postmaster that willl listen on localhost and Unix
socket 5432 only. Edit /var/lib/pgsql/data/postgresql.conf and pg_hba.conf
if you want to allow remote access -- see the section on Grand Unified
Configuration.
The file /var/lib/pgsql/.bash_profile is packaged to help with the
setting of environment variables. You may edit this file, and it won't be
overwritten during an upgrade. However, enhancements and bugfixes may be added
to this file, so be sure to check .bash_profile.rpmnew after upgrading.
overwritten during an upgrade. However, enhancements and bugfixes may
be added to this file, so be sure to check .bash_profile.rpmnew after
upgrading.
The user 'postgres' is created during installation of the server subpackage.
This user by default is UID and GID 26. The user has the default shell set to
@ -76,26 +81,6 @@ bash, and the home directory set to /var/lib/pgsql. This user also has no
default password -- in order to be able to su to it from a non-root account
or login as 'postgres' you will need to set a password using passwd.
CREDITS
-----------------------------------------------------------------------------
Thomas Lockhart
Uncle George
Ryan Kirkpatrick
Trond Eivind Glomsrd
Mark Knox
Mike Mascari
Nicolas Huillard
Karl DeBisschop
Roger Luethi
Jeff Johnson
Reinhard Max
Peter Eisentraut
Joe Conway
Andrew Overholt
David Jee
Kaj J. Niemi
Devrim Gunduz
POSTGRESQL RPM PACKAGES AND RATIONALE.
-----------------------------------------------------------------------------
PostgreSQL is split up into multiple packages so that users can 'pick and
@ -139,31 +124,25 @@ various subdirectories.
Different distributions have different ideas of some of these file locations.
In particular, the documentation directory can be /usr/doc, /usr/doc/packages,
/usr/share/doc, /usr/share/doc/packages, or some other similar path. The
Red Hat / Fedora Core locations are listed below.
/usr/share/doc, /usr/share/doc/packages, or some other similar path.
However, the Red Hat / CentOS / Fedora RPM's install the files like
this:
However, the RPMs install the files like this:
Executables: /usr/bin
Libraries: /usr/lib
Documentation: /usr/share/doc/postgresql-x.y.z
Libraries: /usr/lib (or /usr/lib64)
Documentation: /usr/share/doc/postgresql-docs-x.y.z/html
Contrib documentation: /usr/share/doc/postgresql-contrib-x.y.z
Source: not installed
Data: /var/lib/pgsql/data
Backup area: /var/lib/pgsql/backup
Backup area: /var/lib/pgsql/backups
Templates: /usr/share/pgsql
Procedural Languages: /usr/lib/pgsql
Procedural Languages: /usr/lib/pgsql or /usr/lib64/pgsql
Development Headers: /usr/include/pgsql
Localization data: /usr/share/locale
Other shared data: /usr/share/pgsql
Regression tests: /usr/lib/pgsql/test/regress (in the -test package)
Tutorial: /usr/lib/pgsql/tutorial (in the -docs package)
Extra documentation: /usr/share/doc/postgresql-docs-x.y.z
On some 64-bit architectures, /usr/lib64 is used instead of /usr/lib.
The above list describes the Red Hat / Fedora Core layout. These locations
may change for other distributions. Use of 'rpm -ql' for each package is
recommended as the 'official' information source.
or /usr/lib64/pgsql/test/regress
Documentation SGML: /usr/share/doc/postgresql-docs-x.y.z/sgml
While it may seem gratuitous to place these files in different locations, the
FHS requires it -- distributions should not ever touch /usr/local. It may
@ -211,24 +190,26 @@ your database machine is up to the task.
To run the regression tests under the RPM installation, make sure that
postmaster has been started (if not, su to root and execute the
"/etc/rc.d/init.d/postgresql start" init script), cd to
/usr/lib/pgsql/test/regress, su to postgres, and execute "make check".
/usr/lib/pgsql/test/regress (or /usr/lib64/pgsql/test/regress),
su to postgres, and execute "make check".
This command will start the regression tests and will both show the
results to the screen and store the results in the file regress.out.
If any tests fail, see the file regression.diffs in that directory for details,
and read the "Regression Tests" section of the PostgreSQL documentation to
find out whether the differences are actually significant. If you need help
interpreting the results, contact the pgsql-ports list at postgresql.org or
the pgsqlrpms-general list at pgfoundry.org.
interpreting the results, contact the pgsql-general list at
postgresql.org.
After testing, say "make clean" to remove the files generated by the test
script.
STARTING POSTMASTER AUTOMATICALLY AT SYSTEM STARTUP
-------------------------------------------------------------------------------
Red Hat 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
Fedora / Red Hat / CentOS use 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
service postgresql start
To shut the postmaster down,
service postgresql stop
@ -269,12 +250,12 @@ REBUILDING FROM SOURCE RPM
-------------------------------------------------------------------------------
If your distribution is not supported by the binary RPMs from PostgreSQL.org,
you will need to rebuild from the source RPM. Download the .src.rpm for this
release. You will need to be root to rebuild, unless you have already set up
a non-root build environment.
release. You will need to be root to rebuild, unless you have set up
a non-root build environment (which is the recommended method anyway).
Install the source RPM with rpm -i, then CD to the rpm building area (on Red
Hat or Fedora Core this is /usr/src/redhat by default). You will have to have
a full development environment to rebuild the full RPM set.
Install the source RPM with rpm -i, then cd to the rpm building area
(which is /usr/src/redhat by default). You will have to have a full
development 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:
@ -283,22 +264,25 @@ beta 0 #build with cassert and do not strip the binaries
python 1 #build the postgresql-python package.
tcl 1 #build the postgresql-tcl package.
test 1 #build the postgresql-test package.
plpython 1 #build the PL/Python package
pltcl 1 #build the PL/Tcl package.
plperl 1 #build the PL/Perl package.
plpython 1 #build the PL/Python procedural language package.
pltcl 1 #build the PL/Tcl procedural language package.
plperl 1 #build the PL/Perl procedural language package.
ssl 1 #use OpenSSL support.
kerberos 1 #use Kerberos 5 support.
nls 1 #build with national language support.
ldap 1 #build with LDAP support.
pam 1 #build with PAM support.
runselftest 1 #do "make check" during the build.
xml 1 #build contrib/xml2
sdt 1 #build with SystemTap support.
xml 1 #build with XML support
pgfts 1 #build with --enable-thread-safety
uuid 1 #build contrib/uuid-ossp
To use these defines, invoke a rebuild like this:
rpmbuild --rebuild --define 'python 0' --define 'tcl 0' \
--define 'test 0' --define 'runselftest 1' --define 'kerberos 0' \
postgresql-8.2.1-1.src.rpm
This line would disable the python, tcl, and test subpackages, enable the
--define 'test 0' --define 'runselftest 0' --define 'kerberos 0' \
postgresql-8.4.0-1.src.rpm
This line would disable the python, tcl, and test subpackages, disable the
regression test run during build, and disable kerberos support.
You might need to disable runselftest if there is an installed version of
@ -314,23 +298,16 @@ CONTRIB FILES
The contents of the contrib tree are packaged into the -contrib subpackage
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.
modules are in /usr/lib/pgsql (or /usr/lib64/pgsql) for loadable
modules, and binaries are in /usr/bin. In the future these files may be
split out, depending upon function and dependencies.
MORE INFORMATION
-------------------------------------------------------------------------------
You can get more information at http://www.postgresql.org and
http://pgfoundry.org/projects/pgsqlrpms
http://yum.pgsqlrpms.org
Please help make this packaging better -- let us know if you find problems, or
better ways of doing things. You can reach us by e-mail at
better ways of doing things. You can reach us by e-mail at
pgsqlrpms-hackers@pgfoundry.org
SUSE products usually ship with the latest version of PostgreSQL that
was available at the time they were released. RPMs for newer versions
of PostgreSQL can be found on the SUSE FTP server and it's mirrors.
ftp://ftp.suse.com/pub/projects/postgresql
http://www.novell.com/products/linuxprofessional/downloads/ftp/int_mirrors.html
-------------------------------------------------------------------------------

View File

@ -4,17 +4,17 @@ for PostgreSQL, but it's not very tenable in the Fedora/RHEL world.
Dike out the check.
diff -Naur postgresql-8.3.7.orig/configure.in postgresql-8.3.7/configure.in
--- postgresql-8.3.7.orig/configure.in 2008-09-18 23:04:12.000000000 -0400
+++ postgresql-8.3.7/configure.in 2008-09-25 10:26:10.000000000 -0400
diff -Naur postgresql-8.4.0.orig/configure.in postgresql-8.4.0/configure.in
--- postgresql-8.4.0.orig/configure.in 2009-06-26 20:14:47.000000000 -0400
+++ postgresql-8.4.0/configure.in 2009-08-12 23:09:31.000000000 -0400
@@ -19,10 +19,6 @@
AC_INIT([PostgreSQL], [8.3.7], [pgsql-bugs@postgresql.org])
AC_INIT([PostgreSQL], [8.4.0], [pgsql-bugs@postgresql.org])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.59], [], [m4_fatal([Autoconf version 2.59 is required.
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.61], [], [m4_fatal([Autoconf version 2.61 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
-recommended. You can remove the check from 'configure.in' but it is then
-your responsibility whether the result works or not.])])
AC_COPYRIGHT([Copyright (c) 1996-2008, PostgreSQL Global Development Group])
AC_COPYRIGHT([Copyright (c) 1996-2009, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)

View File

@ -1,7 +1,10 @@
diff -Naur postgresql-8.3RC2.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-8.3RC2/src/backend/utils/misc/postgresql.conf.sample
--- postgresql-8.3RC2.orig/src/backend/utils/misc/postgresql.conf.sample 2008-01-09 21:50:01.000000000 -0500
+++ postgresql-8.3RC2/src/backend/utils/misc/postgresql.conf.sample 2008-01-18 11:44:08.000000000 -0500
@@ -237,17 +237,17 @@
Select stderr-based logging with a week's worth of daily logfiles.
diff -Naur postgresql-8.4.0.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-8.4.0/src/backend/utils/misc/postgresql.conf.sample
--- postgresql-8.4.0.orig/src/backend/utils/misc/postgresql.conf.sample 2009-04-22 20:23:45.000000000 -0400
+++ postgresql-8.4.0/src/backend/utils/misc/postgresql.conf.sample 2009-08-12 23:20:46.000000000 -0400
@@ -236,17 +236,17 @@
# requires logging_collector to be on.
# This is used when logging to stderr:
@ -23,15 +26,15 @@ diff -Naur postgresql-8.3RC2.orig/src/backend/utils/misc/postgresql.conf.sample
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
@@ -255,9 +255,9 @@
@@ -254,9 +254,9 @@
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
-#log_rotation_age = 1d # Automatic rotation of logfiles will
+log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 to disable.
# happen after that time. 0 disables.
-#log_rotation_size = 10MB # Automatic rotation of logfiles will
+log_rotation_size = 0 # Automatic rotation of logfiles will
# happen after that much log output.
# 0 to disable.
# 0 disables.

View File

@ -7,12 +7,12 @@ So work around it by adding an rpath spec to plperl.so (only).
Per bug #162198.
diff -Naur postgresql-8.2.0.orig/src/pl/plperl/GNUmakefile postgresql-8.2.0/src/pl/plperl/GNUmakefile
--- postgresql-8.2.0.orig/src/pl/plperl/GNUmakefile 2006-07-20 20:24:04.000000000 -0400
+++ postgresql-8.2.0/src/pl/plperl/GNUmakefile 2006-12-04 20:00:56.000000000 -0500
@@ -36,6 +36,9 @@
diff -Naur postgresql-8.4.0.orig/src/pl/plperl/GNUmakefile postgresql-8.4.0/src/pl/plperl/GNUmakefile
--- postgresql-8.4.0.orig/src/pl/plperl/GNUmakefile 2009-06-05 14:29:56.000000000 -0400
+++ postgresql-8.4.0/src/pl/plperl/GNUmakefile 2009-08-12 23:28:57.000000000 -0400
@@ -38,6 +38,9 @@
SHLIB_LINK = $(perl_embed_ldflags) $(BE_DLLLIBS)
SHLIB_LINK = $(perl_embed_ldflags)
+# Force rpath to be used even though we disable it everywhere else
+SHLIB_LINK += $(rpath)

View File

@ -1,53 +0,0 @@
In the postgresql-test RPM, the contrib .so's that are used by the tests
are installed right in the directory where the tests are run. We must
adjust the CREATE FUNCTION commands accordingly. Note that this also
means that the specfile has to copy the .so's into the test directory
while doing the in-build-tree regression tests.
diff -Naur postgresql-8.3RC2.orig/src/test/regress/input/create_function_1.source postgresql-8.3RC2/src/test/regress/input/create_function_1.source
--- postgresql-8.3RC2.orig/src/test/regress/input/create_function_1.source 2006-02-27 11:09:50.000000000 -0500
+++ postgresql-8.3RC2/src/test/regress/input/create_function_1.source 2008-01-18 13:38:51.000000000 -0500
@@ -24,17 +24,17 @@
CREATE FUNCTION check_primary_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION check_foreign_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION autoinc ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+ AS '@abs_builddir@/autoinc@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION funny_dup17 ()
diff -Naur postgresql-8.3RC2.orig/src/test/regress/output/create_function_1.source postgresql-8.3RC2/src/test/regress/output/create_function_1.source
--- postgresql-8.3RC2.orig/src/test/regress/output/create_function_1.source 2007-06-18 17:40:58.000000000 -0400
+++ postgresql-8.3RC2/src/test/regress/output/create_function_1.source 2008-01-18 13:38:51.000000000 -0500
@@ -25,15 +25,15 @@
NOTICE: argument type city_budget is only a shell
CREATE FUNCTION check_primary_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION check_foreign_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION autoinc ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+ AS '@abs_builddir@/autoinc@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION funny_dup17 ()
RETURNS trigger

View File

@ -67,10 +67,15 @@
# Version 8.2 Devrim Gunduz <devrim@CommandPrompt.com>
# Set initdb as a seperate option.
# PGVERSION is the full package version, e.g., 8.2.0
# Version 8.3 Devrim Gunduz <devrim@CommandPrompt.com>
# Version 8.4 Devrim Gunduz <devrim@CommandPrompt.com>
# Remove "sameuser" from initdb, to match the new hba conf file.
# PGVERSION is the full package version, e.g., 8.4.0
# Note: the specfile ordinarily updates this during install
PGVERSION=xxxx
# PGMAJORVERSION is major version, e.g., 8.2 (this should match PG_VERSION)
# PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION)
PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\.[0-9]*\).*$/\1/'`
# Source function library.
@ -101,13 +106,7 @@ fi
# Set defaults for configuration variables
PGENGINE=/usr/bin
PGPORT=5432
PGDATA=/var/lib/pgsql
if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base/template1" ]
then
echo "Using old-style directory structure"
else
PGDATA=/var/lib/pgsql/data
fi
PGDATA=/var/lib/pgsql/data
PGLOG=/var/lib/pgsql/pgstartup.log
# Override defaults from /etc/sysconfig/pgsql if file is present
@ -245,7 +244,7 @@ initdb(){
# Clean up SELinux tagging for PGDATA
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
# Initialize the database
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident sameuser'" >> "$PGLOG" 2>&1 < /dev/null
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
# Create directory for postmaster log
mkdir "$PGDATA/pg_log"
chown postgres:postgres "$PGDATA/pg_log"

View File

@ -1,25 +1,6 @@
# Conventions for PostgreSQL Global Development Group RPM releases:
# Official PostgreSQL Development Group RPMS have a PGDG after the release number.
# Integer releases are stable -- 0.1.x releases are Pre-releases, and x.y are
# test releases.
# Pre-releases are those that are built from CVS snapshots or pre-release
# tarballs from postgresql.org. Official beta releases are not
# considered pre-releases, nor are release candidates, as their beta or
# release candidate status is reflected in the version of the tarball. Pre-
# releases' versions do not change -- the pre-release tarball of 7.0.3, for
# example, has the same tarball version as the final official release of 7.0.3:
# but the tarball is different.
# Test releases are where PostgreSQL itself is not in beta, but certain parts of
# the RPM packaging (such as the spec file, the initscript, etc) are in beta.
# Pre-release RPM's should not be put up on the public ftp.postgresql.org server
# -- only test releases or full releases should be.
# This is the PostgreSQL Global Development Group Official RPMset spec file,
# or a derivative thereof.
# Copyright 2003 Lamar Owen <lowen@pari.edu> <lamar.owen@wgcr.org>
# Copyright 2003-2009 Lamar Owen <lowen@pari.edu> <lamar.owen@wgcr.org>
# and others listed.
# Major Contributors:
@ -41,18 +22,12 @@
# This spec file and ancilliary files are licensed in accordance with
# The PostgreSQL license.
# In this file you can find the default build package list macros. These can be overridden by defining
# on the rpm command line:
# In this file you can find the default build package list macros.
# These can be overridden by defining on the rpm command line:
# rpm --define 'packagename 1' .... to force the package to build.
# rpm --define 'packagename 0' .... to force the package NOT to build.
# The base package, the lib package, the devel package, and the server package always get built.
#build7x, build8, and build9 similar
%{?build7x:%define tcldevel 0}
%{?build7x:%define aconfver autoconf-2.53}
%{?build8:%define build89 1}
%{?build8:%define tcldevel 0}
%{?build9:%define build89 1}
# The base package, the lib package, the devel package, and the server package
# always get built.
%define beta 0
%{?beta:%define __os_install_post /usr/lib/rpm/brp-compress}
@ -83,8 +58,9 @@
Summary: PostgreSQL client programs and libraries
Name: postgresql
Version: 8.3.7
Release: 2%{?dist}
%define majorversion 8.4
Version: 8.4.0
Release: 1%{?dist}
License: BSD
Group: Applications/Databases
Url: http://www.postgresql.org/
@ -98,7 +74,7 @@ Source7: ecpg_config.h
Source14: postgresql.pam
Source15: postgresql-bashprofile
Source16: filter-requires-perl-Pg.sh
Source17: http://www.postgresql.org/docs/manuals/postgresql-8.3.7-US.pdf
Source17: http://www.postgresql.org/docs/manuals/postgresql-8.4.0-US.pdf
Source18: ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-3.8.1.tgz
Source19: http://pgfoundry.org/projects/pgtclng/pgtcl1.6.2.tar.gz
Source20: http://pgfoundry.org/projects/pgtclng/pgtcldocs-20070115.zip
@ -106,7 +82,6 @@ Source20: http://pgfoundry.org/projects/pgtclng/pgtcldocs-20070115.zip
Patch1: rpm-pgsql.patch
Patch2: postgresql-ac-version.patch
Patch3: postgresql-logging.patch
Patch4: postgresql-test.patch
Patch5: pgtcl-no-rpath.patch
Patch6: postgresql-perl-rpath.patch
@ -185,7 +160,7 @@ server over a network connection. This package contains the docs
in HTML for the whole package, as well as command-line utilities for
managing PostgreSQL databases on a PostgreSQL server.
If you want to manipulate a PostgreSQL database on a remote PostgreSQL
If you want to manipulate a PostgreSQL database on a local or remote PostgreSQL
server, you need this package. You also need to install this package
if you're installing the postgresql-server package.
@ -228,8 +203,8 @@ Obsoletes: rh-postgresql-docs
%description docs
The postgresql-docs package includes some additional documentation for
PostgreSQL. Currently, this includes the main documentation in PDF format,
the FAQ, and source files for the PostgreSQL tutorial.
PostgreSQL. Currently, this includes the main documentation in PDF format
and source files for the PostgreSQL tutorial.
%package contrib
@ -256,7 +231,6 @@ with a PostgreSQL database management server and the ecpg Embedded C
Postgres preprocessor. You need to install this package if you want to
develop applications which will interact with a PostgreSQL server.
#------------
%if %plperl
%package plperl
Summary: The Perl procedural language for PostgreSQL
@ -272,7 +246,6 @@ system. The postgresql-plperl package contains the PL/Perl
procedural language for the backend.
%endif
#------------
%if %plpython
%package plpython
Summary: The Python procedural language for PostgreSQL
@ -287,7 +260,6 @@ system. The postgresql-plpython package contains the PL/Python
procedural language for the backend.
%endif
#------------
%if %pltcl
%package pltcl
Summary: The Tcl procedural language for PostgreSQL
@ -302,7 +274,6 @@ system. The postgresql-pltcl package contains the PL/Tcl
procedural language for the backend.
%endif
#------------
%if %tcl
%package tcl
Summary: A Tcl client library for PostgreSQL
@ -318,7 +289,6 @@ system. The postgresql-tcl package contains the Pgtcl client library
and its documentation.
%endif
#------------
%if %python
%package python
Summary: Development module for Python code to access a PostgreSQL DB
@ -335,7 +305,6 @@ developers to use when writing Python code for accessing a PostgreSQL
database.
%endif
#----------
%if %test
%package test
Summary: The test suite distributed with PostgreSQL
@ -357,7 +326,6 @@ system, including regression tests and benchmarks.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
# patch5 is applied later
%patch6 -p1
@ -402,10 +370,6 @@ CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
%endif
# Use --as-needed to eliminate unnecessary link dependencies.
# NB: Postgres 8.4 will do this for itself.
LDFLAGS="-Wl,--as-needed"; export LDFLAGS
%configure --disable-rpath \
%if %beta
--enable-debug \
@ -466,11 +430,8 @@ rm -f src/tutorial/GNUmakefile
%if %runselftest
pushd src/test/regress
make all
cp ../../../contrib/spi/refint.so .
cp ../../../contrib/spi/autoinc.so .
make MAX_CONNECTIONS=5 check
make clean
rm refint.so autoinc.so
popd
%endif
@ -572,8 +533,6 @@ install -d -m 700 $RPM_BUILD_ROOT/etc/sysconfig/pgsql
# Makefiles, however.
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pgsql/test
cp -a src/test/regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test
install -m 0755 contrib/spi/refint.so $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress
install -m 0755 contrib/spi/autoinc.so $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress
pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress
strip *.so
rm -f GNUmakefile Makefile *.o
@ -597,21 +556,44 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql
popd
%endif
%find_lang libpq
%find_lang initdb
%find_lang pg_config
%find_lang pg_ctl
%find_lang pg_dump
%find_lang postgres
%find_lang psql
%find_lang pg_resetxlog
%find_lang pg_controldata
%find_lang pgscripts
cat libpq.lang > libpq.lst
cat pg_config.lang > pg_config.lst
cat initdb.lang pg_ctl.lang psql.lang pg_dump.lang pgscripts.lang > main.lst
cat postgres.lang pg_resetxlog.lang pg_controldata.lang > server.lst
%find_lang ecpg-%{majorversion}
cat ecpg-%{majorversion}.lang >devel.lst
%find_lang ecpglib6-%{majorversion}
cat ecpglib6-%{majorversion}.lang >libs.lst
%find_lang initdb-%{majorversion}
cat initdb-%{majorversion}.lang >server.lst
%find_lang libpq5-%{majorversion}
cat libpq5-%{majorversion}.lang >>libs.lst
%find_lang pg_config-%{majorversion}
cat pg_config-%{majorversion}.lang >>devel.lst
%find_lang pg_controldata-%{majorversion}
cat pg_controldata-%{majorversion}.lang >>server.lst
%find_lang pg_ctl-%{majorversion}
cat pg_ctl-%{majorversion}.lang >>server.lst
%find_lang pg_dump-%{majorversion}
cat pg_dump-%{majorversion}.lang >main.lst
%find_lang pg_resetxlog-%{majorversion}
cat pg_resetxlog-%{majorversion}.lang >>server.lst
%find_lang pgscripts-%{majorversion}
cat pgscripts-%{majorversion}.lang >>main.lst
%if %plperl
%find_lang plperl-%{majorversion}
cat plperl-%{majorversion}.lang >plperl.lst
%endif
%find_lang plpgsql-%{majorversion}
cat plpgsql-%{majorversion}.lang >>server.lst
%if %plpython
%find_lang plpython-%{majorversion}
cat plpython-%{majorversion}.lang >plpython.lst
%endif
%if %pltcl
%find_lang pltcl-%{majorversion}
cat pltcl-%{majorversion}.lang >pltcl.lst
%endif
%find_lang postgres-%{majorversion}
cat postgres-%{majorversion}.lang >>server.lst
%find_lang psql-%{majorversion}
cat psql-%{majorversion}.lang >>main.lst
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
@ -672,7 +654,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f main.lst
%defattr(-,root,root)
%doc doc/FAQ doc/KNOWN_BUGS doc/MISSING_FEATURES doc/README*
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/README*
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
%doc doc/html
@ -707,7 +689,6 @@ rm -rf $RPM_BUILD_ROOT
%files docs
%defattr(-,root,root)
%doc doc/src/FAQ
%doc *-US.pdf
%{_libdir}/pgsql/tutorial/
@ -716,8 +697,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/_int.so
%{_libdir}/pgsql/adminpack.so
%{_libdir}/pgsql/autoinc.so
%{_libdir}/pgsql/auto_explain.so
%{_libdir}/pgsql/btree_gin.so
%{_libdir}/pgsql/btree_gist.so
%{_libdir}/pgsql/chkpass.so
%{_libdir}/pgsql/citext.so
%{_libdir}/pgsql/cube.so
%{_libdir}/pgsql/dblink.so
%{_libdir}/pgsql/dict_int.so
@ -726,7 +710,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/fuzzystrmatch.so
%{_libdir}/pgsql/hstore.so
%{_libdir}/pgsql/insert_username.so
%{_libdir}/pgsql/int_aggregate.so
%{_libdir}/pgsql/isn.so
%{_libdir}/pgsql/lo.so
%{_libdir}/pgsql/ltree.so
@ -738,6 +721,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/pgcrypto.so
%{_libdir}/pgsql/pgrowlocks.so
%{_libdir}/pgsql/pgstattuple.so
%{_libdir}/pgsql/pg_stat_statements.so
%{_libdir}/pgsql/refint.so
%{_libdir}/pgsql/seg.so
%{_libdir}/pgsql/sslinfo.so
@ -756,9 +740,9 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/pg_standby
%{_bindir}/pgbench
%{_bindir}/vacuumlo
%doc contrib/*/README.* contrib/spi/*.example
%doc contrib/spi/*.example
%files libs -f libpq.lang
%files libs -f libs.lst
%defattr(-,root,root)
%{_libdir}/libpq.so.*
%{_libdir}/libecpg.so.*
@ -773,14 +757,12 @@ rm -rf $RPM_BUILD_ROOT
%endif
%attr (755,root,root) %dir /etc/sysconfig/pgsql
%{_bindir}/initdb
%{_bindir}/ipcclean
%{_bindir}/pg_controldata
%{_bindir}/pg_ctl
%{_bindir}/pg_resetxlog
%{_bindir}/postgres
%{_bindir}/postmaster
%{_mandir}/man1/initdb.*
%{_mandir}/man1/ipcclean.*
%{_mandir}/man1/pg_controldata.*
%{_mandir}/man1/pg_ctl.*
%{_mandir}/man1/pg_resetxlog.*
@ -806,7 +788,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/sql_features.txt
%files devel -f pg_config.lst
%files devel -f devel.lst
%defattr(-,root,root)
/usr/include/*
%{_bindir}/ecpg
@ -832,13 +814,13 @@ rm -rf $RPM_BUILD_ROOT
%endif
%if %plperl
%files plperl
%files plperl -f plperl.lst
%defattr(-,root,root)
%{_libdir}/pgsql/plperl.so
%endif
%if %pltcl
%files pltcl
%files pltcl -f pltcl.lst
%defattr(-,root,root)
%{_libdir}/pgsql/pltcl.so
%{_bindir}/pltcl_delmod
@ -848,7 +830,7 @@ rm -rf $RPM_BUILD_ROOT
%endif
%if %plpython
%files plpython
%files plpython -f plpython.lst
%defattr(-,root,root)
%{_libdir}/pgsql/plpython.so
%endif
@ -870,6 +852,10 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Mon Aug 17 2009 Tom Lane <tgl@redhat.com> 8.4.0-1
- Update to PostgreSQL 8.4.0. See release notes at
http://www.postgresql.org/docs/8.4/static/release-8-4.html
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.3.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

View File

@ -1,7 +1,11 @@
diff -Naur postgresql-8.1.0.orig/src/Makefile.global.in postgresql-8.1.0/src/Makefile.global.in
--- postgresql-8.1.0.orig/src/Makefile.global.in 2005-09-27 13:39:32.000000000 -0400
+++ postgresql-8.1.0/src/Makefile.global.in 2005-11-07 14:58:59.000000000 -0500
@@ -53,7 +53,7 @@
For the RPMs, we want the custom installation directories to end in
/pgsql not /postgresql. This is historical but not worth changing.
diff -Naur postgresql-8.4.0.orig/src/Makefile.global.in postgresql-8.4.0/src/Makefile.global.in
--- postgresql-8.4.0.orig/src/Makefile.global.in 2009-06-22 23:46:00.000000000 -0400
+++ postgresql-8.4.0/src/Makefile.global.in 2009-08-12 23:14:53.000000000 -0400
@@ -54,7 +54,7 @@
# Installation directories
#
# These are set by the equivalent --xxxdir configure options. We
@ -10,7 +14,7 @@ diff -Naur postgresql-8.1.0.orig/src/Makefile.global.in postgresql-8.1.0/src/Mak
# contain "pgsql" or "postgres", in order to avoid directory clutter.
#
# In a PGXS build, we cannot use the values inserted into Makefile.global
@@ -73,14 +73,14 @@
@@ -75,14 +75,14 @@
datadir := @datadir@
ifeq "$(findstring pgsql, $(datadir))" ""
ifeq "$(findstring postgres, $(datadir))" ""
@ -27,7 +31,7 @@ diff -Naur postgresql-8.1.0.orig/src/Makefile.global.in postgresql-8.1.0/src/Mak
endif
endif
@@ -89,7 +89,7 @@
@@ -91,7 +91,7 @@
pkglibdir = $(libdir)
ifeq "$(findstring pgsql, $(pkglibdir))" ""
ifeq "$(findstring postgres, $(pkglibdir))" ""
@ -36,7 +40,7 @@ diff -Naur postgresql-8.1.0.orig/src/Makefile.global.in postgresql-8.1.0/src/Mak
endif
endif
@@ -98,7 +98,7 @@
@@ -100,7 +100,7 @@
pkgincludedir = $(includedir)
ifeq "$(findstring pgsql, $(pkgincludedir))" ""
ifeq "$(findstring postgres, $(pkgincludedir))" ""
@ -46,11 +50,11 @@ diff -Naur postgresql-8.1.0.orig/src/Makefile.global.in postgresql-8.1.0/src/Mak
endif
@@ -109,7 +109,7 @@
ifneq (,$(docdir))
docdir := @docdir@
ifeq "$(findstring pgsql, $(docdir))" ""
ifeq "$(findstring postgres, $(docdir))" ""
-override docdir := $(docdir)/postgresql
+override docdir := $(docdir)/pgsql
endif
endif
endif

View File

@ -1,5 +1,5 @@
7b7e91a2221e55fe1b167e663217a96d postgresql-8.3.7.tar.bz2
1f172d5f60326e972837f58fa5acd130 postgresql-8.4.0.tar.bz2
5575979dac93c9c5795d7693a8f91c86 PyGreSQL-3.8.1.tgz
abf26e3cd7f8229f468045ed1fb7e748 pgtcl1.6.2.tar.gz
8ce98e93b238c3329d0fe43810442c44 pgtcldocs-20070115.zip
cf36036b0a973f793b2ba25dfdbcf879 postgresql-8.3.7-US.pdf
bbed2a7dad711eef335701391b9f112d postgresql-8.4.0-US.pdf