# TODO:
# - python 3 and python 2 subpackages?
# - consider dns_sd/Bonjour support (--with-bonjour)
+# - --enable-dtrace (is it systemtap-compatible?)
# - 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:
#
%define beta %{nil}
-%define mver 9.2
-
-%define prevmver 9.1
-%define prevver 9.1.6
+%define mver 9.3
Summary: PostgreSQL Data Base Management System
Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem
Summary(uk.UTF-8): PostgreSQL - система керування базами даних
Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件
Name: postgresql
-Version: %{mver}.1
-Release: 0.1
+Version: %{mver}.0
+Release: 1
License: BSD
Group: Applications/Databases
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: c0b4799ea9850eae3ead14f0a60e9418
+# Source0-md5: 09aee56f3a15ce4a7ea32044fb845b53
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
-Source4: pldebugger-eb754b6.tar.gz
-# 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
BuildRequires: flex >= 2.5.31
BuildRequires: gettext-devel
%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_selinux:BuildRequires: libselinux-devel >= 2.0.93}
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.10}
BuildRequires: libtool
-BuildRequires: libxml2-devel >= 2.6.23
+BuildRequires: libxml2-devel >= 1:2.6.23
BuildRequires: libxslt-devel
BuildRequires: libxslt-progs
BuildRequires: ncurses-devel >= 5.0
# omitted contribs:
# dummy_seclabel, pg_test_fsync, spi and test_parser - examples/tests
# tsearch2 - old module for compatibility only
-%define contrib_modules adminpack auth_delay auto_explain btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore intagg intarray isn lo ltree oid2name pageinspect passwordcheck pg_archivecleanup pg_buffercache pg_freespacemap pg_standby pg_stat_statements pg_trgm pg_upgrade pg_upgrade_support pgbench pgcrypto pgrowlocks pgstattuple pldebugger seg %{?with_selinux:sepgsql} sslinfo tablefunc unaccent uuid-ossp vacuumlo xml2
+%define contrib_modules adminpack auth_delay auto_explain btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore intagg intarray isn lo ltree oid2name pageinspect passwordcheck pg_archivecleanup pg_buffercache pg_freespacemap pg_standby pg_stat_statements pg_trgm pg_upgrade pg_upgrade_support pg_xlogdump pgbench pgcrypto pgrowlocks pgstattuple seg %{?with_selinux:sepgsql} sslinfo tablefunc unaccent uuid-ossp vacuumlo xml2
%description
PostgreSQL Data Base Management System (formerly known as Postgres,
Summary(pl.UTF-8): Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa
Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
-Requires: libselinux >= 2.0.93
+Requires: libselinux >= 2.1.10
%description module-sepgsql
PostgreSQL external security provider using SELinux.
Summary(pl.UTF-8): Funkcje do obsługi XML-a dla PostgreSQL-a
Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
+Requires: libxml2 >= 1:2.6.23
%description module-xml2
Module with XML functions provides both XPath querying and XSLT
%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 -a 7
+%setup -q
%patch0 -p1
%{?with_absolute_dbpaths:%patch1 -p1}
%patch2 -p1
%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
-
# force rebuild of bison/flex files
find src -name \*.l -o -name \*.y | xargs touch
%{?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}}} \
# 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=""
foundold=0
for pgdir in $PG_DB_CLUSTERS; do
if [ -f $pgdir/PG_VERSION ]; then
- if [ $(cat $pgdir/PG_VERSION) != '9.1' ]; then
+ if [ $(cat $pgdir/PG_VERSION) != '9.2' ]; then
echo "Found database(s) in older, incompatible format in cluster $pgdir."
foundold=1
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
%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
%attr(755,root,root) %{_libdir}/libecpg_compat.so
%attr(755,root,root) %{_libdir}/libpgtypes.so
%{_includedir}/ecpg*
+%{_pkgconfigdir}/libecpg.pc
+%{_pkgconfigdir}/libecpg_compat.pc
+%{_pkgconfigdir}/libpgtypes.pc
%files devel -f pg_config-%{mver}.lang
%defattr(644,root,root,755)
%{_includedir}/libpq-events.h
%{_includedir}/libpq-fe.h
%{_includedir}/pg_config.h
+%{_includedir}/pg_config_ext.h
%{_includedir}/pg_config_manual.h
%{_includedir}/pg_config_os.h
%{_includedir}/postgres_ext.h
%{_includedir}/postgresql/internal/pqexpbuffer.h
%{_includedir}/postgresql/internal/libpq
%{_includedir}/libpq
+%{_pkgconfigdir}/libpq.pc
%{_mandir}/man1/pg_config.1*
%files backend-devel
%{_libdir}/libecpg.a
%{_libdir}/libecpg_compat.a
%{_libdir}/libpq.a
+%{_libdir}/libpgcommon.a
%{_libdir}/libpgtypes.a
%{_libdir}/libpgport.a
%attr(755,root,root) %{_bindir}/dropuser
%attr(755,root,root) %{_bindir}/pg_dump
%attr(755,root,root) %{_bindir}/pg_dumpall
+%attr(755,root,root) %{_bindir}/pg_isready
%attr(755,root,root) %{_bindir}/pg_restore
%attr(755,root,root) %{_bindir}/psql
%attr(755,root,root) %{_bindir}/reindexdb
%{_mandir}/man1/dropuser.1*
%{_mandir}/man1/pg_dump.1*
%{_mandir}/man1/pg_dumpall.1*
+%{_mandir}/man1/pg_isready.1*
%{_mandir}/man1/pg_restore.1*
+%{_mandir}/man1/pg_upgrade.1.gz
%{_mandir}/man1/psql.1*
%{_mandir}/man1/reindexdb.1*
%{_mandir}/man1/vacuumdb.1*
%files contrib
%defattr(644,root,root,755)
-%doc contrib/README contrib/pldebugger/README.pl*
+%doc contrib/README
%attr(755,root,root) %{_bindir}/oid2name
%attr(755,root,root) %{_bindir}/pg_archivecleanup
%attr(755,root,root) %{_bindir}/pg_standby
+%attr(755,root,root) %{_bindir}/pg_xlogdump
%attr(755,root,root) %{_bindir}/pgbench
%attr(755,root,root) %{_bindir}/vacuumlo
%attr(755,root,root) %{_pgmoduledir}/_int.so
%attr(755,root,root) %{_pgmoduledir}/pg_stat_statements.so
%attr(755,root,root) %{_pgmoduledir}/pgrowlocks.so
%attr(755,root,root) %{_pgmoduledir}/pgstattuple.so
-%attr(755,root,root) %{_pgmoduledir}/plugin_debugger.so
%attr(755,root,root) %{_pgmoduledir}/seg.so
%attr(755,root,root) %{_pgmoduledir}/sslinfo.so
%attr(755,root,root) %{_pgmoduledir}/unaccent.so
%{_pgsqldir}/pgrowlocks.control
%{_pgsqldir}/pgstattuple--*.sql
%{_pgsqldir}/pgstattuple.control
-%{_pgsqldir}/pldbgapi--*.sql
-%{_pgsqldir}/pldbgapi.control
%{_pgsqldir}/seg--*.sql
%{_pgsqldir}/seg.control
%{_pgsqldir}/sslinfo--*.sql
%{_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
+%{_mandir}/man1/pg_xlogdump.1*