]>
Commit | Line | Data |
---|---|---|
80baa79b | 1 | # |
2 | # Conditional build: | |
dee14740 | 3 | %bcond_without kerberos5 # disable kerberos V support |
e9d84415 | 4 | # |
00675277 | 5 | Summary: Concurrent Versioning System |
14bea265 ER |
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 | |
00675277 | 15 | Name: cvs |
ac65a0b4 | 16 | Version: 1.12.13 |
07cd2e49 | 17 | Release: 20 |
50a3e3c4 | 18 | License: GPL |
00675277 | 19 | Group: Development/Version Control |
704bc0ac | 20 | Source0: http://ftp.gnu.org/non-gnu/cvs/source/feature/%{version}/%{name}-%{version}.tar.bz2 |
ac65a0b4 | 21 | # Source0-md5: 956ab476ce276c2d19d583e227dbdbea |
62791415 | 22 | Source1: %{name}.inetd |
ac65a0b4 AM |
23 | Patch1: %{name}-fixed_buffer.patch |
24 | Patch2: %{name}-home_etc.patch | |
9b342c0b PG |
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 | |
ed051430 | 31 | Patch9: %{name}-getcwd.patch |
7680eb37 | 32 | Patch10: %{name}-ac.patch |
ac259a54 | 33 | Patch11: %{name}-printf-n.patch |
f03484de | 34 | Patch12: %{name}-am.patch |
fb9b7b86 | 35 | Patch13: %{name}-format-security.patch |
d1c60625 AM |
36 | |
37 | # patches from debian | |
38 | Patch100: %{name}-debian-64bit-crash.patch | |
39 | Patch101: %{name}-debian-check-method-crash.patch | |
39dfbf90 AM |
40 | Patch102: %{name}-debian-sparc.patch |
41 | Patch103: %{name}-debian-zlib-read-compressed.patch | |
d1c60625 AM |
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 | |
39dfbf90 | 50 | Patch112: %{name}-debian-R-warning.patch |
d1c60625 AM |
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 | |
39dfbf90 | 58 | Patch120: %{name}-debian-server-wrapper.patch |
d1c60625 AM |
59 | Patch121: %{name}-debian-repouid.patch |
60 | Patch122: %{name}-debian-rsc2log.patch | |
d1c60625 | 61 | |
47e09274 | 62 | URL: http://www.nongnu.org/cvs/ |
84b0558d | 63 | BuildRequires: autoconf >= 2.58 |
bc01d559 | 64 | BuildRequires: automake >= 1:1.7.9 |
dee14740 | 65 | %{?with_kerberos5:BuildRequires: heimdal-devel} |
783fd6da | 66 | BuildRequires: pam-devel |
29e5eafc | 67 | BuildRequires: rpmbuild(macros) >= 1.268 |
92fc4c3e | 68 | BuildRequires: texinfo |
84b0558d | 69 | BuildRequires: zlib-devel |
c0ab1603 | 70 | Provides: cvs-client = %{version} |
62f67104 | 71 | Provides: cvs-gnu-client = %{version} |
9e431dfc | 72 | Obsoletes: cvs-client |
ed051430 | 73 | Obsoletes: cvs-nserver-client |
ecfcf59d | 74 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
0b8ff7ed | 75 | |
c9ea6c43 | 76 | %define _cvs_root /var/lib/cvs |
8626e9b3 | 77 | |
0b8ff7ed | 78 | %description |
53627d2a | 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 | |
a2cc41e6 | 83 | keeps a log of who and when made some changes and why they occurred, |
84 | among other aspects. | |
cb786b9e | 85 | |
86 | CVS is very helpful for managing releases and controlling the | |
53627d2a | 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. | |
df81ee22 | 93 | |
f2f0844f JR |
94 | %description -l de.UTF-8 |
95 | CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den | |
50a3e3c4 | 96 | Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem |
53627d2a | 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 | |
f2f0844f | 101 | Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch |
a2cc41e6 | 102 | mehrere Software-Entwickler notwendig sind. |
0b8ff7ed | 103 | |
f2f0844f | 104 | %description -l es.UTF-8 |
a2cc41e6 | 105 | CVS significa "Concurrent Version System" (sistema concurrente de |
106 | control de versiones). Puede guardar la historia de sus ficheros | |
f2f0844f | 107 | (normalmente, pero no necesariamente, código fuente). CVS sólo guarda |
a2cc41e6 | 108 | las diferencias entre las versiones, en vez de guardar cada una de las |
f2f0844f JR |
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, | |
a2cc41e6 | 111 | etc. |
112 | ||
f2f0844f | 113 | CVS es muy útil para manejar los releases y controlar la edición |
a2cc41e6 | 114 | concurrente de los ficheros fuente entre varios autores. En vez de |
f2f0844f JR |
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 | |
a2cc41e6 | 117 | que consistan de ficheros de revisiones controladas. Esos directorios |
118 | y ficheros pueden luego ser reunidos para formar un release de | |
119 | software. | |
73899246 | 120 | |
f2f0844f JR |
121 | %description -l fr.UTF-8 |
122 | "CVS" signifie "Concurrent Version System". C'est un système de | |
53627d2a | 123 | comparaison de versions de fichiers, qui peut garder une trace des |
f2f0844f JR |
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 | |
53627d2a | 127 | chaque modification d'un fichier, CVS garde (entre autres) le nom de |
128 | la personne ayant fait la modification, la raison justifiant cette | |
f2f0844f JR |
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 | |
73899246 | 155 | podem ser combinados juntos para criar uma release de software. CVS |
f2f0844f JR |
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 | |
53627d2a | 175 | CVS (Concurrent Versioning System), tek bir dizindeki dosya |
f2f0844f JR |
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 | бути зібрані разом для формування релізу ПЗ. | |
cb786b9e | 197 | |
18de087a SZ |
198 | %package pserver |
199 | Summary: rc-inetd config files to run CVS pserver | |
14bea265 ER |
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 | |
18de087a | 202 | Group: Development/Version Control |
29e5eafc ER |
203 | Requires(post): fileutils |
204 | Requires(postun): /usr/sbin/groupdel | |
205 | Requires(postun): /usr/sbin/userdel | |
9e5fba65 | 206 | Requires(pre): /bin/id |
29e5eafc | 207 | Requires(pre): /usr/bin/getgid |
9e5fba65 JB |
208 | Requires(pre): /usr/sbin/groupadd |
209 | Requires(pre): /usr/sbin/useradd | |
29e5eafc ER |
210 | Requires: %{name} = %{version}-%{release} |
211 | Requires: rc-inetd | |
704bc0ac | 212 | Provides: cvs-gnu-pserver = %{version}-%{release} |
5172e4c8 | 213 | Provides: group(cvs) |
214 | Provides: user(cvs) | |
97166c8f JB |
215 | Obsoletes: cvs-nserver-common |
216 | Obsoletes: cvs-nserver-nserver | |
217 | Obsoletes: cvs-nserver-pserver | |
18de087a SZ |
218 | |
219 | %description pserver | |
53627d2a | 220 | Config files for rc-inetd that are necessary to run CVS in pserver |
221 | mode. | |
18de087a | 222 | |
f2f0844f JR |
223 | %description pserver -l es.UTF-8 |
224 | Los ficheros de configuración rc-inetd necesarios para ejecutar CVS en | |
e2c9cf94 | 225 | el modo de pserver. |
a2cc41e6 | 226 | |
f2f0844f JR |
227 | %description pserver -l pl.UTF-8 |
228 | Pliki konfiguracyjne rc-inetd niezbędne do uruchomienia CVSa w trybie | |
18de087a SZ |
229 | pserver. |
230 | ||
0b8ff7ed | 231 | %prep |
232 | %setup -q | |
a9093753 | 233 | %patch1 -p1 |
cb786b9e | 234 | %patch2 -p1 |
4f5079d0 | 235 | %patch3 -p1 |
68633d24 | 236 | %patch4 -p1 |
58466d83 | 237 | %patch5 -p1 |
f1642a46 | 238 | %patch6 -p1 |
4abf4443 | 239 | %patch7 -p1 |
59273d9b | 240 | %patch8 -p1 |
72b9e9a0 | 241 | %patch9 -p1 |
7680eb37 | 242 | %patch10 -p1 |
ac259a54 | 243 | %patch11 -p1 |
f03484de | 244 | %patch12 -p1 |
fb9b7b86 | 245 | %patch13 -p1 |
0b8ff7ed | 246 | |
d1c60625 AM |
247 | %patch100 -p1 |
248 | %patch101 -p1 | |
249 | %patch102 -p1 | |
250 | %patch103 -p1 | |
251 | %patch104 -p1 | |
252 | %patch105 -p1 | |
39dfbf90 AM |
253 | # undefined reference to getpwline |
254 | #%patch106 -p1 | |
255 | %patch107 -p2 | |
d1c60625 AM |
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 | |
d1c60625 | 271 | |
d9522e02 AM |
272 | rm -rf zlib && sed -i -e 's#zlib/Makefile##g' configure.in |
273 | ||
719671e1 AM |
274 | # broken implementation, never use |
275 | rm lib/getcwd.c | |
276 | ||
0b8ff7ed | 277 | %build |
ac65a0b4 AM |
278 | rm aclocal.m4 |
279 | %{__aclocal} -I m4 | |
9423cf64 | 280 | %{__autoheader} |
67170a18 | 281 | %{__autoconf} |
282 | %{__automake} | |
112bd4e8 | 283 | %configure \ |
7680eb37 AM |
284 | --enable-pam \ |
285 | --with-hardcoded-pam-service-name=cvs \ | |
ac65a0b4 AM |
286 | --with-external-zlib \ |
287 | --enable-encryption \ | |
0b8ff7ed | 288 | --enable-server \ |
b7125af9 | 289 | --enable-client \ |
df261e26 | 290 | --enable-rootcommit \ |
dee14740 | 291 | --with%{!?with_kerberos5:out}-gssapi \ |
453dda17 | 292 | --with-tmpdir=/tmp \ |
b225b53b | 293 | --with-rsh=%{_bindir}/ssh \ |
453dda17 | 294 | --with-editor=/bin/vi |
84b0558d | 295 | |
8eec0235 | 296 | %{__make} |
0b8ff7ed | 297 | |
298 | %install | |
299 | rm -rf $RPM_BUILD_ROOT | |
30bbcc0d | 300 | install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvs_root}} |
5417682d | 301 | |
cba5a963 | 302 | %{__make} install \ |
e51d9248 | 303 | DESTDIR=$RPM_BUILD_ROOT |
0b8ff7ed | 304 | |
18de087a SZ |
305 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs |
306 | ||
68633d24 | 307 | rm -f contrib/{.cvsignore,Makefile*,*.pl,*.sh,*.csh} |
bbc3dbe4 | 308 | mv -f $RPM_BUILD_ROOT%{_datadir}/cvs/contrib/rcs2log $RPM_BUILD_ROOT%{_bindir} |
68633d24 | 309 | |
eca1808b JB |
310 | %clean |
311 | rm -rf $RPM_BUILD_ROOT | |
312 | ||
8a588759 ER |
313 | %post -p /sbin/postshell |
314 | -/usr/sbin/fix-info-dir -c %{_infodir} | |
394d816a | 315 | |
8a588759 ER |
316 | %postun -p /sbin/postshell |
317 | -/usr/sbin/fix-info-dir -c %{_infodir} | |
394d816a | 318 | |
62791415 | 319 | %pre pserver |
160e262a ER |
320 | %groupadd -f -g 52 cvs |
321 | %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs | |
be380b19 | 322 | |
62791415 | 323 | %post pserver |
9e5fba65 | 324 | if [ "$1" = "1" ]; then |
18de087a | 325 | # Initialise repository |
d1e01ff3 | 326 | %{_bindir}/cvs -d :local:%{_cvs_root} init |
7ce84ad8 | 327 | chown -R cvs:cvs %{_cvs_root}/CVSROOT |
18de087a | 328 | fi |
29e5eafc | 329 | %service -q rc-inetd reload |
18de087a | 330 | |
cdc9e21a | 331 | %postun pserver |
15f5e741 | 332 | if [ "$1" = "0" ]; then |
5172e4c8 | 333 | %userremove cvs |
334 | %groupremove cvs | |
29e5eafc | 335 | %service -q rc-inetd reload |
15f5e741 | 336 | fi |
18de087a | 337 | |
9f553e31 | 338 | %triggerpostun -- cvs-pserver < 1.1.13-1 |
096ac7db | 339 | echo "Warning: default cvsroot moved to %{_cvs_root}." |
c9ea6c43 TO |
340 | echo "Check your configration." |
341 | ||
0b8ff7ed | 342 | %files |
00675277 | 343 | %defattr(644,root,root,755) |
1eefcd3b | 344 | %doc BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README |
cf63cd9d | 345 | %doc ChangeLog doc/*.pdf contrib |
c16af3cf | 346 | %attr(755,root,root) %{_bindir}/* |
df44dfb7 | 347 | %{_mandir}/man[158]/* |
348 | %{_infodir}/cvs* | |
18de087a SZ |
349 | |
350 | %files pserver | |
351 | %defattr(644,root,root,755) | |
8626e9b3 | 352 | %attr(770,root,cvs) %dir %{_cvs_root} |
e2c9cf94 | 353 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvs |