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