]> git.pld-linux.org Git - packages/cvsnt.git/blame - cvsnt.spec
- up to 2.5.04.3055
[packages/cvsnt.git] / cvsnt.spec
CommitLineData
c3a69507
ER
1#
2# Conditional build:
3%bcond_without kerberos # build without krb5 support
4#
0dfc8e39 5# TODO:
74560c03 6# - stay with STABLE 2.5.04 line as soon as it becomes stable
011fcd65 7# - check server mode and default config
4a8a65b9
ER
8# - unpackaged:
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
0dfc8e39
AM
15Summary: Concurrent Versioning System
16Summary(pl.UTF-8): Concurrent Versioning System
17Name: cvsnt
2f3743c1
AM
18Version: 2.5.04.3055
19Release: 1
0dfc8e39
AM
20License: GPL v2+/LGPL v2+
21Group: Development/Version Control
74560c03 22# http://www.cvsnt.org/wiki/Download
5223dac3 23Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
2f3743c1 24# Source0-md5: 74104668c086d9ece2cf1bb1a8fc60be
0dfc8e39
AM
25Source1: %{name}.inetd
26Source2: %{name}-cvslockd.init
5223dac3 27Source3: %{name}.pam
86e7036a 28Patch0: %{name}-system-ltdl.patch
3d551737
ER
29Patch1: %{name}-system-pcre.patch
30Patch2: %{name}-system-zlib.patch
31Patch3: %{name}-system-ntlm.patch
0dfc8e39
AM
32URL: http://www.cvsnt.org/
33BuildRequires: autoconf >= 2.58
34BuildRequires: automake >= 1:1.7.9
0dfc8e39
AM
35BuildRequires: docbook-style-xsl
36BuildRequires: expat-devel
211cc332 37BuildRequires: howl-devel
c3a69507 38%{?with_kerberos:BuildRequires: krb5-devel}
3d551737
ER
39BuildRequires: libltdl-devel
40BuildRequires: libntlm-devel >= 0.3.6
0dfc8e39 41BuildRequires: libstdc++-devel
211cc332 42BuildRequires: libxml2-devel
0dfc8e39
AM
43BuildRequires: mysql-devel
44BuildRequires: openssl-devel
45BuildRequires: pam-devel
46BuildRequires: pcre-devel
47BuildRequires: postgresql-devel
48BuildRequires: rpmbuild(macros) >= 1.268
49BuildRequires: sqlite3-devel
0dfc8e39
AM
50BuildRequires: unixODBC-devel
51BuildRequires: xmlto
52BuildRequires: zlib-devel
53Provides: cvs-client = %{version}
54Obsoletes: cvs-client
55Obsoletes: cvs-nserver-client
56BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58%define _cvs_root /var/lib/cvs
59
60%description
61CVS means Concurrent Version System; it is a version control system
62which can record the history of your files (usually, but not always,
63source code). CVS only stores the differences between versions,
64instead of every version of every file you've ever created. CVS also
65keeps a log of who and when made some changes and why they occurred,
66among other aspects.
67
68CVSNT 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
74 change set.
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,
85 HPUX.
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)
90
91%package pserver
92Summary: rc-inetd config files to run CVS pserver
93Summary(pl.UTF-8): Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
94Group: Development/Version Control
95Requires(post): fileutils
96Requires(postun): /usr/sbin/groupdel
97Requires(postun): /usr/sbin/userdel
98Requires(pre): /bin/id
99Requires(pre): /usr/bin/getgid
100Requires(pre): /usr/sbin/groupadd
101Requires(pre): /usr/sbin/useradd
102Requires: %{name} = %{version}-%{release}
103Requires: rc-inetd
104Provides: group(cvs)
105Provides: user(cvs)
106Obsoletes: cvs-nserver-common
107Obsoletes: cvs-nserver-nserver
108Obsoletes: cvs-nserver-pserver
109
110%description pserver
111Config files for rc-inetd that are necessary to run CVS in pserver
112mode.
113
7a8b94dc
AM
114%package database-mysql
115Summary: MySQL Database support for CVSNT
116Group: Development/Version Control
117Requires: %{name} = %{version}-%{release}
118
119%description database-mysql
120MySQL Database support for CVSNT.
121
122%package database-odbc
123Summary: ODBC support for CVSNT
124Group: Development/Version Control
125Requires: %{name} = %{version}-%{release}
126
127%description database-odbc
128ODBC support for CVSNT.
129
130%package database-postgres
131Summary: PostgreSQL Database support for CVSNT
132Group: Development/Version Control
133Requires: %{name} = %{version}-%{release}
134
135%description database-postgres
136PostgreSQL Database support for CVSNT.
137
138%package database-sqlite
139Summary: SQLite Database support for CVSNT
140Group: Development/Version Control
141Requires: %{name} = %{version}-%{release}
142
143%description database-sqlite
144SQLite Database support for CVSNT.
145
2cc4bba8
AM
146%package protocol-gserver
147Summary: gserver (Kerberos GSS) protocol support for CVSNT
148Group: Development/Version Control
149Requires: %{name} = %{version}-%{release}
150
151%description protocol-gserver
152gserver (Kerberos GSS) support for CVSNT.
153
154%package protocol-sserver
155Summary: sserver (SSL) procotol support for for CVSNT
156Group: Development/Version Control
157Requires: %{name} = %{version}-%{release}
158
159%description protocol-sserver
160sserver (SSL) protocol support for CVSNT.
161
92b17172
AM
162%package protocol-sspi
163Summary: SSPI procotol support for for CVSNT
164Group: Development/Version Control
165Requires: %{name} = %{version}-%{release}
166
167%description protocol-sspi
168SSPI protocol support for CVSNT.
169
77cd9e4e
AM
170%package protocol-sync
171Summary: sync procotol support for for CVSNT
172Group: Development/Version Control
173Requires: %{name} = %{version}-%{release}
174
175%description protocol-sync
176sync protocol support for CVSNT.
177
b503e563
AM
178%package rcs
179Summary: CVSNT version of RCS tools
180Group: Development/Version Control
181Requires: %{name} = %{version}-%{release}
b64867c1 182Provides: rcs
b503e563
AM
183
184%description rcs
185CVSNT version of RCS tools.
186
0dfc8e39
AM
187%prep
188%setup -q
86e7036a 189%patch0 -p1
3d551737
ER
190%patch1 -p1
191%patch2 -p1
192%patch3 -p1
193
194rm -rf pcre libltdl zlib protocols/ntlm
0dfc8e39
AM
195
196%build
3d551737 197%{__libtoolize}
86e7036a
ER
198%{__aclocal}
199%{__autoconf}
200%{__automake}
0dfc8e39
AM
201%configure \
202 --enable-mdns \
203 --enable-sqlite \
204 --enable-mysql \
205 --enable-odbc \
206 --enable-postgres \
207 --enable-pam \
208 --enable-server \
209 --enable-lockserver \
210 --enable-pserver \
211 --enable-ext \
212 --enable-rsh \
2cc4bba8 213 --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
0dfc8e39
AM
214 --enable-sserver \
215 --enable-sspi \
216 --enable-enum \
b503e563 217 --enable-rcs
0dfc8e39
AM
218
219%{__make}
220
221cd doc
222sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
223sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
224xmlto --skip-validation -o html_cvs html cvs2.dbk
225xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
226
227%install
228rm -rf $RPM_BUILD_ROOT
5223dac3 229install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
0dfc8e39 230
4a8a65b9 231%{__make} install -j1 \
0dfc8e39
AM
232 DESTDIR=$RPM_BUILD_ROOT
233
234install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
235install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
5223dac3 236install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
0dfc8e39 237
c3a69507
ER
238mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
239mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
0dfc8e39
AM
240
241%clean
242rm -rf $RPM_BUILD_ROOT
243
011fcd65
AM
244%post
245/sbin/ldconfig
246/sbin/chkconfig --add cvslockd
247%service cvslockd restart
248
249%preun
250if [ "$1" = "0" ]; then
251 %service cvslockd stop
252 /sbin/chkconfig --del cvslockd
253fi
254
0dfc8e39
AM
255%postun -p /sbin/ldconfig
256
257%pre pserver
258%groupadd -f -g 52 cvs
259%useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
260
261%post pserver
262if [ "$1" = "1" ]; then
263 # Initialise repository
264 %{_bindir}/cvs -d :local:%{_cvs_root} init
265 chown -R cvs:cvs %{_cvs_root}/CVSROOT
266fi
267%service -q rc-inetd reload
268
269%postun pserver
270if [ "$1" = "0" ]; then
271 %userremove cvs
272 %groupremove cvs
273 %service -q rc-inetd reload
274fi
275
0dfc8e39
AM
276%files
277%defattr(644,root,root,755)
278%doc doc/html_cvsclient
279%doc AUTHORS FAQ README
2cc4bba8 280%doc triggers/examples/*.txt
0dfc8e39 281%dir %{_sysconfdir}/cvsnt
5223dac3 282%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
0dfc8e39 283%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
011fcd65 284%attr(754,root,root) /etc/rc.d/init.d/cvslockd
b503e563
AM
285%attr(755,root,root) %{_bindir}/cvs
286%attr(755,root,root) %{_bindir}/cvslockd
287%attr(755,root,root) %{_bindir}/cvsnt
77cd9e4e 288%attr(755,root,root) %{_bindir}/cvsscript
0dfc8e39 289%dir %{_libdir}/cvsnt
906b183f
AM
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
2cc4bba8
AM
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
2cc4bba8
AM
299%{_libdir}/cvsnt/protocols/enum.la
300%{_libdir}/cvsnt/protocols/ext.la
301%{_libdir}/cvsnt/protocols/pserver.la
302%{_libdir}/cvsnt/protocols/server.la
906b183f
AM
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
0dfc8e39
AM
309%attr(755,root,root) %{_libdir}/lib*-*.so*
310%{_mandir}/man[15]/*
311
312%files pserver
313%defattr(644,root,root,755)
314%doc doc/html_cvs
315%attr(770,root,cvs) %dir %{_cvs_root}
316%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
7a8b94dc
AM
317
318%files database-mysql
319%defattr(644,root,root,755)
2cc4bba8 320%doc triggers/sql/*_mysql.sql
b503e563
AM
321%attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
322%{_libdir}/cvsnt/database/mysql.la
7a8b94dc
AM
323
324%files database-odbc
325%defattr(644,root,root,755)
2cc4bba8
AM
326%doc triggers/sql/*_oracle.sql
327%doc triggers/sql/*_mssql.sql
b503e563
AM
328%attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
329%{_libdir}/cvsnt/database/odbc.la
7a8b94dc
AM
330
331%files database-postgres
332%defattr(644,root,root,755)
2cc4bba8 333%doc triggers/sql/*_postgres.sql
b503e563
AM
334%attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
335%{_libdir}/cvsnt/database/postgres.la
7a8b94dc
AM
336
337%files database-sqlite
338%defattr(644,root,root,755)
2cc4bba8 339%doc triggers/sql/*_sqlite.sql
b503e563
AM
340%attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
341%{_libdir}/cvsnt/database/sqlite.la
2cc4bba8
AM
342
343%if %{with kerberos}
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
348%endif
349
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
b503e563 354
92b17172
AM
355%files protocol-sspi
356%defattr(644,root,root,755)
357%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
358%{_libdir}/cvsnt/protocols/sspi.la
359
77cd9e4e
AM
360%files protocol-sync
361%defattr(644,root,root,755)
362%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
363%{_libdir}/cvsnt/protocols/sync.la
364
b503e563
AM
365%files rcs
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
This page took 0.107072 seconds and 4 git commands to generate.