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