%bcond_without kerberos # build without krb5 support
#
# TODO:
-# - use external libltdl
+# - stay with STABLE 2.5.04 line as soon as it becomes stable
# - check server mode and default config
# - unpackaged:
# /usr/lib/libcvsapi.la
Summary: Concurrent Versioning System
Summary(pl.UTF-8): Concurrent Versioning System
Name: cvsnt
-Version: 2.5.04.2980
-Release: 0.1
+Version: 2.5.04.3055
+Release: 1
License: GPL v2+/LGPL v2+
Group: Development/Version Control
+# http://www.cvsnt.org/wiki/Download
Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 2f82c5b76cd450edcde714eed52b6377
+# Source0-md5: 74104668c086d9ece2cf1bb1a8fc60be
Source1: %{name}.inetd
Source2: %{name}-cvslockd.init
Source3: %{name}.pam
+Patch0: %{name}-system-ltdl.patch
+Patch1: %{name}-system-pcre.patch
+Patch2: %{name}-system-zlib.patch
+Patch3: %{name}-system-ntlm.patch
URL: http://www.cvsnt.org/
BuildRequires: autoconf >= 2.58
BuildRequires: automake >= 1:1.7.9
BuildRequires: expat-devel
BuildRequires: howl-devel
%{?with_kerberos:BuildRequires: krb5-devel}
+BuildRequires: libltdl-devel
+BuildRequires: libntlm-devel >= 0.3.6
BuildRequires: libstdc++-devel
BuildRequires: libxml2-devel
BuildRequires: mysql-devel
%description protocol-sserver
sserver (SSL) protocol support for CVSNT.
+%package protocol-sspi
+Summary: SSPI procotol support for for CVSNT
+Group: Development/Version Control
+Requires: %{name} = %{version}-%{release}
+
+%description protocol-sspi
+SSPI protocol support for CVSNT.
+
+%package protocol-sync
+Summary: sync procotol support for for CVSNT
+Group: Development/Version Control
+Requires: %{name} = %{version}-%{release}
+
+%description protocol-sync
+sync protocol support for CVSNT.
+
+%package rcs
+Summary: CVSNT version of RCS tools
+Group: Development/Version Control
+Requires: %{name} = %{version}-%{release}
+Provides: rcs
+
+%description rcs
+CVSNT version of RCS tools.
+
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+
+rm -rf pcre libltdl zlib protocols/ntlm
%build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
%configure \
--enable-mdns \
--enable-sqlite \
--enable-sserver \
--enable-sspi \
--enable-enum \
- --disable-rcs
+ --enable-rcs
%{__make}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
%attr(754,root,root) /etc/rc.d/init.d/cvslockd
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/cvs
+%attr(755,root,root) %{_bindir}/cvslockd
+%attr(755,root,root) %{_bindir}/cvsnt
+%attr(755,root,root) %{_bindir}/cvsscript
%dir %{_libdir}/cvsnt
-%dir %{_libdir}/cvsnt/*
+%dir %{_libdir}/cvsnt/database
+%dir %{_libdir}/cvsnt/mdns
+%attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
+%{_libdir}/cvsnt/mdns/*.la
+%dir %{_libdir}/cvsnt/protocols
%attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
%attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
%attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
%attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
-%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
%{_libdir}/cvsnt/protocols/enum.la
%{_libdir}/cvsnt/protocols/ext.la
%{_libdir}/cvsnt/protocols/pserver.la
%{_libdir}/cvsnt/protocols/server.la
-%{_libdir}/cvsnt/protocols/sspi.la
+%dir %{_libdir}/cvsnt/triggers
+%attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
+%{_libdir}/cvsnt/triggers/*.la
+%dir %{_libdir}/cvsnt/xdiff
+%attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
+%{_libdir}/cvsnt/xdiff/*.la
%attr(755,root,root) %{_libdir}/lib*-*.so*
%{_mandir}/man[15]/*
%files database-mysql
%defattr(644,root,root,755)
%doc triggers/sql/*_mysql.sql
-%attr(755,root,root) %{_libdir}/cvsnt/databases/mysql.so
-%{_libdir}/cvsnt/databases/mysql.la
+%attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
+%{_libdir}/cvsnt/database/mysql.la
%files database-odbc
%defattr(644,root,root,755)
%doc triggers/sql/*_oracle.sql
%doc triggers/sql/*_mssql.sql
-%attr(755,root,root) %{_libdir}/cvsnt/databases/odbc.so
-%{_libdir}/cvsnt/databases/odbc.la
+%attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
+%{_libdir}/cvsnt/database/odbc.la
%files database-postgres
%defattr(644,root,root,755)
%doc triggers/sql/*_postgres.sql
-%attr(755,root,root) %{_libdir}/cvsnt/databases/postgres.so
-%{_libdir}/cvsnt/databases/postgres.la
+%attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
+%{_libdir}/cvsnt/database/postgres.la
%files database-sqlite
%defattr(644,root,root,755)
%doc triggers/sql/*_sqlite.sql
-%attr(755,root,root) %{_libdir}/cvsnt/databases/sqlite.so
-%{_libdir}/cvsnt/databases/sqlite.la
+%attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
+%{_libdir}/cvsnt/database/sqlite.la
%if %{with kerberos}
%files protocol-gserver
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
%{_libdir}/cvsnt/protocols/sserver.la
+
+%files protocol-sspi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
+%{_libdir}/cvsnt/protocols/sspi.la
+
+%files protocol-sync
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
+%{_libdir}/cvsnt/protocols/sync.la
+
+%files rcs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/co
+%attr(755,root,root) %{_bindir}/rcsdiff
+%attr(755,root,root) %{_bindir}/rlog