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