X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cvs-nserver.spec;h=d5f8fa3f326501144f410e26dce1be94e6703c09;hb=264628f3b58769e6cd6fa92949d2e91e33ba635e;hp=a84e2b839435711d224dfaf0754ca13a75a7dd6d;hpb=05c877ffee7494d5079c40fb0e934072ca950aab;p=packages%2Fcvs-nserver.git diff --git a/cvs-nserver.spec b/cvs-nserver.spec index a84e2b8..d5f8fa3 100644 --- a/cvs-nserver.spec +++ b/cvs-nserver.spec @@ -1,26 +1,35 @@ -Summary: Concurrent Versions System -Summary(de): Concurrent-Versioning-System -Summary(fr): Un système pour maintenir à jour des fichiers -Summary(pl): Concurrent Versions System -Summary(tr): Sürüm denetim sistemi +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.2 -Release: 1 +Version: 1.11.1.52 +Release: 4 License: GPL Group: Development/Version Control -Group(de): Entwicklung/Versionkontrolle -Group(pl): Programowanie/Zarz±dzanie wersjami -Source0: http://alexm.here.ru/cvs-nserver/download/%{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 +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 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: openssl-devel >= 0.9.7 BuildRequires: texinfo +BuildRequires: zlib-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _cvsroot /home/cvsroot +%define _cvsroot /home/services/cvsroot %description CVS is a version control system, which allows you to keep old versions @@ -81,72 +90,94 @@ dosyalar eþzamanlý olarak yapýlmasýný kontrol etmek için gereken iþlevleri saðlar. -%package -n cvs-nclient -Summary: Concurrent Versions System - common -Summary(pl): Concurrent Versions System +%package client +Summary: Concurrent Versions System - client +Summary(pl): Concurrent Versions System - klient Group: Development/Version Control -Group(de): Entwicklung/Versionkontrolle -Group(pl): Programowanie/Zarz±dzanie wersjami +Obsoletes: cvs-npclient +Obsoletes: cvs +Provides: cvs = %{version} -%description -n cvs-nclient -Client and some common files. +%description client +CVS client. -%description -l pl -n cvs-nclient -Klient CVS i trochê wspólnych plików. +%description client -l pl +Klient CVS. -%package -n cvs-nserver-common -Summary: Concurrent Versions System - common -Summary(pl): Concurrent Versions System +%package common +Summary: Concurrent Versions System - common files +Summary(pl): Concurrent Versions System - wspólne pliki Group: Development/Version Control -Group(de): Entwicklung/Versionkontrolle -Group(pl): Programowanie/Zarz±dzanie wersjami - -%description -n cvs-nserver-common -Client and some common files. - -%description -l pl -n cvs-nserver-common -Klient CVS i trochê wspólnych plików. - -%package -n cvs-npserver +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/group +Requires(pre): cvs-nserver-client +Requires(pre): fileutils +Requires: cvs-nserver-client +Obsoletes: cvs-nserver + +%description common +CVS - common server files. + +%description common -l pl +Wspólne pliki serwerów CVS. + +%package pserver Summary: Concurrent Versions System - pserver Summary(pl): Concurrent Versions System - pserver Group: Development/Version Control -Group(de): Entwicklung/Versionkontrolle -Group(pl): Programowanie/Zarz±dzanie wersjami -Obsoletes: cvs-nserver,cvs +PreReq: rc-inetd +Requires: cvs-nserver-common +Obsoletes: cvs-npserver +Obsoletes: cvs-pserver -%description -n cvs-npserver -Server - pserver +%description pserver +CVS server - pserver files. -%description -l pl -n cvs-npserver -Server - pserver +%description pserver -l pl +Serwer CVS - pliki pservera. -%package -n cvs-nserver-experimental +%package nserver Summary: Concurrent Versions System - nserver Summary(pl): Concurrent Versions System - nserver Group: Development/Version Control -Group(de): Entwicklung/Versionkontrolle -Group(pl): Programowanie/Zarz±dzanie wersjami -Obsoletes: cvs-npserver,cvs +PreReq: rc-inetd +Requires: cvs-nserver-common +Obsoletes: cvs-nserver -%description -n cvs-nserver-experimental -Server - nserver +%description nserver +CVS server - nserver files. -%description -l pl -n cvs-nserver-experimental -Server - nserver +%description nserver -l pl +Serwer CVS - pliki nservera. %prep -%setup -q +%setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build -autoconf +%{__aclocal} +%{__autoconf} +%{__automake} %configure \ --enable-encryption \ --enable-client \ --enable-server \ - --enable-setuid + --enable-setuid \ + --with-openssl \ + --without-gssapi %{__make} %install @@ -172,80 +203,123 @@ exec %{_bindir}/cvs-nserver %{_cvsroot} -- \ %{_bindir}/cvschkpw %{_bindir}/cvs nserver EOF -mv $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \ +mv -f $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \ $RPM_BUILD_ROOT%{_bindir} -gzip -9nf AUTHORS BUGS NEWS NEWS.nserver PROJECTS TODO - -%pre -n cvs-nserver-common -GROUP=cvs; GID=52; %groupadd -USER=cvs; UID=52; HOMEDIR=%{_cvsroot}; COMMENT="CVS user"; %useradd -GROUP=cvsadmin; GID=53; %groupadd -USER=cvsadmin; UID=53; HOMEDIR=%{_cvsroot}; COMMENT="CVS user"; %useradd - -%post -n cvs-nclient -%fix-info-dir +%clean +rm -rf $RPM_BUILD_ROOT -%post -n cvs-nserver-experimental -if [ "$1" = 1 ]; then - echo "Initialise repository" - %{_bindir}/cvs -d :local:%{_cvsroot} init - chown -R cvsadmin.cvsadmin %{_cvsroot}/CVSROOT +%post client +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 + +%postun client +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 + +%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 +else + 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 +else + 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 +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 +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 +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 fi -%rc_inetd_post - -%post -n cvs-npserver if [ "$1" = 1 ]; then - echo "Initialise repository" + echo "Initializing repository..." %{_bindir}/cvs -d :local:%{_cvsroot} init chown -R cvsadmin.cvsadmin %{_cvsroot}/CVSROOT fi -%rc_inetd_post -%postun -n cvs-nserver-common -USER=cvs; %userdel -GROUP=cvs; %groupdel -USER=cvsadmin; %userdel -GROUP=cvsadmin; %groupdel +%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 +fi -%postun -n cvs-nserver-experimental -%rc_inetd_postun +%post pserver +if [ -f /var/lock/subsys/rc-inetd ]; then + /etc/rc.d/init.d/rc-inetd reload +fi -%postun -n cvs-npserver -%rc_inetd_postun +%postun pserver +if [ -f /var/lock/subsys/rc-inetd ]; then + /etc/rc.d/init.d/rc-inetd reload +fi -%postun -n cvs-nclient -%fix_info_dir +%post nserver +if [ -f /var/lock/subsys/rc-inetd ]; then + /etc/rc.d/init.d/rc-inetd reload +fi -%clean -rm -rf $RPM_BUILD_ROOT +%postun nserver +if [ -f /var/lock/subsys/rc-inetd ]; then + /etc/rc.d/init.d/rc-inetd reload +fi -%files -n cvs-nclient +%files client %defattr(644,root,root,755) -%doc *.gz +%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(4754,cvsadmin,cvs) %{_bindir}/cvspasswd %attr(755,root,root) %{_bindir}/cvschkpw %attr(755,root,root) %{_bindir}/rcs2log -%dir %{_datadir}/cvs-nserver/contrib/* -%{_mandir}/man8/cvs-server.8* +%dir %{_datadir}/cvs-nserver +%dir %{_datadir}/cvs-nserver/contrib +%{_datadir}/cvs-nserver/contrib/* %attr(770,cvsadmin,cvs) %dir %{_cvsroot} +%{_mandir}/man8/cvs-server.8* -%files -n cvs-nserver-experimental -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/cvs-nserver* -/etc/sysconfig/rc-inetd/cvs-nserver -%{_mandir}/man8/cvs-nserver.8* - -%files -n cvs-npserver +%files pserver %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/cvs-pserver* -/etc/sysconfig/rc-inetd/cvs-pserver +%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/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 +%{_mandir}/man8/cvs-nserver.8*