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