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