]> git.pld-linux.org Git - packages/cvs.git/blob - cvs.spec
3aca347d02307362df3debb38053482f4e4eb06c
[packages/cvs.git] / cvs.spec
1 #
2 # Conditional build:
3 %bcond_without  krb5    # disable krb5 support
4 #
5 Summary:        Concurrent Versioning System
6 Summary(de.UTF-8):      Concurrent-Versioning-System
7 Summary(es.UTF-8):      Control de versiones en modo concurrente
8 Summary(fr.UTF-8):      Un système pour maintenir à jour des fichiers
9 Summary(pl.UTF-8):      Concurrent Versioning System
10 Summary(pt_BR.UTF-8):   Controle de versões em modo concorrente
11 Summary(ru.UTF-8):      Система управления версиями
12 Summary(tr.UTF-8):      Sürüm denetim sistemi
13 Summary(uk.UTF-8):      Система керування версіями
14 Summary(zh_CN.UTF-8):   并发的版本管理系统CVS
15 Name:           cvs
16 Version:        1.12.13
17 Release:        7
18 License:        GPL
19 Group:          Development/Version Control
20 Source0:        ftp://ftp.gnu.org/non-gnu/cvs/source/feature/%{version}/%{name}-%{version}.tar.bz2
21 # Source0-md5:  956ab476ce276c2d19d583e227dbdbea
22 Source1:        %{name}.inetd
23 Patch1:         %{name}-fixed_buffer.patch
24 Patch2:         %{name}-home_etc.patch
25 Patch3:         %{name}-no_libnsl.patch
26 Patch4:         %{name}-info.patch
27 Patch5:         %{name}-posix.patch
28 Patch6:         %{name}-CAN_2005_2693.patch
29 Patch7:         %{name}-cvspass.patch
30 Patch8:         %{name}-datetime.patch
31 Patch9:         %{name}-getcwd.patch
32
33 # patches from debian
34 Patch100:       %{name}-debian-64bit-crash.patch
35 Patch101:       %{name}-debian-check-method-crash.patch
36 Patch102:       %{name}-debian-sparc.patch
37 Patch103:       %{name}-debian-zlib-read-compressed.patch
38 Patch104:       %{name}-debian-cvsrc.patch
39 Patch105:       %{name}-debian-date-format.patch
40 Patch106:       %{name}-debian-dsa-ext-pwd.patch
41 Patch107:       %{name}-debian-ext-exp.patch
42 Patch108:       %{name}-debian-extra-tags.patch
43 Patch109:       %{name}-debian-flag-conflicted-copies.patch
44 Patch110:       %{name}-debian-homedir.patch
45 Patch111:       %{name}-debian-import-n-X.patch
46 Patch112:       %{name}-debian-R-warning.patch
47 Patch113:       %{name}-debian-keyword-alnum.patch
48 Patch114:       %{name}-debian-l-opt.patch
49 Patch115:       %{name}-debian-newlines-commit-template.patch
50 Patch116:       %{name}-debian-normalize-roots.patch
51 Patch117:       %{name}-debian-pam.patch
52 Patch118:       %{name}-debian-parseopts.patch
53 Patch119:       %{name}-debian-perms.patch
54 Patch120:       %{name}-debian-server-wrapper.patch
55 Patch121:       %{name}-debian-repouid.patch
56 Patch122:       %{name}-debian-rsc2log.patch
57
58 URL:            http://www.nongnu.org/cvs/
59 BuildRequires:  autoconf >= 2.58
60 BuildRequires:  automake >= 1:1.7.9
61 %{?with_krb5:BuildRequires:     krb5-devel}
62 BuildRequires:  rpmbuild(macros) >= 1.268
63 BuildRequires:  texinfo
64 BuildRequires:  zlib-devel
65 Provides:       cvs-client = %{version}
66 Obsoletes:      cvs-client
67 Obsoletes:      cvs-nserver-client
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70 %define         _cvs_root       /var/lib/cvs
71
72 %description
73 CVS means Concurrent Version System; it is a version control system
74 which can record the history of your files (usually, but not always,
75 source code). CVS only stores the differences between versions,
76 instead of every version of every file you've ever created. CVS also
77 keeps a log of who and when made some changes and why they occurred,
78 among other aspects.
79
80 CVS is very helpful for managing releases and controlling the
81 concurrent editing of source files among multiple authors. Instead of
82 providing version control for a collection of files in a single
83 directory, CVS provides version control for a hierarchical collection
84 of directories consisting of revision controlled files. These
85 directories and files can then be combined together to form a software
86 release.
87
88 %description -l de.UTF-8
89 CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den
90 Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem
91 einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend
92 aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien
93 lassen sich zu einer Software-Release kombinieren. CVS bietet die
94 Funktionen, die zur Verwaltung von Software-Releases und zur
95 Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
96 mehrere Software-Entwickler notwendig sind.
97
98 %description -l es.UTF-8
99 CVS significa "Concurrent Version System" (sistema concurrente de
100 control de versiones). Puede guardar la historia de sus ficheros
101 (normalmente, pero no necesariamente, código fuente). CVS sólo guarda
102 las diferencias entre las versiones, en vez de guardar cada una de las
103 versiones de cada fichero que haya creado. CVS también mantiene un
104 registro de quién y cuándo realizó un cambio, el porqué del cambio,
105 etc.
106
107 CVS es muy útil para manejar los releases y controlar la edición
108 concurrente de los ficheros fuente entre varios autores. En vez de
109 proveer control de versiones para una colección de ficheros en un solo
110 directorio, CVS la provee para una colección jerárquica de directorios
111 que consistan de ficheros de revisiones controladas. Esos directorios
112 y ficheros pueden luego ser reunidos para formar un release de
113 software.
114
115 %description -l fr.UTF-8
116 "CVS" signifie "Concurrent Version System". C'est un système de
117 comparaison de versions de fichiers, qui peut garder une trace des
118 changements apportés à des fichiers (le plus souvent, les fichiers des
119 sources d'un programme). CVS conserve seulement les différences, et
120 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
121 chaque modification d'un fichier, CVS garde (entre autres) le nom de
122 la personne ayant fait la modification, la raison justifiant cette
123 modification, et la date à laquelle celle-ci a eu lieu.
124
125 CVS est très utile pour gérer la mise en commun des modifications
126 apportées par plusieurs personnes travaillant en parallèle sur les
127 mêmes fichiers. Au lieu de garder plusieurs versions des fichiers dans
128 un seul répertoire, CVS crée une série de répertoires, chacun
129 contenant une nouvelle version des fichiers. Ces répertoires et ces
130 fichiers peuvent ensuite être regroupés pour former la version la plus
131 à jour du logiciel. Installez ce package si vous avez besoin
132 d'utiliser un système de contrôle de version.
133
134 %description -l pl.UTF-8
135 CVS jest nakładką na rcs (Revision Control System, czyli w wolnym
136 tłumaczeniu system kontroli wersji zasobów), który rozszerza
137 możliwości rcs'a z narzędzia do kontroli zbioru plików w pojedynczym
138 katalogu o możliwość kontroli zbioru hierarchicznie ułożonych
139 katalogów z plikami. Z pomocą CVS w łatwy sposób można zarządzać kodem
140 źródłowym opracowywanym przez nawet bardzo duże zespoły programistów
141 umożliwiając śledzenie i kontrolę wszystkich zmian w trakcie pracy nad
142 projektami i wypuszczaniem pełnych wersji oprogramowania (release).
143
144 %description -l pt_BR.UTF-8
145 CVS é um front end para o rcs(1) - revision control system - que
146 estende a noção de controle de revisão de uma coletânea de arquivo em
147 um único diretório para uma coleção hierárquica de diretórios que
148 contém arquivos controlados por revisão. Esses diretórios e arquivos
149 podem ser combinados juntos para criar uma release de software. CVS
150 oferece as funções necessárias para administrar essas release de
151 software e para controlar a edição concorrente de arquivos fonte por
152 múltiplos programadores.
153
154 %description -l ru.UTF-8
155 CVS (Concurrent Version System) - это система управления версиями,
156 которая умеет записать историю ваших файлов (обычно, но не всегда, это
157 исходные тексты). CVS сохраняет только различия между версиями вместо
158 каждой версии каждого файла, которая была когда-либо создана. Также
159 CVS хранит протокол того, кто, когда и зачем что-либо изменил.
160
161 CVS очень полезна для организации релизов и управления параллельной
162 правкой исходных файлов несколькими авторами. Вместо предоставления
163 управления версиями набора файлов в одном каталоге CVS предоставляет
164 управление версиями иерархического набора каталогов, состоящих из
165 файлов, версиями которых надо управллять. Эти файлы и каталоги могут
166 быть собраны вместе для формирования релиза ПО.
167
168 %description -l tr.UTF-8
169 CVS (Concurrent Versioning System), tek bir dizindeki dosya
170 topluluğunun sürüm denetimini, denetimi yapılmış dizinlerin hiyerarşik
171 topluluğuna genişleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu
172 dizin ve dosyalar, bir yazılım yayını oluşturma amacıyla biraraya
173 getirilebilir. CVS, bu yazılım yayınlarının yönetilmesini ve kaynak
174 dosyaları bakımının birden çok yazılım geliştiricisi tarafından
175 eşzamanlı olarak yapılmasını kontrol etmek için gereken işlevleri
176 sağlar.
177
178 %description -l uk.UTF-8
179 CVS (Concurrent Version System) - це система керування версіями, яка
180 вміє записати історію ваших файлів (зазвичай, але не завжди, це
181 вихідні тексти). CVS зберігає тільки різницю між версіями замість
182 кожної версії кожного файлу, яка була колись створена. Також CVS
183 зберігає протокол того, хто, коли і навіщо щось змінив.
184
185 CVS дуже корисна для організацію релізів та керування паралельною
186 правкою визідних файлів кількома авторами. Замість надання можливості
187 керування версіями набору файлів в одному каталозі, CVS надає
188 можливість керування ієрархічним набором каталогів, що складаються з
189 файлів, версіями котрих треба керувати. Ці файли та каталоги можуть
190 бути зібрані разом для формування релізу ПЗ.
191
192 %package pserver
193 Summary:        rc-inetd config files to run CVS pserver
194 Summary(es.UTF-8):      Ficheros de configuración de rc-inetd para un servidor CVS pserver
195 Summary(pl.UTF-8):      Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
196 Group:          Development/Version Control
197 Requires(post): fileutils
198 Requires(postun):       /usr/sbin/groupdel
199 Requires(postun):       /usr/sbin/userdel
200 Requires(pre):  /bin/id
201 Requires(pre):  /usr/bin/getgid
202 Requires(pre):  /usr/sbin/groupadd
203 Requires(pre):  /usr/sbin/useradd
204 Requires:       %{name} = %{version}-%{release}
205 Requires:       rc-inetd
206 Provides:       group(cvs)
207 Provides:       user(cvs)
208 Obsoletes:      cvs-nserver-common
209 Obsoletes:      cvs-nserver-nserver
210 Obsoletes:      cvs-nserver-pserver
211
212 %description pserver
213 Config files for rc-inetd that are necessary to run CVS in pserver
214 mode.
215
216 %description pserver -l es.UTF-8
217 Los ficheros de configuración rc-inetd necesarios para ejecutar CVS en
218 el modo de pserver.
219
220 %description pserver -l pl.UTF-8
221 Pliki konfiguracyjne rc-inetd niezbędne do uruchomienia CVSa w trybie
222 pserver.
223
224 %prep
225 %setup -q
226 %patch1 -p1
227 %patch2 -p1
228 %patch3 -p1
229 %patch4 -p1
230 %patch5 -p1
231 %patch6 -p1
232 %patch7 -p1
233 %patch8 -p1
234 %patch9 -p1
235
236 %patch100 -p1
237 %patch101 -p1
238 %patch102 -p1
239 %patch103 -p1
240 %patch104 -p1
241 %patch105 -p1
242 # undefined reference to getpwline
243 #%patch106 -p1
244 %patch107 -p2
245 %patch108 -p1
246 %patch109 -p1
247 %patch110 -p1
248 %patch111 -p1
249 %patch112 -p1
250 %patch113 -p1
251 %patch114 -p1
252 %patch115 -p1
253 %patch116 -p1
254 %patch117 -p1
255 %patch118 -p1
256 %patch119 -p1
257 %patch120 -p1
258 %patch121 -p1
259 %patch122 -p1
260
261 rm -rf zlib && sed -i -e 's#zlib/Makefile##g' configure.in
262
263 # broken implementation, never use
264 rm lib/getcwd.c
265
266 %build
267 rm aclocal.m4
268 %{__aclocal} -I m4
269 %{__autoheader}
270 %{__autoconf}
271 %{__automake}
272 %configure \
273         --with-external-zlib \
274         --enable-encryption \
275         --enable-server \
276         --enable-client \
277         --enable-rootcommit \
278         --with%{!?with_krb5:out}-gssapi \
279         --with-tmpdir=/tmp \
280         --with-rsh=%{_bindir}/ssh \
281         --with-editor=/bin/vi
282
283 %{__make}
284
285 %install
286 rm -rf $RPM_BUILD_ROOT
287 install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvs_root}}
288
289 %{__make} install \
290         DESTDIR=$RPM_BUILD_ROOT
291
292 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs
293
294 rm -f contrib/{.cvsignore,Makefile*,*.pl,*.sh,*.csh}
295 mv -f $RPM_BUILD_ROOT%{_datadir}/cvs/contrib/rcs2log $RPM_BUILD_ROOT%{_bindir}
296
297 %clean
298 rm -rf $RPM_BUILD_ROOT
299
300 %post   -p      /sbin/postshell
301 -/usr/sbin/fix-info-dir -c %{_infodir}
302
303 %postun -p      /sbin/postshell
304 -/usr/sbin/fix-info-dir -c %{_infodir}
305
306 %pre pserver
307 %groupadd -f -g 52 cvs
308 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
309
310 %post pserver
311 if [ "$1" = "1" ]; then
312         # Initialise repository
313         %{_bindir}/cvs -d :local:%{_cvs_root} init
314         chown -R cvs:cvs %{_cvs_root}/CVSROOT
315 fi
316 %service -q rc-inetd reload
317
318 %postun pserver
319 if [ "$1" = "0" ]; then
320         %userremove cvs
321         %groupremove cvs
322         %service -q rc-inetd reload
323 fi
324
325 %triggerpostun -- cvs-pserver < 1.1.13-1
326 echo "Warning: default cvsroot moved to %{_cvs_root}."
327 echo "Check your configration."
328
329 %files
330 %defattr(644,root,root,755)
331 %doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README
332 %doc ChangeLog doc/*.pdf contrib
333 %attr(755,root,root) %{_bindir}/*
334 %{_mandir}/man[158]/*
335 %{_infodir}/cvs*
336
337 %files pserver
338 %defattr(644,root,root,755)
339 %attr(770,root,cvs) %dir %{_cvs_root}
340 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvs
This page took 0.06856 seconds and 2 git commands to generate.