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