]>
Commit | Line | Data |
---|---|---|
c3a69507 ER |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without kerberos # build without krb5 support | |
4 | # | |
0dfc8e39 | 5 | # TODO: |
7a8b94dc | 6 | # - use external libltdl |
011fcd65 | 7 | # - check server mode and default config |
4a8a65b9 ER |
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 | |
0dfc8e39 AM |
15 | Summary: Concurrent Versioning System |
16 | Summary(pl.UTF-8): Concurrent Versioning System | |
17 | Name: cvsnt | |
5223dac3 | 18 | Version: 2.5.04.2980 |
0dfc8e39 AM |
19 | Release: 0.1 |
20 | License: GPL v2+/LGPL v2+ | |
21 | Group: Development/Version Control | |
5223dac3 AM |
22 | Source0: http://www.cvsnt.org/archive/%{name}-%{version}.tar.gz |
23 | # Source0-md5: 2f82c5b76cd450edcde714eed52b6377 | |
0dfc8e39 AM |
24 | Source1: %{name}.inetd |
25 | Source2: %{name}-cvslockd.init | |
5223dac3 | 26 | Source3: %{name}.pam |
0dfc8e39 AM |
27 | URL: http://www.cvsnt.org/ |
28 | BuildRequires: autoconf >= 2.58 | |
29 | BuildRequires: automake >= 1:1.7.9 | |
0dfc8e39 AM |
30 | BuildRequires: docbook-style-xsl |
31 | BuildRequires: expat-devel | |
211cc332 | 32 | BuildRequires: howl-devel |
c3a69507 | 33 | %{?with_kerberos:BuildRequires: krb5-devel} |
0dfc8e39 | 34 | BuildRequires: libstdc++-devel |
211cc332 | 35 | BuildRequires: libxml2-devel |
0dfc8e39 AM |
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 | |
0dfc8e39 AM |
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 | ||
7a8b94dc AM |
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 | ||
2cc4bba8 AM |
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 | ||
77cd9e4e AM |
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 | ||
b503e563 AM |
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 | ||
0dfc8e39 AM |
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 \ | |
2cc4bba8 | 187 | --%{?with_kerberos:en}%{!?with_kerberos:dis}able-gserver \ |
0dfc8e39 AM |
188 | --enable-sserver \ |
189 | --enable-sspi \ | |
190 | --enable-enum \ | |
b503e563 | 191 | --enable-rcs |
0dfc8e39 AM |
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 | |
5223dac3 | 203 | install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}} |
0dfc8e39 | 204 | |
4a8a65b9 | 205 | %{__make} install -j1 \ |
0dfc8e39 AM |
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 | |
5223dac3 | 210 | install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/cvsnt |
0dfc8e39 | 211 | |
c3a69507 ER |
212 | mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,} |
213 | mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,} | |
0dfc8e39 AM |
214 | |
215 | %clean | |
216 | rm -rf $RPM_BUILD_ROOT | |
217 | ||
011fcd65 AM |
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 | ||
0dfc8e39 AM |
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 | ||
0dfc8e39 AM |
250 | %files |
251 | %defattr(644,root,root,755) | |
252 | %doc doc/html_cvsclient | |
253 | %doc AUTHORS FAQ README | |
2cc4bba8 | 254 | %doc triggers/examples/*.txt |
0dfc8e39 | 255 | %dir %{_sysconfdir}/cvsnt |
5223dac3 | 256 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cvsnt |
0dfc8e39 | 257 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/* |
011fcd65 | 258 | %attr(754,root,root) /etc/rc.d/init.d/cvslockd |
b503e563 AM |
259 | %attr(755,root,root) %{_bindir}/cvs |
260 | %attr(755,root,root) %{_bindir}/cvslockd | |
261 | %attr(755,root,root) %{_bindir}/cvsnt | |
77cd9e4e | 262 | %attr(755,root,root) %{_bindir}/cvsscript |
0dfc8e39 | 263 | %dir %{_libdir}/cvsnt |
906b183f AM |
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 | |
2cc4bba8 AM |
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 | |
906b183f AM |
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 | |
0dfc8e39 AM |
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 | |
7a8b94dc AM |
293 | |
294 | %files database-mysql | |
295 | %defattr(644,root,root,755) | |
2cc4bba8 | 296 | %doc triggers/sql/*_mysql.sql |
b503e563 AM |
297 | %attr(755,root,root) %{_libdir}/cvsnt/database/mysql.so |
298 | %{_libdir}/cvsnt/database/mysql.la | |
7a8b94dc AM |
299 | |
300 | %files database-odbc | |
301 | %defattr(644,root,root,755) | |
2cc4bba8 AM |
302 | %doc triggers/sql/*_oracle.sql |
303 | %doc triggers/sql/*_mssql.sql | |
b503e563 AM |
304 | %attr(755,root,root) %{_libdir}/cvsnt/database/odbc.so |
305 | %{_libdir}/cvsnt/database/odbc.la | |
7a8b94dc AM |
306 | |
307 | %files database-postgres | |
308 | %defattr(644,root,root,755) | |
2cc4bba8 | 309 | %doc triggers/sql/*_postgres.sql |
b503e563 AM |
310 | %attr(755,root,root) %{_libdir}/cvsnt/database/postgres.so |
311 | %{_libdir}/cvsnt/database/postgres.la | |
7a8b94dc AM |
312 | |
313 | %files database-sqlite | |
314 | %defattr(644,root,root,755) | |
2cc4bba8 | 315 | %doc triggers/sql/*_sqlite.sql |
b503e563 AM |
316 | %attr(755,root,root) %{_libdir}/cvsnt/database/sqlite.so |
317 | %{_libdir}/cvsnt/database/sqlite.la | |
2cc4bba8 AM |
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 | |
b503e563 | 330 | |
77cd9e4e AM |
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 | ||
b503e563 AM |
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 |