3 %bcond_without kerberos # build without krb5 support
6 # - check server mode and default config
7 # - create cvsnt-database-xyz and cvsnt-protocol-xyz subpackages
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 Source0: http://unifacecm.de/archive/%{name}-%{version}.tar.gz
23 # Source0-md5: 4f7d2e54c5529829a43b089f9b37c86e
24 Source1: %{name}.inetd
25 Source2: %{name}-cvslockd.init
26 URL: http://www.cvsnt.org/
27 BuildRequires: autoconf >= 2.58
28 BuildRequires: automake >= 1:1.7.9
29 BuildRequires: avahi-compat-libdns_sd-devel
30 BuildRequires: docbook-style-xsl
31 BuildRequires: expat-devel
32 %{?with_kerberos:BuildRequires: krb5-devel}
33 BuildRequires: libstdc++-devel
34 BuildRequires: mysql-devel
35 BuildRequires: openssl-devel
36 BuildRequires: pam-devel
37 BuildRequires: pcre-devel
38 BuildRequires: postgresql-devel
39 BuildRequires: rpmbuild(macros) >= 1.268
40 BuildRequires: sqlite3-devel
41 BuildRequires: texinfo
42 BuildRequires: unixODBC-devel
44 BuildRequires: zlib-devel
45 Provides: cvs-client = %{version}
47 Obsoletes: cvs-nserver-client
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _cvs_root /var/lib/cvs
53 CVS means Concurrent Version System; it is a version control system
54 which can record the history of your files (usually, but not always,
55 source code). CVS only stores the differences between versions,
56 instead of every version of every file you've ever created. CVS also
57 keeps a log of who and when made some changes and why they occurred,
60 CVSNT Server features include:
61 - Access control for securing projects and branches.
62 - Detailed audit and metrics recorded in an SQL database.
63 - Authentication with Active Directory.
64 - Tracking everything about the change - including whether it was
65 merged from somewhere, belongs to a problem report or was part of a
67 - A control panel to manage email notification of changes, defect
68 tracking integration, and more.
69 - Integrated repository synchronisation (for fail-over servers).
70 - Change set support (group changes by defect number).
71 - Supports UNICODE UTF-8/UCS-2 files and multi-lingual filenames.
72 - When operating in UTF-8 (Unicode) mode it can automatically
73 translate filename encoding for any client.
74 - Plug-ins for email notification.
75 - Helps make merging branches easier with its "Mergepoint" feature.
76 - Native servers available for Mac OS X, Windows, Linux, Solaris,
78 - Supports reserved and unreserved versioning methodologies.
79 - CVSAPI for integration into 3rd party products.
80 - Script, COM and 3GL interface for triggers and integration into 3rd
81 party tools (such as defect tracking)
84 Summary: rc-inetd config files to run CVS pserver
85 Summary(pl.UTF-8): Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
86 Group: Development/Version Control
87 Requires(post): fileutils
88 Requires(postun): /usr/sbin/groupdel
89 Requires(postun): /usr/sbin/userdel
90 Requires(pre): /bin/id
91 Requires(pre): /usr/bin/getgid
92 Requires(pre): /usr/sbin/groupadd
93 Requires(pre): /usr/sbin/useradd
94 Requires: %{name} = %{version}-%{release}
98 Obsoletes: cvs-nserver-common
99 Obsoletes: cvs-nserver-nserver
100 Obsoletes: cvs-nserver-pserver
103 Config files for rc-inetd that are necessary to run CVS in pserver
118 --enable-lockserver \
131 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
132 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
133 xmlto --skip-validation -o html_cvs html cvs2.dbk
134 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
140 %{__make} install -j1 \
141 DESTDIR=$RPM_BUILD_ROOT
143 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
144 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
146 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
147 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
150 rm -rf $RPM_BUILD_ROOT
154 /sbin/chkconfig --add cvslockd
155 %service cvslockd restart
158 if [ "$1" = "0" ]; then
159 %service cvslockd stop
160 /sbin/chkconfig --del cvslockd
163 %postun -p /sbin/ldconfig
166 %groupadd -f -g 52 cvs
167 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
170 if [ "$1" = "1" ]; then
171 # Initialise repository
172 %{_bindir}/cvs -d :local:%{_cvs_root} init
173 chown -R cvs:cvs %{_cvs_root}/CVSROOT
175 %service -q rc-inetd reload
178 if [ "$1" = "0" ]; then
181 %service -q rc-inetd reload
185 %defattr(644,root,root,755)
186 %doc doc/html_cvsclient
187 %doc AUTHORS FAQ README
188 %dir %{_sysconfdir}/cvsnt
189 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
190 %attr(754,root,root) /etc/rc.d/init.d/cvslockd
191 %attr(755,root,root) %{_bindir}/*
192 %dir %{_libdir}/cvsnt
193 %dir %{_libdir}/cvsnt/*
194 %attr(755,root,root) %{_libdir}/cvsnt/*/*.so
195 %{_libdir}/cvsnt/*/*.la
196 %attr(755,root,root) %{_libdir}/lib*-*.so*
200 %defattr(644,root,root,755)
202 %attr(770,root,cvs) %dir %{_cvs_root}
203 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt