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