[packages/postgresql/POSTGRESQL_9_2] - up to 9.2.5 - add support for pg_upgrade
zawadaa
zawadaa at pld-linux.org
Wed Oct 16 23:43:09 CEST 2013
commit 3b36ce8e7bd262ab279a17ea39e325253d77513d
Author: Andrzej Zawadzki <zawadaa at pld-linux.org>
Date: Wed Oct 16 12:04:57 2013 +0200
- up to 9.2.5
- add support for pg_upgrade
postgresql.spec | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 110 insertions(+), 5 deletions(-)
---
diff --git a/postgresql.spec b/postgresql.spec
index fc5bae1..d5e0e41 100644
--- a/postgresql.spec
+++ b/postgresql.spec
@@ -1,8 +1,6 @@
# TODO:
# - python 3 and python 2 subpackages?
# - consider dns_sd/Bonjour support (--with-bonjour)
-# - think about pg_upgrade integration (sysconfig variable to allow upgrade from 8.3+ without dump/restore?)
-# create postgresqlM.N packages with parts of old pgsql required by pg_upgrade
# - test init script (db initialization)
#
# Conditional build:
@@ -13,6 +11,7 @@
%bcond_without python # disable Python support
%bcond_without ldap # disable LDAP support
%bcond_without selinux # sepgsql contrib module
+%bcond_with pg_upgrade # enable pg_upgrade support
%bcond_with absolute_dbpaths # enable absolute paths to create database
# (disabled by default because it is a security risk)
#
@@ -31,12 +30,12 @@ Summary(tr.UTF-8): Veri Tabanı Yönetim Sistemi
Summary(uk.UTF-8): PostgreSQL - система керування базами даних
Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件
Name: postgresql
-Version: %{mver}.4
-Release: 2
+Version: %{mver}.5
+Release: 1
License: BSD
Group: Applications/Databases
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 6ee5bb53b97da7c6ad9cb0825d3300dd
+# Source0-md5: e8438e0ed5e6371741be7697886e7340
Source1: %{name}.init
Source2: pgsql-Database-HOWTO-html.tar.gz
# Source2-md5: 5b656ddf1db41965761f85204a14398e
@@ -768,6 +767,23 @@ Miscellaneous PostgreSQL contrib modules.
%description contrib -l pl.UTF-8
Różne moduły dołączone do PostgreSQL-a.
+%package pg_upgrade
+Summary: Support for upgrading to new major release
+Summary(pl.UTF-8): Wsparcie
+Group: Applications/Databases
+#Requires: %{name} = %{version}-%{release}
+
+%description pg_upgrade
+The postgresql-upgrade package contains minimal database files needed
+for upgrading a PostgreSQL database cluster without dump/restore operation,
+to the next major version of PostgreSQL.
+
+%description pg_upgrade -l pl.UTF-8
+Pakiet postgresql-upgrade zawiera minimalnÄ
instalacjÄ bazy
+pozwalajÄ
cÄ
na aktualizacjÄ klastra bazy danych bez
+koniecznoÅci wykonywania operacji dump/restore, do kolejnej gÅów
+wersji bazy PostgreSQL.
+
%prep
%setup -q
%patch0 -p1
@@ -777,6 +793,18 @@ Różne moduły dołączone do PostgreSQL-a.
%patch4 -p1
%patch5 -p1
+%if %{with pg_upgrade}
+tar xjf %{SOURCE0}
+cd postgresql-%{version}
+%patch0 -p1
+%{?with_absolute_dbpaths:%patch1 -p1}
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+cd ..
+%endif
+
# force rebuild of bison/flex files
find src -name \*.l -o -name \*.y | xargs touch
@@ -823,6 +851,37 @@ done
%{?with_tests:%{__make} -j1 check}
%endif
+%if %{with pg_upgrade}
+cd postgresql-%{version}
+%{__aclocal} -I config
+%{__autoconf}
+
+./configure \
+ CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
+--prefix=%{_libdir}/pgsql/postgresql-%{mver} \
+ --disable-rpath \
+ --enable-depend \
+ --enable-integer-datetimes \
+ --with-system-tzdata=%{_datadir}/zoneinfo \
+ --enable-nls \
+ --enable-thread-safety \
+ %{?with_kerberos5:--with-gssapi} \
+ %{?with_kerberos5:--with-krb5} \
+ %{?with_ldap:--with-ldap} \
+ --with-openssl \
+ --with-pam \
+ --with-libxml \
+ --with-libxslt \
+ %{?with_perl:--with-perl} \
+ %{?with_python:--with-python} \
+ %{?with_selinux:--with-selinux} \
+ %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
+ --with-ossp-uuid \
+
+%{__make}
+cd ..
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,init/%{name}}} \
@@ -892,6 +951,48 @@ install src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/server/
# package it...? nah, why bother.
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc/postgresql/html
+%if %{with pg_upgrade}
+cd postgresql-%{version}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT/postgresql-%{mver}
+cd $RPM_BUILD_ROOT/postgresql-%{mver}%{_libdir}/pgsql/postgresql-%{mver}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm lib/dict_snowball.so
+ rm lib/libecpg*
+ rm lib/libpg*
+ rm lib/libpq*
+ rm -rf lib/pgxs
+ rm lib/plpgsql.so
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+ mkdir -p $RPM_BUILD_ROOT%{_libdir}/postgresql-%{mver}
+ cp -ra $RPM_BUILD_ROOT/postgresql-%{mver}%{_libdir}/pgsql/postgresql-%{mver}/* $RPM_BUILD_ROOT%{_libdir}/postgresql-%{mver}
+cd $RPM_BUILD_ROOT
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -1291,3 +1392,7 @@ fi
%{_pgsqldir}/uuid-ossp--*.sql
%{_pgsqldir}/uuid-ossp.control
+%if %{with pg_upgrade}
+%files pg_upgrade
+%{_libdir}/postgresql-%{mver}
+%endif
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/postgresql.git/commitdiff/3b36ce8e7bd262ab279a17ea39e325253d77513d
More information about the pld-cvs-commit
mailing list