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