X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cvs.spec;h=d4578f06b3568069e52b0a025f03c395cd395b78;hb=80baa79b446136bfa8ec6ccfa9482acc4e5ade05;hp=2b66731501c5620ae161e3c8091ee75cd2f13c43;hpb=c16af3cf89e0a2b0d61b78e740369864b738b03d;p=packages%2Fcvs.git diff --git a/cvs.spec b/cvs.spec index 2b66731..d4578f0 100644 --- a/cvs.spec +++ b/cvs.spec @@ -1,164 +1,273 @@ +# +# Conditional build: +%bcond_without kerberos5 # disable kerberos5 support + Summary: Concurrent Versioning System Summary(de): Concurrent-Versioning-System -Summary(fr): CVS : 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.5 -Release: 3 -Copyright: GPL +Version: 1.11.9 +Release: 1 +License: GPL Group: Development/Version Control -Group(pl): Programowanie/Zarzadzanie wersjami -Source0: http://download.cyclic.com/pub/%{name}-%{version}/%{name}-%{version}.tar.gz -Patch0: cvs-tmprace.patch -Patch1: cvs-info.patch +# 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 +# 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/ -Prereq: /sbin/install-info -Buildroot: /tmp/%{name}-%{version}-root +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/services/cvsroot %description -CVS is a front end to the rcs(1) revision control system which extends the -notion of revision control from a collection of files in a single directory -to a hierarchical collection of directories consisting of revision -controlled files. These directories and files can be combined together to -form a software release. CVS provides the functions necessary to manage -these software releases and to control the concurrent editing of source -files among multiple software developers. +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 +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 +of directories consisting of revision controlled files. These +directories and files can then be combined together to form a software +release. %description -l de -CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den Begriff -der Revisionskontrolle von einer Sammlung von Dateien in einem einzelnen -Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend 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. +CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den +Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem +einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend +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. + +%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 est un frontal pour le système de contrôle de révision rcs(1) qui étend -la notion de contrôle de révision d'un ensemble de fichiers placés dans un -seul répertoire à un ensemble hiérarchisé de répertoires contenant des -fichiers contrôlés. Ces répertoires et fichiers peuvent être combinés pour -former une version de logiciel. CVS offre les fonctions nécessaires pour -gérer ces versions et pour contrôler la modification simultanée des fichiers -sources entre les différents déeloppeurs. +"CVS" signifie "Concurrent Version System". C'est un système de +comparaison de versions de fichiers, qui peut garder une trace des +changements apportés à des fichiers (le plus souvent, les fichiers des +sources d'un programme). CVS conserve seulement les différences, et +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. %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 umo¿liwiaj±c ¶ledzenie i kontrolê -wszystkich zmian w trakcie pracy nad projektami i wypuszczaniem pe³nych -wersji oprogramowania (release). +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 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 topluluðuna -geniþleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu dizin ve dosyalar, -bir yazýlým yayýný oluþturma amacýyla biraraya getirilebilir. CVS, bu -yazýlým yayýnlarýnýn yönetilmesini ve kaynak dosyalarý bakýmýnýn birden çok -yazýlým geliþtiricisi tarafýndan eþzamanlý olarak yapýlmasýný kontrol etmek -için gereken iþlevleri saðlar. +CVS (Concurrent Versioning System), tek bir dizindeki dosya +topluluðunun sürüm denetimini, denetimi yapýlmýþ dizinlerin hiyerarþik +topluluðuna geniþleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu +dizin ve dosyalar, bir yazýlým yayýný oluþturma amacýyla biraraya +getirilebilir. CVS, bu yazýlým yayýnlarýnýn yönetilmesini ve kaynak +dosyalarý bakýmýnýn birden çok yazýlým geliþtiricisi tarafýndan +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 +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 pl +Pliki konfiguracyjne rc-inetd niezbêdne do uruchomienia CVSa w trybie +pserver. %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %build -CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \ -./configure %{_target} \ - --prefix=/usr \ +%{__aclocal} +%{__autoheader} +%{__autoconf} +%{__automake} +%configure \ --enable-server \ - --enable-client -make + --enable-client \ + --with-gssapi \ + --with-tmpdir=/tmp +%{__make} %install rm -rf $RPM_BUILD_ROOT -make install prefix=$RPM_BUILD_ROOT/usr -make install-info prefix=$RPM_BUILD_ROOT/usr +install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvs_root}} -strip $RPM_BUILD_ROOT%{_bindir}/cvs +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT -gzip -9nf $RPM_BUILD_ROOT/usr/{info/cvs*,man/man{1,5,8}/*} doc/*.ps \ - BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog +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 -/sbin/install-info %{_infodir}/cvs.info.gz /etc/info-dir -/sbin/install-info %{_infodir}/cvsclient.info.gz /etc/info-dir +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%preun -if [ "$1" = "0" ]; then - /sbin/install-info --delete %{_infodir}/cvs.info.gz /etc/info-dir - /sbin/install-info --delete %{_infodir}/cvsclient.info.gz /etc/info-dir +%postun +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 + +%pre pserver +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 -%clean -rm -rf $RPM_BUILD_ROOT +%post pserver +if [ "$1" = "1" ]; then + # Initialise repository + %{_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 + +%postun pserver +if [ "$1" = "0" ]; then + # Remove user and group + /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 %files %defattr(644,root,root,755) -%doc {BUGS,FAQ,MINOR-BUGS,NEWS,PROJECTS,TODO,README,ChangeLog}.gz -%doc doc/*.ps.gz - +%doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README ChangeLog doc/*.ps contrib %attr(755,root,root) %{_bindir}/* -%attr( -, root, root) %{_libdir}/cvs - %{_mandir}/man[158]/* %{_infodir}/cvs* -%changelog -* Mon Apr 19 1999 Tomasz K³oczko - [1.10.5-3] -- recompiles on new rpm. - -* Tue Mar 9 1999 Micha³ Kuratczyk - [1.10.5-2] -- gzipping documentation (instead bzipping) - -* Mon Feb 22 1999 Tomasz K³oczko - [1.10.5-1] -- removed man group from man pages. - -* Wed Jan 26 1999 Tomasz K³oczko - [1.10.4-1d] -- added compressing %doc, -- added cvs-info.patch, -- added Group(pl). - -* Wed Dec 23 1998 Tomasz K³oczko - [1.10.3-3] -- standarized {un}registering info pages, -- cvs info pages moved to section "Version Control:", -- added gzipping man pages. - -* Sun Sep 6 1998 Tomasz K³oczko - [1.10.1-2] -- fix race conditions in cvsbug/rcs2log. - -* Thu Sep 3 1998 Tomasz K³oczko - [1.10.1-1] -- removed "Requires: rcs", -- added fixed rcs2log.sh script. - -* Sat Aug 1 1998 Tomasz K³oczko - [1.9.29-1] -- added pl translation, -- added -q %setup parametr, -- added URL, -- Changed Source url, -- spec file rewritten for using Buildroot, -- added ChangeLog to %doc, -- added %clean section, -- added %defattr and %attr macros in %files (allows building package from - non-root account). - -* Mon Apr 27 1998 Prospector System -- translations modified for de, fr, tr - -* Wed Oct 29 1997 Otto Hammersmith -- added install-info stuff -- added changelog section +%files pserver +%defattr(644,root,root,755) +%attr(770,root,cvs) %dir %{_cvs_root} +%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs