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