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