]> git.pld-linux.org Git - packages/cvs.git/blobdiff - cvs.spec
- security update to 1.11.15 (path validation on client side)
[packages/cvs.git] / cvs.spec
index b2425d612a02154c61e39bd0a896dc019c085447..f7f554f58121f86c9a2009d2caccd41d92ecd234 100644 (file)
--- a/cvs.spec
+++ b/cvs.spec
@@ -1,33 +1,55 @@
+#
+# 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
 Summary(fr):   Un système pour maintenir à jour des fichiers
 Summary(pl):   Concurrent Versioning System
+Summary(pt_BR):        Controle de versões em modo concorrente
+Summary(ru):   óÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ
 Summary(tr):   Sürüm denetim sistemi
+Summary(uk):   óÉÓÔÅÍÁ ËÅÒÕ×ÁÎÎÑ ×ÅÒÓ¦ÑÍÉ
+Summary(zh_CN):        ²¢·¢µÄ°æ±¾¹ÜÀíϵͳCVS
 Name:          cvs
-Version:       1.10.8
-Release:       11
+Version:       1.11.15
+Release:       2
 License:       GPL
 Group:         Development/Version Control
-Group(pl):     Programowanie/Zarz±dzanie wersjami
-Source0:       http://download.cyclic.com/pub/%{name}-%{version}/%{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: 63873ed6ae942b298cf1db15c85ea22e
 Source1:       %{name}.inetd
-Patch0:                %{name}-tmprace.patch
-Patch1:                %{name}-info.patch
-Patch2:                http://www.misiek.eu.org/ipv6/%{name}-ipv6-220200.patch.gz
-Patch3:                %{name}-auth.patch
-Patch4:                %{name}-zlib.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
+Patch8:                %{name}-ssh.patch
 URL:           http://www.cyclic.com/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.58
+BuildRequires: automake >= 1: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       /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. CVS is very helpful for managing releases and controlling the
+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
 providing version control for a collection of files in a single
 directory, CVS provides version control for a hierarchical collection
@@ -43,7 +65,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 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
@@ -53,26 +92,51 @@ sources d'un programme). CVS conserve seulement les diff
 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
 chaque modification d'un fichier, CVS garde (entre autres) le nom de
 la personne ayant fait la modification, la raison justifiant cette
-modification, et la date à laquelle celle-ci a eu lieu. CVS est très
-utile pour gérer la mise en commun des modifications apportées par
-plusieurs personnes travaillant en parallèle sur les mêmes fichiers.
-Au lieu de garder plusieurs versions des fichiers dans un seul
-répertoire, CVS crée une série de répertoires, chacun contenant une
-nouvelle version des fichiers. Ces répertoires et ces fichiers peuvent
-ensuite être regroupés pour former la version la plus à jour du
-logiciel. Installez ce package si vous avez besoin d'utiliser un
-système de contrôle de version.
+modification, et la date à laquelle celle-ci a eu lieu.
+
+CVS est très utile pour gérer la mise en commun des modifications
+apportées par plusieurs personnes travaillant en parallèle sur les
+mêmes fichiers. Au lieu de garder plusieurs versions des fichiers dans
+un seul répertoire, CVS crée une série de répertoires, chacun
+contenant une nouvelle version des fichiers. Ces répertoires et ces
+fichiers peuvent ensuite être regroupés pour former la version la plus
+à jour du logiciel. Installez ce package si vous avez besoin
+d'utiliser un système de contrôle de version.
 
 %description -l pl
 CVS jest nak³adk± na rcs (Revision Control System, czyli w wolnym
 t³umaczeniu system kontroli wersji zasobów), który rozszerza
 mo¿liwo¶ci rcs'a z narzêdzia do kontroli zbioru plików w pojedynczym
-katalogu o mo¿liwo¶æ kontroli zbioru hierarhicznie u³o¿onych katalogów
-z plikami. Z pomoc± CVS w ³atwy sposób mo¿na zarz±dzaæ kodem ¼ród³owym
-opracowywanym przez nawet bardzo du¿e zespó³y programistów
+katalogu o mo¿liwo¶æ kontroli zbioru hierarchicznie u³o¿onych
+katalogów z plikami. Z pomoc± CVS w ³atwy sposób mo¿na zarz±dzaæ kodem
+¼ród³owym opracowywanym przez nawet bardzo du¿e zespo³y programistów
 umo¿liwiaj±c ¶ledzenie i kontrolê wszystkich zmian w trakcie pracy nad
 projektami i wypuszczaniem pe³nych wersji oprogramowania (release).
 
+%description -l pt_BR
+CVS é um front end para o rcs(1) - revision control system - que
+estende a noção de controle de revisão de uma coletânea de arquivo em
+um único diretório para uma coleção hierárquica de diretórios que
+contém arquivos controlados por revisão. Esses diretórios e arquivos
+podem ser combinados juntos para criar uma release de software. CVS
+oferece as funções necessárias para administrar essas release de
+software e para controlar a edição concorrente de arquivos fonte por
+múltiplos programadores.
+
+%description -l ru
+CVS (Concurrent Version System) - ÜÔÏ ÓÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ,
+ËÏÔÏÒÁÑ ÕÍÅÅÔ ÚÁÐÉÓÁÔØ ÉÓÔÏÒÉÀ ×ÁÛÉÈ ÆÁÊÌÏ× (ÏÂÙÞÎÏ, ÎÏ ÎÅ ×ÓÅÇÄÁ, ÜÔÏ
+ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ). CVS ÓÏÈÒÁÎÑÅÔ ÔÏÌØËÏ ÒÁÚÌÉÞÉÑ ÍÅÖÄÕ ×ÅÒÓÉÑÍÉ ×ÍÅÓÔÏ
+ËÁÖÄÏÊ ×ÅÒÓÉÉ ËÁÖÄÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÁÑ ÂÙÌÁ ËÏÇÄÁ-ÌÉÂÏ ÓÏÚÄÁÎÁ. ôÁËÖÅ
+CVS ÈÒÁÎÉÔ ÐÒÏÔÏËÏÌ ÔÏÇÏ, ËÔÏ, ËÏÇÄÁ É ÚÁÞÅÍ ÞÔÏ-ÌÉÂÏ ÉÚÍÅÎÉÌ.
+
+CVS ÏÞÅÎØ ÐÏÌÅÚÎÁ ÄÌÑ ÏÒÇÁÎÉÚÁÃÉÉ ÒÅÌÉÚÏ× É ÕÐÒÁ×ÌÅÎÉÑ ÐÁÒÁÌÌÅÌØÎÏÊ
+ÐÒÁ×ËÏÊ ÉÓÈÏÄÎÙÈ ÆÁÊÌÏ× ÎÅÓËÏÌØËÉÍÉ Á×ÔÏÒÁÍÉ. ÷ÍÅÓÔÏ ÐÒÅÄÏÓÔÁ×ÌÅÎÉÑ
+ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ ÎÁÂÏÒÁ ÆÁÊÌÏ× × ÏÄÎÏÍ ËÁÔÁÌÏÇÅ CVS ÐÒÅÄÏÓÔÁ×ÌÑÅÔ
+ÕÐÒÁ×ÌÅÎÉÅ ×ÅÒÓÉÑÍÉ ÉÅÒÁÒÈÉÞÅÓËÏÇÏ ÎÁÂÏÒÁ ËÁÔÁÌÏÇÏ×, ÓÏÓÔÏÑÝÉÈ ÉÚ
+ÆÁÊÌÏ×, ×ÅÒÓÉÑÍÉ ËÏÔÏÒÙÈ ÎÁÄÏ ÕÐÒÁ×ÌÌÑÔØ. üÔÉ ÆÁÊÌÙ É ËÁÔÁÌÏÇÉ ÍÏÇÕÔ
+ÂÙÔØ ÓÏÂÒÁÎÙ ×ÍÅÓÔÅ ÄÌÑ ÆÏÒÍÉÒÏ×ÁÎÉÑ ÒÅÌÉÚÁ ðï.
+
 %description -l tr
 CVS (Concurrent Versioning System), tek bir dizindeki dosya
 topluluðunun sürüm denetimini, denetimi yapýlmýþ dizinlerin hiyerarþik
@@ -83,18 +147,46 @@ dosyalar
 eþzamanlý olarak yapýlmasýný kontrol etmek için gereken iþlevleri
 saðlar.
 
+%description -l uk
+CVS (Concurrent Version System) - ÃÅ ÓÉÓÔÅÍÁ ËÅÒÕ×ÁÎÎÑ ×ÅÒÓ¦ÑÍÉ, ÑËÁ
+×ͦ¤ ÚÁÐÉÓÁÔÉ ¦ÓÔÏÒ¦À ×ÁÛÉÈ ÆÁÊ̦נ(ÚÁÚ×ÉÞÁÊ, ÁÌÅ ÎÅ ÚÁ×ÖÄÉ, ÃÅ
+×ÉȦÄΦ ÔÅËÓÔÉ). CVS ÚÂÅÒ¦ÇÁ¤ Ô¦ÌØËÉ Ò¦ÚÎÉÃÀ Í¦Ö ×ÅÒÓ¦ÑÍÉ ÚÁͦÓÔØ
+ËÏÖÎϧ ×ÅÒÓ¦§ ËÏÖÎÏÇÏ ÆÁÊÌÕ, ÑËÁ ÂÕÌÁ ËÏÌÉÓØ ÓÔ×ÏÒÅÎÁ. ôÁËÏÖ CVS
+ÚÂÅÒ¦ÇÁ¤ ÐÒÏÔÏËÏÌ ÔÏÇÏ, ÈÔÏ, ËÏÌÉ ¦ ÎÁצÝÏ ÝÏÓØ ÚͦÎÉ×.
+
+CVS ÄÕÖÅ ËÏÒÉÓÎÁ ÄÌÑ ÏÒÇÁΦÚÁæÀ ÒÅ̦ڦנÔÁ ËÅÒÕ×ÁÎÎÑ ÐÁÒÁÌÅÌØÎÏÀ
+ÐÒÁ×ËÏÀ ×ÉÚ¦ÄÎÉÈ ÆÁÊ̦נ˦ÌØËÏÍÁ Á×ÔÏÒÁÍÉ. úÁͦÓÔØ ÎÁÄÁÎÎÑ ÍÏÖÌÉ×ÏÓÔ¦
+ËÅÒÕ×ÁÎÎÑ ×ÅÒÓ¦ÑÍÉ ÎÁÂÏÒÕ ÆÁÊ̦ננÏÄÎÏÍÕ ËÁÔÁÌÏÚ¦, 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
-Group(pl):     Programowanie/Zarz±dzanie wersjami
-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.
@@ -106,76 +198,96 @@ pserver.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
 
 %build
-autoheader
-autoconf
-LDFLAGS="-s"; export LDFLAGS
+%{__aclocal}
+%{__autoheader}
+%{__autoconf}
+%{__automake}
 %configure \
        --enable-server \
-       --enable-client
+       --enable-client \
+       %{?with_kerberos5:--with-gssapi} \
+       --with-tmpdir=/tmp \
+       --with-editor=/bin/vi
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvs_root}}
+
 %{__make} install \
-       prefix=$RPM_BUILD_ROOT%{_prefix} \
-       bindir=$RPM_BUILD_ROOT%{_bindir} \
-       mandir=$RPM_BUILD_ROOT%{_mandir}
-%{__make} install-info \
-       prefix=$RPM_BUILD_ROOT%{_prefix} \
-       infodir=$RPM_BUILD_ROOT%{_infodir}
-
-install -d $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd
-install -d $RPM_BUILD_ROOT/home/cvsroot
+       DESTDIR=$RPM_BUILD_ROOT
+
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs
 
-gzip -9nf $RPM_BUILD_ROOT{%{_infodir}/cvs*,%{_mandir}/man{1,5,8}/*} \
-       doc/*.ps BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog \
-       contrib/{*.man,README,ChangeLog,intro.doc}
 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
+
+%postun
+[ ! -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 -m -d /home/cvsroot -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:/home/cvsroot init 
-       chown -R cvs.cvs /home/cvsroot/CVSROOT
+       %{_bindir}/cvs -d :local:%{_cvs_root} init
+       chown -R cvs:cvs %{_cvs_root}/CVSROOT
 fi
 if [ -f /var/lock/subsys/rc-inetd ]; then
        /etc/rc.d/init.d/rc-inetd reload
 fi
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
 %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
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%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
 %attr(755,root,root) %{_bindir}/*
 %{_mandir}/man[158]/*
 %{_infodir}/cvs*
-%doc {BUGS,FAQ,MINOR-BUGS,NEWS,PROJECTS,TODO,README,ChangeLog}.gz
-%doc doc/*.ps.gz contrib
 
 %files pserver
 %defattr(644,root,root,755)
-%attr(750,cvs,cvs) %dir /home/cvsroot
-/etc/sysconfig/rc-inetd/cvs
+%attr(770,root,cvs) %dir %{_cvs_root}
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs
This page took 1.186265 seconds and 4 git commands to generate.