]> git.pld-linux.org Git - packages/cvsnt.git/blame - cvsnt.spec
- link with system libntlm
[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
5223dac3 18Version: 2.5.04.2980
0dfc8e39
AM
19Release: 0.1
20License: GPL v2+/LGPL v2+
21Group: Development/Version Control
74560c03 22# http://www.cvsnt.org/wiki/Download
5223dac3
AM
23Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
24# Source0-md5: 2f82c5b76cd450edcde714eed52b6377
0dfc8e39
AM
25Source1: %{name}.inetd
26Source2: %{name}-cvslockd.init
5223dac3 27Source3: %{name}.pam
86e7036a 28Patch0: %{name}-system-ltdl.patch
0dfc8e39
AM
29URL: http://www.cvsnt.org/
30BuildRequires: autoconf >= 2.58
31BuildRequires: automake >= 1:1.7.9
0dfc8e39
AM
32BuildRequires: docbook-style-xsl
33BuildRequires: expat-devel
211cc332 34BuildRequires: howl-devel
c3a69507 35%{?with_kerberos:BuildRequires: krb5-devel}
0dfc8e39 36BuildRequires: libstdc++-devel
211cc332 37BuildRequires: libxml2-devel
0dfc8e39
AM
38BuildRequires: mysql-devel
39BuildRequires: openssl-devel
40BuildRequires: pam-devel
41BuildRequires: pcre-devel
42BuildRequires: postgresql-devel
43BuildRequires: rpmbuild(macros) >= 1.268
44BuildRequires: sqlite3-devel
0dfc8e39
AM
45BuildRequires: unixODBC-devel
46BuildRequires: xmlto
47BuildRequires: zlib-devel
48Provides: cvs-client = %{version}
49Obsoletes: cvs-client
50Obsoletes: cvs-nserver-client
51BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53%define _cvs_root /var/lib/cvs
54
55%description
56CVS means Concurrent Version System; it is a version control system
57which can record the history of your files (usually, but not always,
58source code). CVS only stores the differences between versions,
59instead of every version of every file you've ever created. CVS also
60keeps a log of who and when made some changes and why they occurred,
61among other aspects.
62
63CVSNT Server features include:
64- Access control for securing projects and branches.
65- Detailed audit and metrics recorded in an SQL database.
66- Authentication with Active Directory.
67- Tracking everything about the change - including whether it was
68 merged from somewhere, belongs to a problem report or was part of a
69 change set.
70- A control panel to manage email notification of changes, defect
71 tracking integration, and more.
72- Integrated repository synchronisation (for fail-over servers).
73- Change set support (group changes by defect number).
74- Supports UNICODE UTF-8/UCS-2 files and multi-lingual filenames.
75- When operating in UTF-8 (Unicode) mode it can automatically
76 translate filename encoding for any client.
77- Plug-ins for email notification.
78- Helps make merging branches easier with its "Mergepoint" feature.
79- Native servers available for Mac OS X, Windows, Linux, Solaris,
80 HPUX.
81- Supports reserved and unreserved versioning methodologies.
82- CVSAPI for integration into 3rd party products.
83- Script, COM and 3GL interface for triggers and integration into 3rd
84 party tools (such as defect tracking)
85
86%package pserver
87Summary: rc-inetd config files to run CVS pserver
88Summary(pl.UTF-8): Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
89Group: Development/Version Control
90Requires(post): fileutils
91Requires(postun): /usr/sbin/groupdel
92Requires(postun): /usr/sbin/userdel
93Requires(pre): /bin/id
94Requires(pre): /usr/bin/getgid
95Requires(pre): /usr/sbin/groupadd
96Requires(pre): /usr/sbin/useradd
97Requires: %{name} = %{version}-%{release}
98Requires: rc-inetd
99Provides: group(cvs)
100Provides: user(cvs)
101Obsoletes: cvs-nserver-common
102Obsoletes: cvs-nserver-nserver
103Obsoletes: cvs-nserver-pserver
104
105%description pserver
106Config files for rc-inetd that are necessary to run CVS in pserver
107mode.
108
7a8b94dc
AM
109%package database-mysql
110Summary: MySQL Database support for CVSNT
111Group: Development/Version Control
112Requires: %{name} = %{version}-%{release}
113
114%description database-mysql
115MySQL Database support for CVSNT.
116
117%package database-odbc
118Summary: ODBC support for CVSNT
119Group: Development/Version Control
120Requires: %{name} = %{version}-%{release}
121
122%description database-odbc
123ODBC support for CVSNT.
124
125%package database-postgres
126Summary: PostgreSQL Database support for CVSNT
127Group: Development/Version Control
128Requires: %{name} = %{version}-%{release}
129
130%description database-postgres
131PostgreSQL Database support for CVSNT.
132
133%package database-sqlite
134Summary: SQLite Database support for CVSNT
135Group: Development/Version Control
136Requires: %{name} = %{version}-%{release}
137
138%description database-sqlite
139SQLite Database support for CVSNT.
140
2cc4bba8
AM
141%package protocol-gserver
142Summary: gserver (Kerberos GSS) protocol support for CVSNT
143Group: Development/Version Control
144Requires: %{name} = %{version}-%{release}
145
146%description protocol-gserver
147gserver (Kerberos GSS) support for CVSNT.
148
149%package protocol-sserver
150Summary: sserver (SSL) procotol support for for CVSNT
151Group: Development/Version Control
152Requires: %{name} = %{version}-%{release}
153
154%description protocol-sserver
155sserver (SSL) protocol support for CVSNT.
156
77cd9e4e
AM
157%package protocol-sync
158Summary: sync procotol support for for CVSNT
159Group: Development/Version Control
160Requires: %{name} = %{version}-%{release}
161
162%description protocol-sync
163sync protocol support for CVSNT.
164
b503e563
AM
165%package rcs
166Summary: CVSNT version of RCS tools
167Group: Development/Version Control
168Requires: %{name} = %{version}-%{release}
169
170%description rcs
171CVSNT version of RCS tools.
172
0dfc8e39
AM
173%prep
174%setup -q
86e7036a 175%patch0 -p1
0dfc8e39
AM
176
177%build
86e7036a
ER
178%{__aclocal}
179%{__autoconf}
180%{__automake}
0dfc8e39
AM
181%configure \
182 --enable-mdns \
183 --enable-sqlite \
184 --enable-mysql \
185 --enable-odbc \
186 --enable-postgres \
187 --enable-pam \
188 --enable-server \
189 --enable-lockserver \
190 --enable-pserver \
191 --enable-ext \
192 --enable-rsh \
2cc4bba8 193 --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
0dfc8e39
AM
194 --enable-sserver \
195 --enable-sspi \
196 --enable-enum \
b503e563 197 --enable-rcs
0dfc8e39
AM
198
199%{__make}
200
201cd doc
202sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
203sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
204xmlto --skip-validation -o html_cvs html cvs2.dbk
205xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
206
207%install
208rm -rf $RPM_BUILD_ROOT
5223dac3 209install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
0dfc8e39 210
4a8a65b9 211%{__make} install -j1 \
0dfc8e39
AM
212 DESTDIR=$RPM_BUILD_ROOT
213
214install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
215install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
5223dac3 216install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
0dfc8e39 217
c3a69507
ER
218mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
219mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
0dfc8e39
AM
220
221%clean
222rm -rf $RPM_BUILD_ROOT
223
011fcd65
AM
224%post
225/sbin/ldconfig
226/sbin/chkconfig --add cvslockd
227%service cvslockd restart
228
229%preun
230if [ "$1" = "0" ]; then
231 %service cvslockd stop
232 /sbin/chkconfig --del cvslockd
233fi
234
0dfc8e39
AM
235%postun -p /sbin/ldconfig
236
237%pre pserver
238%groupadd -f -g 52 cvs
239%useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
240
241%post pserver
242if [ "$1" = "1" ]; then
243 # Initialise repository
244 %{_bindir}/cvs -d :local:%{_cvs_root} init
245 chown -R cvs:cvs %{_cvs_root}/CVSROOT
246fi
247%service -q rc-inetd reload
248
249%postun pserver
250if [ "$1" = "0" ]; then
251 %userremove cvs
252 %groupremove cvs
253 %service -q rc-inetd reload
254fi
255
0dfc8e39
AM
256%files
257%defattr(644,root,root,755)
258%doc doc/html_cvsclient
259%doc AUTHORS FAQ README
2cc4bba8 260%doc triggers/examples/*.txt
0dfc8e39 261%dir %{_sysconfdir}/cvsnt
5223dac3 262%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
0dfc8e39 263%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
011fcd65 264%attr(754,root,root) /etc/rc.d/init.d/cvslockd
b503e563
AM
265%attr(755,root,root) %{_bindir}/cvs
266%attr(755,root,root) %{_bindir}/cvslockd
267%attr(755,root,root) %{_bindir}/cvsnt
77cd9e4e 268%attr(755,root,root) %{_bindir}/cvsscript
0dfc8e39 269%dir %{_libdir}/cvsnt
906b183f
AM
270%dir %{_libdir}/cvsnt/database
271%dir %{_libdir}/cvsnt/mdns
272%attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
273%{_libdir}/cvsnt/mdns/*.la
274%dir %{_libdir}/cvsnt/protocols
2cc4bba8
AM
275%attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
276%attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
277%attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
278%attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
279%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
280%{_libdir}/cvsnt/protocols/enum.la
281%{_libdir}/cvsnt/protocols/ext.la
282%{_libdir}/cvsnt/protocols/pserver.la
283%{_libdir}/cvsnt/protocols/server.la
284%{_libdir}/cvsnt/protocols/sspi.la
906b183f
AM
285%dir %{_libdir}/cvsnt/triggers
286%attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
287%{_libdir}/cvsnt/triggers/*.la
288%dir %{_libdir}/cvsnt/xdiff
289%attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
290%{_libdir}/cvsnt/xdiff/*.la
0dfc8e39
AM
291%attr(755,root,root) %{_libdir}/lib*-*.so*
292%{_mandir}/man[15]/*
293
294%files pserver
295%defattr(644,root,root,755)
296%doc doc/html_cvs
297%attr(770,root,cvs) %dir %{_cvs_root}
298%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
7a8b94dc
AM
299
300%files database-mysql
301%defattr(644,root,root,755)
2cc4bba8 302%doc triggers/sql/*_mysql.sql
b503e563
AM
303%attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
304%{_libdir}/cvsnt/database/mysql.la
7a8b94dc
AM
305
306%files database-odbc
307%defattr(644,root,root,755)
2cc4bba8
AM
308%doc triggers/sql/*_oracle.sql
309%doc triggers/sql/*_mssql.sql
b503e563
AM
310%attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
311%{_libdir}/cvsnt/database/odbc.la
7a8b94dc
AM
312
313%files database-postgres
314%defattr(644,root,root,755)
2cc4bba8 315%doc triggers/sql/*_postgres.sql
b503e563
AM
316%attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
317%{_libdir}/cvsnt/database/postgres.la
7a8b94dc
AM
318
319%files database-sqlite
320%defattr(644,root,root,755)
2cc4bba8 321%doc triggers/sql/*_sqlite.sql
b503e563
AM
322%attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
323%{_libdir}/cvsnt/database/sqlite.la
2cc4bba8
AM
324
325%if %{with kerberos}
326%files protocol-gserver
327%defattr(644,root,root,755)
328%attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
329%{_libdir}/cvsnt/protocols/gserver.la
330%endif
331
332%files protocol-sserver
333%defattr(644,root,root,755)
334%attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
335%{_libdir}/cvsnt/protocols/sserver.la
b503e563 336
77cd9e4e
AM
337%files protocol-sync
338%defattr(644,root,root,755)
339%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
340%{_libdir}/cvsnt/protocols/sync.la
341
b503e563
AM
342%files rcs
343%defattr(644,root,root,755)
344%attr(755,root,root) %{_bindir}/co
345%attr(755,root,root) %{_bindir}/rcsdiff
346%attr(755,root,root) %{_bindir}/rlog
This page took 0.164 seconds and 4 git commands to generate.