]> git.pld-linux.org Git - packages/cvsnt.git/blob - cvsnt.spec
- prefer TLS_client_method
[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 # http://www.cvsnt.org/archive/2.5_stable tell which version is stable
25 Version:        2.5.05.3744
26 Release:        12
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:  64aa0fc627893cc66182023b936260da
31 Source1:        %{name}.inetd
32 Source2:        %{name}-cvslockd.init
33 Source3:        %{name}.pam
34 Patch0:         %{name}-system-pcre.patch
35 Patch1:         %{name}-system-ntlm.patch
36 Patch2:         %{name}-build.patch
37 Patch3:         %{name}-nospam.patch
38 Patch4:         %{name}-fixes.patch
39 Patch5:         %{name}-gcc4.patch
40 Patch6:         format-security.patch
41 Patch7:         cxx.patch
42 Patch8:         openssl.patch
43 URL:            http://www.cvsnt.org/
44 BuildRequires:  autoconf >= 2.58
45 BuildRequires:  automake >= 1:1.7.9
46 BuildRequires:  docbook-style-xsl
47 BuildRequires:  avahi-compat-howl-devel
48 %{?with_kerberos:BuildRequires: heimdal-devel}
49 BuildRequires:  libltdl-devel
50 BuildRequires:  libntlm-devel >= 0.3.6
51 BuildRequires:  libstdc++-devel
52 BuildRequires:  libtool
53 BuildRequires:  libxml2-devel
54 BuildRequires:  mysql-devel
55 BuildRequires:  openssl-devel
56 BuildRequires:  pam-devel
57 BuildRequires:  pcre-devel
58 BuildRequires:  postgresql-devel
59 BuildRequires:  rpmbuild(macros) >= 1.268
60 BuildRequires:  sqlite3-devel
61 BuildRequires:  unixODBC-devel
62 BuildRequires:  xmlto
63 BuildRequires:  zlib-devel
64 Requires(post): /sbin/ldconfig
65 Provides:       cvs-client = %{version}
66 Obsoletes:      cvs-client
67 Obsoletes:      cvs-nserver-client
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70 %define         _cvs_root       /var/lib/cvs
71
72 %description
73 CVS means Concurrent Version System; it is a version control system
74 which can record the history of your files (usually, but not always,
75 source code). CVS only stores the differences between versions,
76 instead of every version of every file you've ever created. CVS also
77 keeps a log of who and when made some changes and why they occurred,
78 among other aspects.
79
80 CVSNT 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
104 Summary:        rc-inetd config files to run CVS pserver
105 Summary(pl.UTF-8):      Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
106 Group:          Development/Version Control
107 Requires(post): fileutils
108 Requires(postun):       /usr/sbin/groupdel
109 Requires(postun):       /usr/sbin/userdel
110 Requires(pre):  /bin/id
111 Requires(pre):  /usr/bin/getgid
112 Requires(pre):  /usr/sbin/groupadd
113 Requires(pre):  /usr/sbin/useradd
114 Requires:       %{name} = %{version}-%{release}
115 Requires:       %{name}-cvslockd = %{version}-%{release}
116 Requires:       rc-inetd
117 Provides:       group(cvs)
118 Provides:       user(cvs)
119 Obsoletes:      cvs-nserver-common
120 Obsoletes:      cvs-nserver-nserver
121 Obsoletes:      cvs-nserver-pserver
122
123 %description pserver
124 Config files for rc-inetd that are necessary to run CVS in pserver
125 mode.
126
127 %package cvslockd
128 Summary:        locking daemon
129 Group:          Development/Version Control
130
131 %description cvslockd
132 CVS locking daemon.
133
134 %package database-mysql
135 Summary:        MySQL Database support for CVSNT
136 Group:          Development/Version Control
137 Requires:       %{name} = %{version}-%{release}
138
139 %description database-mysql
140 MySQL Database support for CVSNT.
141
142 %package database-odbc
143 Summary:        ODBC support for CVSNT
144 Group:          Development/Version Control
145 Requires:       %{name} = %{version}-%{release}
146
147 %description database-odbc
148 ODBC support for CVSNT.
149
150 %package database-postgres
151 Summary:        PostgreSQL Database support for CVSNT
152 Group:          Development/Version Control
153 Requires:       %{name} = %{version}-%{release}
154
155 %description database-postgres
156 PostgreSQL Database support for CVSNT.
157
158 %package database-sqlite
159 Summary:        SQLite Database support for CVSNT
160 Group:          Development/Version Control
161 Requires:       %{name} = %{version}-%{release}
162
163 %description database-sqlite
164 SQLite Database support for CVSNT.
165
166 %package protocol-gserver
167 Summary:        gserver (Kerberos GSS) protocol support for CVSNT
168 Group:          Development/Version Control
169 Requires:       %{name} = %{version}-%{release}
170
171 %description protocol-gserver
172 gserver (Kerberos GSS) support for CVSNT.
173
174 %package protocol-sserver
175 Summary:        sserver (SSL) procotol support for for CVSNT
176 Group:          Development/Version Control
177 Requires:       %{name} = %{version}-%{release}
178
179 %description protocol-sserver
180 sserver (SSL) protocol support for CVSNT.
181
182 %package protocol-sspi
183 Summary:        SSPI procotol support for for CVSNT
184 Group:          Development/Version Control
185 Requires:       %{name} = %{version}-%{release}
186
187 %description protocol-sspi
188 SSPI protocol support for CVSNT.
189
190 %package protocol-sync
191 Summary:        sync procotol support for for CVSNT
192 Group:          Development/Version Control
193 Requires:       %{name} = %{version}-%{release}
194
195 %description protocol-sync
196 sync protocol support for CVSNT.
197
198 %package rcs
199 Summary:        CVSNT version of RCS tools
200 Group:          Development/Version Control
201 Requires:       %{name} = %{version}-%{release}
202 Provides:       rcs
203
204 %description rcs
205 CVSNT version of RCS tools.
206
207 %prep
208 %setup -q
209 %patch0 -p1
210 %patch1 -p1
211 %patch2 -p1
212 %patch3 -p1
213 %patch4 -p1
214 %patch5 -p1
215 %patch6 -p1
216 %patch7 -p1
217 %patch8 -p1
218
219 rm -r protocols/ntlm
220
221 %build
222 %{__libtoolize}
223 %{__aclocal}
224 %{__autoconf}
225 %{__automake}
226 %configure \
227         --enable-mdns \
228         --enable-sqlite \
229         --enable-mysql \
230         --enable-odbc \
231         --enable-postgres \
232         --enable-pam \
233         --enable-server \
234         --enable-lockserver \
235         --enable-pserver \
236         --enable-ext \
237         --enable-rsh \
238         --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
239         --enable-sserver \
240         --enable-sspi \
241         --enable-enum \
242         --enable-rcs
243
244 %{__make}
245
246 cd doc
247 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
248 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
249 xmlto --skip-validation -o html_cvs html cvs2.dbk
250 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
251
252 %install
253 rm -rf $RPM_BUILD_ROOT
254 install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
255
256 %{__make} install -j1 \
257         DESTDIR=$RPM_BUILD_ROOT
258
259 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
260 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
261 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
262
263 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
264 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
265
266 %clean
267 rm -rf $RPM_BUILD_ROOT
268
269 %post -p /sbin/ldconfig
270 %postun -p /sbin/ldconfig
271
272 %post cvslockd
273 /sbin/chkconfig --add cvslockd
274 %service cvslockd restart
275
276 %preun cvslockd
277 if [ "$1" = "0" ]; then
278         %service cvslockd stop
279         /sbin/chkconfig --del cvslockd
280 fi
281
282 %pre pserver
283 %groupadd -f -g 52 cvs
284 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
285
286 %post pserver
287 if [ "$1" = "1" ]; then
288         # Initialise repository
289         %{_bindir}/cvs -d :local:%{_cvs_root} init
290         chown -R cvs:cvs %{_cvs_root}/CVSROOT
291 fi
292 %service -q rc-inetd reload
293
294 %postun pserver
295 if [ "$1" = "0" ]; then
296         %userremove cvs
297         %groupremove cvs
298         %service -q rc-inetd reload
299 fi
300
301 %files
302 %defattr(644,root,root,755)
303 %doc doc/html_cvsclient
304 %doc AUTHORS README
305 %doc triggers/examples/*.txt
306 %dir %{_sysconfdir}/cvsnt
307 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
308 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
309 %attr(755,root,root) %{_bindir}/cvs
310 %attr(755,root,root) %{_bindir}/cvsnt
311 %attr(755,root,root) %{_bindir}/cvsscript
312 %dir %{_libdir}/cvsnt
313 %dir %{_libdir}/cvsnt/database
314 %dir %{_libdir}/cvsnt/mdns
315 %attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
316 %{_libdir}/cvsnt/mdns/*.la
317 %dir %{_libdir}/cvsnt/protocols
318 %attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
319 %attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
320 %attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
321 %attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
322 %{_libdir}/cvsnt/protocols/enum.la
323 %{_libdir}/cvsnt/protocols/ext.la
324 %{_libdir}/cvsnt/protocols/pserver.la
325 %{_libdir}/cvsnt/protocols/server.la
326 %dir %{_libdir}/cvsnt/triggers
327 %attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
328 %{_libdir}/cvsnt/triggers/*.la
329 %dir %{_libdir}/cvsnt/xdiff
330 %attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
331 %{_libdir}/cvsnt/xdiff/*.la
332 %attr(755,root,root) %{_libdir}/lib*-*.so*
333 %{_mandir}/man[15]/*
334
335 %files pserver
336 %defattr(644,root,root,755)
337 %doc doc/html_cvs
338 %attr(770,root,cvs) %dir %{_cvs_root}
339 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
340
341 %files cvslockd
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_bindir}/cvslockd
344 %attr(754,root,root) /etc/rc.d/init.d/cvslockd
345
346 %files database-mysql
347 %defattr(644,root,root,755)
348 %doc triggers/sql/*_mysql.sql
349 %attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
350 %{_libdir}/cvsnt/database/mysql.la
351
352 %files database-odbc
353 %defattr(644,root,root,755)
354 %doc triggers/sql/*_oracle.sql
355 %doc triggers/sql/*_mssql.sql
356 %attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
357 %{_libdir}/cvsnt/database/odbc.la
358
359 %files database-postgres
360 %defattr(644,root,root,755)
361 %doc triggers/sql/*_postgres.sql
362 %attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
363 %{_libdir}/cvsnt/database/postgres.la
364
365 %files database-sqlite
366 %defattr(644,root,root,755)
367 %doc triggers/sql/*_sqlite.sql
368 %attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
369 %{_libdir}/cvsnt/database/sqlite.la
370
371 %if %{with kerberos}
372 %files protocol-gserver
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
375 %{_libdir}/cvsnt/protocols/gserver.la
376 %endif
377
378 %files protocol-sserver
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
381 %{_libdir}/cvsnt/protocols/sserver.la
382
383 %files protocol-sspi
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
386 %{_libdir}/cvsnt/protocols/sspi.la
387
388 #%files protocol-sync
389 #%defattr(644,root,root,755)
390 #%attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
391 #%{_libdir}/cvsnt/protocols/sync.la
392
393 %files rcs
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_bindir}/co
396 %attr(755,root,root) %{_bindir}/rcsdiff
397 %attr(755,root,root) %{_bindir}/rlog
This page took 0.092262 seconds and 3 git commands to generate.