3 # - trigger for upgrade from old cvs - after that package stays without any
4 # users and nserver-common is not installed...
5 Summary: Concurrent Versions System - nserver
6 Summary(de): Concurrent-Versioning-System - nserver
7 Summary(fr): Un système pour maintenir à jour des fichiers - nserver
8 Summary(pl): Concurrent Versions System - nserver
9 Summary(tr): Sürüm denetim sistemi - nserver
14 Group: Development/Version Control
15 Source0: http://dl.sourceforge.net/%{name}/%{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 URL: http://cvs-nserver.sourceforge.net/
31 BuildRequires: autoconf
32 BuildRequires: automake
33 BuildRequires: openssl-devel >= 0.9.7c
34 BuildRequires: texinfo
35 BuildRequires: zlib-devel
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 %define _cvsroot /srv/cvsroot
41 CVS is a version control system, which allows you to keep old versions
42 of files (usually source code), keep a log of who, when, and why
43 changes occurred, etc., like RCS or SCCS. Unlike the simpler systems,
44 CVS does not just operate on one file at a time or one directory at a
45 time, but operates on hierarchical collections of directories
46 consisting of version controlled files. CVS helps to manage releases
47 and to control the concurrent editing of source files among multiple
48 authors. CVS allows triggers to enable/log/control various operations
49 and works well over a wide area network.
52 CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den
53 Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem
54 einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend
55 aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien
56 lassen sich zu einer Software-Release kombinieren. CVS bietet die
57 Funktionen, die zur Verwaltung von Software-Releases und zur
58 Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
59 mehrere Software- Entwickler notwendig sind.
62 "CVS" signifie "Concurrent Version System". C'est un système de
63 comparaison de versions de fichiers, qui peut garder une trace des
64 changements apportés à des fichiers (le plus souvent, les fichiers des
65 sources d'un programme). CVS conserve seulement les différences, et
66 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
67 chaque modification d'un fichier, CVS garde (entre autres) le nom de
68 la personne ayant fait la modification, la raison justifiant cette
69 modification, et la date à laquelle celle-ci a eu lieu. CVS est très
70 utile pour gérer la mise en commun des modifications apportées par
71 plusieurs personnes travaillant en parallèle sur les mêmes fichiers.
72 Au lieu de garder plusieurs versions des fichiers dans un seul
73 répertoire, CVS crée une série de répertoires, chacun contenant une
74 nouvelle version des fichiers. Ces répertoires et ces fichiers peuvent
75 ensuite être regroupés pour former la version la plus à jour du
76 logiciel. Installez ce package si vous avez besoin d'utiliser un
77 système de contrôle de version.
80 CVS jest nak³adk± na rcs (Revision Control System, czyli w wolnym
81 t³umaczeniu system kontroli wersji zasobów), który rozszerza
82 mo¿liwo¶ci rcs'a z narzêdzia do kontroli zbioru plików w pojedynczym
83 katalogu o mo¿liwo¶æ kontroli zbioru hierarchicznie u³o¿onych
84 katalogów z plikami. Z pomoc± CVS w ³atwy sposób mo¿na zarz±dzaæ kodem
85 ¼ród³owym opracowywanym przez nawet bardzo du¿e zespó³y programistów
86 umo¿liwiaj±c ¶ledzenie i kontrolê wszystkich zmian w trakcie pracy nad
87 projektami i wypuszczaniem pe³nych wersji oprogramowania (release).
90 CVS (Concurrent Versioning System), tek bir dizindeki dosya
91 topluluðunun sürüm denetimini, denetimi yapýlmýþ dizinlerin hiyerarþik
92 topluluðuna geniþleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu
93 dizin ve dosyalar, bir yazýlým yayýný oluþturma amacýyla biraraya
94 getirilebilir. CVS, bu yazýlým yayýnlarýnýn yönetilmesini ve kaynak
95 dosyalarý bakýmýnýn birden çok yazýlým geliþtiricisi tarafýndan
96 eþzamanlý olarak yapýlmasýný kontrol etmek için gereken iþlevleri
100 Summary: Concurrent Versions System - client
101 Summary(pl): Concurrent Versions System - klient
102 Group: Development/Version Control
103 Obsoletes: cvs-npclient
105 Provides: cvs = %{version}
110 %description client -l pl
114 Summary: Concurrent Versions System - common files
115 Summary(pl): Concurrent Versions System - wspólne pliki
116 Group: Development/Version Control
117 Requires(pre): /bin/id
118 Requires(pre): /usr/bin/getgid
119 Requires(pre): /usr/sbin/groupadd
120 Requires(pre): /usr/sbin/useradd
121 Requires(pre): cvs-nserver-client
122 Requires(pre): fileutils
123 Requires(postun): /usr/sbin/userdel
124 Requires(postun): /usr/sbin/groupdel
125 Requires: cvs-nserver-client
126 Obsoletes: cvs-nserver
129 CVS - common server files.
131 %description common -l pl
132 Wspólne pliki serwerów CVS.
135 Summary: Concurrent Versions System - pserver
136 Summary(pl): Concurrent Versions System - pserver
137 Group: Development/Version Control
139 Requires: cvs-nserver-common
140 Obsoletes: cvs-npserver
141 Obsoletes: cvs-pserver
144 CVS server - pserver files.
146 %description pserver -l pl
147 Serwer CVS - pliki pservera.
150 Summary: Concurrent Versions System - nserver
151 Summary(pl): Concurrent Versions System - nserver
152 Group: Development/Version Control
154 Requires: cvs-nserver-common
155 Obsoletes: cvs-nserver
158 CVS server - nserver files.
160 %description nserver -l pl
161 Serwer CVS - pliki nservera.
182 --enable-encryption \
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT{/etc/sysconfig/rc-inetd,%{_cvsroot},/var/lock/cvs}
195 DESTDIR=$RPM_BUILD_ROOT
197 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-nserver
198 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-pserver
200 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-pserver-script
202 REPOSITORY="%{_cvsroot}"
203 if [ -f /etc/sysconfig/cvs ]; then
207 CVSPASSWD=%{_bindir}/cvspasswd \
208 exec %{_bindir}/cvs-pserver $REPOSITORY -- \
209 %{_bindir}/cvschkpw %{_bindir}/cvs pserver
212 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-nserver-script
214 REPOSITORY="%{_cvsroot}"
215 if [ -f /etc/sysconfig/cvs ]; then
219 CVSPASSWD=%{_bindir}/cvspasswd \
220 exec %{_bindir}/cvs-nserver $REPOSITORY -- \
221 %{_bindir}/cvschkpw %{_bindir}/cvs nserver
224 cat << EOF >$RPM_BUILD_ROOT/etc/sysconfig/cvs
225 # In this file you can specify additional repositories (separated with space)
226 # or just set different location.
227 #REPOSITORY="%{_cvsroot}"
230 mv -f $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \
231 $RPM_BUILD_ROOT%{_bindir}
234 rm -rf $RPM_BUILD_ROOT
237 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
240 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
243 if [ -n "`getgid cvs`" ]; then
244 if [ "`getgid cvs`" != "52" ]; then
245 echo "Error: group cvs doesn't have gid=52. Correct this before installing cvs-nserver." 1>&2
249 echo "Adding group cvs GID=52."
250 /usr/sbin/groupadd -g 52 -r -f cvs
252 if [ -n "`getgid cvsadmin`" ]; then
253 if [ "`getgid cvsadmin`" != "53" ]; then
254 echo "Error: group cvsadmin doesn't have gid=53. Correct this before installing cvs-nserver." 1>&2
258 echo "Adding group cvsadmin GID=53."
259 /usr/sbin/groupadd -g 53 -r -f cvsadmin
261 if [ -n "`id -u cvs 2>/dev/null`" ]; then
262 if [ "`id -u cvs`" != "52" ]; then
263 echo "Error: user cvs doesn't have uid=52. Correct this before installing cvs-nserver." 1>&2
267 echo "Adding user cvs UID=52."
268 /usr/sbin/useradd -u 52 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvs cvs 1>&2
270 if [ -n "`id -u cvsadmin 2>/dev/null`" ]; then
271 if [ "`id -u cvsadmin`" != "53" ]; then
272 echo "Error: user cvsadmin doesn't have uid=53. Correct this before installing cvs-nserver." 1>&2
276 echo "Adding user cvsadmin UID=53."
277 /usr/sbin/useradd -u 53 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvsadmin -G cvs cvsadmin 1>&2
279 if [ "$1" = 1 ]; then
280 echo "Initializing repository..."
281 %{_bindir}/cvs -d :local:%{_cvsroot} init
282 chown -R cvsadmin:cvsadmin %{_cvsroot}/CVSROOT
286 if [ "$1" = "0" ]; then
287 echo "Removing user cvs."
288 /usr/sbin/userdel cvs
289 echo "Removing user cvsadmin."
290 /usr/sbin/userdel cvsadmin
291 echo "Removing group cvs."
292 /usr/sbin/groupdel cvs
293 echo "Removing group cvsadmin."
294 /usr/sbin/groupdel cvsadmin
298 if [ -f /var/lock/subsys/rc-inetd ]; then
299 /etc/rc.d/init.d/rc-inetd reload
303 if [ -f /var/lock/subsys/rc-inetd ]; then
304 /etc/rc.d/init.d/rc-inetd reload
308 if [ -f /var/lock/subsys/rc-inetd ]; then
309 /etc/rc.d/init.d/rc-inetd reload
313 if [ -f /var/lock/subsys/rc-inetd ]; then
314 /etc/rc.d/init.d/rc-inetd reload
318 %defattr(644,root,root,755)
319 %doc AUTHORS BUGS ChangeLog FAQ FAQ.nserver NEWS NEWS.nserver PROJECTS
320 %doc README README.checkpassword TODO
321 %attr(755,root,root) %{_bindir}/cvs
322 %attr(755,root,root) %{_bindir}/cvsbug
324 %{_mandir}/man[15]/cvs.*
325 %{_mandir}/man8/cvsbug.8*
328 %defattr(644,root,root,755)
329 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/cvs
330 %attr(4754,cvsadmin,cvs) %{_bindir}/cvspasswd
331 %attr(755,root,root) %{_bindir}/cvschkpw
332 %attr(755,root,root) %{_bindir}/rcs2log
333 %dir %{_datadir}/cvs-nserver
334 %dir %{_datadir}/cvs-nserver/contrib
335 %{_datadir}/cvs-nserver/contrib/*
336 %attr(770,cvsadmin,cvs) %dir %{_cvsroot}
337 %{_mandir}/man8/cvs-server.8*
338 %attr(770,cvsadmin,cvs) %dir /var/lock/cvs
341 %defattr(644,root,root,755)
342 %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-pserver
343 %attr(755,root,root) %{_bindir}/cvs-pserver*
344 %{_mandir}/man8/cvs-pserver.8*
347 %defattr(644,root,root,755)
348 %doc NEWS.nserver FAQ.nserver
349 %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-nserver
350 %attr(755,root,root) %{_bindir}/cvs-nserver*
351 %{_mandir}/man8/cvs-nserver.8*