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