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