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