From: Andrzej Zawadzki Date: Wed, 16 Oct 2013 10:04:57 +0000 (+0200) Subject: - up to 9.2.5 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=3b36ce8e7bd262ab279a17ea39e325253d77513d;p=packages%2Fpostgresql.git - up to 9.2.5 - add support for pg_upgrade --- 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