+#
+# 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.11.1p1
-Release: 6
+Version: 1.11.9
+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.1/cvs-1.12.1.tar.bz2
+Source0: http://ftp.cvshome.org/release/stable/%{name}-%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 0e72f5de87f66c5fcd27d58b53fcbf43
Source1: %{name}.inetd
-Patch0: %{name}-tmprace.patch
-Patch1: %{name}-info.patch
-Patch2: http://www.t17.ds.pwr.wroc.pl/~misiek/ipv6/%{name}-1.11.1-20010427-ipv6.patch.gz
-Patch3: %{name}-zlib.patch
-Patch4: %{name}-no_new_am.patch
-Patch5: %{name}-hash-in-Makefile.am.patch
-Patch6: %{name}-fixed_buffer.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: zlib-devel
+%{?with_kerberos5:BuildRequires: heimdal-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
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
+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
Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
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.
+
%description -l fr
"CVS" signifie "Concurrent Version System". C'est un système de
comparaison de versions de fichiers, qui peut garder une trace des
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
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
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
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
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
%build
-rm -f missing
-autoheader
-aclocal
-automake -a -c
-autoconf
+%{__aclocal}
+%{__autoheader}
+%{__autoconf}
+%{__automake}
%configure \
--enable-server \
- --enable-client
+ --enable-client \
+ --with-gssapi \
+ --with-tmpdir=/tmp
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd
-install -d $RPM_BUILD_ROOT%{_cvs_root}
+install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvs_root}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
rm -f contrib/{.cvsignore,Makefile*,*.pl,*.sh,*.csh}
mv -f $RPM_BUILD_ROOT%{_datadir}/cvs/contrib/rcs2log $RPM_BUILD_ROOT%{_bindir}
-gzip -9nf doc/*.ps BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog \
- contrib/{*.man,README,ChangeLog,intro.doc}
+%clean
+rm -rf $RPM_BUILD_ROOT
%post
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
[ ! -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 %{_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
+ %{_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
%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 *.gz doc/*.ps.gz contrib
+%doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog doc/*.ps contrib
%attr(755,root,root) %{_bindir}/*
%{_mandir}/man[158]/*
%{_infodir}/cvs*