]> git.pld-linux.org Git - packages/cvsnt.git/blob - cvsnt.spec
- added ipvflags patch.
[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.05.3240
26 Release:        1
27 License:        GPL v2+/LGPL v2+
28 Group:          Development/Version Control
29 # http://www.cvsnt.org/wiki/Download
30 Source0:        http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz
31 # Source0-md5:  474b57dcdd8da46f5eac47e6adbce068
32 Source1:        %{name}.inetd
33 Source2:        %{name}-cvslockd.init
34 Source3:        %{name}.pam
35 Patch0:         %{name}-system-ltdl.patch
36 Patch1:         %{name}-system-pcre.patch
37 Patch2:         %{name}-system-zlib.patch
38 Patch3:         %{name}-system-ntlm.patch
39 Patch4:         %{name}-crypt.patch
40 Patch5:         %{name}-build.patch
41 Patch6:         %{name}-nospam.patch
42 Patch7:         %{name}-ipv6.patch
43 Patch8:         %{name}-ipvflags.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: krb5-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:       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 database-mysql
128 Summary:        MySQL Database support for CVSNT
129 Group:          Development/Version Control
130 Requires:       %{name} = %{version}-%{release}
131
132 %description database-mysql
133 MySQL Database support for CVSNT.
134
135 %package database-odbc
136 Summary:        ODBC support for CVSNT
137 Group:          Development/Version Control
138 Requires:       %{name} = %{version}-%{release}
139
140 %description database-odbc
141 ODBC support for CVSNT.
142
143 %package database-postgres
144 Summary:        PostgreSQL Database support for CVSNT
145 Group:          Development/Version Control
146 Requires:       %{name} = %{version}-%{release}
147
148 %description database-postgres
149 PostgreSQL Database support for CVSNT.
150
151 %package database-sqlite
152 Summary:        SQLite Database support for CVSNT
153 Group:          Development/Version Control
154 Requires:       %{name} = %{version}-%{release}
155
156 %description database-sqlite
157 SQLite Database support for CVSNT.
158
159 %package protocol-gserver
160 Summary:        gserver (Kerberos GSS) protocol support for CVSNT
161 Group:          Development/Version Control
162 Requires:       %{name} = %{version}-%{release}
163
164 %description protocol-gserver
165 gserver (Kerberos GSS) support for CVSNT.
166
167 %package protocol-sserver
168 Summary:        sserver (SSL) procotol support for for CVSNT
169 Group:          Development/Version Control
170 Requires:       %{name} = %{version}-%{release}
171
172 %description protocol-sserver
173 sserver (SSL) protocol support for CVSNT.
174
175 %package protocol-sspi
176 Summary:        SSPI procotol support for for CVSNT
177 Group:          Development/Version Control
178 Requires:       %{name} = %{version}-%{release}
179
180 %description protocol-sspi
181 SSPI protocol support for CVSNT.
182
183 %package protocol-sync
184 Summary:        sync procotol support for for CVSNT
185 Group:          Development/Version Control
186 Requires:       %{name} = %{version}-%{release}
187
188 %description protocol-sync
189 sync protocol support for CVSNT.
190
191 %package rcs
192 Summary:        CVSNT version of RCS tools
193 Group:          Development/Version Control
194 Requires:       %{name} = %{version}-%{release}
195 Provides:       rcs
196
197 %description rcs
198 CVSNT version of RCS tools.
199
200 %prep
201 %setup -q
202 %patch0 -p1
203 %patch1 -p1
204 %patch2 -p1
205 %patch3 -p1
206 %patch4 -p0
207 %patch5 -p1
208 %patch6 -p1
209 %patch7 -p1
210 %patch8 -p1
211
212 rm -rf pcre libltdl zlib protocols/ntlm
213
214 %build
215 %{__libtoolize}
216 %{__aclocal}
217 %{__autoconf}
218 %{__automake}
219 %configure \
220         --enable-mdns \
221         --enable-sqlite \
222         --enable-mysql \
223         --enable-odbc \
224         --enable-postgres \
225         --enable-pam \
226         --enable-server \
227         --enable-lockserver \
228         --enable-pserver \
229         --enable-ext \
230         --enable-rsh \
231         --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \
232         --enable-sserver \
233         --enable-sspi \
234         --enable-enum \
235         --enable-rcs
236
237 %{__make}
238
239 cd doc
240 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
241 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
242 xmlto --skip-validation -o html_cvs html cvs2.dbk
243 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
244
245 %install
246 rm -rf $RPM_BUILD_ROOT
247 install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
248
249 %{__make} install -j1 \
250         DESTDIR=$RPM_BUILD_ROOT
251
252 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
253 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
254 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt
255
256 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
257 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
258
259 %clean
260 rm -rf $RPM_BUILD_ROOT
261
262 %post
263 /sbin/ldconfig
264 /sbin/chkconfig --add cvslockd
265 %service cvslockd restart
266
267 %preun
268 if [ "$1" = "0" ]; then
269         %service cvslockd stop
270         /sbin/chkconfig --del cvslockd
271 fi
272
273 %postun -p /sbin/ldconfig
274
275 %pre pserver
276 %groupadd -f -g 52 cvs
277 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
278
279 %post pserver
280 if [ "$1" = "1" ]; then
281         # Initialise repository
282         %{_bindir}/cvs -d :local:%{_cvs_root} init
283         chown -R cvs:cvs %{_cvs_root}/CVSROOT
284 fi
285 %service -q rc-inetd reload
286
287 %postun pserver
288 if [ "$1" = "0" ]; then
289         %userremove cvs
290         %groupremove cvs
291         %service -q rc-inetd reload
292 fi
293
294 %files
295 %defattr(644,root,root,755)
296 %doc doc/html_cvsclient
297 %doc AUTHORS FAQ README
298 %doc triggers/examples/*.txt
299 %dir %{_sysconfdir}/cvsnt
300 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt
301 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
302 %attr(754,root,root) /etc/rc.d/init.d/cvslockd
303 %attr(755,root,root) %{_bindir}/cvs
304 %attr(755,root,root) %{_bindir}/cvslockd
305 %attr(755,root,root) %{_bindir}/cvsnt
306 %attr(755,root,root) %{_bindir}/cvsscript
307 %dir %{_libdir}/cvsnt
308 %dir %{_libdir}/cvsnt/database
309 %dir %{_libdir}/cvsnt/mdns
310 %attr(755,root,root) %{_libdir}/cvsnt/mdns/*.so
311 %{_libdir}/cvsnt/mdns/*.la
312 %dir %{_libdir}/cvsnt/protocols
313 %attr(755,root,root) %{_libdir}/cvsnt/protocols/enum.so
314 %attr(755,root,root) %{_libdir}/cvsnt/protocols/ext.so
315 %attr(755,root,root) %{_libdir}/cvsnt/protocols/pserver.so
316 %attr(755,root,root) %{_libdir}/cvsnt/protocols/server.so
317 %{_libdir}/cvsnt/protocols/enum.la
318 %{_libdir}/cvsnt/protocols/ext.la
319 %{_libdir}/cvsnt/protocols/pserver.la
320 %{_libdir}/cvsnt/protocols/server.la
321 %dir %{_libdir}/cvsnt/triggers
322 %attr(755,root,root) %{_libdir}/cvsnt/triggers/*.so
323 %{_libdir}/cvsnt/triggers/*.la
324 %dir %{_libdir}/cvsnt/xdiff
325 %attr(755,root,root) %{_libdir}/cvsnt/xdiff/*.so
326 %{_libdir}/cvsnt/xdiff/*.la
327 %attr(755,root,root) %{_libdir}/lib*-*.so*
328 %{_mandir}/man[15]/*
329
330 %files pserver
331 %defattr(644,root,root,755)
332 %doc doc/html_cvs
333 %attr(770,root,cvs) %dir %{_cvs_root}
334 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
335
336 %files database-mysql
337 %defattr(644,root,root,755)
338 %doc triggers/sql/*_mysql.sql
339 %attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so
340 %{_libdir}/cvsnt/database/mysql.la
341
342 %files database-odbc
343 %defattr(644,root,root,755)
344 %doc triggers/sql/*_oracle.sql
345 %doc triggers/sql/*_mssql.sql
346 %attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so
347 %{_libdir}/cvsnt/database/odbc.la
348
349 %files database-postgres
350 %defattr(644,root,root,755)
351 %doc triggers/sql/*_postgres.sql
352 %attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so
353 %{_libdir}/cvsnt/database/postgres.la
354
355 %files database-sqlite
356 %defattr(644,root,root,755)
357 %doc triggers/sql/*_sqlite.sql
358 %attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so
359 %{_libdir}/cvsnt/database/sqlite.la
360
361 %if %{with kerberos}
362 %files protocol-gserver
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/cvsnt/protocols/gserver.so
365 %{_libdir}/cvsnt/protocols/gserver.la
366 %endif
367
368 %files protocol-sserver
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sserver.so
371 %{_libdir}/cvsnt/protocols/sserver.la
372
373 %files protocol-sspi
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sspi.so
376 %{_libdir}/cvsnt/protocols/sspi.la
377
378 %files protocol-sync
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_libdir}/cvsnt/protocols/sync.so
381 %{_libdir}/cvsnt/protocols/sync.la
382
383 %files rcs
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_bindir}/co
386 %attr(755,root,root) %{_bindir}/rcsdiff
387 %attr(755,root,root) %{_bindir}/rlog
This page took 0.134277 seconds and 4 git commands to generate.