]> git.pld-linux.org Git - packages/cvsnt.git/blob - cvsnt.spec
- make -jN problem, unpackaged files
[packages/cvsnt.git] / cvsnt.spec
1 #
2 # Conditional build:
3 %bcond_without  kerberos                # build without krb5 support
4 #
5 # TODO:
6 # - check server mode and default config
7 # - create cvsnt-database-xyz and cvsnt-protocol-xyz subpackages
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.03.2382
19 Release:        0.1
20 License:        GPL v2+/LGPL v2+
21 Group:          Development/Version Control
22 Source0:        http://unifacecm.de/archive/%{name}-%{version}.tar.gz
23 # Source0-md5:  4f7d2e54c5529829a43b089f9b37c86e
24 Source1:        %{name}.inetd
25 Source2:        %{name}-cvslockd.init
26 URL:            http://www.cvsnt.org/
27 BuildRequires:  autoconf >= 2.58
28 BuildRequires:  automake >= 1:1.7.9
29 BuildRequires:  avahi-compat-libdns_sd-devel
30 BuildRequires:  docbook-style-xsl
31 BuildRequires:  expat-devel
32 %{?with_kerberos:BuildRequires: krb5-devel}
33 BuildRequires:  libstdc++-devel
34 BuildRequires:  mysql-devel
35 BuildRequires:  openssl-devel
36 BuildRequires:  pam-devel
37 BuildRequires:  pcre-devel
38 BuildRequires:  postgresql-devel
39 BuildRequires:  rpmbuild(macros) >= 1.268
40 BuildRequires:  sqlite3-devel
41 BuildRequires:  texinfo
42 BuildRequires:  unixODBC-devel
43 BuildRequires:  xmlto
44 BuildRequires:  zlib-devel
45 Provides:       cvs-client = %{version}
46 Obsoletes:      cvs-client
47 Obsoletes:      cvs-nserver-client
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _cvs_root       /var/lib/cvs
51
52 %description
53 CVS means Concurrent Version System; it is a version control system
54 which can record the history of your files (usually, but not always,
55 source code). CVS only stores the differences between versions,
56 instead of every version of every file you've ever created. CVS also
57 keeps a log of who and when made some changes and why they occurred,
58 among other aspects.
59
60 CVSNT Server features include:
61 - Access control for securing projects and branches.
62 - Detailed audit and metrics recorded in an SQL database.
63 - Authentication with Active Directory.
64 - Tracking everything about the change - including whether it was
65   merged from somewhere, belongs to a problem report or was part of a
66   change set.
67 - A control panel to manage email notification of changes, defect
68   tracking integration, and more.
69 - Integrated repository synchronisation (for fail-over servers).
70 - Change set support (group changes by defect number).
71 - Supports UNICODE UTF-8/UCS-2 files and multi-lingual filenames.
72 - When operating in UTF-8 (Unicode) mode it can automatically
73   translate filename encoding for any client.
74 - Plug-ins for email notification.
75 - Helps make merging branches easier with its "Mergepoint" feature.
76 - Native servers available for Mac OS X, Windows, Linux, Solaris,
77   HPUX.
78 - Supports reserved and unreserved versioning methodologies.
79 - CVSAPI for integration into 3rd party products.
80 - Script, COM and 3GL interface for triggers and integration into 3rd
81   party tools (such as defect tracking)
82
83 %package pserver
84 Summary:        rc-inetd config files to run CVS pserver
85 Summary(pl.UTF-8):      Pliki konfiguracyjne rc-inetd do postawienia pservera CVS
86 Group:          Development/Version Control
87 Requires(post): fileutils
88 Requires(postun):       /usr/sbin/groupdel
89 Requires(postun):       /usr/sbin/userdel
90 Requires(pre):  /bin/id
91 Requires(pre):  /usr/bin/getgid
92 Requires(pre):  /usr/sbin/groupadd
93 Requires(pre):  /usr/sbin/useradd
94 Requires:       %{name} = %{version}-%{release}
95 Requires:       rc-inetd
96 Provides:       group(cvs)
97 Provides:       user(cvs)
98 Obsoletes:      cvs-nserver-common
99 Obsoletes:      cvs-nserver-nserver
100 Obsoletes:      cvs-nserver-pserver
101
102 %description pserver
103 Config files for rc-inetd that are necessary to run CVS in pserver
104 mode.
105
106 %prep
107 %setup -q
108
109 %build
110 %configure \
111         --enable-mdns \
112         --enable-sqlite \
113         --enable-mysql \
114         --enable-odbc \
115         --enable-postgres \
116         --enable-pam \
117         --enable-server \
118         --enable-lockserver \
119         --enable-pserver \
120         --enable-ext \
121         --enable-rsh \
122         --enable-gserver \
123         --enable-sserver \
124         --enable-sspi \
125         --enable-enum \
126         --disable-rcs
127
128 %{__make}
129
130 cd doc
131 sed "s/__VERSION__/%{version}/" < cvs.dbk > cvs2.dbk
132 sed "s/__VERSION__/%{version}/" < cvsclient.dbk > cvsclient2.dbk
133 xmlto --skip-validation -o html_cvs html cvs2.dbk
134 xmlto --skip-validation -o html_cvsclient html cvsclient2.dbk
135
136 %install
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig/rc-inetd},%{_cvs_root}}
139
140 %{__make} install -j1 \
141         DESTDIR=$RPM_BUILD_ROOT
142
143 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/%{name}
144 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cvslockd
145
146 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/PServer{.example,}
147 mv $RPM_BUILD_ROOT%{_sysconfdir}/cvsnt/Plugins{.example,}
148
149 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post
153 /sbin/ldconfig
154 /sbin/chkconfig --add cvslockd
155 %service cvslockd restart
156
157 %preun
158 if [ "$1" = "0" ]; then
159         %service cvslockd stop
160         /sbin/chkconfig --del cvslockd
161 fi
162
163 %postun -p /sbin/ldconfig
164
165 %pre pserver
166 %groupadd -f -g 52 cvs
167 %useradd -g cvs -d %{_cvs_root} -u 52 -s /bin/false cvs
168
169 %post pserver
170 if [ "$1" = "1" ]; then
171         # Initialise repository
172         %{_bindir}/cvs -d :local:%{_cvs_root} init
173         chown -R cvs:cvs %{_cvs_root}/CVSROOT
174 fi
175 %service -q rc-inetd reload
176
177 %postun pserver
178 if [ "$1" = "0" ]; then
179         %userremove cvs
180         %groupremove cvs
181         %service -q rc-inetd reload
182 fi
183
184 %files
185 %defattr(644,root,root,755)
186 %doc doc/html_cvsclient
187 %doc AUTHORS FAQ README
188 %dir %{_sysconfdir}/cvsnt
189 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsnt/*
190 %attr(754,root,root) /etc/rc.d/init.d/cvslockd
191 %attr(755,root,root) %{_bindir}/*
192 %dir %{_libdir}/cvsnt
193 %dir %{_libdir}/cvsnt/*
194 %attr(755,root,root) %{_libdir}/cvsnt/*/*.so
195 %{_libdir}/cvsnt/*/*.la
196 %attr(755,root,root) %{_libdir}/lib*-*.so*
197 %{_mandir}/man[15]/*
198
199 %files pserver
200 %defattr(644,root,root,755)
201 %doc doc/html_cvs
202 %attr(770,root,cvs) %dir %{_cvs_root}
203 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cvsnt
This page took 0.0945 seconds and 4 git commands to generate.