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