# TODO
+# - pcp support (pcp/{pmapi,impl,pmda}.h)
+# - shared libctdb (not ready in Makefile)
# - skip interfaces check:
# checking for iface getifaddrs...
# lo IP=127.0.0.1 NETMASK=255.0.0.0
# - add support for /sbin/ss instead of /bin/netstat (ss uses kernel netlink
# which is huge win on server with loads of open tcp sockets)
# - patch scripts for pld
+#
+# Conditional build:
+%bcond_without ibverbs # InfiniBand support
+#
Summary: A Clustered Database based on Samba's Trivial Database (TDB)
Summary(pl.UTF-8): Klastrowa baza danych oparta na bazie danych Trivial Database z Samby (TDB)
Name: ctdb
-Version: 1.0.113
+Version: 2.0
Release: 1
License: GPL v3+
Group: Daemons
+Source0: http://www.samba.org/ftp/ctdb/%{name}-%{version}.tar.gz
+# Source0-md5: 89a397e165e7f5347f06a6cf45fd6b60
+Patch0: %{name}-ib.patch
URL: http://ctdb.samba.org/
-# Tarfile created using git
-# git clone git://git.samba.org/sahlberg/ctdb.git ctdb
-# cd ctdb
-# git-archive --format=tar --prefix=%{name}-%{version}/ %{name}-%{version} | bzip2 > %{name}-%{version}.tar.bz2
-Source0: %{name}-%{version}.tar.bz2
-# Source0-md5: ce3eda943bf81c7c9e513ec715f4a785
-BuildRequires: autoconf >= 2.50
-BuildRequires: net-tools
BuildRequires: popt-devel
BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: talloc-devel
+BuildRequires: tdb-devel
+BuildRequires: tevent-devel
+%if %{with ibverbs}
+BuildRequires: libibverbs-devel
+BuildRequires: librdmacm-devel
+%endif
Requires(post,preun): /sbin/chkconfig
Requires: coreutils
Requires: psmisc
Requires: rc-scripts
Requires: sed
-Requires: tdb
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary: CTDB clustered database development package
Summary(pl.UTF-8): Pakiet programistyczny klastrowej bazy danych CTDB
Group: Development/Libraries
+Requires: tdb-devel
# does not require base
%description devel
%prep
%setup -q
+%patch0 -p1
%build
-sh -x ./autogen.sh
-
-CFLAGS="%{rpmcflags} $EXTRA -D_GNU_SOURCE -DCTDB_VERS=\"%{version}-%{release}\""
-%configure
+%configure \
+ %{?with_ibverbs:--enable-infiniband}
%{__make} showflags
%{__make}
%{_docdir}/ctdb-%{version}
%dir %{_sysconfdir}/ctdb
%{_sysconfdir}/ctdb/events.d
+%config(noreplace) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/ctdb/ctdb-crash-cleanup.sh
+%config(noreplace) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/ctdb/debug-hung-script.sh
+%config(noreplace) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/ctdb/gcore_trace.sh
%config(noreplace) %verify(not md5 mtime size) %attr(755,root,root) %{_sysconfdir}/ctdb/notify.sh
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ctdb/functions
%{_sysconfdir}/ctdb/statd-callout
%attr(754,root,root) /etc/rc.d/init.d/ctdb
%attr(755,root,root) %{_sbindir}/ctdbd
%attr(755,root,root) %{_bindir}/ctdb
-%attr(755,root,root) %{_bindir}/smnotify
-%attr(755,root,root) %{_bindir}/ping_pong
%attr(755,root,root) %{_bindir}/ctdb_diagnostics
+%attr(755,root,root) %{_bindir}/ltdbtool
%attr(755,root,root) %{_bindir}/onnode
+%attr(755,root,root) %{_bindir}/ping_pong
+%attr(755,root,root) %{_bindir}/smnotify
%{_mandir}/man1/ctdb.1*
%{_mandir}/man1/ctdbd.1*
+%{_mandir}/man1/ltdbtool.1*
%{_mandir}/man1/onnode.1*
+%{_mandir}/man1/ping_pong.1*
%files devel
%defattr(644,root,root,755)
-%{_includedir}/ctdb.h
-%{_includedir}/ctdb_private.h
+%{_libdir}/libctdb.a
+%{_includedir}/ctdb*.h
%{_pkgconfigdir}/ctdb.pc