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