]> git.pld-linux.org Git - packages/cvsnt.git/blame - cvsnt.spec
- up to 2.5.05.3240
[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
7937362d 24# 2.5.04 is current stable series (2.5.05 is not)
72527f83 25Version: 2.5.05.3240
26Release: 1
0dfc8e39
AM
27License: GPL v2+/LGPL v2+
28Group: Development/Version Control
74560c03 29# http://www.cvsnt.org/wiki/Download
5223dac3 30Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
72527f83 31# Source0-md5: 474b57dcdd8da46f5eac47e6adbce068
0dfc8e39
AM
32Source1: %{name}.inetd
33Source2: %{name}-cvslockd.init
5223dac3 34Source3: %{name}.pam
86e7036a 35Patch0: %{name}-system-ltdl.patch
3d551737
ER
36Patch1: %{name}-system-pcre.patch
37Patch2: %{name}-system-zlib.patch
38Patch3: %{name}-system-ntlm.patch
220b6b2d 39Patch4: %{name}-crypt.patch
57a699b1 40Patch5: %{name}-build.patch
7937362d 41Patch6: %{name}-nospam.patch
f5a0674f 42Patch7: %{name}-ipv6.patch
0dfc8e39
AM
43URL: http://www.cvsnt.org/
44BuildRequires: autoconf >= 2.58
45BuildRequires: automake >= 1:1.7.9
0dfc8e39 46BuildRequires: docbook-style-xsl
211cc332 47BuildRequires: howl-devel
c3a69507 48%{?with_kerberos:BuildRequires: krb5-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}
115Requires: rc-inetd
116Provides: group(cvs)
117Provides: user(cvs)
118Obsoletes: cvs-nserver-common
119Obsoletes: cvs-nserver-nserver
120Obsoletes: cvs-nserver-pserver
121
122%description pserver
123Config files for rc-inetd that are necessary to run CVS in pserver
124mode.
125
7a8b94dc
AM
126%package database-mysql
127Summary: MySQL Database support for CVSNT
128Group: Development/Version Control
129Requires: %{name} = %{version}-%{release}
130
131%description database-mysql
132MySQL Database support for CVSNT.
133
134%package database-odbc
135Summary: ODBC support for CVSNT
136Group: Development/Version Control
137Requires: %{name} = %{version}-%{release}
138
139%description database-odbc
140ODBC support for CVSNT.
141
142%package database-postgres
143Summary: PostgreSQL Database support for CVSNT
144Group: Development/Version Control
145Requires: %{name} = %{version}-%{release}
146
147%description database-postgres
148PostgreSQL Database support for CVSNT.
149
150%package database-sqlite
151Summary: SQLite Database support for CVSNT
152Group: Development/Version Control
153Requires: %{name} = %{version}-%{release}
154
155%description database-sqlite
156SQLite Database support for CVSNT.
157
2cc4bba8
AM
158%package protocol-gserver
159Summary: gserver (Kerberos GSS) protocol support for CVSNT
160Group: Development/Version Control
161Requires: %{name} = %{version}-%{release}
162
163%description protocol-gserver
164gserver (Kerberos GSS) support for CVSNT.
165
166%package protocol-sserver
167Summary: sserver (SSL) procotol support for for CVSNT
168Group: Development/Version Control
169Requires: %{name} = %{version}-%{release}
170
171%description protocol-sserver
172sserver (SSL) protocol support for CVSNT.
173
92b17172
AM
174%package protocol-sspi
175Summary: SSPI procotol support for for CVSNT
176Group: Development/Version Control
177Requires: %{name} = %{version}-%{release}
178
179%description protocol-sspi
180SSPI protocol support for CVSNT.
181
77cd9e4e
AM
182%package protocol-sync
183Summary: sync procotol support for for CVSNT
184Group: Development/Version Control
185Requires: %{name} = %{version}-%{release}
186
187%description protocol-sync
188sync protocol support for CVSNT.
189
b503e563
AM
190%package rcs
191Summary: CVSNT version of RCS tools
192Group: Development/Version Control
193Requires: %{name} = %{version}-%{release}
b64867c1 194Provides: rcs
b503e563
AM
195
196%description rcs
197CVSNT version of RCS tools.
198
0dfc8e39
AM
199%prep
200%setup -q
86e7036a 201%patch0 -p1
3d551737
ER
202%patch1 -p1
203%patch2 -p1
204%patch3 -p1
220b6b2d 205%patch4 -p0
57a699b1 206%patch5 -p1
7937362d 207%patch6 -p1
a2c43808 208%patch7 -p1
3d551737
ER
209
210rm -rf pcre libltdl zlib protocols/ntlm
0dfc8e39
AM
211
212%build
3d551737 213%{__libtoolize}
86e7036a
ER
214%{__aclocal}
215%{__autoconf}
216%{__automake}
0dfc8e39
AM
217%configure \
218 --enable-mdns \
219 --enable-sqlite \
220 --enable-mysql \
221 --enable-odbc \
222 --enable-postgres \
223 --enable-pam \
224 --enable-server \
225 --enable-lockserver \
226 --enable-pserver \
227 --enable-ext \
228 --enable-rsh \
2cc4bba8 229 --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
0dfc8e39
AM
230 --enable-sserver \
231 --enable-sspi \
232 --enable-enum \
b503e563 233 --enable-rcs
0dfc8e39
AM
234
235%{__make}
236
237cd doc
238sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
239sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
240xmlto --skip-validation -o html_cvs html cvs2.dbk
241xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
242
243%install
244rm -rf $RPM_BUILD_ROOT
5223dac3 245install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
0dfc8e39 246
4a8a65b9 247%{__make} install -j1 \
0dfc8e39
AM
248 DESTDIR=$RPM_BUILD_ROOT
249
250install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
251install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
5223dac3 252install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
0dfc8e39 253
c3a69507
ER
254mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
255mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
0dfc8e39
AM
256
257%clean
258rm -rf $RPM_BUILD_ROOT
259
011fcd65
AM
260%post
261/sbin/ldconfig
262/sbin/chkconfig --add cvslockd
263%service cvslockd restart
264
265%preun
266if [ "$1" = "0" ]; then
b6e8fc68
ER
267 %service cvslockd stop
268 /sbin/chkconfig --del cvslockd
011fcd65
AM
269fi
270
0dfc8e39
AM
271%postun -p /sbin/ldconfig
272
273%pre pserver
274%groupadd -f -g 52 cvs
275%useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
276
277%post pserver
278if [ "$1" = "1" ]; then
279 # Initialise repository
280 %{_bindir}/cvs -d :local:%{_cvs_root} init
281 chown -R cvs:cvs %{_cvs_root}/CVSROOT
282fi
283%service -q rc-inetd reload
284
285%postun pserver
286if [ "$1" = "0" ]; then
287 %userremove cvs
288 %groupremove cvs
289 %service -q rc-inetd reload
290fi
291
0dfc8e39
AM
292%files
293%defattr(644,root,root,755)
294%doc doc/html_cvsclient
295%doc AUTHORS FAQ README
2cc4bba8 296%doc triggers/examples/*.txt
0dfc8e39 297%dir %{_sysconfdir}/cvsnt
5223dac3 298%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
0dfc8e39 299%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
011fcd65 300%attr(754,root,root) /etc/rc.d/init.d/cvslockd
b503e563
AM
301%attr(755,root,root) %{_bindir}/cvs
302%attr(755,root,root) %{_bindir}/cvslockd
303%attr(755,root,root) %{_bindir}/cvsnt
77cd9e4e 304%attr(755,root,root) %{_bindir}/cvsscript
0dfc8e39 305%dir %{_libdir}/cvsnt
906b183f
AM
306%dir %{_libdir}/cvsnt/database
307%dir %{_libdir}/cvsnt/mdns
308%attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
309%{_libdir}/cvsnt/mdns/*.la
310%dir %{_libdir}/cvsnt/protocols
2cc4bba8
AM
311%attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
312%attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
313%attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
314%attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
2cc4bba8
AM
315%{_libdir}/cvsnt/protocols/enum.la
316%{_libdir}/cvsnt/protocols/ext.la
317%{_libdir}/cvsnt/protocols/pserver.la
318%{_libdir}/cvsnt/protocols/server.la
906b183f
AM
319%dir %{_libdir}/cvsnt/triggers
320%attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
321%{_libdir}/cvsnt/triggers/*.la
322%dir %{_libdir}/cvsnt/xdiff
323%attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
324%{_libdir}/cvsnt/xdiff/*.la
0dfc8e39
AM
325%attr(755,root,root) %{_libdir}/lib*-*.so*
326%{_mandir}/man[15]/*
327
328%files pserver
329%defattr(644,root,root,755)
330%doc doc/html_cvs
331%attr(770,root,cvs) %dir %{_cvs_root}
332%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
7a8b94dc
AM
333
334%files database-mysql
335%defattr(644,root,root,755)
2cc4bba8 336%doc triggers/sql/*_mysql.sql
b503e563
AM
337%attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
338%{_libdir}/cvsnt/database/mysql.la
7a8b94dc
AM
339
340%files database-odbc
341%defattr(644,root,root,755)
2cc4bba8
AM
342%doc triggers/sql/*_oracle.sql
343%doc triggers/sql/*_mssql.sql
b503e563
AM
344%attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
345%{_libdir}/cvsnt/database/odbc.la
7a8b94dc
AM
346
347%files database-postgres
348%defattr(644,root,root,755)
2cc4bba8 349%doc triggers/sql/*_postgres.sql
b503e563
AM
350%attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
351%{_libdir}/cvsnt/database/postgres.la
7a8b94dc
AM
352
353%files database-sqlite
354%defattr(644,root,root,755)
2cc4bba8 355%doc triggers/sql/*_sqlite.sql
b503e563
AM
356%attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
357%{_libdir}/cvsnt/database/sqlite.la
2cc4bba8
AM
358
359%if %{with kerberos}
360%files protocol-gserver
361%defattr(644,root,root,755)
362%attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
363%{_libdir}/cvsnt/protocols/gserver.la
364%endif
365
366%files protocol-sserver
367%defattr(644,root,root,755)
368%attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
369%{_libdir}/cvsnt/protocols/sserver.la
b503e563 370
92b17172
AM
371%files protocol-sspi
372%defattr(644,root,root,755)
373%attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
374%{_libdir}/cvsnt/protocols/sspi.la
375
77cd9e4e
AM
376%files protocol-sync
377%defattr(644,root,root,755)
378%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
379%{_libdir}/cvsnt/protocols/sync.la
380
b503e563
AM
381%files rcs
382%defattr(644,root,root,755)
383%attr(755,root,root) %{_bindir}/co
384%attr(755,root,root) %{_bindir}/rcsdiff
385%attr(755,root,root) %{_bindir}/rlog
This page took 0.089589 seconds and 4 git commands to generate.