X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cvs-nserver.spec;h=936f8d108ee1122d119249ba4bccb9080d9606e7;hb=82a35f804081ed32575054401b3014083ca58251;hp=aa0f55eaf8eb8aee48b43e2e9524c7b7cbf83478;hpb=1dceb0da723f7d2bc5d7f3032a2b155aafe0bfc0;p=packages%2Fcvs-nserver.git diff --git a/cvs-nserver.spec b/cvs-nserver.spec index aa0f55e..936f8d1 100644 --- a/cvs-nserver.spec +++ b/cvs-nserver.spec @@ -1,28 +1,41 @@ +# +# 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(pl): Concurrent Versions System - nserver Summary(tr): Sürüm denetim sistemi - nserver Name: cvs-nserver -Version: 1.11.1.4 -Release: 3 +Version: 1.11.1.52 +Release: 8 License: GPL Group: Development/Version Control -Source0: http://unc.dl.sourceforge.net/sourceforge/cvs-nserver/%{name}-%{version}.tar.gz +Source0: http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +# Source0-md5: 357fb5f37cc556977dad79175e9c2d97 Source1: %{name}.inetd Source2: cvs-pserver.inetd Patch0: %{name}-cvspasswd.patch Patch1: %{name}-info.patch -# outdated, but maybe will be needed for checkpasswd (outside programs): -Patch3: %{name}-PAM_fix.patch -Patch4: %{name}-am_ac.patch -Patch5: %{name}-zlib.patch +Patch2: %{name}-am_ac.patch +Patch3: %{name}-cvspass.patch +Patch4: %{name}-home_etc.patch +Patch5: %{name}-ssl-link.patch +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.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 @@ -83,75 +96,83 @@ dosyalar eþzamanlý olarak yapýlmasýný kontrol etmek için gereken iþlevleri saðlar. -%package -n cvs-nserver-client +%package client Summary: Concurrent Versions System - client Summary(pl): Concurrent Versions System - klient Group: Development/Version Control Obsoletes: cvs-npclient Obsoletes: cvs +Provides: cvs = %{version} -%description -n cvs-nserver-client +%description client CVS client. -%description -n cvs-nserver-client -l pl +%description client -l pl Klient CVS. -%package -n cvs-nserver-common +%package common Summary: Concurrent Versions System - common files Summary(pl): Concurrent Versions System - wspólne pliki Group: Development/Version Control -Requires: cvs-nserver-client -Obsoletes: cvs-nserver -Obsoletes: cvs -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(pre): cvs-nserver-client Requires(pre): fileutils Requires(postun): /usr/sbin/userdel Requires(postun): /usr/sbin/groupdel +Requires: cvs-nserver-client +Obsoletes: cvs-nserver -%description -n cvs-nserver-common +%description common CVS - common server files. -%description -n cvs-nserver-common -l pl +%description common -l pl Wspólne pliki serwerów CVS. -%package -n cvs-nserver-pserver +%package pserver Summary: Concurrent Versions System - pserver Summary(pl): Concurrent Versions System - pserver Group: Development/Version Control +PreReq: rc-inetd Requires: cvs-nserver-common Obsoletes: cvs-npserver -PreReq: rc-inetd +Obsoletes: cvs-pserver -%description -n cvs-nserver-pserver +%description pserver CVS server - pserver files. -%description -n cvs-nserver-pserver -l pl +%description pserver -l pl Serwer CVS - pliki pservera. -%package -n cvs-nserver-nserver +%package nserver Summary: Concurrent Versions System - nserver Summary(pl): Concurrent Versions System - nserver Group: Development/Version Control +PreReq: rc-inetd Requires: cvs-nserver-common Obsoletes: cvs-nserver -PreReq: rc-inetd -%description -n cvs-nserver-nserver +%description nserver CVS server - nserver files. -%description -n cvs-nserver-nserver -l pl +%description nserver -l pl Serwer CVS - pliki nservera. %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build %{__aclocal} @@ -162,45 +183,63 @@ Serwer CVS - pliki nservera. --enable-client \ --enable-server \ --enable-setuid \ + --with-openssl \ --without-gssapi %{__make} %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} %clean rm -rf $RPM_BUILD_ROOT -%post -n cvs-nserver-client +%post client [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%postun -n cvs-nserver-client +%postun client [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%pre -n cvs-nserver-common +%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 @@ -240,10 +279,10 @@ 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 -n cvs-nserver-common +%postun common if [ "$1" = "0" ]; then echo "Removing user cvs." /usr/sbin/userdel cvs @@ -255,53 +294,58 @@ if [ "$1" = "0" ]; then /usr/sbin/groupdel cvsadmin fi -%post -n cvs-nserver-pserver +%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 -n cvs-nserver-pserver +%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 -n cvs-nserver-nserver +%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 -n cvs-nserver-nserver +%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 -n cvs-nserver-client +%files client %defattr(644,root,root,755) -%doc AUTHORS BUGS NEWS PROJECTS TODO FAQ +%doc AUTHORS BUGS ChangeLog FAQ FAQ.nserver NEWS NEWS.nserver PROJECTS +%doc README README.checkpassword TODO %attr(755,root,root) %{_bindir}/cvs %attr(755,root,root) %{_bindir}/cvsbug %{_infodir}/cvs* %{_mandir}/man[15]/cvs.* %{_mandir}/man8/cvsbug.8* -%files -n cvs-nserver-common +%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 -%dir %{_datadir}/cvs-nserver/contrib/* +%dir %{_datadir}/cvs-nserver +%dir %{_datadir}/cvs-nserver/contrib +%{_datadir}/cvs-nserver/contrib/* %attr(770,cvsadmin,cvs) %dir %{_cvsroot} %{_mandir}/man8/cvs-server.8* +%attr(770,cvsadmin,cvs) %dir /var/lock/cvs -%files -n cvs-nserver-pserver +%files pserver %defattr(644,root,root,755) +%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-pserver %attr(755,root,root) %{_bindir}/cvs-pserver* -/etc/sysconfig/rc-inetd/cvs-pserver %{_mandir}/man8/cvs-pserver.8* -%files -n cvs-nserver-nserver +%files nserver %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/cvs-nserver* %doc NEWS.nserver FAQ.nserver -/etc/sysconfig/rc-inetd/cvs-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*