%bcond_without kerberos # build without krb5 support
#
# TODO:
-# - stay with STABLE 2.5.04 line as soon as it becomes stable
+# - commit -r BRANCH is rejected (contrary to manual)
+# you can commit new file to branch with this technique:
+# cvs add file.patch
+# cvs up -r BRANCH file.patch
+# cvs ci -m '- bleh' file.patch
+# or just install cvs client from cvsnt package.
+# - the newline auto translation on text files should be disabled on .patch files (better for any!)
# - 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.3055
-Release: 1
+# http://www.cvsnt.org/archive/2.5_stable tell which version is stable
+Version: 2.5.05.3744
+Release: 9
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: 74104668c086d9ece2cf1bb1a8fc60be
+# Source0-md5: 64aa0fc627893cc66182023b936260da
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
+Patch0: %{name}-system-pcre.patch
+Patch1: %{name}-system-ntlm.patch
+Patch2: %{name}-build.patch
+Patch3: %{name}-nospam.patch
+Patch4: %{name}-fixes.patch
+Patch5: %{name}-gcc4.patch
+Patch6: format-security.patch
URL: http://www.cvsnt.org/
BuildRequires: autoconf >= 2.58
BuildRequires: automake >= 1:1.7.9
BuildRequires: docbook-style-xsl
-BuildRequires: expat-devel
BuildRequires: howl-devel
-%{?with_kerberos:BuildRequires: krb5-devel}
+%{?with_kerberos:BuildRequires: heimdal-devel}
BuildRequires: libltdl-devel
BuildRequires: libntlm-devel >= 0.3.6
BuildRequires: libstdc++-devel
+BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: mysql-devel
BuildRequires: openssl-devel
BuildRequires: unixODBC-devel
BuildRequires: xmlto
BuildRequires: zlib-devel
+Requires(post): /sbin/ldconfig
Provides: cvs-client = %{version}
Obsoletes: cvs-client
Obsoletes: cvs-nserver-client
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-cvslockd = %{version}-%{release}
Requires: rc-inetd
Provides: group(cvs)
Provides: user(cvs)
Config files for rc-inetd that are necessary to run CVS in pserver
mode.
+%package cvslockd
+Summary: locking daemon
+Group: Development/Version Control
+
+%description cvslockd
+CVS locking daemon.
+
%package database-mysql
Summary: MySQL Database support for CVSNT
Group: Development/Version Control
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
-rm -rf pcre libltdl zlib protocols/ntlm
+rm -r protocols/ntlm
%build
%{__libtoolize}
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post cvslockd
/sbin/chkconfig --add cvslockd
%service cvslockd restart
-%preun
+%preun cvslockd
if [ "$1" = "0" ]; then
- %service cvslockd stop
- /sbin/chkconfig --del cvslockd
+ %service cvslockd stop
+ /sbin/chkconfig --del cvslockd
fi
-%postun -p /sbin/ldconfig
-
%pre pserver
%groupadd -f -g 52 cvs
%useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
%files
%defattr(644,root,root,755)
%doc doc/html_cvsclient
-%doc AUTHORS FAQ README
+%doc AUTHORS README
%doc triggers/examples/*.txt
%dir %{_sysconfdir}/cvsnt
%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}/cvs
-%attr(755,root,root) %{_bindir}/cvslockd
%attr(755,root,root) %{_bindir}/cvsnt
%attr(755,root,root) %{_bindir}/cvsscript
%dir %{_libdir}/cvsnt
%attr(770,root,cvs) %dir %{_cvs_root}
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
+%files cvslockd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/cvslockd
+%attr(754,root,root) /etc/rc.d/init.d/cvslockd
+
%files database-mysql
%defattr(644,root,root,755)
%doc triggers/sql/*_mysql.sql
%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 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)