X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cvs.spec;h=098fb9a9813e453a9c6d3632078a183923e1050b;hb=7ba1030fdf4b4fa76ad220978140d7e71dc1dc7b;hp=8feeb10be7d9edcfbd7ff99670979a56c0766a9d;hpb=eca1808b91ba3ab795c839ed501a287052657e3d;p=packages%2Fcvs.git diff --git a/cvs.spec b/cvs.spec index 8feeb10..098fb9a 100644 --- a/cvs.spec +++ b/cvs.spec @@ -1,3 +1,8 @@ +# +# Conditional build: +%bcond_without kerberos5 # disable kerberos5 support +%bcond_without acl # disable ACL support +# Summary: Concurrent Versioning System Summary(de): Concurrent-Versioning-System Summary(es): Control de versiones en modo concurrente @@ -9,37 +14,46 @@ Summary(tr): S Summary(uk): óÉÓÔÅÍÁ ËÅÒÕ×ÁÎÎÑ ×ÅÒÓ¦ÑÍÉ Summary(zh_CN): ²¢·¢µÄ°æ±¾¹ÜÀíϵͳCVS Name: cvs -Version: 1.11.4 -Release: 0.9 +Version: 1.11.19 +Release: 2 License: GPL Group: Development/Version Control -# active ftp only(?) -Source0: ftp://ftp.cvshome.org/pub/%{name}-%{version}/%{name}-%{version}.tar.bz2 +# new feature release: https://www.cvshome.org/files/documents/19/610/cvs-1.12.11.tar.bz2 +Source0: https://www.cvshome.org/files/documents/19/742/%{name}-%{version}.tar.bz2 +# Source0-md5: ac3f9459d0bb5ed9acd6091902267594 Source1: %{name}.inetd -Patch0: %{name}-tmprace.patch -Patch1: %{name}-info.patch -Patch2: http://www.t17.ds.pwr.wroc.pl/~misiek/ipv6/%{name}-1.11.2-20020513-ipv6.patch.gz -Patch3: %{name}-zlib.patch -Patch4: %{name}-fixed_buffer.patch -Patch5: %{name}-cvspass.patch -Patch6: %{name}-home_etc.patch -Patch7: %{name}-newnline.patch -Patch8: %{name}-no_libnsl.patch -URL: http://www.cyclic.com/ -BuildRequires: autoconf -BuildRequires: automake +# based on: http://www.t17.ds.pwr.wroc.pl/~misiek/ipv6/cvs-1.11.2-20020513-ipv6.patch.gz +Patch0: %{name}-ipv6.patch +Patch1: %{name}-zlib.patch +Patch2: %{name}-fixed_buffer.patch +Patch3: %{name}-cvspass.patch +Patch4: %{name}-home_etc.patch +Patch5: %{name}-newnline.patch +Patch6: %{name}-no_libnsl.patch +Patch7: %{name}-info.patch +Patch8: %{name}-ssh.patch +Patch9: %{name}-posix.patch +# Access Control List Extension: http://cvsacl.sourceforge.net/ +Patch10: %{name}-acl.patch +URL: http://www.cvshome.org/ +BuildRequires: autoconf >= 2.58 +BuildRequires: automake >= 1:1.7.9 +%{?with_kerberos5:BuildRequires: heimdal-devel} +BuildRequires: rpmbuild(macros) >= 1.159 +BuildRequires: texinfo BuildRequires: zlib-devel +Obsoletes: cvs-nserver-client BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _cvs_root /home/services/cvsroot +%define _cvs_root /var/lib/cvs %description CVS means Concurrent Version System; it is a version control system which can record the history of your files (usually, but not always, source code). CVS only stores the differences between versions, instead of every version of every file you've ever created. CVS also -keeps a log of who, when and why changes occurred, among other -aspects. +keeps a log of who and when made some changes and why they occurred, +among other aspects. CVS is very helpful for managing releases and controlling the concurrent editing of source files among multiple authors. Instead of @@ -57,17 +71,24 @@ aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien lassen sich zu einer Software-Release kombinieren. CVS bietet die Funktionen, die zur Verwaltung von Software-Releases und zur Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch -mehrere Software- Entwickler notwendig sind. +mehrere Software-Entwickler notwendig sind. %description -l es -CVS es un front end para el rcs(1) - revisión control system - que -extiende la noción de control de revisión de una colectánea de archivo -en un único directorio para una colección jerárquica de directorios -que contiene archivos controlados por revisión. Estos directorios y -archivos pueden ser combinados juntos para crear una release de -software. CVS nos ofrece las funciones necesarias para administrar -esta release de software y para controlar la edición concurrente de -archivos fuente por múltiples programadores. +CVS significa "Concurrent Version System" (sistema concurrente de +control de versiones). Puede guardar la historia de sus ficheros +(normalmente, pero no necesariamente, código fuente). CVS sólo guarda +las diferencias entre las versiones, en vez de guardar cada una de las +versiones de cada fichero que haya creado. CVS también mantiene un +registro de quién y cuándo realizó un cambio, el porqué del cambio, +etc. + +CVS es muy útil para manejar los releases y controlar la edición +concurrente de los ficheros fuente entre varios autores. En vez de +proveer control de versiones para una colección de ficheros en un solo +directorio, CVS la provee para una colección jerárquica de directorios +que consistan de ficheros de revisiones controladas. Esos directorios +y ficheros pueden luego ser reunidos para formar un release de +software. %description -l fr "CVS" signifie "Concurrent Version System". C'est un système de @@ -148,15 +169,32 @@ CVS %package pserver Summary: rc-inetd config files to run CVS pserver -Summary(pl): Pliki konfiguracyjne rc-ineta do postawienia pservera CVS +Summary(es): Ficheros de configuración de rc-inetd para un servidor CVS pserver +Summary(pl): Pliki konfiguracyjne rc-inetd do postawienia pservera CVS Group: Development/Version Control -PreReq: %{name} = %{version} -Requires: rc-inetd +PreReq: %{name} = %{version}-%{release} +PreReq: rc-inetd +Requires(pre): /usr/bin/getgid +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(post): fileutils +Requires(postun): /usr/sbin/userdel +Requires(postun): /usr/sbin/groupdel +Provides: group(cvs) +Provides: user(cvs) +Obsoletes: cvs-nserver-common +Obsoletes: cvs-nserver-nserver +Obsoletes: cvs-nserver-pserver %description pserver Config files for rc-inetd that are necessary to run CVS in pserver mode. +%description pserver -l es +Los ficheros de configuración rc-inetd necesarios para ejecutar CVS +en el modo de pserver. + %description pserver -l pl Pliki konfiguracyjne rc-inetd niezbêdne do uruchomienia CVSa w trybie pserver. @@ -172,16 +210,22 @@ pserver. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 +%{?with_acl:%patch10 -p1} %build -rm -f missing %{__aclocal} %{__autoheader} %{__autoconf} %{__automake} %configure \ --enable-server \ - --enable-client + --enable-client \ + --enable-rootcommit \ + --with%{!?with_kerberos5:out}-gssapi \ + --with-tmpdir=/tmp \ + --with-editor=/bin/vi + %{__make} %install @@ -206,17 +250,28 @@ rm -rf $RPM_BUILD_ROOT [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 %pre pserver -if [ "$1" = 1 ]; then - # Add user and group - getgid cvs >/dev/null 2>&1 || %{_sbindir}/groupadd -f -g 52 cvs - id -u cvs >/dev/null 2>&1 || %{_sbindir}/useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs 2>/dev/null +if [ -n "`/usr/bin/getgid cvs`" ]; then + if [ "`/usr/bin/getgid cvs`" != "52" ]; then + echo "Error: group cvs doesn't have gid=52. Correct this before installing cvs." 1>&2 + exit 1 + fi +else + /usr/sbin/groupadd -f -g 52 cvs 1>&2 +fi +if [ -n "`/bin/id -u cvs 2>/dev/null`" ]; then + if [ "`/bin/id -u cvs`" != "52" ]; then + echo "Error: user cvs doesn't have uid=52. Correct this before installing cvs." 1>&2 + exit 1 + fi +else + /usr/sbin/useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs 1>&2 fi %post pserver -if [ "$1" = 1 ]; then +if [ "$1" = "1" ]; then # Initialise repository %{_bindir}/cvs -d :local:%{_cvs_root} init - chown -R cvs.cvs %{_cvs_root}/CVSROOT + chown -R cvs:cvs %{_cvs_root}/CVSROOT fi if [ -f /var/lock/subsys/rc-inetd ]; then /etc/rc.d/init.d/rc-inetd reload @@ -224,17 +279,21 @@ fi %postun pserver if [ "$1" = "0" ]; then - # Remove user and group - %{_sbindir}/userdel cvs 2>/dev/null - %{_sbindir}/groupdel cvs 2>/dev/null + %userremove cvs + %groupremove cvs if [ -f /var/lock/subsys/rc-inetd ]; then /etc/rc.d/init.d/rc-inetd reload fi fi +%triggerpostun -- cvs-pserver < 1.1.13-1 +echo "Warning: default cvsroot moved to %{_cvs_root}." +echo "Check your configration." + %files %defattr(644,root,root,755) -%doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog doc/*.ps contrib +%doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README %{?with_acl:README.cvsacl} +%doc ChangeLog doc/*.ps contrib %attr(755,root,root) %{_bindir}/* %{_mandir}/man[158]/* %{_infodir}/cvs*