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