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