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