]> git.pld-linux.org Git - packages/cvs-nserver.git/blob - cvs-nserver.spec
- rel. 22 - cvspasswd-mode patch added - "cvs passwd" is working again
[packages/cvs-nserver.git] / cvs-nserver.spec
1 # TODO:
2 # - trigger for upgrade from old cvs - after that package stays without any
3 #   users and nserver-common is not installed...
4 # - cvschkpw causes sig11 when run without CVSSERVER variable set.
5 Summary:        Concurrent Versions System - nserver
6 Summary(de.UTF-8):      Concurrent-Versioning-System - nserver
7 Summary(fr.UTF-8):      Un système pour maintenir à jour des fichiers - nserver
8 Summary(pl.UTF-8):      Concurrent Versions System - nserver
9 Summary(tr.UTF-8):      Sürüm denetim sistemi - nserver
10 Name:           cvs-nserver
11 Version:        1.11.1.52
12 Release:        22
13 License:        GPL
14 Group:          Development/Version Control
15 Source0:        http://dl.sourceforge.net/cvs-nserver/%{name}-%{version}.tar.gz
16 # Source0-md5:  357fb5f37cc556977dad79175e9c2d97
17 Source1:        %{name}.inetd
18 Source2:        cvs-pserver.inetd
19 Patch0:         %{name}-cvspasswd.patch
20 Patch1:         %{name}-info.patch
21 Patch2:         %{name}-am_ac.patch
22 Patch3:         %{name}-cvspass.patch
23 Patch4:         %{name}-home_etc.patch
24 Patch5:         %{name}-ssl-link.patch
25 Patch6:         %{name}-fix_doc_CVSUSER.patch
26 Patch7:         %{name}-segv.patch
27 Patch8:         %{name}-initgroups-rootonly.patch
28 Patch9:         %{name}-zlibfix.patch
29 Patch10:        %{name}-home_etc2.patch
30 Patch11:        %{name}-posix.patch
31 Patch12:        %{name}-CAN-2002-0844.patch
32 Patch13:        %{name}-CAN-2003-0015.patch
33 Patch14:        %{name}-CAN-2003-0977-and-CAN-2004-0180.patch
34 Patch15:        %{name}-CAN-2004-0396.patch
35 Patch16:        %{name}-CAN-2004-0414.patch
36 Patch17:        %{name}-CAN-2004-0416-0417-0418.patch
37 Patch18:        %{name}-dblshutdown.patch
38 Patch19:        %{name}-krb5.patch
39 Patch20:        %{name}-cvspasswd-mode.patch
40 URL:            http://cvs-nserver.sourceforge.net/
41 BuildRequires:  autoconf
42 BuildRequires:  automake
43 BuildRequires:  krb5-devel
44 BuildRequires:  openssl-devel >= 0.9.7d
45 BuildRequires:  rpmbuild(macros) >= 1.268
46 BuildRequires:  texinfo
47 BuildRequires:  zlib-devel
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _cvsroot        /var/lib/cvs
51
52 %description
53 CVS is a version control system, which allows you to keep old versions
54 of files (usually source code), keep a log of who, when, and why
55 changes occurred, etc., like RCS or SCCS. Unlike the simpler systems,
56 CVS does not just operate on one file at a time or one directory at a
57 time, but operates on hierarchical collections of directories
58 consisting of version controlled files. CVS helps to manage releases
59 and to control the concurrent editing of source files among multiple
60 authors. CVS allows triggers to enable/log/control various operations
61 and works well over a wide area network.
62
63 %description -l de.UTF-8
64 CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den
65 Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem
66 einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend
67 aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien
68 lassen sich zu einer Software-Release kombinieren. CVS bietet die
69 Funktionen, die zur Verwaltung von Software-Releases und zur
70 Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
71 mehrere Software- Entwickler notwendig sind.
72
73 %description -l fr.UTF-8
74 "CVS" signifie "Concurrent Version System". C'est un système de
75 comparaison de versions de fichiers, qui peut garder une trace des
76 changements apportés à des fichiers (le plus souvent, les fichiers des
77 sources d'un programme). CVS conserve seulement les différences, et
78 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
79 chaque modification d'un fichier, CVS garde (entre autres) le nom de
80 la personne ayant fait la modification, la raison justifiant cette
81 modification, et la date à laquelle celle-ci a eu lieu. CVS est très
82 utile pour gérer la mise en commun des modifications apportées par
83 plusieurs personnes travaillant en parallèle sur les mêmes fichiers.
84 Au lieu de garder plusieurs versions des fichiers dans un seul
85 répertoire, CVS crée une série de répertoires, chacun contenant une
86 nouvelle version des fichiers. Ces répertoires et ces fichiers peuvent
87 ensuite être regroupés pour former la version la plus à jour du
88 logiciel. Installez ce package si vous avez besoin d'utiliser un
89 système de contrôle de version.
90
91 %description -l pl.UTF-8
92 CVS jest nakładką na rcs (Revision Control System, czyli w wolnym
93 tłumaczeniu system kontroli wersji zasobów), który rozszerza
94 możliwości rcs'a z narzędzia do kontroli zbioru plików w pojedynczym
95 katalogu o możliwość kontroli zbioru hierarchicznie ułożonych
96 katalogów z plikami. Z pomocą CVS w łatwy sposób można zarządzać kodem
97 źródłowym opracowywanym przez nawet bardzo duże zespoły programistów
98 umożliwiając śledzenie i kontrolę wszystkich zmian w trakcie pracy nad
99 projektami i wypuszczaniem pełnych wersji oprogramowania (release).
100
101 %description -l tr.UTF-8
102 CVS (Concurrent Versioning System), tek bir dizindeki dosya
103 topluluğunun sürüm denetimini, denetimi yapılmış dizinlerin hiyerarşik
104 topluluğuna genişleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu
105 dizin ve dosyalar, bir yazılım yayını oluşturma amacıyla biraraya
106 getirilebilir. CVS, bu yazılım yayınlarının yönetilmesini ve kaynak
107 dosyaları bakımının birden çok yazılım geliştiricisi tarafından
108 eşzamanlı olarak yapılmasını kontrol etmek için gereken işlevleri
109 sağlar.
110
111 %package client
112 Summary:        Concurrent Versions System - client
113 Summary(pl.UTF-8):      Concurrent Versions System - klient
114 Group:          Development/Version Control
115 Provides:       cvs = %{version}
116 Obsoletes:      cvs
117 Obsoletes:      cvs-npclient
118
119 %description client
120 CVS client.
121
122 %description client -l pl.UTF-8
123 Klient CVS.
124
125 %package common
126 Summary:        Concurrent Versions System - common files
127 Summary(pl.UTF-8):      Concurrent Versions System - wspólne pliki
128 Group:          Development/Version Control
129 Requires(postun):       /usr/sbin/groupdel
130 Requires(postun):       /usr/sbin/userdel
131 Requires(pre):  /bin/id
132 Requires(pre):  /usr/bin/getgid
133 Requires(pre):  /usr/sbin/groupadd
134 Requires(pre):  /usr/sbin/useradd
135 Requires(pre):  cvs-nserver-client
136 Requires(pre):  fileutils
137 Requires:       %{name}-client = %{version}-%{release}
138 Provides:       group(cvs)
139 Provides:       group(cvsadmin)
140 Provides:       user(cvs)
141 Provides:       user(cvsadmin)
142 Obsoletes:      cvs-nserver
143
144 %description common
145 CVS - common server files.
146
147 %description common -l pl.UTF-8
148 Wspólne pliki serwerów CVS.
149
150 %package pserver
151 Summary:        Concurrent Versions System - pserver
152 Summary(pl.UTF-8):      Concurrent Versions System - pserver
153 Group:          Development/Version Control
154 Requires:       %{name}-common = %{version}-%{release}
155 Requires:       rc-inetd
156 Obsoletes:      cvs-npserver
157 Obsoletes:      cvs-pserver
158
159 %description pserver
160 CVS server - pserver files.
161
162 %description pserver -l pl.UTF-8
163 Serwer CVS - pliki pservera.
164
165 %package nserver
166 Summary:        Concurrent Versions System - nserver
167 Summary(pl.UTF-8):      Concurrent Versions System - nserver
168 Group:          Development/Version Control
169 Requires:       %{name}-common = %{version}-%{release}
170 Requires:       rc-inetd
171 Obsoletes:      cvs-nserver
172
173 %description nserver
174 CVS server - nserver files.
175
176 %description nserver -l pl.UTF-8
177 Serwer CVS - pliki nservera.
178
179 %prep
180 %setup -q
181 %patch0 -p1
182 %patch1 -p1
183 %patch2 -p1
184 %patch3 -p1
185 %patch4 -p1
186 %patch5 -p1
187 %patch6 -p1
188 %patch7 -p1
189 %patch8 -p1
190 %patch9 -p1
191 %patch10 -p1
192 %patch11 -p1
193 %patch12 -p1
194 %patch13 -p1
195 %patch14 -p1
196 %patch15 -p1
197 %patch16 -p1
198 %patch17 -p1
199 %patch18 -p1
200 %patch19 -p1
201 %patch20 -p1
202
203 %build
204 %{__aclocal}
205 %{__autoconf}
206 %{__automake}
207 %configure \
208         --enable-encryption \
209         --enable-client \
210         --enable-server \
211         --enable-setuid \
212         --with-openssl \
213         --with-gssapi
214 %{__make}
215
216 %install
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvsroot},/var/lock/cvs}
219
220 %{__make} install \
221         DESTDIR=$RPM_BUILD_ROOT
222
223 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-nserver
224 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-pserver
225
226 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-pserver-script
227 #!/bin/sh
228 REPOSITORY="%{_cvsroot}"
229 if [ -f /etc/sysconfig/cvs ]; then
230         . /etc/sysconfig/cvs
231 fi
232
233 CVSPASSWD=%{_bindir}/cvspasswd CVSSERVER=pserver \
234 exec %{_bindir}/cvs-pserver \$REPOSITORY -- \
235 %{_bindir}/cvschkpw %{_bindir}/cvs pserver
236 EOF
237
238 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-nserver-script
239 #!/bin/sh
240 REPOSITORY="%{_cvsroot}"
241 if [ -f /etc/sysconfig/cvs ]; then
242         . /etc/sysconfig/cvs
243 fi
244
245 CVSPASSWD=%{_bindir}/cvspasswd CVSSERVER=nserver \
246 exec %{_bindir}/cvs-nserver \$REPOSITORY -- \
247 %{_bindir}/cvschkpw %{_bindir}/cvs nserver
248 EOF
249
250 cat << EOF >$RPM_BUILD_ROOT/etc/sysconfig/cvs
251 # In this file you can specify additional repositories (separated with space)
252 # or just set different location.
253 # Default is "%{_cvsroot}".
254 #REPOSITORY="%{_cvsroot}"
255 # According to FHS 2.3 you can use some subdirectory in /srv, e.g.:
256 #REPOSITORY="/srv/cvs"
257 EOF
258
259 mv -f   $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \
260         $RPM_BUILD_ROOT%{_bindir}
261
262 %clean
263 rm -rf $RPM_BUILD_ROOT
264
265 %post client
266 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
267
268 %postun client
269 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
270
271 %pre common
272 %groupadd -P %{name}-common -g 52 -r cvs
273 %groupadd -P %{name}-common -g 53 -r cvsadmin
274 %useradd -P %{name}-common -u 52 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvs cvs
275 %useradd -P %{name}-common -u 53 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvsadmin -G cvs cvsadmin
276
277 if [ "$1" = 1 ]; then
278         echo "Initializing repository..."
279         %{_bindir}/cvs -d :local:%{_cvsroot} init
280         chown -R cvsadmin:cvsadmin %{_cvsroot}/CVSROOT
281 fi
282
283 %postun common
284 if [ "$1" = "0" ]; then
285         %userremove cvs
286         %userremove cvsadmin
287         %groupremove cvs
288         %groupremove cvsadmin
289 fi
290
291 %post pserver
292 %service -q rc-inetd reload
293
294 %postun pserver
295 %service -q rc-inetd reload
296
297 %post nserver
298 %service -q rc-inetd reload
299
300 %postun nserver
301 %service -q rc-inetd reload
302
303 %files client
304 %defattr(644,root,root,755)
305 %doc AUTHORS BUGS ChangeLog FAQ FAQ.nserver NEWS NEWS.nserver PROJECTS
306 %doc README README.checkpassword TODO
307 %attr(755,root,root) %{_bindir}/cvs
308 %attr(755,root,root) %{_bindir}/cvsbug
309 %{_infodir}/cvs*
310 %{_mandir}/man[15]/cvs.*
311 %{_mandir}/man8/cvsbug.8*
312
313 %files common
314 %defattr(644,root,root,755)
315 %attr(640,root,cvs) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cvs
316 %attr(4754,cvsadmin,cvs) %{_bindir}/cvspasswd
317 %attr(755,root,root) %{_bindir}/cvschkpw
318 %attr(755,root,root) %{_bindir}/rcs2log
319 %dir %{_datadir}/cvs-nserver
320 %dir %{_datadir}/cvs-nserver/contrib
321 %{_datadir}/cvs-nserver/contrib/*
322 %attr(770,cvsadmin,cvs) %dir %{_cvsroot}
323 %{_mandir}/man8/cvs-server.8*
324 %attr(770,cvsadmin,cvs) %dir /var/lock/cvs
325
326 %files pserver
327 %defattr(644,root,root,755)
328 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvs-pserver
329 %attr(755,root,root) %{_bindir}/cvs-pserver*
330 %{_mandir}/man8/cvs-pserver.8*
331
332 %files nserver
333 %defattr(644,root,root,755)
334 %doc NEWS.nserver FAQ.nserver
335 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvs-nserver
336 %attr(755,root,root) %{_bindir}/cvs-nserver*
337 %{_mandir}/man8/cvs-nserver.8*
This page took 0.086719 seconds and 3 git commands to generate.