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