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