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