]> git.pld-linux.org Git - packages/cvs.git/blob - cvs.spec
- rel 3; avoid date/time parsing errors
[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:        3
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
33 # patches from debian
34 Patch100:       %{name}-debian-64bit-crash.patch
35 Patch101:       %{name}-debian-check-method-crash.patch
36 Patch102:       %{name}-debian-cvsbug.patch
37 Patch103:       %{name}-debian-cvspass.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-info.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-rcs2log-sort.patch
55 Patch121:       %{name}-debian-repouid.patch
56 Patch122:       %{name}-debian-rsc2log.patch
57 Patch123:       %{name}-debian-R-warning.patch
58 Patch124:       %{name}-debian-server-wrapper.patch
59 Patch125:       %{name}-debian-sparc.patch
60 Patch126:       %{name}-debian-zlib-read-compressed.patch
61
62 URL:            http://www.nongnu.org/cvs/
63 BuildRequires:  autoconf >= 2.58
64 BuildRequires:  automake >= 1:1.7.9
65 %{?with_kerberos5:BuildRequires:        krb5-devel}
66 BuildRequires:  rpmbuild(macros) >= 1.268
67 BuildRequires:  texinfo
68 BuildRequires:  zlib-devel
69 Conflicts:      cvs-nserver-client
70 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
72 %define         _cvs_root       /var/lib/cvs
73
74 %description
75 CVS means Concurrent Version System; it is a version control system
76 which can record the history of your files (usually, but not always,
77 source code). CVS only stores the differences between versions,
78 instead of every version of every file you've ever created. CVS also
79 keeps a log of who and when made some changes and why they occurred,
80 among other aspects.
81
82 CVS is very helpful for managing releases and controlling the
83 concurrent editing of source files among multiple authors. Instead of
84 providing version control for a collection of files in a single
85 directory, CVS provides version control for a hierarchical collection
86 of directories consisting of revision controlled files. These
87 directories and files can then be combined together to form a software
88 release.
89
90 %description -l de.UTF-8
91 CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den
92 Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem
93 einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend
94 aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien
95 lassen sich zu einer Software-Release kombinieren. CVS bietet die
96 Funktionen, die zur Verwaltung von Software-Releases und zur
97 Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
98 mehrere Software-Entwickler notwendig sind.
99
100 %description -l es.UTF-8
101 CVS significa "Concurrent Version System" (sistema concurrente de
102 control de versiones). Puede guardar la historia de sus ficheros
103 (normalmente, pero no necesariamente, código fuente). CVS sólo guarda
104 las diferencias entre las versiones, en vez de guardar cada una de las
105 versiones de cada fichero que haya creado. CVS también mantiene un
106 registro de quién y cuándo realizó un cambio, el porqué del cambio,
107 etc.
108
109 CVS es muy útil para manejar los releases y controlar la edición
110 concurrente de los ficheros fuente entre varios autores. En vez de
111 proveer control de versiones para una colección de ficheros en un solo
112 directorio, CVS la provee para una colección jerárquica de directorios
113 que consistan de ficheros de revisiones controladas. Esos directorios
114 y ficheros pueden luego ser reunidos para formar un release de
115 software.
116
117 %description -l fr.UTF-8
118 "CVS" signifie "Concurrent Version System". C'est un système de
119 comparaison de versions de fichiers, qui peut garder une trace des
120 changements apportés à des fichiers (le plus souvent, les fichiers des
121 sources d'un programme). CVS conserve seulement les différences, et
122 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
123 chaque modification d'un fichier, CVS garde (entre autres) le nom de
124 la personne ayant fait la modification, la raison justifiant cette
125 modification, et la date à laquelle celle-ci a eu lieu.
126
127 CVS est très utile pour gérer la mise en commun des modifications
128 apportées par plusieurs personnes travaillant en parallèle sur les
129 mêmes fichiers. Au lieu de garder plusieurs versions des fichiers dans
130 un seul répertoire, CVS crée une série de répertoires, chacun
131 contenant une nouvelle version des fichiers. Ces répertoires et ces
132 fichiers peuvent ensuite être regroupés pour former la version la plus
133 à jour du logiciel. Installez ce package si vous avez besoin
134 d'utiliser un système de contrôle de version.
135
136 %description -l pl.UTF-8
137 CVS jest nakładką na rcs (Revision Control System, czyli w wolnym
138 tłumaczeniu system kontroli wersji zasobów), który rozszerza
139 możliwości rcs'a z narzędzia do kontroli zbioru plików w pojedynczym
140 katalogu o możliwość kontroli zbioru hierarchicznie ułożonych
141 katalogów z plikami. Z pomocą CVS w łatwy sposób można zarządzać kodem
142 źródłowym opracowywanym przez nawet bardzo duże zespoły programistów
143 umożliwiając śledzenie i kontrolę wszystkich zmian w trakcie pracy nad
144 projektami i wypuszczaniem pełnych wersji oprogramowania (release).
145
146 %description -l pt_BR.UTF-8
147 CVS é um front end para o rcs(1) - revision control system - que
148 estende a noção de controle de revisão de uma coletânea de arquivo em
149 um único diretório para uma coleção hierárquica de diretórios que
150 contém arquivos controlados por revisão. Esses diretórios e arquivos
151 podem ser combinados juntos para criar uma release de software. CVS
152 oferece as funções necessárias para administrar essas release de
153 software e para controlar a edição concorrente de arquivos fonte por
154 múltiplos programadores.
155
156 %description -l ru.UTF-8
157 CVS (Concurrent Version System) - это система управления версиями,
158 которая умеет записать историю ваших файлов (обычно, но не всегда, это
159 исходные тексты). CVS сохраняет только различия между версиями вместо
160 каждой версии каждого файла, которая была когда-либо создана. Также
161 CVS хранит протокол того, кто, когда и зачем что-либо изменил.
162
163 CVS очень полезна для организации релизов и управления параллельной
164 правкой исходных файлов несколькими авторами. Вместо предоставления
165 управления версиями набора файлов в одном каталоге CVS предоставляет
166 управление версиями иерархического набора каталогов, состоящих из
167 файлов, версиями которых надо управллять. Эти файлы и каталоги могут
168 быть собраны вместе для формирования релиза ПО.
169
170 %description -l tr.UTF-8
171 CVS (Concurrent Versioning System), tek bir dizindeki dosya
172 topluluğunun sürüm denetimini, denetimi yapılmış dizinlerin hiyerarşik
173 topluluğuna genişleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu
174 dizin ve dosyalar, bir yazılım yayını oluşturma amacıyla biraraya
175 getirilebilir. CVS, bu yazılım yayınlarının yönetilmesini ve kaynak
176 dosyaları bakımının birden çok yazılım geliştiricisi tarafından
177 eşzamanlı olarak yapılmasını kontrol etmek için gereken işlevleri
178 sağlar.
179
180 %description -l uk.UTF-8
181 CVS (Concurrent Version System) - це система керування версіями, яка
182 вміє записати історію ваших файлів (зазвичай, але не завжди, це
183 вихідні тексти). CVS зберігає тільки різницю між версіями замість
184 кожної версії кожного файлу, яка була колись створена. Також CVS
185 зберігає протокол того, хто, коли і навіщо щось змінив.
186
187 CVS дуже корисна для організацію релізів та керування паралельною
188 правкою визідних файлів кількома авторами. Замість надання можливості
189 керування версіями набору файлів в одному каталозі, CVS надає
190 можливість керування ієрархічним набором каталогів, що складаються з
191 файлів, версіями котрих треба керувати. Ці файли та каталоги можуть
192 бути зібрані разом для формування релізу ПЗ.
193
194 %package pserver
195 Summary:        rc-inetd config files to run CVS pserver
196 Summary(es.UTF-8):      Ficheros de configuración de rc-inetd para un servidor CVS pserver
197 Summary(pl.UTF-8):      Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
198 Group:          Development/Version Control
199 Requires(post): fileutils
200 Requires(postun):       /usr/sbin/groupdel
201 Requires(postun):       /usr/sbin/userdel
202 Requires(pre):  /bin/id
203 Requires(pre):  /usr/bin/getgid
204 Requires(pre):  /usr/sbin/groupadd
205 Requires(pre):  /usr/sbin/useradd
206 Requires:       %{name} = %{version}-%{release}
207 Requires:       rc-inetd
208 Provides:       group(cvs)
209 Provides:       user(cvs)
210 Obsoletes:      cvs-nserver-common
211 Obsoletes:      cvs-nserver-nserver
212 Obsoletes:      cvs-nserver-pserver
213
214 %description pserver
215 Config files for rc-inetd that are necessary to run CVS in pserver
216 mode.
217
218 %description pserver -l es.UTF-8
219 Los ficheros de configuración rc-inetd necesarios para ejecutar CVS en
220 el modo de pserver.
221
222 %description pserver -l pl.UTF-8
223 Pliki konfiguracyjne rc-inetd niezbędne do uruchomienia CVSa w trybie
224 pserver.
225
226 %prep
227 %setup -q
228 %patch1 -p1
229 %patch2 -p1
230 %patch3 -p1
231 %patch4 -p1
232 %patch5 -p1
233 %patch6 -p1
234 %patch7 -p1
235 %patch8 -p1
236 %patch9 -p1
237
238 %patch100 -p1
239 %patch101 -p1
240 %patch102 -p1
241 %patch103 -p1
242 %patch104 -p1
243 %patch105 -p1
244 %patch106 -p1
245 %patch107 -p1
246 %patch108 -p1
247 %patch109 -p1
248 %patch110 -p1
249 %patch111 -p1
250 %patch112 -p1
251 %patch113 -p1
252 %patch114 -p1
253 %patch115 -p1
254 %patch116 -p1
255 %patch117 -p1
256 %patch118 -p1
257 %patch119 -p1
258 %patch120 -p1
259 %patch121 -p1
260 %patch122 -p1
261 %patch123 -p1
262 %patch124 -p1
263 %patch125 -p1
264 %patch126 -p1
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_kerberos5: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
301 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
302
303 %postun
304 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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.127383 seconds and 4 git commands to generate.