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