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