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