]> git.pld-linux.org Git - packages/cvs.git/blobdiff - cvs.spec
- updated to 1.11.11 - security enhancement: pserver can no longer be
[packages/cvs.git] / cvs.spec
index 0b340aff218973e60e84a248809fab28dcc54d1e..58b17a0a7e6c9dfdfb18ce55cf6996325cbf0587 100644 (file)
--- a/cvs.spec
+++ b/cvs.spec
@@ -1,3 +1,7 @@
+#
+# Conditional build:
+%bcond_without kerberos5       # disable kerberos5 support
+#
 Summary:       Concurrent Versioning System
 Summary(de):   Concurrent-Versioning-System
 Summary(es):   Control de versiones en modo concurrente
@@ -7,41 +11,42 @@ Summary(pt_BR):      Controle de vers
 Summary(ru):   óÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ
 Summary(tr):   Sürüm denetim sistemi
 Summary(uk):   óÉÓÔÅÍÁ ËÅÒÕ×ÁÎÎÑ ×ÅÒÓ¦ÑÍÉ
-Summary(zh_CN):        ²¢·¢µÄ°æ±¾¹ÜÀíϵͳCVS 
+Summary(zh_CN):        ²¢·¢µÄ°æ±¾¹ÜÀíϵͳCVS
 Name:          cvs
-Version:       1.11.2
-Release:       6
+Version:       1.11.11
+Release:       1
 License:       GPL
 Group:         Development/Version Control
-Source0:       ftp://ftp.cvshome.org/pub/%{name}-1.11.1/%{name}-%{version}.tar.gz
+# new feature release: http://ftp.cvshome.org/release/feature/cvs-1.12.5/cvs-1.12.5.tar.bz2
+Source0:       http://ftp.cvshome.org/release/stable/%{name}-%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: e2ceb57c06dc532d0156bdba687073c9
 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}-libobj.patch
-Patch7:                %{name}-chmod.patch
-Patch8:                %{name}-home_etc.patch
-Patch9:                %{name}-pserver-dos.patch
-Patch10:       %{name}-ac.patch
-Patch11:       %{name}-newnline.patch
+# 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
 URL:           http://www.cyclic.com/
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.58
+BuildRequires: automake >= 1.7.9
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
 BuildRequires: zlib-devel
+Obsoletes:     cvs-nserver-client
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define _cvs_root /home/cvsroot
+%define                _cvs_root       /home/services/cvsroot
 
 %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
@@ -59,17 +64,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
@@ -150,15 +162,30 @@ CVS 
 
 %package pserver
 Summary:       rc-inetd config files to run CVS pserver
+Summary(es):   Ficheros de configuración de rc-inetd para un servidor CVS pserver
 Summary(pl):   Pliki konfiguracyjne rc-ineta do postawienia pservera CVS
 Group:         Development/Version Control
-Requires:      rc-inetd
-Prereq:                cvs
+PreReq:                %{name} = %{version}
+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
+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 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.
@@ -173,20 +200,18 @@ pserver.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p0
-%patch11 -p1
 
 %build
-rm -f missing
 %{__aclocal}
 %{__autoheader}
 %{__autoconf}
 %{__automake}
 %configure \
        --enable-server \
-       --enable-client
+       --enable-client \
+       %{?with_kerberos5:--with-gssapi} \
+       --with-tmpdir=/tmp
+
 %{__make}
 
 %install
@@ -201,6 +226,9 @@ install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs
 rm -f contrib/{.cvsignore,Makefile*,*.pl,*.sh,*.csh}
 mv -f $RPM_BUILD_ROOT%{_datadir}/cvs/contrib/rcs2log $RPM_BUILD_ROOT%{_bindir}
 
+%clean
+rm -rf $RPM_BUILD_ROOT
+
 %post
 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
@@ -208,17 +236,28 @@ mv -f $RPM_BUILD_ROOT%{_datadir}/cvs/contrib/rcs2log $RPM_BUILD_ROOT%{_bindir}
 [ ! -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
@@ -227,16 +266,13 @@ fi
 %postun pserver
 if [ "$1" = "0" ]; then
        # Remove user and group
-       %{_sbindir}/userdel cvs 2>/dev/null
-       %{_sbindir}/groupdel cvs 2>/dev/null
+       /usr/sbin/userdel cvs 2>/dev/null
+       /usr/sbin/groupdel cvs 2>/dev/null
        if [ -f /var/lock/subsys/rc-inetd ]; then
                /etc/rc.d/init.d/rc-inetd reload
        fi
 fi
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files
 %defattr(644,root,root,755)
 %doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog doc/*.ps contrib
This page took 0.079152 seconds and 4 git commands to generate.