From: Andrzej Zawadzki Date: Tue, 25 Sep 2012 10:22:51 +0000 (+0200) Subject: - initial support for full pg_upgrade X-Git-Tag: auto/th/postgresql-9.2.4-1~7 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=9214a4d4c6913380a9e02edb10cf81acca08ee45;p=packages%2Fpostgresql.git - initial support for full pg_upgrade - exmaple: pg_upgrade -b /usr/lib64/postgresql-9.1/bin/ -B /usr/bin/ -d /var/lib/pgsql/data -D /var/lib/pgsql/data_new - I don't know is this propoer packaging - looks ugly - please review - NOTE: this can upgrade from 9.1 to 9.2 only! --- diff --git a/postgresql.spec b/postgresql.spec index fcdccfa..c27d795 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -19,6 +19,9 @@ %define beta %{nil} %define mver 9.2 +%define prevmver 9.1 +%define prevver 9.1.6 + Summary: PostgreSQL Data Base Management System Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem Summary(es.UTF-8): Gestor de Banco de Datos PostgreSQL @@ -30,27 +33,30 @@ Summary(tr.UTF-8): Veri Tabanı Yönetim Sistemi Summary(uk.UTF-8): PostgreSQL - система керування базами даних Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件 Name: postgresql -Version: %{mver}.0 -Release: 0.2 +Version: %{mver}.1 +Release: 0.1 License: BSD Group: Applications/Databases Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: 8c4c32a4abe8cf61b02c8366181ede50 +# Source0-md5: c0b4799ea9850eae3ead14f0a60e9418 Source1: %{name}.init Source2: pgsql-Database-HOWTO-html.tar.gz # Source2-md5: 5b656ddf1db41965761f85204a14398e Source3: %{name}.sysconfig -# http://git.postgresql.org/gitweb/?p=pldebugger.git;a=snapshot;h=eb754b6ba9a1c18e7bc4ddf521408be06768c697;sf=tgz +# http://git.postgresql.org/gitweb/?p=pldebugger.git;a=snapshot;h=eb754b6ba9a1c18e7bc4ddf521408be06768c697;sf=tgz Source4: pldebugger-eb754b6.tar.gz -# Source4-md5: 6a9b6576b8ccac062243dd29e58a371b +# Source4-md5: e596193b87695d29fa9161e7182dcd32 Source5: %{name}.upstart Source6: %{name}-instance.upstart +Source7: ftp://ftp.postgresql.org/pub/source/v%{prevver}/%{name}-%{prevver}.tar.bz2 +# Source7-md5: 000755f66c0de58bbd4cd2b89b45b8e2 Patch0: %{name}-conf.patch Patch1: %{name}-absolute_dbpaths.patch Patch2: %{name}-ecpg-includedir.patch Patch3: %{name}-ac_version.patch Patch4: %{name}-disable_horology_test.patch Patch5: %{name}-heimdal.patch +Patch6: %{name}_%{prevmver}-ac_version.patch URL: http://www.postgresql.org/ BuildRequires: autoconf BuildRequires: automake @@ -770,8 +776,25 @@ Miscellaneous PostgreSQL contrib modules. %description contrib -l pl.UTF-8 Różne moduły dołączone do PostgreSQL-a. +%package upgrade +Summary: Support for upgrading from the previous major release +Summary(pl.UTF-8): Wsparcie +Group: Applications/Databases +Requires: %{name} = %{version}-%{release} + +%description upgrade +The postgresql-upgrade package contains the pg_upgrade utility and supporting +files needed for upgrading a PostgreSQL database from the previous major +version of PostgreSQL. + + +%description upgrade -l pl.UTF-8 +The postgresql-upgrade package contains the pg_upgrade utility and supporting +files needed for upgrading a PostgreSQL database from the previous major +version of PostgreSQL. + %prep -%setup -q +%setup -q -a 7 %patch0 -p1 %{?with_absolute_dbpaths:%patch1 -p1} %patch2 -p1 @@ -779,6 +802,16 @@ Różne moduły dołączone do PostgreSQL-a. %patch4 -p1 %patch5 -p1 +cd postgresql-%{prevver} + +%patch0 -p1 +%{?with_absolute_dbpaths:%patch1 -p1} +%patch2 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +cd .. + tar xzf %{SOURCE4} -C contrib mv contrib/pldebugger-* contrib/pldebugger @@ -828,6 +861,35 @@ done %{?with_tests:%{__make} -j1 check} %endif +cd postgresql-%{prevver} +%{__aclocal} -I config +%{__autoconf} + +./configure \ + CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \ + --prefix=%{_libdir}/pgsql/postgresql-%{prevmver} \ + --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 .. + %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,init/%{name}}} \ @@ -897,8 +959,49 @@ 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 +cd postgresql-%{prevver} +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT/postgresql-%{prevmver} +cd $RPM_BUILD_ROOT/postgresql-%{prevmver}%{_libdir}/pgsql/postgresql-%{prevmver} + 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_basebackup + 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-%{prevmver} + cp -ra $RPM_BUILD_ROOT/postgresql-%{prevmver}%{_libdir}/pgsql/postgresql-%{prevmver}/* $RPM_BUILD_ROOT%{_libdir}/postgresql-%{prevmver} +cd $RPM_BUILD_ROOT + %clean -rm -rf $RPM_BUILD_ROOT +#rm -rf $RPM_BUILD_ROOT %pre PG_DB_CLUSTERS="" @@ -979,7 +1082,6 @@ fi %attr(755,root,root) %{_bindir}/pg_ctl %attr(755,root,root) %{_bindir}/pg_resetxlog %attr(755,root,root) %{_bindir}/pg_receivexlog -%attr(755,root,root) %{_bindir}/pg_upgrade %attr(755,root,root) %{_bindir}/postgres %attr(755,root,root) %{_bindir}/postmaster @@ -992,7 +1094,6 @@ fi %attr(755,root,root) %{_pgmoduledir}/latin2_and_win1250.so %attr(755,root,root) %{_pgmoduledir}/latin_and_mic.so %attr(755,root,root) %{_pgmoduledir}/libpqwalreceiver.so -%attr(755,root,root) %{_pgmoduledir}/pg_upgrade_support.so %attr(755,root,root) %{_pgmoduledir}/plpgsql.so %attr(755,root,root) %{_pgmoduledir}/utf8_and_*.so @@ -1029,7 +1130,6 @@ fi %{_mandir}/man1/pg_standby.1.gz %{_mandir}/man1/pg_test_fsync.1.gz %{_mandir}/man1/pg_test_timing.1.gz -%{_mandir}/man1/pg_upgrade.1.gz %{_mandir}/man1/pgbench.1.gz %{_mandir}/man1/vacuumlo.1.gz @@ -1298,3 +1398,10 @@ fi %{_pgsqldir}/unaccent.control %{_pgsqldir}/uuid-ossp--*.sql %{_pgsqldir}/uuid-ossp.control + +%files upgrade +%attr(755,root,root) %{_bindir}/pg_upgrade +%attr(755,root,root) %{_pgmoduledir}/pg_upgrade_support.so +%dir %{_libdir}/postgresql-%{prevmver} +%{_libdir}/postgresql-%{prevmver} +%{_mandir}/man1/pg_upgrade.1.gz