+#
+# TODO:
+# - trigger for upgrade from old cvs - after that package stays without any
+# users and nserver-common is not installed...
Summary: Concurrent Versions System - nserver
Summary(de): Concurrent-Versioning-System - nserver
Summary(fr): Un système pour maintenir à jour des fichiers - nserver
Summary(tr): Sürüm denetim sistemi - nserver
Name: cvs-nserver
Version: 1.11.1.52
-Release: 5
+Release: 12
License: GPL
Group: Development/Version Control
Source0: http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch8: %{name}-initgroups-rootonly.patch
Patch9: %{name}-zlibfix.patch
Patch10: %{name}-home_etc2.patch
+Patch11: %{name}-posix.patch
+Patch12: %{name}-CAN-2002-0844.patch
+Patch13: %{name}-CAN-2003-0015.patch
+Patch14: %{name}-CAN-2003-0977-and-CAN-2004-0180.patch
+Patch15: %{name}-CAN-2004-0396.patch
+Patch16: %{name}-CAN-2004-0414.patch
+Patch17: %{name}-CAN-2004-0416-0417-0418.patch
+URL: http://cvs-nserver.sourceforge.net/
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: texinfo
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _cvsroot /home/services/cvsroot
+%define _cvsroot /var/lib/cvs
%description
CVS is a version control system, which allows you to keep old versions
Summary: Concurrent Versions System - client
Summary(pl): Concurrent Versions System - klient
Group: Development/Version Control
-Obsoletes: cvs-npclient
-Obsoletes: cvs
Provides: cvs = %{version}
+Obsoletes: cvs
+Obsoletes: cvs-npclient
%description client
CVS client.
Summary: Concurrent Versions System - common files
Summary(pl): Concurrent Versions System - wspólne pliki
Group: Development/Version Control
-Requires(pre): /usr/bin/getgid
Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/userdel
-Requires(postun): /usr/sbin/groupdel
Requires(pre): cvs-nserver-client
Requires(pre): fileutils
-Requires: cvs-nserver-client
+Requires(postun): /usr/sbin/userdel
+Requires(postun): /usr/sbin/groupdel
+Requires: %{name}-client = %{version}-%{release}
Obsoletes: cvs-nserver
%description common
Summary(pl): Concurrent Versions System - pserver
Group: Development/Version Control
PreReq: rc-inetd
-Requires: cvs-nserver-common
+Requires: %{name}-common = %{version}-%{release}
Obsoletes: cvs-npserver
Obsoletes: cvs-pserver
Summary(pl): Concurrent Versions System - nserver
Group: Development/Version Control
PreReq: rc-inetd
-Requires: cvs-nserver-common
+Requires: %{name}-common = %{version}-%{release}
Obsoletes: cvs-nserver
%description nserver
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
%build
%{__aclocal}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvsroot}}
+install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvsroot},/var/lock/cvs}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-pserver-script
#!/bin/sh
+REPOSITORY="%{_cvsroot}"
+if [ -f /etc/sysconfig/cvs ]; then
+ . /etc/sysconfig/cvs
+fi
+
CVSPASSWD=%{_bindir}/cvspasswd \
-exec %{_bindir}/cvs-pserver %{_cvsroot} -- \
+exec %{_bindir}/cvs-pserver \$REPOSITORY -- \
%{_bindir}/cvschkpw %{_bindir}/cvs pserver
EOF
cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-nserver-script
#!/bin/sh
+REPOSITORY="%{_cvsroot}"
+if [ -f /etc/sysconfig/cvs ]; then
+ . /etc/sysconfig/cvs
+fi
+
CVSPASSWD=%{_bindir}/cvspasswd \
-exec %{_bindir}/cvs-nserver %{_cvsroot} -- \
+exec %{_bindir}/cvs-nserver \$REPOSITORY -- \
%{_bindir}/cvschkpw %{_bindir}/cvs nserver
EOF
+cat << EOF >$RPM_BUILD_ROOT/etc/sysconfig/cvs
+# In this file you can specify additional repositories (separated with space)
+# or just set different location.
+# Default is "%{_cvsroot}".
+#REPOSITORY="%{_cvsroot}"
+# According to FHS 2.3 you can use some subdirectory in /srv, e.g.:
+#REPOSITORY="/srv/cvs"
+EOF
+
mv -f $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \
$RPM_BUILD_ROOT%{_bindir}
%files common
%defattr(644,root,root,755)
+%attr(640,root,cvs) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/cvs
%attr(4754,cvsadmin,cvs) %{_bindir}/cvspasswd
%attr(755,root,root) %{_bindir}/cvschkpw
%attr(755,root,root) %{_bindir}/rcs2log
%{_datadir}/cvs-nserver/contrib/*
%attr(770,cvsadmin,cvs) %dir %{_cvsroot}
%{_mandir}/man8/cvs-server.8*
+%attr(770,cvsadmin,cvs) %dir /var/lock/cvs
%files pserver
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/cvs-pserver*
%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-pserver
+%attr(755,root,root) %{_bindir}/cvs-pserver*
%{_mandir}/man8/cvs-pserver.8*
%files nserver
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/cvs-nserver*
%doc NEWS.nserver FAQ.nserver
%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-nserver
+%attr(755,root,root) %{_bindir}/cvs-nserver*
%{_mandir}/man8/cvs-nserver.8*