%{!?perltools:%define perltools 1} %{!?docs:%define docs 0} %{?buildrhel3:%define kerbdir /usr/kerberos} %{!?kerbdir:%define kerbdir "/usr"} %define pg_version %(rpm -qv postgresql-devel|head -n 1|awk -F '-' '{print $3}') Summary: A "master to multiple slaves" replication system with cascading and failover Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: 1_PG%{pg_version} License: BSD Group: Applications/Databases URL: http://main.slony.info/ Source0: @PACKAGE_NAME@-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: postgresql-devel Requires: postgresql-server = %{pg_version} %if %docs BuildRequires: docbook-style-dsssl %endif %define prefix /usr %description Slony-I is a "master to multiple slaves" replication system for PostgreSQL with cascading and failover. The big picture for the development of Slony-I is to build a master-slave system that includes all features and capabilities needed to replicate large databases to a reasonably limited number of slave systems. Slony-I is a system for data centers and backup sites, where the normal mode of operation is that all nodes are available %if %docs %package docs Summary: Documentation for Slony-I Group: Applications/Databases Prereq: @PACKAGE_NAME@-@PACKAGE_VERSION@-%{release} %description docs The @PACKAGE_NAME@-docs package includes some documentation for Slony-I. %endif %prep %setup -q -n @PACKAGE_NAME@-%{version} %build CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS CPPFLAGS="${CPPFLAGS} -I%{_includedir}/et -I%{kerbdir}/include" ; export CPPFLAGS CFLAGS="${CFLAGS} -I%{_includedir}/et -I%{kerbdir}/include" ; export CFLAGS # Strip out -ffast-math from CFLAGS.... CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100` export LIBNAME=%{_lib} ./configure --includedir %{_includedir}/pgsql --with-pgconfigdir=%{_bindir} \ %if %perltools --with-perltools=%{_bindir} --with-toolsbin=%{_bindir} \ %endif %if %docs --with-docs --with-docdir=%{_docdir}/%{name}-%{version} \ %endif --datadir %{_datadir}/pgsql --sysconfdir=%{_sysconfdir} --with-pglibdir=%{_libdir}/pgsql autoconf make %{?_smp_mflags} %if %perltools make %{?_smp_mflags} -C tools %endif %install rm -rf %{buildroot} install -d %{buildroot}%{_sysconfdir} install -d %{buildroot}%{_sysconfdir}/init.d/ install -d %{buildroot}%{_datadir}/pgsql/ install -d %{buildroot}%{_libdir}/pgsql/ make %{?_smp_mflags} DESTDIR=%{buildroot} install install -m 0755 src/backend/slony1_funcs.so %{buildroot}%{_libdir}/pgsql/slony1_funcs.so install -m 0644 src/backend/*.sql %{buildroot}%{_datadir}/pgsql/ install -m 0755 tools/*.sh %{buildroot}%{_bindir}/ install -m 0644 share/slon.conf-sample %{buildroot}%{_sysconfdir}/slon.conf install -m 0755 redhat/slon.init %{buildroot}%{_sysconfdir}/init.d/slon %if %perltools cd tools make %{?_smp_mflags} DESTDIR=%{buildroot} install /bin/rm -rf altperl/*.pl altperl/ToDo altperl/README altperl/Makefile altperl/CVS install -m 0644 altperl/slon_tools.conf-sample %{buildroot}%{_sysconfdir}/slon_tools.conf install -m 0755 altperl/* %{buildroot}%{_bindir}/ install -m 0644 altperl/slon-tools %{buildroot}%{_libdir}/pgsql/slon-tools.pm /bin/rm -f %{buildroot}%{_sysconfdir}/slon_tools.conf-sample /bin/rm -f %{buildroot}%{_bindir}/slon_tools.conf-sample #/bin/rm -f %{buildroot}%{_libdir}/pgsql/slon-tools.pm /bin/rm -f %{buildroot}%{_bindir}/slon-tools.pm /bin/rm -f %{buildroot}%{_bindir}/slon-tools /bin/rm -f %{buildroot}%{_bindir}/pgsql/slon-tools %endif %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc COPYRIGHT UPGRADING HISTORY-1.1 INSTALL SAMPLE RELEASE-2.0 %{_bindir}/* %{_libdir}/pgsql/slony1_funcs.so %{_datadir}/pgsql/*.sql %config(noreplace) %{_sysconfdir}/slon.conf %{_sysconfdir}/init.d/slon %if %perltools %{_libdir}/pgsql/slon-tools.pm %config(noreplace) %{_sysconfdir}/slon_tools.conf %endif %if %docs %files docs %defattr(-,root,root,-) %doc doc/adminguide doc/concept doc/howto doc/implementation doc/support %endif %changelog * Thu May 17 2007 Devrim Gunduz - Fix rpm build problem when the system has pg_config in both under /usr/local/pgsql/bin and /usr/bin * Wed Mar 22 2007 Christopher Browne - Added more recent release notes * Wed Mar 7 2007 Christopher Browne - Added more recent release notes * Thu Jan 4 2007 Devrim Gunduz - Add docs package (It should be added before but...) * Wed Nov 8 2006 Devrim Gunduz - On 64-bit boxes, both 32 and 64 bit -devel packages may be installed. Fix version check script - Revert tar name patch - Macros cannot be used in various parts of the spec file. Revert that commit - Spec file cleanup * Tue Oct 31 2006 Trevor Astrope - Fixup tar name and install slon-tools as slon-tools.pm * Mon Jul 17 2006 Devrim Gunduz postgresql-slony1-engine - Updated spec and cleaned up rpmlint errors and warnings * Wed Dec 21 2005 Devrim Gunduz postgresql-slony1-engine - Added a buildrhel3 macro to fix RHEL 3 RPM builds - Added a kerbdir macro * Wed Dec 14 2005 Devrim Gunduz postgresql-slony1-engine - Fixed the spec file so that during upgrade, conf files will not be replaced, and a .rpmnew will be created. * Thu Nov 24 2005 Devrim Gunduz postgresql-slony1-engine - Created bindir * Wed Oct 26 2005 Devrim Gunduz postgresql-slony1-engine - Modify CPPFLAGS and CFLAGS to fix builds on RHEL -- Per Philip Yarra * Tue Oct 18 2005 Devrim Gunduz postgresql-slony1-engine - Created a new package : -docs and moved all the docs there. * Tue Oct 18 2005 Devrim Gunduz postgresql-slony1-engine - Fixed the problem in http://gborg.postgresql.org/pipermail/slony1-general/2005-October/003105.html * Sat Oct 01 2005 Devrim Gunduz postgresql-slony1-engine - Upgrade to 1.1.1 * Tue Jul 12 2005 Devrim Gunduz postgresql-slony1-engine - Added a line to check postgresql RPM version and tag SlonyI RPM with it. - Updated Requires files so that it checks correct PostgreSQL version - Moved autoconf line into correct place. * Thu Jun 08 2005 Devrim Gunduz postgresql-slony1-engine - Added UPGRADING, HISTORY-1.1, INSTALL, SAMPLE among installed files, reflecting the change in GNUMakefile.in * Thu Jun 02 2005 Devrim Gunduz postgresql-slony1-engine - Apply a new %docs macro and disable building of docs by default. - Remove slon-tools.conf-sample from bindir. - Removed --bindir and --libdir, since they are not needed. * Mon Apr 10 2005 Devrim Gunduz postgresql-slony1-engine - More fixes on RPM builds * Thu Apr 07 2005 Devrim Gunduz postgresql-slony1-engine - More fixes on RPM builds * Tue Apr 04 2005 Devrim Gunduz postgresql-slony1-engine - Fix RPM build errors, regarding to tools/ . * Thu Apr 02 2005 Devrim Gunduz postgresql-slony1-engine - Added docs to installed files list. - Added perltools, so that tools/altperl may be compiled. - Updated the spec file * Thu Mar 17 2005 Devrim Gunduz postgresql-slony1-engine - Update to 1.1.0beta1 - Remove PostgreSQL source dependency * Thu Mar 17 2005 Devrim Gunduz postgresql-slony1-engine - Fix RPM builds * Thu Mar 18 2004 Daniel Berrange postgresql-slony1-engine - Initial RPM packaging