]> git.pld-linux.org Git - packages/cvs-nserver.git/blobdiff - cvs-nserver.spec
- /home/services -> /srv
[packages/cvs-nserver.git] / cvs-nserver.spec
index dc12eca9014e9a3b19ed59de495e74f7f85af348..936f8d108ee1122d119249ba4bccb9080d9606e7 100644 (file)
@@ -1,3 +1,7 @@
+#
+# 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
@@ -5,11 +9,11 @@ Summary(pl):  Concurrent Versions System - nserver
 Summary(tr):   Sürüm denetim sistemi - nserver
 Name:          cvs-nserver
 Version:       1.11.1.52
-Release:       4
+Release:       8
 License:       GPL
 Group:         Development/Version Control
 Source0:       http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
-# Source0-md5: 357fb5f37cc556977dad79175e9c2d97
+# Source0-md5: 357fb5f37cc556977dad79175e9c2d97
 Source1:       %{name}.inetd
 Source2:       cvs-pserver.inetd
 Patch0:                %{name}-cvspasswd.patch
@@ -22,14 +26,16 @@ Patch6:             %{name}-fix_doc_CVSUSER.patch
 Patch7:                %{name}-segv.patch
 Patch8:                %{name}-initgroups-rootonly.patch
 Patch9:                %{name}-zlibfix.patch
+Patch10:       %{name}-home_etc2.patch
+URL:           http://cvs-nserver.sourceforge.net/
 BuildRequires: autoconf
 BuildRequires: automake
-BuildRequires: openssl-devel >= 0.9.7
+BuildRequires: openssl-devel >= 0.9.7c
 BuildRequires: texinfo
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _cvsroot        /home/services/cvsroot
+%define                _cvsroot        /srv/cvsroot
 
 %description
 CVS is a version control system, which allows you to keep old versions
@@ -108,14 +114,14 @@ Klient CVS.
 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/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(pre): cvs-nserver-client
 Requires(pre): fileutils
+Requires(postun):      /usr/sbin/userdel
+Requires(postun):      /usr/sbin/groupdel
 Requires:      cvs-nserver-client
 Obsoletes:     cvs-nserver
 
@@ -166,6 +172,7 @@ Serwer CVS - pliki nservera.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
 
 %build
 %{__aclocal}
@@ -182,27 +189,44 @@ Serwer CVS - pliki nservera.
 
 %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} DESTDIR=$RPM_BUILD_ROOT install
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-nserver
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-pserver
 
 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-pserver-script
 #!/bin/sh
+REPOSITORY="%{_cvsroot}"
+if [ -f /etc/sysconfig/cvsroot ]; 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/cvsroot ]; 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.
+#REPOSITORY="%{_cvsroot}"
+EOF
+
 mv -f  $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \
        $RPM_BUILD_ROOT%{_bindir}
 
@@ -217,77 +241,77 @@ rm -rf $RPM_BUILD_ROOT
 
 %pre common
 if [ -n "`getgid cvs`" ]; then
-       if [ "`getgid cvs`" != "52" ]; then
-               echo "Error: group cvs doesn't have gid=52. Correct this before installing cvs-nserver." 1>&2
-               exit 1
-       fi
+       if [ "`getgid cvs`" != "52" ]; then
+               echo "Error: group cvs doesn't have gid=52. Correct this before installing cvs-nserver." 1>&2
+               exit 1
+       fi
 else
-       echo "Adding group cvs GID=52."
-       /usr/sbin/groupadd -g 52 -r -f cvs
+       echo "Adding group cvs GID=52."
+       /usr/sbin/groupadd -g 52 -r -f cvs
 fi
 if [ -n "`getgid cvsadmin`" ]; then
-       if [ "`getgid cvsadmin`" != "53" ]; then
-               echo "Error: group cvsadmin doesn't have gid=53. Correct this before installing cvs-nserver." 1>&2
-               exit 1
-       fi
+       if [ "`getgid cvsadmin`" != "53" ]; then
+               echo "Error: group cvsadmin doesn't have gid=53. Correct this before installing cvs-nserver." 1>&2
+               exit 1
+       fi
 else
-       echo "Adding group cvsadmin GID=53."
-       /usr/sbin/groupadd -g 53 -r -f cvsadmin
+       echo "Adding group cvsadmin GID=53."
+       /usr/sbin/groupadd -g 53 -r -f cvsadmin
 fi
 if [ -n "`id -u cvs 2>/dev/null`" ]; then
-       if [ "`id -u cvs`" != "52" ]; then
-               echo "Error: user cvs doesn't have uid=52. Correct this before installing cvs-nserver." 1>&2
-               exit 1
-       fi
+       if [ "`id -u cvs`" != "52" ]; then
+               echo "Error: user cvs doesn't have uid=52. Correct this before installing cvs-nserver." 1>&2
+               exit 1
+       fi
 else
-       echo "Adding user cvs UID=52."
-       /usr/sbin/useradd -u 52 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvs cvs 1>&2
+       echo "Adding user cvs UID=52."
+       /usr/sbin/useradd -u 52 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvs cvs 1>&2
 fi
 if [ -n "`id -u cvsadmin 2>/dev/null`" ]; then
-       if [ "`id -u cvsadmin`" != "53" ]; then
-               echo "Error: user cvsadmin doesn't have uid=53. Correct this before installing cvs-nserver." 1>&2
-               exit 1
-       fi
+       if [ "`id -u cvsadmin`" != "53" ]; then
+               echo "Error: user cvsadmin doesn't have uid=53. Correct this before installing cvs-nserver." 1>&2
+               exit 1
+       fi
 else
-       echo "Adding user cvsadmin UID=53."
-       /usr/sbin/useradd -u 53 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvsadmin -G cvs cvsadmin 1>&2
+       echo "Adding user cvsadmin UID=53."
+       /usr/sbin/useradd -u 53 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvsadmin -G cvs cvsadmin 1>&2
 fi
 if [ "$1" = 1 ]; then
        echo "Initializing repository..."
        %{_bindir}/cvs -d :local:%{_cvsroot} init
-       chown -R cvsadmin.cvsadmin %{_cvsroot}/CVSROOT
+       chown -R cvsadmin:cvsadmin %{_cvsroot}/CVSROOT
 fi
 
 %postun common
 if [ "$1" = "0" ]; then
-       echo "Removing user cvs."
-       /usr/sbin/userdel cvs
-       echo "Removing user cvsadmin."
-       /usr/sbin/userdel cvsadmin
-       echo "Removing group cvs."
-       /usr/sbin/groupdel cvs
-       echo "Removing group cvsadmin."
-       /usr/sbin/groupdel cvsadmin
+       echo "Removing user cvs."
+       /usr/sbin/userdel cvs
+       echo "Removing user cvsadmin."
+       /usr/sbin/userdel cvsadmin
+       echo "Removing group cvs."
+       /usr/sbin/groupdel cvs
+       echo "Removing group cvsadmin."
+       /usr/sbin/groupdel cvsadmin
 fi
 
 %post pserver
 if [ -f /var/lock/subsys/rc-inetd ]; then
-        /etc/rc.d/init.d/rc-inetd reload
+       /etc/rc.d/init.d/rc-inetd reload
 fi
 
 %postun pserver
 if [ -f /var/lock/subsys/rc-inetd ]; then
-        /etc/rc.d/init.d/rc-inetd reload
+       /etc/rc.d/init.d/rc-inetd reload
 fi
 
 %post nserver
 if [ -f /var/lock/subsys/rc-inetd ]; then
-        /etc/rc.d/init.d/rc-inetd reload
+       /etc/rc.d/init.d/rc-inetd reload
 fi
 
 %postun nserver
 if [ -f /var/lock/subsys/rc-inetd ]; then
-        /etc/rc.d/init.d/rc-inetd reload
+       /etc/rc.d/init.d/rc-inetd reload
 fi
 
 %files client
@@ -302,6 +326,7 @@ fi
 
 %files common
 %defattr(644,root,root,755)
+%attr(640,root,root) %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
@@ -310,16 +335,17 @@ fi
 %{_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*
This page took 0.115655 seconds and 4 git commands to generate.