]> git.pld-linux.org Git - packages/cvs-nserver.git/blob - cvs-nserver.spec
- moved rc-inetd reloading to %post
[packages/cvs-nserver.git] / cvs-nserver.spec
1 Summary:        Concurrent Versions System - nserver
2 Summary(de):    Concurrent-Versioning-System - nserver
3 Summary(fr):    Un système pour maintenir à jour des fichiers - nserver
4 Summary(pl):    Concurrent Versions System - nserver
5 Summary(tr):    Sürüm denetim sistemi - nserver
6 Name:           cvs-nserver
7 Version:        1.11.1.4
8 Release:        1
9 License:        GPL
10 Group:          Development/Version Control
11 Source0:        http://unc.dl.sourceforge.net/sourceforge/cvs-nserver/%{name}-%{version}.tar.gz
12 Source1:        %{name}.inetd
13 Source2:        cvs-pserver.inetd
14 Patch0:         %{name}-cvspasswd.patch
15 Patch1:         %{name}-info.patch
16 # outdated, but maybe will be needed for checkpasswd (outside programs):
17 Patch3:         %{name}-PAM_fix.patch
18 Patch4:         %{name}-am_ac.patch
19 Patch5:         %{name}-zlib.patch
20 BuildRequires:  autoconf
21 BuildRequires:  automake
22 BuildRequires:  texinfo
23 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24
25 %define         _cvsroot        /home/cvsroot
26
27 %description
28 CVS is a version control system, which allows you to keep old versions
29 of files (usually source code), keep a log of who, when, and why
30 changes occurred, etc., like RCS or SCCS. Unlike the simpler systems,
31 CVS does not just operate on one file at a time or one directory at a
32 time, but operates on hierarchical collections of directories
33 consisting of version controlled files. CVS helps to manage releases
34 and to control the concurrent editing of source files among multiple
35 authors. CVS allows triggers to enable/log/control various operations
36 and works well over a wide area network.
37
38 %description -l de
39 CVS ist ein Frontend für das RCS(1)-Revisionskontrollsystem, das den
40 Begriff der Revisionskontrolle von einer Sammlung von Dateien in einem
41 einzelnen Verzeichnis auf eine ganze Hierarchie ausweitet, bestehend
42 aus revisionskontrollierten Dateien. Diese Verzeichnisse und Dateien
43 lassen sich zu einer Software-Release kombinieren. CVS bietet die
44 Funktionen, die zur Verwaltung von Software-Releases und zur
45 Überwachung der gleichzeitigen Bearbeitung von Quelldateien durch
46 mehrere Software- Entwickler notwendig sind.
47
48 %description -l fr
49 "CVS" signifie "Concurrent Version System". C'est un système de
50 comparaison de versions de fichiers, qui peut garder une trace des
51 changements apportés à des fichiers (le plus souvent, les fichiers des
52 sources d'un programme). CVS conserve seulement les différences, et
53 non l'intégralité d'un fichier récent et d'un fichier plus ancien. A
54 chaque modification d'un fichier, CVS garde (entre autres) le nom de
55 la personne ayant fait la modification, la raison justifiant cette
56 modification, et la date à laquelle celle-ci a eu lieu. CVS est très
57 utile pour gérer la mise en commun des modifications apportées par
58 plusieurs personnes travaillant en parallèle sur les mêmes fichiers.
59 Au lieu de garder plusieurs versions des fichiers dans un seul
60 répertoire, CVS crée une série de répertoires, chacun contenant une
61 nouvelle version des fichiers. Ces répertoires et ces fichiers peuvent
62 ensuite être regroupés pour former la version la plus à jour du
63 logiciel. Installez ce package si vous avez besoin d'utiliser un
64 système de contrôle de version.
65
66 %description -l pl
67 CVS jest nak³adk± na rcs (Revision Control System, czyli w wolnym
68 t³umaczeniu system kontroli wersji zasobów), który rozszerza
69 mo¿liwo¶ci rcs'a z narzêdzia do kontroli zbioru plików w pojedynczym
70 katalogu o mo¿liwo¶æ kontroli zbioru hierarchicznie u³o¿onych
71 katalogów z plikami. Z pomoc± CVS w ³atwy sposób mo¿na zarz±dzaæ kodem
72 ¼ród³owym opracowywanym przez nawet bardzo du¿e zespó³y programistów
73 umo¿liwiaj±c ¶ledzenie i kontrolê wszystkich zmian w trakcie pracy nad
74 projektami i wypuszczaniem pe³nych wersji oprogramowania (release).
75
76 %description -l tr
77 CVS (Concurrent Versioning System), tek bir dizindeki dosya
78 topluluðunun sürüm denetimini, denetimi yapýlmýþ dizinlerin hiyerarþik
79 topluluðuna geniþleten rcs(1) sürüm denetim sisteminin ön yüzüdür. Bu
80 dizin ve dosyalar, bir yazýlým yayýný oluþturma amacýyla biraraya
81 getirilebilir. CVS, bu yazýlým yayýnlarýnýn yönetilmesini ve kaynak
82 dosyalarý bakýmýnýn birden çok yazýlým geliþtiricisi tarafýndan
83 eþzamanlý olarak yapýlmasýný kontrol etmek için gereken iþlevleri
84 saðlar.
85
86 %package -n cvs-nclient
87 Summary:        Concurrent Versions System - common
88 Summary(pl):    Concurrent Versions System - wspólne
89 Group:          Development/Version Control
90
91 %description -n cvs-nclient
92 Client and some common files.
93
94 %description -n cvs-nclient -l pl
95 Klient CVS i trochê wspólnych plików.
96
97 %package -n cvs-npserver
98 Summary:        Concurrent Versions System - pserver
99 Summary(pl):    Concurrent Versions System - pserver
100 Group:          Development/Version Control
101 Requires:       cvs-nserver-common
102 Obsoletes:      cvs
103 Obsoletes:      cvs-nserver
104
105 %description -n cvs-npserver
106 Server - pserver.
107
108 %description -n cvs-npserver -l pl
109 Serwer - pserver.
110
111 %prep
112 %setup -q
113 %patch0 -p1
114 %patch1 -p1
115 %patch4 -p1
116 %patch5 -p1
117
118 %build
119 aclocal
120 %{__autoconf}
121 automake -a -c
122 %configure \
123         --enable-encryption \
124         --enable-client \
125         --enable-server \
126         --enable-setuid \
127         --without-gssapi
128 %{__make}
129
130 %install
131 rm -rf $RPM_BUILD_ROOT
132 install -d $RPM_BUILD_ROOT/{etc/sysconfig/rc-inetd,%{_cvsroot}}
133
134 %{__make} DESTDIR=$RPM_BUILD_ROOT install
135
136 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-nserver
137 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cvs-pserver
138
139 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-pserver-script
140 #!/bin/sh
141 CVSPASSWD=%{_bindir}/cvspasswd \
142 exec %{_bindir}/cvs-pserver %{_cvsroot} -- \
143 %{_bindir}/cvschkpw %{_bindir}/cvs pserver
144 EOF
145
146 cat << EOF >$RPM_BUILD_ROOT%{_bindir}/cvs-nserver-script
147 #!/bin/sh
148 CVSPASSWD=%{_bindir}/cvspasswd \
149 exec %{_bindir}/cvs-nserver %{_cvsroot} -- \
150 %{_bindir}/cvschkpw %{_bindir}/cvs nserver
151 EOF
152
153 mv -f   $RPM_BUILD_ROOT%{_datadir}/cvs-nserver/contrib/rcs2log \
154         $RPM_BUILD_ROOT%{_bindir}
155
156 gzip -9nf AUTHORS BUGS NEWS NEWS.nserver PROJECTS TODO FAQ FAQ.nserver
157
158 %clean
159 rm -rf $RPM_BUILD_ROOT
160
161 %pre
162 if [ -n "`getgid cvs`" ]; then
163         if [ "`getgid cvs`" != "52" ]; then
164                 echo "Warning: group cvs haven't gid=52. Correct this before installing cvs-nserver" 1>&2
165                 exit 1
166         fi
167 else
168         echo "Making group cvs GID=52"
169         /usr/sbin/groupadd -g 52 -r -f cvs
170 fi
171 if [ -n "`getgid cvsadmin`" ]; then
172         if [ "`getgid cvsadmin`" != "53" ]; then
173                 echo "Warning: group cvsadmin haven't gid=53. Correct this before installing cvs-nserver" 1>&2
174                 exit 1
175         fi
176 else
177         echo "Making group cvsadmin GID=53"
178         /usr/sbin/groupadd -g 53 -r -f cvsadmin
179 fi
180 if [ -n "`id -u cvs 2>/dev/null`" ]; then
181         if [ "`id -u cvs`" != "52" ]; then
182                 echo "Warning: user cvs haven't uid=52. Correct this before installing cvs-nserver" 1>&2
183                 exit 1
184         fi
185 else
186         echo "Making user cvs UID=52"
187         /usr/sbin/useradd -u 52 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvs cvs 1>&2
188 fi
189 if [ -n "`id -u cvsadmin 2>/dev/null`" ]; then
190         if [ "`id -u cvsadmin`" != "53" ]; then
191                 echo "Warning: user cvsadmin haven't uid=53. Correct this before installing cvs-nserver" 1>&2
192                 exit 1
193         fi
194 else
195         echo "Making user cvsadmin UID=53"
196         /usr/sbin/useradd -u 53 -r -d %{_cvsroot} -s /bin/false -c "CVS user" -g cvsadmin -G cvs cvsadmin 1>&2
197 fi
198
199 if [ "$1" = 1 ]; then
200         echo "Initialise repository"
201         %{_bindir}/cvs -d :local:%{_cvsroot} init
202         chown -R cvsadmin.cvsadmin %{_cvsroot}/CVSROOT
203 fi
204
205 %post
206 if [ -f /var/lock/subsys/rc-inetd ]; then
207         /etc/rc.d/init.d/rc-inetd reload
208 fi
209
210 %postun
211 if [ "$1" = "0" ]; then
212         echo "Removing group cvs GID=52"
213         /usr/sbin/userdel cvs
214         echo "Removing group cvsadmin GID=53"
215         /usr/sbin/userdel cvsadmin
216         echo "Removing user cvs UID=52"
217         /usr/sbin/groupdel cvs
218         echo "Removing user cvsadmin UID=53"
219         /usr/sbin/groupdel cvsadmin
220 fi
221 if [ -f /var/lock/subsys/rc-inetd ]; then
222         /etc/rc.d/init.d/rc-inetd reload
223 fi
224
225 %post -n cvs-nclient
226 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
227
228 %post -n cvs-npserver
229 if [ "$1" = 1 ]; then
230         echo "Initialise repository"
231         %{_bindir}/cvs -d :local:%{_cvsroot} init
232         chown -R cvsadmin.cvsadmin %{_cvsroot}/CVSROOT
233 fi
234 if [ -f /var/lock/subsys/rc-inetd ]; then
235         /etc/rc.d/init.d/rc-inetd reload
236 fi
237
238 %postun -n cvs-npserver
239 if [ -f /var/lock/subsys/rc-inetd ]; then
240         /etc/rc.d/init.d/rc-inetd reload
241 fi
242
243 %postun -n cvs-nclient
244 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
245
246 %files
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_bindir}/cvs-nserver*
249 %doc NEWS.nserver.gz FAQ.nserver.gz
250 /etc/sysconfig/rc-inetd/cvs-nserver
251 %attr(4754,cvsadmin,cvs) %{_bindir}/cvspasswd
252 %attr(755,root,root) %{_bindir}/cvschkpw
253 %attr(755,root,root) %{_bindir}/rcs2log
254 %dir %{_datadir}/cvs-nserver/contrib/*
255 %attr(770,cvsadmin,cvs) %dir %{_cvsroot}
256 %{_mandir}/man8/cvs-server.8*
257 %{_mandir}/man8/cvs-nserver.8*
258
259 %files -n cvs-nclient
260 %defattr(644,root,root,755)
261 %doc {AUTHORS,BUGS,NEWS,PROJECTS,TODO,FAQ}.gz
262 %attr(755,root,root) %{_bindir}/cvs
263 %attr(755,root,root) %{_bindir}/cvsbug
264 %{_infodir}/cvs*
265 %{_mandir}/man[15]/cvs.*
266 %{_mandir}/man8/cvsbug.8*
267
268 %files -n cvs-npserver
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_bindir}/cvs-pserver*
271 /etc/sysconfig/rc-inetd/cvs-pserver
272 %{_mandir}/man8/cvs-pserver.8*
This page took 0.58214 seconds and 3 git commands to generate.