From 6f2c3a9b148c44c7f4bc45268ec81116b368d20e Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 10:37:06 +0000 Subject: auto-import postgresql-7.1.3-1 from postgresql-7.1.3-1.src.rpm --- .cvsignore | 8 +- README.rpm-dist | 437 ++++++++++++++++ postgresql-bashprofile | 5 + postgresql.init | 232 +++++++++ postgresql.spec | 1302 ++++++++++++++++++++++++++++-------------------- sources | 8 +- 6 files changed, 1430 insertions(+), 562 deletions(-) create mode 100644 README.rpm-dist create mode 100644 postgresql-bashprofile create mode 100644 postgresql.init diff --git a/.cvsignore b/.cvsignore index bb7c60c..3159d4b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,5 +1,5 @@ -file-lists-pgsql-7.0.3.tar.gz -pg-migration-scripts-7.0.3.tar.gz -postgresql-7.0.3-alpha.patch.gz -postgresql-7.0.3.tar.bz2 +contrib-intarray.tar.gz +file-lists.tar.gz +migration-scripts.tar.gz +postgresql-7.1.3.tar.gz postgresql-dump.1.gz diff --git a/README.rpm-dist b/README.rpm-dist new file mode 100644 index 0000000..507f74b --- /dev/null +++ b/README.rpm-dist @@ -0,0 +1,437 @@ +README.rpm-dist +----------------------------------------------------------------------------- +Version 3.6, for PostgreSQL 7.1.3 +Lamar Owen +----------------------------------------------------------------------------- + +Contents: + 0.) Quickie -i note. + 1.) Introduction, QuickStart, and credits + 2.) PostgreSQL RPM packages and rationale + 3.) Upgrading from an older version of PostgreSQL without losing data. + 4.) Regression Testing + 5.) Starting postmaster automatically on startup + 6.) Grand Unified Configuration(GUC) File. + 7.) Rebuilding the source RPM. + 8.) Contrib files. + 9.) Logging set up +10.) Further Information Resource + +QUICKIE '-i' NOTE +----------------------------------------------------------------------------- +The postmaster '-i' option is NOT used by default in the initscript shipped +with these RPMs. Please do NOT modify the initscript to add the '-i' back +in -- it will get overwritten on the next package upgrade. Rather, see the +section below on the Grand Unified Configuration file, which includes the +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 is written to be applicable to version 7.1.2 of PostgreSQL, +which is the current version of the RPM's as of this writing. + +Official PostgreSQL Global Development Group RPM's will from version 7.1.2 +on carry 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. + +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. + +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) + +On SuSE, please see the file 'README.linux' in this directory. + +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 +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 +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 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 Glomsrød +Mark Knox +Mike Mascari +Nicolas Huillard +Karl DeBisschop +Roger Luethi +Jeff Johnson +Reinhard Max + + +POSTGRESQL RPM PACKAGES AND RATIONALE. +----------------------------------------------------------------------------- +On RedHat Linux, prior to version 6.5, PostgreSQL was packaged in RPM form in +three (or four) packages: + +postgresql: The server and documentation +postgresql-clients: The client libraries, the cli, and the tcl interface +postgresql-devel: Development libraries (for the client-side) +postgresql-data: A sample database -- not shipped with the 6.4 RPMS. + +However, it was decided that a different split would be more appropriate for +users. The 7.0 splitup allows more flexibility in installation, as well as +making the new clients into their own packages. The new packages are: + +postgresql: Some clients and libraries, and documentation +postgresql-server: Server executables and data files +postgresql-devel: Client-side development libraries +postgresql-tcl: TCL/TK client libraries and the pgaccess client +postgresql-perl: PERL client module +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. + +For version 7.0.x, another package is being shipped, and one package has been +trimmed: +postgresql-tk: Tk client and pgaccess. +postgresql-tcl: Tcl client and PL ONLY. + +For version 7.1, more packages are being shipped: +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. + +For SuSE Linux <= 7.0, the packages are named differently, but with the same +functionality. Here is a mapping: +SuSE: RedHat: +----- ----------------- +postgres postgresql +pg_serv postgresql-server +pg_devel postgresql-devel +pg_tcl postgresql-tcl +pg_perl postgresql-perl +pg_pyth postgresql-python +pg_odbc postgresql-odbc +pg_jdbc postgresql-jdbc +pg_test postgresql-test + +There are other changes to the SuSE packages to make them conform to the +SuSE packaging standards. SuSE Linux has been shipping their own packages. + +While the repackaging will initially cause some confusion, it makes it +possible to set up a RedHat linux machine to be only a client -- the server +is no longer required. The clients were split out -- after all, a person who +needs the perl client may very well not need the tcl client, etc. And, the +regression tests were added to give some confidence of the suitability of +PostgreSQL, as well as the stability of the server machine. Additionally, +the regression tests can be used to help find hardware errors. + +RPM FILE LOCATIONS. +----------------------------------------------------------------------------- +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. + +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 +RedHat 7 locations are listed below. On SuSE <7.1, substitute 'postgres' for +'postgresql' below, and 'pg_tk' for 'postgresql-tk' below. + +However, the RPM's install the files like this: +Executables: /usr/bin +Libaries: /usr/lib +Documentation: /usr/share/doc/postgresql-x.y.z +Contrib: /usr/share/doc/postgresql-x.y.z/contrib +Source: not installed +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) +Documentation SGML: /usr/share/doc/postgresql-docs-x.y.z + +The above list references the Red Hat 7.x structure. These locations may +change for other distributions. Use of 'rpm -ql' for each package is +recommended as the 'Official' location source. + +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 +also seem like more work to keep track of where everything is -- but, that's +the beauty of RPM -- you don't have to keep track of the files, RPM does it +for you. + +UPGRADING. +----------------------------------------------------------------------------- +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. + +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 priot 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 +# use functions, add conditional restart + +# Version 7.0.3 Lamar Owen +# Check for the existence of functions before blindly using them +# in particular -- check for success () and failure () before using. +# More Cross-distribution support -- PGVERSION variable, and docdir checks. + +# Version 7.1 Release Candidate Lamar Owen +# initdb parameters have changed. + +# Version 7.1.2 Trond Eivind Glomsrød +# 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 +# Kill output from database initialization +# Mark messages for translation + +# Version 7.1.2-2.PGDG Lamar Owen +# sync up. +# Karl's fixes for some quoting issues. + +# PGVERSION is: +PGVERSION=7.1.2 + +# Source function library. +INITD=/etc/rc.d/init.d +. $INITD/functions + +# Get function listing for cross-distribution logic. +TYPESET=`typeset -f|grep "declare"` + +# Get config. +. /etc/sysconfig/network + +# 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 + + # 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.1' ] + then + SYSDOCDIR="(Your System's documentation directory)" + if [ -d /usr/doc/postgresql-$PGVERSION ] + then + SYSDOCDIR=/usr/doc + fi + if [ -d /usr/share/doc/postgresql-$PGVERSION ] + then + SYSDOCDIR=/usr/share/doc + fi + if [ -d /usr/doc/packages/postgresql-$PGVERSION ] + then + SYSDOCDIR=/usr/doc/packages + fi + if [ -d /usr/share/doc/packages/postgresql-$PGVERSION ] + then + SYSDOCDIR=/usr/share/doc/packages + fi + echo + echo $"An old version of the database format was found.\nYou need to upgrade the data format before using PostgreSQL.\nSee $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information." + exit 1 +# This doesn't seem to do anything useful... +# else +# if echo "$TYPESET"|grep "declare -f success ()" >/dev/null +# then +# success "$PSQL_CHECK" +# else +# echo " [ OK ]" +# fi +# echo + fi + + # No existing PGDATA! Initdb it. + + else + echo -n $"Initializing database: " + if [ ! -d $PGDATA ] + then + mkdir -p $PGDATA + chown postgres.postgres $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 + # Just in case no locale was set, use en_US + [ ! -f /etc/sysconfig/i18n ] && echo "LANG=en_US" > $PGDATA/../initdb.i18n + # 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 + [ -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 ] + then + echo $"Postmaster already running." + else + #all systems go -- remove any stale lock files + rm -f /tmp/.s.PGSQL.* > /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 + sleep 1 + pid=`pidof -s postmaster` + if [ $pid ] + then + if echo "$TYPESET"|grep "declare -f success ()" >/dev/null + then + success "$PSQL_START" + else + echo " [ OK ]" + fi + touch /var/lock/subsys/postgresql + echo $pid > /var/run/postmaster.pid + echo + else + if echo "$TYPESET"|grep "declare -f failure ()" >/dev/null + then + failure "$PSQL_START" + else + echo " [ FAILED ]" + fi + echo + fi + fi +} + +stop(){ + # Check for postmaster already running... exit if this happens + pid=`pidof -s postmaster` + if [ "$pid" == "" ]; then + rm -f /var/run/postmaster.pid + rm -f /var/lock/subsys/postgresql + exit 0; + fi + echo -n $"Stopping 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 + su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl stop -D $PGDATA -s -m fast" > /dev/null 2>&1 + ret=$? # This will always be 0, as the return code doesn't propagate... Fix that some day. + if [ $ret -eq 0 ]; then + echo_success + else + echo_failure + fi + echo + rm -f /var/run/postmaster.pid + rm -f /var/lock/subsys/postgresql +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e /var/lock/subsys/postgresql ] && restart || : +} + + +# This script is slightly unusual in that the name of the daemon (postmaster) +# is not the same as the name of the subsystem (postgresql) + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status postmaster + ;; + restart) + restart + ;; + condrestart) + condrestart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart}" + exit 1 +esac + +exit 0 + diff --git a/postgresql.spec b/postgresql.spec index ae30aa6..cf57244 100755 --- a/postgresql.spec +++ b/postgresql.spec @@ -1,49 +1,109 @@ -# Do we want to build the postgresql-test package ? (1=yes 0=no) -%define build_testpackage 0 +%{!?perl:%define perl 1} +%{!?tcl:%define tcl 1} +%{!?tkpkg:%define tkpkg 1} +%{!?odbc:%define odbc 1} +%{!?jdbc:%define jdbc 1} +%{!?test:%define test 0} +%{!?python:%define python 1} +%{!?pltcl:%define pltcl 1} +%{?forceplperl:%define plperl %{expand:forceplperl}} +%{!?forceplperl:%define forceplperl 0} +%{!?plperl:%define plperl 0} +%{!?ssl:%define ssl 1} +%{!?kerberos:%define kerberos 1} + +# Utility feature defines. +%{!?enable_mb:%define enable_mb 1} +%{!?pgaccess:%define pgaccess 1} +%{!?newintarray:%define newintarray 0} + +# Python major version. +%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} Summary: PostgreSQL client programs and libraries. Name: postgresql -Version: 7.0.3 -Release: 9.2 +Version: 7.1.3 + +# 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. + +Release: 1 License: BSD Group: Applications/Databases -# originally .gz -Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2 -Source3: postgresql.init-%{version} -Source4: file-lists-pgsql-%{version}.tar.gz +Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.gz +Source3: postgresql.init +Source4: file-lists.tar.gz Source5: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.gz.md5 -Source6: README.rpm-dist.postgresql-%{version} -Source7: pg-migration-scripts-%{version}.tar.gz -Source8: logrotate.postgresql-%{version} -Source9: pg_options-%{version} -Source10: http://jdbc.postgresql.org/download/jdbc7.0-1.1.jar -Source11: http://jdbc.postgresql.org/download/jdbc7.0-1.2.jar +Source6: README.rpm-dist +Source7: migration-scripts.tar.gz +Source10: http://www.retep.org.uk/postgres/jdbc7.0-1.1.jar +Source11: jdbc7.1-1.2.jar Source12: postgresql-dump.1.gz Source14: rh-pgdump.sh -Source15: pg_dumpall.1 -Patch0: postgresql-%{version}-alpha.patch.gz -Patch1: rpm-pgsql-%{version}.patch -Patch2: postgresql-7.0.3-ia64-2.patch -Patch3: postgresql-7.0.3-mkstemp.patch -Patch4: postgresql-%{version}-security.patch -Patch10: postgresql-7.0.2-s390.patch -Requires: perl -Prereq: /sbin/chkconfig /sbin/ldconfig /usr/sbin/useradd initscripts -BuildPrereq: /lib/cpp -BuildPrereq: python-devel perl tcl tk +Source15: postgresql-bashprofile +Source16: http://www.sai.msu.su/~megera/postgres/gist/code/7.1.2/contrib-intarray.tar.gz +Patch1: rpm-pgsql-7.1.patch +Patch2: postgresql-7.1.plperl.patch +Patch3: postgresql-7.1.s390x.patch +Buildrequires: perl glibc-devel +Prereq: /sbin/ldconfig initscripts +BuildPrereq: python-devel perl tcl /lib/cpp +%if %ssl +BuildPrereq: openssl-devel +%endif +%if %ssl +BuildPrereq: krb5-devel +%endif Url: http://www.postgresql.org/ Obsoletes: postgresql-clients -%if %{build_testpackage} -%else +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 -Buildroot: %{_tmppath}/%{name}-%{version}-root - # This is the PostgreSQL Global Development Group Official RPMset spec file. -# Copyright 2000 Lamar Owen +# Copyright 2001 Lamar Owen # and others listed. # Major Contributors: @@ -51,10 +111,20 @@ Buildroot: %{_tmppath}/%{name}-%{version}-root # Lamar Owen # Trond Eivind Glomsrød # Thomas Lockhart +# Reinhard Max +# Karl DeBisschop +# and others in the Changelog.... # This spec file and ancilliary files are licensed in accordance with # The PostgreSQL license. +# On top of 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. + + %description PostgreSQL is an advanced Object-Relational database management system (DBMS) that supports almost all SQL constructs (including @@ -65,19 +135,47 @@ client programs are programs that directly manipulate the internal structure of PostgreSQL databases on a PostgreSQL server. These client programs can be located on the same machine with the PostgreSQL server, or may be on a remote machine which accesses a PostgreSQL -server over a network connection. This package contains the client -libraries for C and C++, as well as command-line utilities for +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 server, you need this package. You also need to install this package if you're installing the postgresql-server package. +%package libs +Summary: The shared libraries required for any PostgreSQL clients. +Group: Applications/Databases +Provides: libpq.so.2.1 libpq.so.2.0 libpq.so + +%description libs +The postgresql-libs package provides the essential shared libraries for any +PostgreSQL client program or interface. You will need to install this package +to use any other PostgreSQL package or any clients that need to connect to a +PostgreSQL server. + %package server Summary: The programs needed to create and run a PostgreSQL server. Group: Applications/Databases -Prereq: /usr/sbin/useradd -Requires: postgresql = %{version} , bash >= 2 +Prereq: /usr/sbin/useradd /sbin/chkconfig +Requires: postgresql = %{version} libpq.so + +%package docs +Summary: Extra documentation for PostgreSQL +Group: Applications/Databases +%description docs +The postgresql-docs package includes the SGML source for the documentation +as well as the documentation in other formats, and some extra documentation. +Install this package if you want to help with the PostgreSQL documentation +project, or if you want to generate printed documentation. + +%package contrib +Summary: Contributed source and binaries distributed with PostgreSQL +Group: Applications/Databases +Requires: libpq.so postgresql = %{version} +%description contrib +The postgresql-contrib package includes the contrib tree distributed with +the PostgreSQL tarball. Selected contrib modules are prebuilt. %description server The postgresql-server package includes the programs needed to create @@ -93,7 +191,7 @@ to install the postgresql package. %package devel Summary: PostgreSQL development header files and libraries. Group: Development/Libraries -Requires: postgresql = %{version} +Requires: postgresql-libs = %{version} %description devel The postgresql-devel package contains the header files and libraries @@ -104,70 +202,102 @@ develop applications which will interact with a PostgreSQL server. If you're installing postgresql-server, you need to install this package. +#------------ +%if %plperl +%package plperl +Summary: The PL/Perl procedural language for PostgreSQL. +Group: Applications/Databases +Requires: perl, postgresql = %{version} + +%description plperl +PostgreSQL is an advanced Object-Relational database management +system. The postgresql-plperl package contains the the PL/Perl +procedural language for the backend. +%endif + +#------------ +%if %tcl %package tcl Summary: A Tcl client library, and the PL/Tcl procedural language for PostgreSQL. Group: Applications/Databases -Requires: tcl >= 8.0, postgresql = %{version} +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, postgresql = %{version} +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 -Requires: postgresql = %{version} %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, postgresql = %{version} +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. +%endif +#------------ +%if %python %package python Summary: Development module for Python code to access a PostgreSQL DB. Group: Applications/Databases -Requires: python >= 1.5, postgresql = %{version} +Requires: python >= 1.5 mx +Conflicts: python >= 1.6 + %description python PostgreSQL is an advanced Object-Relational database management system. The postgresql-python package includes a module for developers to use when writing Python code for accessing a PostgreSQL database. +%endif +#---------- +%if %jdbc %package jdbc Summary: Files needed for Java programs to access a PostgreSQL database. Group: Applications/Databases -Requires: postgresql = %{version} %description jdbc PostgreSQL is an advanced Object-Relational database management system. The postgresql-jdbc package includes the .jar file needed for Java programs to access a PostgreSQL database. +%endif -%if %{build_testpackage} +#------------ +%if %test %package test Summary: The test suite distributed with PostgreSQL. Group: Applications/Databases @@ -183,29 +313,31 @@ system, including regression tests and benchmarks. %prep %setup -q -# The alpha patches are not trivial, so wrap in ifarch-endif block -# -%ifarch alpha -%patch0 -p1 -%endif - %patch1 -p1 -%ifarch ia64 +#PL/Perl stuff %patch2 -p1 -%endif - %patch3 -p1 -%patch4 -p1 -%ifarch s390 -%patch10 -p1 -b .s390 + +%if %forceplperl +FORCEPLPERL=--force +%else +FORCEPLPERL= %endif -# Seems to work just fine +%if %plperl + pushd src/pl/plperl + EXTRA_INCLUDES=-I../../include plperl_installdir=$RPM_BUILD_ROOT/usr/lib perl Makefile.PL $FORCEPLPERL + popd +%endif -%ifarch ia64 -ln -s linux_i386 src/template/linux +# Add (optional) newer intarray with bugfixes over the included one +%if %newintarray + pushd contrib + rm -fr intarray + tar xvzf %{SOURCE16} + popd %endif %build @@ -213,73 +345,128 @@ ln -s linux_i386 src/template/linux # Get file lists.... tar xzf %{SOURCE4} -pushd src - +#Commented out for testing on other platforms for now. # If libtool installed, copy some files.... -if [ -d /usr/share/libtool ] -then - cp /usr/share/libtool/config.* . -fi +#if [ -d /usr/share/libtool ] +#then +# cp /usr/share/libtool/config.* . +#fi -CFLAGS="$RPM_OPT_FLAGS" +# Strip out -ffast-math from CFLAGS.... -./configure --enable-hba --enable-locale --prefix=/usr\ - --with-perl --enable-multibyte \ - --with-tcl --with-tk --with-x \ - --with-odbc --with-java --enable-syslog\ -%ifarch alpha - --with-template=linux_alpha \ -%endif - --with-python - -make COPT="$RPM_OPT_FLAGS" all +CFLAGS=`echo $RPM_OPT_FLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100` +export CXXFLAGS="$CFLAGS" -pushd interfaces/python -cp /usr/lib/python1.5/config/Makefile.pre.in . -echo *shared* > Setup -echo _pg pgmodule.c -I../../include -I../libpq -L../libpq -lpq -lcrypt >> Setup -make -f Makefile.pre.in boot -make -popd -popd +./configure --enable-locale --with-CXX --prefix=/usr\ +%if %perl + --with-perl \ +%endif +%if %enable_mb + --enable-multibyte \ +%endif +%if %tcl + --with-tcl \ +%endif +%if %tkpkg +%else + --without-tk \ +%endif +%if %odbc + --with-odbc \ +%endif + --enable-syslog\ +%if %python + --with-python \ +%endif +%if %ssl + --with-openssl \ +%endif +%if %kerberos + --with-krb5=/usr/kerberos \ +%endif + --sysconfdir=/etc/pgsql \ + --mandir=%{_mandir} \ + --docdir=%{_docdir} \ + --includedir=%{_includedir}/pgsql \ + --datadir=/usr/share/pgsql + +make COPT="$CFLAGS" all + +%if %plperl + pushd src/pl/plperl + make INC=-I../../include + popd +%endif -make all PGDOCS=unpacked -C doc +%if %python + pushd src + pushd interfaces/python + cp /usr/lib/python%{pyver}/config/Makefile.pre.in . + echo *shared* > Setup + echo _pg pgmodule.c -I../../include -I../libpq -L../libpq -lpq -lcrypt >> Setup + make -f Makefile.pre.in boot + make + popd + popd +%endif -pushd src/test -make all -popd +%if %test + pushd src/test + make all + popd +%endif %install -eval `perl '-V:installarchlib'` rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/usr/{include/pgsql,lib,bin} -mkdir -p $RPM_BUILD_ROOT%{_mandir} -mkdir -p $RPM_BUILD_ROOT/$installarchlib -make POSTGRESDIR=$RPM_BUILD_ROOT/usr PREFIX=$RPM_BUILD_ROOT/usr -C src install -make POSTGRESDIR=$RPM_BUILD_ROOT/usr PREFIX=$RPM_BUILD_ROOT/usr -C src/interfaces/perl5 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/.*|&\*|" | grep -v -E "(Pg.bs|perllocal.pod)" > 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 `find $RPM_BUILD_ROOT -name 'Pg.3*' -print` $RPM_BUILD_ROOT%{_mandir}/man3 -fi + +make DESTDIR=$RPM_BUILD_ROOT install + +%if %plperl +make DESTDIR=$RPM_BUILD_ROOT -C src/pl/plperl install +#cp blib/arch/auto/plperl/plperl.so $RPM_BUILD_ROOT/usr/lib +%endif + +%if %perl + pushd src/interfaces/perl5 + perl -pi -e "s|LD_RUN_PATH=\".*PATH\)\"||" Makefile + perl -pi -e "s|LD_RUN_PATH =.*$||" Makefile + popd + + make PREFIX=$RPM_BUILD_ROOT/usr -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 `find $RPM_BUILD_ROOT -name 'Pg.3*' -print` $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 make -C doc + # man pages.... pushd $RPM_BUILD_ROOT%{_mandir} tar xzf $RPM_BUILD_DIR/postgresql-%{version}/doc/man.tar.gz -install -m 644 %SOURCE15 $RPM_BUILD_ROOT/%{_mandir}/man1 # the postgresql-dump manpage..... cp %{SOURCE12} man1 @@ -289,63 +476,50 @@ popd install -m755 %SOURCE14 $RPM_BUILD_ROOT/usr/bin/ -# Move all includes beneath /usr/include/pgsql. -pushd $RPM_BUILD_ROOT/usr/include -rm -rf pgsql/* -for f in *.h access commands executor iodbc lib libpq libpq++ port utils ; do - mv $f pgsql -done -popd +# install dev headers. -# copy over the includes needed for SPI development. -pushd src/include -/lib/cpp -M -I. -I../backend executor/spi.h |xargs -n 1|grep \\W|grep -v ^/|grep -v spi.o |grep -v spi.h | sort |cpio -pdu $RPM_BUILD_ROOT/usr/include/pgsql -# thank you, cpio.... +make DESTDIR=$RPM_BUILD_ROOT install-all-headers #fixup directory permissions for SPI stuff... -pushd $RPM_BUILD_ROOT/usr/include/pgsql -chmod 755 access catalog executor lib nodes parser rewrite storage tcop utils -popd - -popd - -# Move all templates/examples beneath /usr/lib/pgsql -pushd $RPM_BUILD_ROOT/usr/lib - mkdir -p pgsql - mv *.source *.sample *.description pgsql -popd +#pushd $RPM_BUILD_ROOT/usr/include/pgsql +#chmod 755 access catalog executor nodes rewrite storage tcop utils +#popd + +#popd + +# 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 -# Get interface-specific tests and examples, and stuff under /usr/lib/pgsql -pushd src/interfaces -mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/perl5 -cp -a perl5/test.pl perl5/eg $RPM_BUILD_ROOT/usr/lib/pgsql/perl5 -popd +%if %python + # Python + pushd src/interfaces/python + # Makefile.pre.in doesn't yet support .py files anyway, so we stick to a manual installation + mkdir -p $RPM_BUILD_ROOT/usr/lib/python%{pyver}/site-packages + install -m 755 _pgmodule.so *.py $RPM_BUILD_ROOT/usr/lib/python%{pyver}/site-packages/ + popd +%endif -# Get example odbcinst.ini and put in /usr/lib/pgsql -mv $RPM_BUILD_ROOT/usr/odbcinst.ini $RPM_BUILD_ROOT/usr/lib/pgsql - -# pgaccess installation -pushd src/bin -install -m 755 pgaccess/pgaccess $RPM_BUILD_ROOT/usr/bin -mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/pgaccess -install -m 644 pgaccess/main.tcl $RPM_BUILD_ROOT/usr/lib/pgsql/pgaccess -tar cf - pgaccess/lib pgaccess/images | tar xf - -C $RPM_BUILD_ROOT/usr/lib/pgsql -cp -a pgaccess/doc/html ../../doc/pgaccess -cp pgaccess/demo/*.sql ../../doc/pgaccess -popd +%if %jdbc + # Java/JDBC + # The user will have to set a CLASSPATH to find it here, but not sure where else to put it... -# Python -pushd src/interfaces/python -# Makefile.pre.in doesn't yet support .py files anyway, so we stick to a manual installation - mkdir -p $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages - install -m 755 _pgmodule.so *.py $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages/ -popd + # Install 7.0 JDBC jars + install -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/share/pgsql + install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/share/pgsql -# Java/JDBC -# The user will have to set a CLASSPATH to find it here, but not sure where else to put it... -# Install 7.0 JDBC jars -- no longer include the 6.5 versions -install -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/pgsql -install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/lib/pgsql +%endif # Fixup more permissions... chmod 644 $RPM_BUILD_ROOT%{_mandir}/*/* @@ -370,53 +544,162 @@ then fi -# Move the PL's to the right place -mv $RPM_BUILD_ROOT/usr/lib/pl*.so $RPM_BUILD_ROOT/usr/lib/pgsql - # PGDATA needs removal of group and world permissions due to pg_pwd hole. install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/data -# Initial pg_options -install -m 700 %{SOURCE9} $RPM_BUILD_ROOT/var/lib/pgsql/data/pg_options - # backups of data go here... install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/backups -# tests. There are many files included here that are unnecessary, but include -# them anyway for completeness. -mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/test -cp -a src/test/regress $RPM_BUILD_ROOT/usr/lib/pgsql/test -install -m 0755 src/config.guess $RPM_BUILD_ROOT/usr/lib/pgsql -install -m 0755 contrib/spi/refint.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress -install -m 0755 contrib/spi/autoinc.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress +# Move the PL's to the right place +mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql +mv $RPM_BUILD_ROOT/usr/lib/pl*.so $RPM_BUILD_ROOT/usr/lib/pgsql + +# postgres' .bash_profile +install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile + +%if %test + # tests. There are many files included here that are unnecessary, but include + # them anyway for completeness. + mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/test + cp -a src/test/regress $RPM_BUILD_ROOT/usr/lib/pgsql/test + install -m 0755 config/config.guess $RPM_BUILD_ROOT/usr/lib/pgsql + install -m 0755 contrib/spi/refint.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress + install -m 0755 contrib/spi/autoinc.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress + pushd $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress/ + strip *.so + 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 - +#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 # no need for the OS2 client rm -rf contrib/os2client gzip doc/internals.ps cp %{SOURCE6} README.rpm-dist +mv $RPM_BUILD_ROOT%{_docdir}/postgresql/html doc + +# Build contrib stuff.... +pushd contrib +make clean +make all +popd +# move the contrib tree to the right place after building.... +cp -r contrib $RPM_BUILD_ROOT/usr/lib/pgsql +# We'll do more prep work in a later release..... + +#more massaging -# remove the binaries from contrib +pushd $RPM_BUILD_ROOT/usr/lib/pgsql/contrib -rm -f `find contrib -name "*.so"` -rm -f contrib/spi/preprocessor/step1.e +# Get rid of useless makefiles +rm -f Makefile */Makefile +# earthdistance +pushd earthdistance +perl -pi -e "s|/usr/share/pgsql/contrib|/usr/lib/pgsql/contrib/earthdistance|" * +popd + +# array +pushd array +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/array|" * +popd + +# cube +pushd cube +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/cube|" cube.sql +popd + +# fulltext +pushd fulltextindex +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/fulltextindex|" *.sql +popd + +# intarray +pushd intarray +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/intarray|" *.sql +popd + +# isbn_issn +pushd isbn_issn +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/isbn_issn|" *.sql +popd + +# lo +pushd lo +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/lo|" *.sql +popd + +# miscutil +pushd miscutil +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/miscutil|" *.sql +popd + +# noup +pushd noupdate +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/noupdate|" *.sql +popd + +# pgcrypto +pushd pgcrypto +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/pgcrypto|" *.sql +popd + + +# rserv +pushd rserv +perl -pi -e "s|/usr/share/|/usr/lib/|" * +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/rserv|" * +perl -pi -e "s|/usr/bin|/usr/lib/pgsql/contrib/rserv|" * +perl -pi -e "s|/usr/lib/pgsql/contrib\"|/usr/lib/pgsql/contrib/rserv\"|" * +perl -pi -e "s|/usr/lib/pgsql/contrib$|/usr/lib/pgsql/contrib/rserv|" * +popd + +# seg +pushd seg +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/seg|" *.sql +popd + +# soundex +pushd soundex +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/soundex|" *.sql +popd + +# spi +pushd spi +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/spi|" *.sql +popd + +# string +pushd string +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/string|" *.sql +popd + +# userlock +pushd userlock +perl -pi -e "s|/usr/lib/contrib|/usr/lib/pgsql/contrib/userlock|" *.sql +popd + +popd # Fix a dangling symlink mkdir -p $RPM_BUILD_ROOT/usr/include/pgsql/port cp src/include/port/linux.h $RPM_BUILD_ROOT/usr/include/pgsql/port/ ln -sf port/linux.h $RPM_BUILD_ROOT/usr/include/pgsql/os.h +#more broken symlinks +rm -f $RPM_BUILD_ROOT/usr/lib/pgsql/contrib/pg_resetxlog/pg_crc.c $RPM_BUILD_ROOT/usr/lib/pgsql/contrib/pg_controldata/pg_crc.c +cp src/backend/utils/hash/pg_crc.c $RPM_BUILD_ROOT/usr/lib/pgsql/contrib/pg_resetxlog/pg_crc.c +ln $RPM_BUILD_ROOT/usr/lib/pgsql/contrib/pg_resetxlog/pg_crc.c $RPM_BUILD_ROOT/usr/lib/pgsql/contrib/pg_controldata/pg_crc.c + # Symlink libpq.so.2.0 to libpq.so.2.1 for backwards compatibility, until # -soname patches are the norm. pushd $RPM_BUILD_ROOT/usr/lib @@ -433,27 +716,28 @@ 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/lib/pgsql/backup > /dev/null 2>&1 || : + 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/lib/pgsql/backup > /dev/null 2>&1 || : + cp -fp libpq.* /usr/share/pgsql/backup > /dev/null 2>&1 || : popd > /dev/null fi -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %pre server -groupadd -g 26 postgres >/dev/null 2>&1 || : +groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -n -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : +touch /var/log/pgsql +chown postgres.postgres /var/log/pgsql +chmod 0700 /var/log/pgsql -%post server + +%post server +chkconfig --add postgresql /sbin/ldconfig -echo PGLIB=/usr/lib/pgsql >> ~postgres/.bash_profile -echo PGDATA=/var/lib/pgsql/data >> ~postgres/.bash_profile -echo export PGLIB PGDATA >> ~postgres/.bash_profile -/sbin/chkconfig --add postgresql %preun server if [ $1 = 0 ] ; then @@ -470,15 +754,24 @@ 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 %{build_testpackage} +%if %plperl +%post -p /sbin/ldconfig plperl +%postun -p /sbin/ldconfig plperl +%endif + +%if %test %post test -chown -R postgres.postgres /usr/lib/pgsql/test >/dev/null 2>&1 || : +chown -R postgres.postgres /usr/share/pgsql/test >/dev/null 2>&1 || : %endif %clean @@ -493,14 +786,10 @@ rm -f perlfiles.list %files %defattr(-,root,root) -%doc doc/FAQ doc/FAQ_Linux doc/README* -%doc COPYRIGHT README HISTORY doc/bug.template doc/FAQ_Linux -%doc contrib doc/unpacked/* +%doc doc/FAQ doc/KNOWN_BUGS doc/MISSING_FEATURES doc/README* +%doc COPYRIGHT README HISTORY doc/bug.template %doc README.rpm-dist -/usr/lib/libpq.so* -/usr/lib/libecpg.so* -/usr/lib/libpq++.so* -/usr/lib/libpgeasy.so* +%doc doc/html /usr/bin/createdb /usr/bin/createlang /usr/bin/createuser @@ -509,7 +798,7 @@ rm -f perlfiles.list /usr/bin/dropuser /usr/bin/pg_dump /usr/bin/pg_dumpall -/usr/bin/pg_id +/usr/bin/pg_restore /usr/bin/psql /usr/bin/vacuumdb %{_mandir}/man1/createdb.1* @@ -523,6 +812,23 @@ rm -f perlfiles.list %{_mandir}/man1/psql.1* %{_mandir}/manl/* +%files docs +%defattr(-,root,root) +%doc doc/src/* + +%files contrib +%defattr(-,root,root) +%dir /usr/lib/pgsql/contrib +/usr/lib/pgsql/contrib/* + + +%files libs +%defattr(-,root,root) +/usr/lib/libpq.so.* +/usr/lib/libecpg.so.* +/usr/lib/libpq++.so.* +/usr/lib/libpgeasy.so.* + %files server -f files.lst %defattr(-,root,root) /usr/bin/initdb @@ -530,9 +836,8 @@ rm -f perlfiles.list /usr/bin/ipcclean /usr/bin/pg_ctl /usr/bin/pg_encoding +/usr/bin/pg_id /usr/bin/pg_passwd -/usr/bin/pg_upgrade -/usr/bin/pg_version /usr/bin/postgres /usr/bin/postgresql-dump /usr/bin/postmaster @@ -541,405 +846,294 @@ rm -f perlfiles.list %{_mandir}/man1/initlocation.1* %{_mandir}/man1/ipcclean.1* %{_mandir}/man1/pg_ctl.1* -%{_mandir}/man1/pgadmin.1* %{_mandir}/man1/pg_passwd.1* %{_mandir}/man1/postgres.1* %{_mandir}/man1/postmaster.1* -%{_mandir}/man1/pg_upgrade.1* %{_mandir}/man1/vacuumdb.1* %{_mandir}/man1/postgresql-dump.1* -/usr/lib/pgsql/global1.bki.source -/usr/lib/pgsql/global1.description -/usr/lib/pgsql/local1_template1.bki.source -/usr/lib/pgsql/local1_template1.description -/usr/lib/pgsql/*.sample +/usr/share/pgsql/global.bki +/usr/share/pgsql/global.description +/usr/share/pgsql/template1.bki +/usr/share/pgsql/template1.description +/usr/share/pgsql/*.sample /usr/lib/pgsql/plpgsql.so -%attr(700,postgres,postgres) %dir /usr/lib/pgsql/backup -/usr/lib/pgsql/backup/pg_dumpall_new +%dir /usr/lib/pgsql +%dir /usr/share/pgsql +%attr(700,postgres,postgres) %dir /usr/share/pgsql/backup +/usr/share/pgsql/backup/pg_dumpall_new +%attr(700,postgres,postgres) %dir /var/lib/pgsql %attr(700,postgres,postgres) %dir /var/lib/pgsql/data -%attr(700,postgres,postgres) /var/lib/pgsql/data/pg_options %attr(700,postgres,postgres) %dir /var/lib/pgsql/backups +%attr(644,postgres,postgres) %config(noreplace) /var/lib/pgsql/.bash_profile %files devel %defattr(-,root,root) -/usr/include/pgsql +%dir /usr/include/pgsql +/usr/include/pgsql/* /usr/bin/ecpg /usr/lib/lib*.a +/usr/bin/pg_config +/usr/lib/libpq.so +/usr/lib/libecpg.so +/usr/lib/libpq++.so +/usr/lib/libpgeasy.so %{_mandir}/man1/ecpg.1* +%if %tcl %files tcl %defattr(-,root,root) %attr(755,root,root) /usr/lib/libpgtcl.so* /usr/bin/pgtclsh %{_mandir}/man1/pgtclsh.1* /usr/lib/pgsql/pltcl.so +%endif +%if %tkpkg %files tk %defattr(-,root,root) +/usr/bin/pgtksh +%{_mandir}/man1/pgtksh.1* +%endif +%if %pgaccess %doc doc/pgaccess/* -/usr/lib/pgsql/pgaccess +/usr/share/pgsql/pgaccess /usr/bin/pgaccess -/usr/bin/pgtksh %{_mandir}/man1/pgaccess.1* -%{_mandir}/man1/pgtksh.1* +%endif +%if %odbc %files odbc %defattr(-,root,root) %attr(755,root,root) /usr/lib/libpsqlodbc.so* -/usr/lib/pgsql/odbcinst.ini +%config(noreplace) /etc/pgsql/odbcinst.ini +/usr/share/pgsql/odbc.sql +%endif +%if %perl %files -f perlfiles.list perl %defattr (-,root,root) -/usr/lib/pgsql/perl5 +%dir /usr/lib/perl5/site_perl/%{_arch}-linux/auto +/usr/share/pgsql/perl5 %{_mandir}/man3/Pg.* +%endif +%if %plperl +%files plperl +%defattr(-,root,root) +/usr/lib/pgsql/plperl.so +%endif + +%if %python %files python %defattr(-,root,root) %doc src/interfaces/python/README src/interfaces/python/tutorial -/usr/lib/python1.5/site-packages/_pgmodule.so -/usr/lib/python1.5/site-packages/*.py +/usr/lib/python%{pyver}/site-packages/_pgmodule.so +/usr/lib/python%{pyver}/site-packages/*.py +%endif +%if %jdbc %files jdbc %defattr(-,root,root) -/usr/lib/pgsql/jdbc7.0-1.1.jar -/usr/lib/pgsql/jdbc7.0-1.2.jar +/usr/share/pgsql/jdbc7.0-1.1.jar +/usr/share/pgsql/jdbc7.1-1.2.jar +%endif -%if %{build_testpackage} +%if %test %files test %defattr(-,postgres,postgres) +%dir /usr/lib/pgsql/test %attr(755,postgres,postgres)/usr/lib/pgsql/config.guess -%attr(-,postgres,postgres)/usr/lib/pgsql/test/regress/* +%attr(-,postgres,postgres) %dir /usr/lib/pgsql/test +%attr(-,postgres,postgres)/usr/lib/pgsql/test/* %endif -# Conventions for PostgreSQL RPM releases: -# Pre-releases are those that are built from CVS snapshots or pre-release -# tarballs from postgresql.org. Pre-releases should have a fractional release -# number to show their pre-release status. 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. - -# Pre-release RPM's should not be put up on the public ftp.postgresql.org server -# -- only full integer releases should be. - -# Start changelog proper below this comment - - %changelog -* Wed Jan 9 2003 Andrew Overholt [7.0.3-9.2] -- addition to security backpatch - -* Tue Jan 7 2003 Andrew Overholt [7.0.3-9] -- add security backpatch from more recent versions (~#74505) - -* Thu Mar 22 2001 Trond Eivind Glomsrød -- obsolete postgresql-test when not building it (#32640) -- make /lib/cpp a buildprereq, not a standard prereq -- remove the /var/log/postgresql and /etc/logrotate.d - files - I don't see a way to enable it currently... - (#31165). The logrotate file is still included in the SRPM, - so make it easier to add logging later. -- remove mentions of "-u" from pg_dumpall, as it doesn't seem - to work - - -* Tue Jan 23 2001 Trond Eivind Glomsrød -- improve gettextization - -* Wed Jan 17 2001 Trond Eivind Glomsrød -- gettextize -- turn off by default - -* Fri Jan 12 2001 Trond Eivind Glomsrød -- use mkstemp for creating the file used by \e in the psql - client (problem from #23695, patch made from scratch) -- increase sleep interval in init script (#23870) -- don't include JDBC jars for 6.5 anymore -- add a conditional for building test subpackage -- misc cleanups - -* Thu Jan 11 2001 Trond Eivind Glomsrød -- add tk as a buildprereq (#23693) - -* Mon Jan 01 2001 Trond Eivind Glomsrød -- bzip sources -- remove test package - -* Mon Dec 11 2000 Oliver Paukstadt -- ported to s390 - -* Fri Dec 01 2000 Trond Eivind Glomsrød -- changes to the logrotate script -- fix spelling error in postgresql-tcl description - -* Tue Nov 14 2000 Trond Eivind Glomsrød -- made a template for IA64 (symlink to i386) - -* Mon Nov 13 2000 Trond Eivind Glomsrød -- add patch for IA64 (I got one from Lamar and modified it) - -* Mon Nov 13 2000 Lamar Owen -- RELEASE: 7.0.3-1 -- Minor edits to initscript. -- PRE-RELEASE: 7.0.3-0.6 (final test) -- Final 7.0.3 tarball. -- Cross-dist changes to RedHat initscript for better portability. -- changed README.rpm name to README.rpm-dist (the .rpm extension confused ---some GUI file managers, as RealPlayer also uses that extension). -- Edited README.rpm-dist to reflect cross-distribution packaging. -- NOTE: SuSE cross-compatibility is not yet complete SuSE RPM's for 7.0.3 ---that are tailored for SuSE will be made available. -- Fixed stupid dependency -- the main .so's were in the devel package (Arggh) - -* Sat Nov 11 2000 Lamar Owen -- PRE-RELEASE: 7.0.3-0.5 -- Framework for better distribution-independent build -- Conditional around libtool conf stuff copy (For RedHat 6.1 and such). -- Conditional around RedHat-style initscript stuff. -- Comments at top of spec file now list copyright and license for spec file, ---as the license and copyright for the spec file itself has not previously ---been stated. -- Envvars for postgres home dir login in .bash_profile. -- initscript now checks for success and failure functions using: ---typeset -f|grep "declare -f function_name" construct. - -* Fri Nov 10 2000 Lamar Owen -- PRE-RELEASE: 7.0.3-0.4 -- Directory ownership on /usr/lib/pgsql/test/regress was root.root. -- Patch Makefile.shlib to not use -soname for RPM's. -- Newer prerelease 7.0.3 tarball. - -* Thu Nov 09 2000 Lamar Owen -- PRE-RELEASE: 7.0.3-0.3 -- Don't bother copying the test stuff I'm not packaging. -- Fix group add/del stuff in server subpackage post and postun scriptlets. -- symlink /usr/lib/libpq.so.2.0 -> libpq.so.2.1 - -* Mon Nov 06 2000 Lamar Owen -- PRE-RELEASE: 7.0.3-0.2 -- preliminary 7.0.3 distribution tarball -- reinstated man pages, etc. - -* Sat Nov 04 2000 Lamar Owen -- PRE-RELEASE: 7.0.3-0.1. -- Improved test subpackage -- only package regression. -- Latest pre-7.0.3 snapshot. -- Split out SuSE and Caldera spec files. Caldera COL eServer 2.3 requires --- RPM 2.5.5-compatible spec files. SuSE is just too different from the others --- for the spec file to cope, for now. -- TODO: man pages and documentation. - -* Mon Oct 30 2000 Lamar Owen -- pre-7.0.3 - -* Mon Oct 30 2000 Lamar Owen -- Reenabled the test subpackage for ftp.postgresql.org dist. -- Backported to RH 6.2 -- involved the Pg man page, doesn't appear to require --- other stuff to be done. - - -* Sun Oct 22 2000 Trond Eivind Glomsrød -- make /etc/logrotate.d/postgres 0644 instead of 0700 (#19520) - - -* Thu Oct 19 2000 Trond Eivind Glomsrød -- rebuild with new glibc which has semaphore fixes for Alpha - -* Tue Sep 05 2000 Trond Eivind Glomsrød -- add documention for python interface (#17261) -- move the python interface tutorial to the %%doc section - -* Thu Aug 24 2000 Trond Eivind Glomsrød -- the old dump script didn't work - added rh-pgdump.sh - to handle this. Point docs at it, and tell how it is to be used. - -* Mon Aug 21 2000 Trond Eivind Glomsrød -- fix the initscript so it points you at the 7.0.2 directory - in /usr/share/doc, not 7.0 (#16163). Also, remove statement - it was built on a 6.2 system. -- prereq /lib/cpp and initscripts -- fix backups of existing files (#16706) -- fix conditional restart - -* Sat Aug 19 2000 Trond Eivind Glomsrød -- fix README.rpm to it points at /usr/share/doc, not /usr/doc - (part of #16416) - -* Wed Aug 16 2000 Trond Eivind Glomsrød -- don't build test package anymore, it's broken. These - tests should be run by pgsql developers and not - by db-developers, so it's not a big loss (#16165). - Obsolete it in the main package, so it doesn't get left over - -* Mon Aug 14 2000 Trond Eivind Glomsrød -- reference docs in /usr/share/doc, not /usr/doc (#16163) -- add python-devel, perl and tcl as build prereqs -- use /dev/null as STDIN for su commands in initscripts, - to avoid error messages from not being able to read from - tty - -* Sat Aug 05 2000 Bill Nottingham -- condrestart fixes - -* Mon Jul 31 2000 Trond Eivind Glomsrød -- remove all plperl references, to avoid confusing post install scripts -- cleanups - -* Mon Jul 17 2000 Trond Eivind Glomsrød -- remove the symlink from libpq.so.2.0 to libpq.so.2.1 -- remove some binaries from docs -- fix dangling symlink os.h -- use /sbin/service - -* Thu Jul 13 2000 Trond Eivind Glomsrød -- don't strip manually -- fixes to init script so they look more like the rest - (#13749, from giulioo@pobox.com) -- use /etc/rc.d/init.d again (sigh) - -* Wed Jul 12 2000 Prospector -- automatic rebuild - -* Thu Jul 06 2000 Trond Eivind Glomsrød -- "Prereq:", not "Requires:" for /etc/init.d - -* Thu Jul 06 2000 Trond Eivind Glomsrød -- require /etc/init.d - -* Wed Jun 21 2000 Trond Eivind Glomsrød -- remove perl kludge as perl 5.6 is now fixed -- include the man page for the perl module -- fix the init script and spec file to handle conditional - restart -- move the init file to /etc/init.d -- use License instead of Copyright - -* Mon Jun 19 2000 Trond Eivind Glomsrød -- rebuild - -* Tue Jun 13 2000 Trond Eivind Glomsrød -- use %%defattr on postgresql-perl -- use %%{_tmppath} -- Don't use release number in patch -- Don't build on ia64 yet - -* Mon Jun 12 2000 Lamar Owen -- 7.0.2-2 -- Corrected misreporting of version. -- Corrected for non-root build clean script. - -* Mon Jun 05 2000 Lamar Owen -- 7.0.2 -- Postgresql-dump manpage to man1, and to separate source file to facilitate --- _mandir macro expansion correctness. -- NOTE: The PostScript documentation is no longer being included in the --- PostgreSQL tarball. If demand is such, I will pull together a --- postgresql-ps-docs subpackage or pull in the PostScript docs into the --- main package. -- RPM patchset has release number, now, to prevent patchfile confusion :-(. - - -* Sat Jun 03 2000 Lamar Owen -- Incorporate most of Trond's changes (reenabled the alpha --- patches, as it was a packaging error on my part). -- Trimmed changelog history to Version 7.0beta1 on. To see the --- previous changelog, grab the 6.5.3 RPM from RedHat 6.2 and pull the spec. -- Rev to 7.0.1 (which incorporates the syslog patch, which has --- been removed from rpm-pgsql-7.0.1-1.patch) - -* Fri May 26 2000 Trond Eivind Glomsrød -- disable the alpha patch, as it doesn't apply cleanly -- removed distribution, packager, vendor -- renamed spec file -- don't build pl-perl -- use %%{_mandir} -- now includes vacuumdb.1* - -* Thu May 25 2000 Lamar Owen -- 7.0-3 -- Incorporated Tatsuo's syslog segmentation patches -- Incorporated some of Trond's changes (see below) --- Fixed some Perl 5.6 oddness in Rawhide -- Incorporated some of Karl's changes (see below) --- PL/Perl should now work. -- Fixed missing /usr/bin/pg_passwd. - -* Mon May 22 2000 Karl DeBisschop -- 7.0-2.1 -- make plperl module (works for linux i386, your guess for other platforms) -- use "make COPT=" because postgreSQL configusre script ignores CFLAGS - -* Sat May 20 2000 Lamar Owen -- 7.0-2 -- pg_options default values changed. -- SPI headers (again!) fixed in a permanent manner -- hopefully! -- Alpha patches! - -* Wed May 17 2000 Trond Eivind Glomsrød -- changed bug in including man pages - -* Tue May 16 2000 Trond Eivind Glomsrød -- changed buildroot, removed packager, vendor, distribution --- [Left all but buildroot as-is for PostgreSQL.org RPMS. LRO] -- don't strip in package [strip in PostgreSQL.org RPMS] -- fix perl weirdnesses (man page in bad location, remove - perllocal.pod from file list) - -* Mon May 15 2000 Lamar Owen -- 7.0 final -1 -- Man pages restructured -- Changed README.rpm notices about BETA -- incorporated minor changes from testing -- still no 7.0 final alpha patches -- for -2 or -3, I guess. -- 7.0 JDBC jars! - -* Sat May 06 2000 Lamar Owen -- 7.0RC5-0.5 -- UserID of 26 to conform to RedHat Standard, instead of 40. This only --- is for new installs -- upgrades will use what was already there. -- Waiting on built jar's of JDBC. If none are forthcoming by release, --- I'm going to have to bite the bullet and install the jdk.... - -* Mon May 01 2000 Lamar Owen -- 7.0RC2-0.5 -- Fixed /usr/src/redhat/BUILD path to $RPM_BUILD_DIR for portability --- and so that RPM's can be built by non-root. -- Minor update to README.rpm - -* Tue Apr 18 2000 Lamar Owen -- 0.6 -- Fixed patchset: wasn't patching pgaccess or -i in postmaster.opts.default -- minor update to README.rpm - -* Mon Apr 17 2000 Lamar Owen -- 7.0RC1-0.5 (release candidate 1.) -- Fixed SPI header directories' permisssions. -- Removed packaging of Alpha patches until Ryan releases RC1-tested set. - -* Mon Apr 10 2000 Lamar Owen -- 7.0beta5-0.1 (released instead of the release candidate) - -* Sat Apr 08 2000 Lamar Owen -- 7.0beta4-0.2 (pre-release-candidate CVS checkout) -- Alpha patches! -- pg_options.sample - -* Fri Mar 24 2000 Lamar Owen -- 7.0beta3-0.1 - -* Mon Feb 28 2000 Lamar Owen -- Release 0.3 -- Fixed stderr redir problem in init script -- Init script now uses pg_ctl to start postmaster -- Packaged inital pg_options for good logging -- built with timestamped logging. - -* Tue Feb 22 2000 Lamar Owen -- Initial 7.0beta1 build -- Moved PGDATA to /var/lib/pgsql/data -- First stab at logging and logrotate functionality -- test carefully! -- -tcl subpackage split -- tcl client and pltcl lang separated from --- the Tk stuff. PgAccess and the tk client are now in the -tk subpackage. -- No patches for Alpha as yet. - +* Mon Aug 20 2001 Trond Eivind Glomsrød 7.1.3-1 +- Updated README.rpm-dist from Lamar +- Work around the horror that is perl's Makefile generation + (LD_RUN_PATH is not a good thing) (#51957) +- 7.1.3, stable bugfix release. Remove patches from CVS as they are now included +- Own more directories + +* Mon Aug 6 2001 Trond Eivind Glomsrød 7.1.2-7 +- Add patches from 7.1-stable branch. This should fix #50799 and #50797 +- Enable kerberos authentication (#50644) +- handle stop with stale pid file (#50499) +- make the test subpackage (not built by default) own /usr/lib/pgsql/test + +* Mon Jul 9 2001 Trond Eivind Glomsrød +- Make the -devel subpackage depend on -libs, not the main package + +* Tue Jun 19 2001 Trond Eivind Glomsrød +- Make sure the python subpackage depends on mx - otherwise, you'd get an + error when importing + +* Mon Jun 18 2001 Florian La Roche +- add changes for s390x + +* Fri Jun 15 2001 Trond Eivind Glomsrød +- Many path fixes for contrib packages +- Newer intarray +- Don't use nested ifs for tkpkg/pgaccess +- Turn off test package for Red Hat Linux - it makes most sense just to use + this during development +- One "pgacess" -> "pgaccess" + +* Wed Jun 13 2001 Lamar Owen +- -4PGDG +- patchset update for pg_regress.sh +- can the dot in the release -- confused too many people and some programs. +- -3.PGDG +- updated README.rpm-dist +- updated patch to 7.1.2, fixing some places where /usr/share/pgsql + was still being used where /usr/lib/pgsql was intended. +- PGLIB now set to /usr/lib/pgsql -- initdb doesn't use it to find the bki's. + +* Tue Jun 12 2001 Trond Eivind Glomsrød +- sync +- Run chkconfig --add on server install +- Move the prereqs on useradd on chkconfig to the server package +- don't disable the %%clean section + +* Sat Jun 09 2001 Lamar Owen +- Sync up with Trond Eivind's set. + +* Thu Jun 7 2001 Trond Eivind Glomsrød +- Don't create postgres' .bashrc from the server post script: include it instead +- Move the test packages from /usr/share/pgsql to /usr/lib/pgsql +- Move the symlinks libpq.so, libecpg.so, libpq++.so and libpgeasy.so to the devel subpackage from + libs +- Source the i18n data from the .bashrc instead of in the initscript + +* Mon May 28 2001 Trond Eivind Glomsrød +- Handle i18n for database startup - backend needs to have the same locale everytime, + but this certainly can't be hardcoded to C either +- Fix stop, restart in initscript (#42217) +- Make database init _much_ less verbose +- other minor fixes to the initscript + +* Fri May 25 2001 Trond Eivind Glomsrød +- 7.1.2 + +* Thu May 24 2001 Lamar Owen +- 7.1.2-0.1.1.PGDG PRERELEASE +- Changed versioning and release numbering a little for better flexibility, +-- particularly for distribution packagers. +- Release numbering comment at top of spec, where it's more useful. +- Trimmed changelog to 7.1.x. See the last 7.0.3's specfile for the 7.0 + changlog, and the last 6.5.3's specfile for the changelog prior to + 7.0. + +* Sun May 20 2001 Lamar Owen +- 7.1.1-4.PGDG +- _really_ got Python version agnosticism working. + +* Sat May 19 2001 Lamar Owen +- 7.1.1-3.PGDG Release +- Python version agnosticism..... + +* Tue May 15 2001 Trond Eivind Glomsrød +- Use openssl +- Make it obsolete subpackages if they aren't built + +* Mon May 14 2001 Lamar Owen +- 7.1.1-2.PGDG Release. +- Appended .PGDG to release string to differentiate our RPM set from the others. +- /bin/sh fix in initscript +- README.rpm-dist updates. + +* Mon May 14 2001 Bernhard Rosenkraenzer 7.1.1-0.7 +- Rebuild with new readline + +* Thu May 10 2001 Trond Eivind Glomsrød +- Initial 7.1.1 + +* Mon May 7 2001 Trond Eivind Glomsrød +- Specify shell when running commands through su in the initscript, to avoid problems + when people switch the postgres user to use tcsh + +* Thu Apr 19 2001 Trond Eivind Glomsrød +- JDBC driver for Postgresql 7.1 + +* Sun Apr 15 2001 Trond Eivind Glomsrød +- slightly different versioning scheming, will go back to the official + later when I'm sure the package is ready to use + +* Fri Apr 13 2001 Lamar Owen +- 7.1 RELEASE +- 7.1-1 RPM RELEASE +- Change to COPTS -- strip out -ffastmath -- Considered Harmful. +- Back to old versioning scheme, kept teg's other fixes. +- README.rpm-dist updated. +- PGVERSION updated all-around (hopefully!) +- Couple of fixes from Peter E. +- Rearrange dependencies -- only the -libs subpackage is required for most stuff +- Removed broken and confusing logrotate script. + +* Mon Apr 9 2001 Trond Eivind Glomsrød +- chown considered harmful - removed +- fix dangling symlimks (pg_crc.c) +- libpq.so changes for maximum compatiblity +- different versioning scheme, to avoid trouble later +- remove temporary perl file from the file list +- fix spelling error in tcl description +- mark odbcinst.ini as a config file +- use %%defattr on packages which didn't have it + +* Sat Apr 07 2001 Lamar Owen +- Integrated the PL/Perl stuff from Karl DeBisschop --conditional. +- Packaging reorg: added contrib and docs subpackages. +- Removed sgml source docs from main package --> docs subpackage. +- Removed contrib tree from main package --> contrib subpackage. +- Contrib tree is now prebuilt -- HOWEVER, very little install work is + currently done with this. + +* Fri Apr 06 2001 Lamar Owen +- Quickie RC3. There will be a 7.1RC3-2 shortly with other stuff. + +* Tue Apr 03 2001 Lamar Owen +- RC2 +- eliminate versioning information for ancilliary files in prep for CVS. +- Fix docs mixup. + +* Tue Mar 27 2001 Lamar Owen +- RC1 quickie. + +* Tue Mar 20 2001 Lamar Owen +- Beta 6 initial build. +- Use make install-all-headers instead of cpio hack for devel headers. +- Split out the libs into the libs subpackage. +- Updated initscript to use pg_ctl to stop +- Updated initscript to initdb and start postmaster with LC_ALL=C to + prevent index corruption. + + +* Sun Jan 28 2001 Lamar Owen +- Beta4 +- Return to 'pgsql' directories instead of 'postgresql' +- Better perl patches. + +* Mon Jan 15 2001 Lamar Owen +- Edit patches to get rid of some cruft. +- Eliminate some more pre-7.1 specfile baggage that is no longer necessary. +- Moved pg_id to server +- added Makefile.global and pg_config to devel +- Corrected /usr/include/pgsql to /usr/include/postgresql +- Fixed some configure options. Will be trying the configure macro next release +- Since it is terminally ill in this version pg_upgrade is _gone_. +- Thanks to Peter E for a good review. + +* Sun Jan 14 2001 Lamar Owen +- Running regression. 1 on the release-o-meter. +- Minor patches to get regression running right. +- Initscript tweaking -- the old test for a database structure fails with 7.1's new structure. + +* Sat Jan 13 2001 Lamar Owen +- Perl 5 needs to be built with PREFIX set on the Makefile, not GNUmakefile.... +- The 7.1 build is different from the 7.0 build -- see the configure line. +- NOTE: many files that used to be in /usr/share/postgresql are now in /usr/share/postgresql! +- by request, conditional packages are now supported. See the top of the spec. +- Fixed the server postinstall problems. + +* Mon Jan 08 2001 Lamar Owen +- First 7.1 beta test-build diff --git a/sources b/sources index 6196653..6c4f126 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -57d69fb52be57f7caa91cccf7d24d199 file-lists-pgsql-7.0.3.tar.gz -baae3796a93a2aaac512cc05abfebc89 pg-migration-scripts-7.0.3.tar.gz -c139d0716a459622c463bab8c438e3cc postgresql-7.0.3-alpha.patch.gz -498790137935e5a957170100a30d5489 postgresql-7.0.3.tar.bz2 +85e9b43217c22ca22a45b3a831f7df4a contrib-intarray.tar.gz +57d69fb52be57f7caa91cccf7d24d199 file-lists.tar.gz +5e9beca9c039be1ded2e51a0edcd9fba migration-scripts.tar.gz +a92c77092034fb35c7b3bb82beebd54b postgresql-7.1.3.tar.gz 3d2e8223f6bb715659cbecedeae81ccc postgresql-dump.1.gz -- cgit