Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
219 lines (173 sloc) 8.17 KB
%{!?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.%{version}.so %{buildroot}%{_libdir}/pgsql/slony1_funcs.%{version}.so
install -m 0644 src/backend/slony1_base.sql %{buildroot}%{_datadir}/pgsql/slony1_base.%{version}.sql
install -m 0644 src/backend/slony1_base.v83.sql %{buildroot}%{_datadir}/pgsql/slony1_base.v83.%{version}.sql
install -m 0644 src/backend/slony1_base.v84.sql %{buildroot}%{_datadir}/pgsql/slony1_base.v84.%{version}.sql
install -m 0644 src/backend/slony1_funcs.sql %{buildroot}%{_datadir}/pgsql/slony1_funcs.%{version}.sql
install -m 0644 src/backend/slony1_funcs.v83.sql %{buildroot}%{_datadir}/pgsql/slony1_funcs.v83.%{version}.sql
install -m 0644 src/backend/slony1_funcs.v84.sql %{buildroot}%{_datadir}/pgsql/slony1_funcs.v84.%{version}.sql
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 INSTALL SAMPLE RELEASE
%{_bindir}/*
%{_libdir}/pgsql/slony1_funcs.%{version}.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/implementation doc/support
%endif
%changelog
* Thu May 17 2007 Devrim Gunduz <devrim@CommandPrompt.com>
- 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 <cbbrowne@ca.afilias.info>
- Added more recent release notes
* Wed Mar 7 2007 Christopher Browne <cbbrowne@ca.afilias.info>
- Added more recent release notes
* Thu Jan 4 2007 Devrim Gunduz <devrim@CommandPrompt.com>
- Add docs package (It should be added before but...)
* Wed Nov 8 2006 Devrim Gunduz <devrim@CommandPrompt.com>
- 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 <astrope@sitesell.com>
- Fixup tar name and install slon-tools as slon-tools.pm
* Mon Jul 17 2006 Devrim Gunduz <devrim@CommandPrompt.com> postgresql-slony1-engine
- Updated spec and cleaned up rpmlint errors and warnings
* Wed Dec 21 2005 Devrim Gunduz <devrim@commandprompt.com> postgresql-slony1-engine
- Added a buildrhel3 macro to fix RHEL 3 RPM builds
- Added a kerbdir macro
* Wed Dec 14 2005 Devrim Gunduz <devrim@commandprompt.com> 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 <devrim@PostgreSQL.org> postgresql-slony1-engine
- Created bindir
* Wed Oct 26 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Modify CPPFLAGS and CFLAGS to fix builds on RHEL -- Per Philip Yarra
* Tue Oct 18 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Created a new package : -docs and moved all the docs there.
* Tue Oct 18 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Fixed the problem in http://gborg.postgresql.org/pipermail/slony1-general/2005-October/003105.html
* Sat Oct 01 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Upgrade to 1.1.1
* Tue Jul 12 2005 Devrim Gunduz <devrim@PostgreSQL.org> 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 <devrim@PostgreSQL.org> 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 <devrim@PostgreSQL.org> 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 <devrim@PostgreSQL.org> postgresql-slony1-engine
- More fixes on RPM builds
* Thu Apr 07 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- More fixes on RPM builds
* Tue Apr 04 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Fix RPM build errors, regarding to tools/ .
* Thu Apr 02 2005 Devrim Gunduz <devrim@PostgreSQL.org> 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 <devrim@PostgreSQL.org> postgresql-slony1-engine
- Update to 1.1.0beta1
- Remove PostgreSQL source dependency
* Thu Mar 17 2005 Devrim Gunduz <devrim@PostgreSQL.org> postgresql-slony1-engine
- Fix RPM builds
* Thu Mar 18 2004 Daniel Berrange <berrange@redhat.com> postgresql-slony1-engine
- Initial RPM packaging