]> git.pld-linux.org Git - packages/cvsnt.git/blob - cvsnt.spec
- more gcc4 problems
[packages/cvsnt.git] / cvsnt.spec
1 #
2 # Conditional build:
3 %bcond_without  kerberos                # build without krb5 support
4 #
5 # TODO:
6 # - commit -r BRANCH is rejected (contrary to manual)
7 #   you can commit new file to branch with this technique:
8 #    cvs add file.patch
9 #    cvs up -r BRANCH file.patch
10 #    cvs ci -m '- bleh' file.patch
11 #   or just install cvs client from cvsnt package.
12 # - the newline auto translation on text files should be disabled on .patch files (better for any!)
13 # - check server mode and default config
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
21 Summary:        Concurrent Versioning System
22 Summary(pl.UTF-8):      Concurrent Versioning System
23 Name:           cvsnt
24 # 2.5.04 is current stable series (2.5.05 is not)
25 Version:        2.5.04.3236
26 Release:        7
27 License:        GPL v2+/LGPL v2+
28 Group:          Development/Version Control
29 Source0:        http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
30 # Source0-md5:  853d1f2e1c89e8776467271d34bc0dcf
31 Source1:        %{name}.inetd
32 Source2:        %{name}-cvslockd.init
33 Source3:        %{name}.pam
34 Patch0:         %{name}-system-ltdl.patch
35 Patch1:         %{name}-system-pcre.patch
36 Patch2:         %{name}-system-zlib.patch
37 Patch3:         %{name}-system-ntlm.patch
38 Patch4:         %{name}-crypt.patch
39 Patch5:         %{name}-build.patch
40 Patch6:         %{name}-nospam.patch
41 Patch7:         %{name}-ipv6.patch
42 Patch8:         %{name}-fixes.patch
43 Patch9:         %{name}-gcc4.patch
44 URL:            http://www.cvsnt.org/
45 BuildRequires:  autoconf >= 2.58
46 BuildRequires:  automake >= 1:1.7.9
47 BuildRequires:  docbook-style-xsl
48 BuildRequires:  howl-devel
49 %{?with_kerberos:BuildRequires: heimdal-devel}
50 BuildRequires:  libltdl-devel
51 BuildRequires:  libntlm-devel >= 0.3.6
52 BuildRequires:  libstdc++-devel
53 BuildRequires:  libtool
54 BuildRequires:  libxml2-devel
55 BuildRequires:  mysql-devel
56 BuildRequires:  openssl-devel
57 BuildRequires:  pam-devel
58 BuildRequires:  pcre-devel
59 BuildRequires:  postgresql-devel
60 BuildRequires:  rpmbuild(macros) >= 1.268
61 BuildRequires:  sqlite3-devel
62 BuildRequires:  unixODBC-devel
63 BuildRequires:  xmlto
64 BuildRequires:  zlib-devel
65 Requires(post): /sbin/ldconfig
66 Provides:       cvs-client = %{version}
67 Obsoletes:      cvs-client
68 Obsoletes:      cvs-nserver-client
69 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71 %define         _cvs_root       /var/lib/cvs
72
73 %description
74 CVS means Concurrent Version System; it is a version control system
75 which can record the history of your files (usually, but not always,
76 source code). CVS only stores the differences between versions,
77 instead of every version of every file you've ever created. CVS also
78 keeps a log of who and when made some changes and why they occurred,
79 among other aspects.
80
81 CVSNT 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
105 Summary:        rc-inetd config files to run CVS pserver
106 Summary(pl.UTF-8):      Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
107 Group:          Development/Version Control
108 Requires(post): fileutils
109 Requires(postun):       /usr/sbin/groupdel
110 Requires(postun):       /usr/sbin/userdel
111 Requires(pre):  /bin/id
112 Requires(pre):  /usr/bin/getgid
113 Requires(pre):  /usr/sbin/groupadd
114 Requires(pre):  /usr/sbin/useradd
115 Requires:       %{name} = %{version}-%{release}
116 Requires:       %{name}-cvslockd = %{version}-%{release}
117 Requires:       rc-inetd
118 Provides:       group(cvs)
119 Provides:       user(cvs)
120 Obsoletes:      cvs-nserver-common
121 Obsoletes:      cvs-nserver-nserver
122 Obsoletes:      cvs-nserver-pserver
123
124 %description pserver
125 Config files for rc-inetd that are necessary to run CVS in pserver
126 mode.
127
128 %package cvslockd
129 Summary:        locking daemon
130 Group:          Development/Version Control
131
132 %description cvslockd
133 CVS locking daemon.
134
135 %package database-mysql
136 Summary:        MySQL Database support for CVSNT
137 Group:          Development/Version Control
138 Requires:       %{name} = %{version}-%{release}
139
140 %description database-mysql
141 MySQL Database support for CVSNT.
142
143 %package database-odbc
144 Summary:        ODBC support for CVSNT
145 Group:          Development/Version Control
146 Requires:       %{name} = %{version}-%{release}
147
148 %description database-odbc
149 ODBC support for CVSNT.
150
151 %package database-postgres
152 Summary:        PostgreSQL Database support for CVSNT
153 Group:          Development/Version Control
154 Requires:       %{name} = %{version}-%{release}
155
156 %description database-postgres
157 PostgreSQL Database support for CVSNT.
158
159 %package database-sqlite
160 Summary:        SQLite Database support for CVSNT
161 Group:          Development/Version Control
162 Requires:       %{name} = %{version}-%{release}
163
164 %description database-sqlite
165 SQLite Database support for CVSNT.
166
167 %package protocol-gserver
168 Summary:        gserver (Kerberos GSS) protocol support for CVSNT
169 Group:          Development/Version Control
170 Requires:       %{name} = %{version}-%{release}
171
172 %description protocol-gserver
173 gserver (Kerberos GSS) support for CVSNT.
174
175 %package protocol-sserver
176 Summary:        sserver (SSL) procotol support for for CVSNT
177 Group:          Development/Version Control
178 Requires:       %{name} = %{version}-%{release}
179
180 %description protocol-sserver
181 sserver (SSL) protocol support for CVSNT.
182
183 %package protocol-sspi
184 Summary:        SSPI procotol support for for CVSNT
185 Group:          Development/Version Control
186 Requires:       %{name} = %{version}-%{release}
187
188 %description protocol-sspi
189 SSPI protocol support for CVSNT.
190
191 %package protocol-sync
192 Summary:        sync procotol support for for CVSNT
193 Group:          Development/Version Control
194 Requires:       %{name} = %{version}-%{release}
195
196 %description protocol-sync
197 sync protocol support for CVSNT.
198
199 %package rcs
200 Summary:        CVSNT version of RCS tools
201 Group:          Development/Version Control
202 Requires:       %{name} = %{version}-%{release}
203 Provides:       rcs
204
205 %description rcs
206 CVSNT version of RCS tools.
207
208 %prep
209 %setup -q
210 %patch0 -p1
211 %patch1 -p1
212 %patch2 -p1
213 %patch3 -p1
214 %patch4 -p0
215 %patch5 -p1
216 %patch6 -p1
217 %patch7 -p1
218 %patch8 -p1
219 %patch9 -p1
220
221 rm -rf pcre libltdl zlib protocols/ntlm
222
223 %build
224 %{__libtoolize}
225 %{__aclocal}
226 %{__autoconf}
227 %{__automake}
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 \
240         --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
241         --enable-sserver \
242         --enable-sspi \
243         --enable-enum \
244         --enable-rcs
245
246 %{__make}
247
248 cd doc
249 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
250 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
251 xmlto --skip-validation -o html_cvs html cvs2.dbk
252 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
253
254 %install
255 rm -rf $RPM_BUILD_ROOT
256 install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
257
258 %{__make} install -j1 \
259         DESTDIR=$RPM_BUILD_ROOT
260
261 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
262 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
263 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
264
265 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
266 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
267
268 %clean
269 rm -rf $RPM_BUILD_ROOT
270
271 %post -p /sbin/ldconfig
272 %postun -p /sbin/ldconfig
273
274 %post cvslockd
275 /sbin/chkconfig --add cvslockd
276 %service cvslockd restart
277
278 %preun cvslockd
279 if [ "$1" = "0" ]; then
280         %service cvslockd stop
281         /sbin/chkconfig --del cvslockd
282 fi
283
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
289 if [ "$1" = "1" ]; then
290         # Initialise repository
291         %{_bindir}/cvs -d :local:%{_cvs_root} init
292         chown -R cvs:cvs %{_cvs_root}/CVSROOT
293 fi
294 %service -q rc-inetd reload
295
296 %postun pserver
297 if [ "$1" = "0" ]; then
298         %userremove cvs
299         %groupremove cvs
300         %service -q rc-inetd reload
301 fi
302
303 %files
304 %defattr(644,root,root,755)
305 %doc doc/html_cvsclient
306 %doc AUTHORS FAQ README
307 %doc triggers/examples/*.txt
308 %dir %{_sysconfdir}/cvsnt
309 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
310 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
311 %attr(755,root,root) %{_bindir}/cvs
312 %attr(755,root,root) %{_bindir}/cvsnt
313 %attr(755,root,root) %{_bindir}/cvsscript
314 %dir %{_libdir}/cvsnt
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
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
324 %{_libdir}/cvsnt/protocols/enum.la
325 %{_libdir}/cvsnt/protocols/ext.la
326 %{_libdir}/cvsnt/protocols/pserver.la
327 %{_libdir}/cvsnt/protocols/server.la
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
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
342
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
348 %files database-mysql
349 %defattr(644,root,root,755)
350 %doc triggers/sql/*_mysql.sql
351 %attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
352 %{_libdir}/cvsnt/database/mysql.la
353
354 %files database-odbc
355 %defattr(644,root,root,755)
356 %doc triggers/sql/*_oracle.sql
357 %doc triggers/sql/*_mssql.sql
358 %attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
359 %{_libdir}/cvsnt/database/odbc.la
360
361 %files database-postgres
362 %defattr(644,root,root,755)
363 %doc triggers/sql/*_postgres.sql
364 %attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
365 %{_libdir}/cvsnt/database/postgres.la
366
367 %files database-sqlite
368 %defattr(644,root,root,755)
369 %doc triggers/sql/*_sqlite.sql
370 %attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
371 %{_libdir}/cvsnt/database/sqlite.la
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
384
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
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
394
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.809284 seconds and 3 git commands to generate.