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