3 %bcond_without kerberos # build without krb5 support
6 # - stay with STABLE 2.5.04 line as soon as it becomes stable
7 # - check server mode and default config
9 # /usr/lib/libcvsapi.la
10 # /usr/lib/libcvsapi.so
11 # /usr/lib/libcvstools.la
12 # /usr/lib/libcvstools.so
13 # /usr/lib/libmdnsclient.la
14 # /usr/lib/libmdnsclient.so
15 Summary: Concurrent Versioning System
16 Summary(pl.UTF-8): Concurrent Versioning System
20 License: GPL v2+/LGPL v2+
21 Group: Development/Version Control
22 # http://www.cvsnt.org/wiki/Download
23 Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
24 # Source0-md5: 2f82c5b76cd450edcde714eed52b6377
25 Source1: %{name}.inetd
26 Source2: %{name}-cvslockd.init
28 Patch0: %{name}-system-ltdl.patch
29 Patch1: %{name}-system-pcre.patch
30 Patch2: %{name}-system-zlib.patch
31 Patch3: %{name}-system-ntlm.patch
32 URL: http://www.cvsnt.org/
33 BuildRequires: autoconf >= 2.58
34 BuildRequires: automake >= 1:1.7.9
35 BuildRequires: docbook-style-xsl
36 BuildRequires: expat-devel
37 BuildRequires: howl-devel
38 %{?with_kerberos:BuildRequires: krb5-devel}
39 BuildRequires: libltdl-devel
40 BuildRequires: libntlm-devel >= 0.3.6
41 BuildRequires: libstdc++-devel
42 BuildRequires: libxml2-devel
43 BuildRequires: mysql-devel
44 BuildRequires: openssl-devel
45 BuildRequires: pam-devel
46 BuildRequires: pcre-devel
47 BuildRequires: postgresql-devel
48 BuildRequires: rpmbuild(macros) >= 1.268
49 BuildRequires: sqlite3-devel
50 BuildRequires: unixODBC-devel
52 BuildRequires: zlib-devel
53 Provides: cvs-client = %{version}
55 Obsoletes: cvs-nserver-client
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define _cvs_root /var/lib/cvs
61 CVS means Concurrent Version System; it is a version control system
62 which can record the history of your files (usually, but not always,
63 source code). CVS only stores the differences between versions,
64 instead of every version of every file you've ever created. CVS also
65 keeps a log of who and when made some changes and why they occurred,
68 CVSNT Server features include:
69 - Access control for securing projects and branches.
70 - Detailed audit and metrics recorded in an SQL database.
71 - Authentication with Active Directory.
72 - Tracking everything about the change - including whether it was
73 merged from somewhere, belongs to a problem report or was part of a
75 - A control panel to manage email notification of changes, defect
76 tracking integration, and more.
77 - Integrated repository synchronisation (for fail-over servers).
78 - Change set support (group changes by defect number).
79 - Supports UNICODE UTF-8/UCS-2 files and multi-lingual filenames.
80 - When operating in UTF-8 (Unicode) mode it can automatically
81 translate filename encoding for any client.
82 - Plug-ins for email notification.
83 - Helps make merging branches easier with its "Mergepoint" feature.
84 - Native servers available for Mac OS X, Windows, Linux, Solaris,
86 - Supports reserved and unreserved versioning methodologies.
87 - CVSAPI for integration into 3rd party products.
88 - Script, COM and 3GL interface for triggers and integration into 3rd
89 party tools (such as defect tracking)
92 Summary: rc-inetd config files to run CVS pserver
93 Summary(pl.UTF-8): Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
94 Group: Development/Version Control
95 Requires(post): fileutils
96 Requires(postun): /usr/sbin/groupdel
97 Requires(postun): /usr/sbin/userdel
98 Requires(pre): /bin/id
99 Requires(pre): /usr/bin/getgid
100 Requires(pre): /usr/sbin/groupadd
101 Requires(pre): /usr/sbin/useradd
102 Requires: %{name} = %{version}-%{release}
106 Obsoletes: cvs-nserver-common
107 Obsoletes: cvs-nserver-nserver
108 Obsoletes: cvs-nserver-pserver
111 Config files for rc-inetd that are necessary to run CVS in pserver
114 %package database-mysql
115 Summary: MySQL Database support for CVSNT
116 Group: Development/Version Control
117 Requires: %{name} = %{version}-%{release}
119 %description database-mysql
120 MySQL Database support for CVSNT.
122 %package database-odbc
123 Summary: ODBC support for CVSNT
124 Group: Development/Version Control
125 Requires: %{name} = %{version}-%{release}
127 %description database-odbc
128 ODBC support for CVSNT.
130 %package database-postgres
131 Summary: PostgreSQL Database support for CVSNT
132 Group: Development/Version Control
133 Requires: %{name} = %{version}-%{release}
135 %description database-postgres
136 PostgreSQL Database support for CVSNT.
138 %package database-sqlite
139 Summary: SQLite Database support for CVSNT
140 Group: Development/Version Control
141 Requires: %{name} = %{version}-%{release}
143 %description database-sqlite
144 SQLite Database support for CVSNT.
146 %package protocol-gserver
147 Summary: gserver (Kerberos GSS) protocol support for CVSNT
148 Group: Development/Version Control
149 Requires: %{name} = %{version}-%{release}
151 %description protocol-gserver
152 gserver (Kerberos GSS) support for CVSNT.
154 %package protocol-sserver
155 Summary: sserver (SSL) procotol support for for CVSNT
156 Group: Development/Version Control
157 Requires: %{name} = %{version}-%{release}
159 %description protocol-sserver
160 sserver (SSL) protocol support for CVSNT.
162 %package protocol-sspi
163 Summary: SSPI procotol support for for CVSNT
164 Group: Development/Version Control
165 Requires: %{name} = %{version}-%{release}
167 %description protocol-sspi
168 SSPI protocol support for CVSNT.
170 %package protocol-sync
171 Summary: sync procotol support for for CVSNT
172 Group: Development/Version Control
173 Requires: %{name} = %{version}-%{release}
175 %description protocol-sync
176 sync protocol support for CVSNT.
179 Summary: CVSNT version of RCS tools
180 Group: Development/Version Control
181 Requires: %{name} = %{version}-%{release}
185 CVSNT version of RCS tools.
194 rm -rf pcre libltdl zlib protocols/ntlm
209 --enable-lockserver \
213 --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
222 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
223 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
224 xmlto --skip-validation -o html_cvs html cvs2.dbk
225 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
228 rm -rf $RPM_BUILD_ROOT
229 install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
231 %{__make} install -j1 \
232 DESTDIR=$RPM_BUILD_ROOT
234 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
235 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
236 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
238 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
239 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
242 rm -rf $RPM_BUILD_ROOT
246 /sbin/chkconfig --add cvslockd
247 %service cvslockd restart
250 if [ "$1" = "0" ]; then
251 %service cvslockd stop
252 /sbin/chkconfig --del cvslockd
255 %postun -p /sbin/ldconfig
258 %groupadd -f -g 52 cvs
259 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
262 if [ "$1" = "1" ]; then
263 # Initialise repository
264 %{_bindir}/cvs -d :local:%{_cvs_root} init
265 chown -R cvs:cvs %{_cvs_root}/CVSROOT
267 %service -q rc-inetd reload
270 if [ "$1" = "0" ]; then
273 %service -q rc-inetd reload
277 %defattr(644,root,root,755)
278 %doc doc/html_cvsclient
279 %doc AUTHORS FAQ README
280 %doc triggers/examples/*.txt
281 %dir %{_sysconfdir}/cvsnt
282 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
283 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
284 %attr(754,root,root) /etc/rc.d/init.d/cvslockd
285 %attr(755,root,root) %{_bindir}/cvs
286 %attr(755,root,root) %{_bindir}/cvslockd
287 %attr(755,root,root) %{_bindir}/cvsnt
288 %attr(755,root,root) %{_bindir}/cvsscript
289 %dir %{_libdir}/cvsnt
290 %dir %{_libdir}/cvsnt/database
291 %dir %{_libdir}/cvsnt/mdns
292 %attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
293 %{_libdir}/cvsnt/mdns/*.la
294 %dir %{_libdir}/cvsnt/protocols
295 %attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
296 %attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
297 %attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
298 %attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
299 %{_libdir}/cvsnt/protocols/enum.la
300 %{_libdir}/cvsnt/protocols/ext.la
301 %{_libdir}/cvsnt/protocols/pserver.la
302 %{_libdir}/cvsnt/protocols/server.la
303 %dir %{_libdir}/cvsnt/triggers
304 %attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
305 %{_libdir}/cvsnt/triggers/*.la
306 %dir %{_libdir}/cvsnt/xdiff
307 %attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
308 %{_libdir}/cvsnt/xdiff/*.la
309 %attr(755,root,root) %{_libdir}/lib*-*.so*
313 %defattr(644,root,root,755)
315 %attr(770,root,cvs) %dir %{_cvs_root}
316 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
318 %files database-mysql
319 %defattr(644,root,root,755)
320 %doc triggers/sql/*_mysql.sql
321 %attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
322 %{_libdir}/cvsnt/database/mysql.la
325 %defattr(644,root,root,755)
326 %doc triggers/sql/*_oracle.sql
327 %doc triggers/sql/*_mssql.sql
328 %attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
329 %{_libdir}/cvsnt/database/odbc.la
331 %files database-postgres
332 %defattr(644,root,root,755)
333 %doc triggers/sql/*_postgres.sql
334 %attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
335 %{_libdir}/cvsnt/database/postgres.la
337 %files database-sqlite
338 %defattr(644,root,root,755)
339 %doc triggers/sql/*_sqlite.sql
340 %attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
341 %{_libdir}/cvsnt/database/sqlite.la
344 %files protocol-gserver
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
347 %{_libdir}/cvsnt/protocols/gserver.la
350 %files protocol-sserver
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
353 %{_libdir}/cvsnt/protocols/sserver.la
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
358 %{_libdir}/cvsnt/protocols/sspi.la
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
363 %{_libdir}/cvsnt/protocols/sync.la
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_bindir}/co
368 %attr(755,root,root) %{_bindir}/rcsdiff
369 %attr(755,root,root) %{_bindir}/rlog