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