- rel 1
[packages/ceph.git] / ceph.spec
1 Summary:        User space components of the Ceph file system
2 Name:           ceph
3 Version:        0.41
4 Release:        1
5 License:        LGPLv2
6 Group:          Base
7 Source0:        http://ceph.newdream.net/download/%{name}-%{version}.tar.bz2
8 # Source0-md5:  12730a25f7c82549a08b0d8b8c09d69f
9 Patch0:         %{name}-init-fix.patch
10 Patch1:         %{name}.logrotate.patch
11 Patch2:         %{name}-compile-fixes.patch
12 Patch3:         %{name}-link.patch
13 URL:            http://ceph.newdream.net/
14 BuildRequires:  boost-devel
15 BuildRequires:  cryptopp-devel
16 BuildRequires:  curl-devel
17 BuildRequires:  expat-devel
18 BuildRequires:  fcgi-devel
19 BuildRequires:  gdbm-devel
20 BuildRequires:  google-perftools-devel
21 BuildRequires:  gtk+2-devel
22 BuildRequires:  gtkmm-devel
23 BuildRequires:  keyutils-devel
24 BuildRequires:  libatomic_ops
25 BuildRequires:  libedit-devel
26 BuildRequires:  libfuse-devel
27 BuildRequires:  libltdl-devel
28 BuildRequires:  libstdc++-devel
29 BuildRequires:  libtcmalloc-devel
30 BuildRequires:  libtool
31 BuildRequires:  libuuid-devel
32 BuildRequires:  perl
33 BuildRequires:  pkgconfig
34 BuildRequires:  rpmbuild(macros) >= 1.228
35 Requires(post,preun):   /sbin/chkconfig
36 Requires(preun):        rc-scripts
37 Requires:       %{name}-libs = %{version}-%{release}
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %define         skip_post_check_so      libcls_.*.so.*
41
42 %description
43 Ceph is a distributed network file system designed to provide
44 excellent performance, reliability, and scalability.
45
46 %package libs
47 Summary:        Ceph shared libraries
48 Group:          Libraries
49
50 %description libs
51 Ceph shared libraries.
52
53 %package -n python-ceph
54 Summary:        Ceph python bindings
55 Group:          Development/Languages/Python
56 Requires:       %{name}-libs = %{version}-%{release}
57
58 %description -n python-ceph
59 Ceph python bindings.
60
61 %package fuse
62 Summary:        Ceph fuse-based client
63 Group:          Base
64 Requires:       %{name} = %{version}-%{release}
65
66 %description fuse
67 FUSE based client for Ceph distributed network file system
68
69 %package devel
70 Summary:        Ceph headers
71 License:        LGPLv2
72 Group:          Development/Libraries
73 Requires:       %{name}-libs = %{version}-%{release}
74
75 %description devel
76 This package contains the headers needed to develop programs that use
77 Ceph.
78
79 %package static
80 Summary:        Ceph static libraries
81 License:        LGPLv2
82 Group:          Development/Libraries
83 Requires:       %{name}-devel = %{version}-%{release}
84
85 %description static
86 This package contains static Ceph libraries.
87
88 %package radosgw
89 Summary:        rados REST gateway
90 Group:          Development/Libraries
91 #Requires:      apache-mod_fcgid
92
93 %description radosgw
94 radosgw is an S3 HTTP REST gateway for the RADOS object store. It is
95 implemented as a FastCGI module using libfcgi, and can be used in
96 conjunction with any FastCGI capable web server.
97
98 %package obsync
99 Summary:        synchronize data between cloud object storage providers or a local directory
100 License:        LGPLv2
101 Group:          Applications/Networking
102 Requires:       python
103 Requires:       python-boto
104
105 %description obsync
106 obsync is a tool to synchronize objects between cloud object storage
107 providers, such as Amazon S3 (or compatible services), a Ceph RADOS
108 cluster, or a local directory.
109
110 %package gcephtool
111 Summary:        Ceph graphical monitoring tool
112 License:        LGPLv2
113 Group:          Base
114
115 %description gcephtool
116 gcephtool is a graphical monitor for the clusters running the Ceph
117 distributed file system.
118
119 %prep
120 %setup -q
121 %patch0 -p1
122 %patch1 -p0
123 %patch2 -p1
124 %patch3 -p1
125
126 %build
127 %{__libtoolize}
128 %{__aclocal}
129 %{__autoconf}
130 %{__autoheader}
131 %{__automake}
132 %configure \
133         --sbindir=/sbin \
134         --without-hadoop \
135         --with-radosgw \
136         --with-gtk2
137
138 %{__make} V=1
139
140 %install
141 rm -rf $RPM_BUILD_ROOT
142 install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/tmp,log/ceph/stat} \
143         $RPM_BUILD_ROOT%{_sysconfdir}/{ceph,bash_completion.d,logrotate.d,rc.d/init.d}
144 %{__make} install \
145         DESTDIR=$RPM_BUILD_ROOT
146
147 install -p src/init-ceph $RPM_BUILD_ROOT/etc/rc.d/init.d/ceph
148 install -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
149
150 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rados-classes/*.{a,la}
151
152 %clean
153 rm -rf $RPM_BUILD_ROOT
154
155 %post
156 /sbin/chkconfig --add ceph
157 %service ceph restart
158
159 %preun
160 if [ "$1" = "0" ] ; then
161         %service ceph stop
162         /sbin/chkconfig --del ceph
163 fi
164
165 %post libs -p /sbin/ldconfig
166 %postun libs -p /sbin/ldconfig
167
168 %files
169 %defattr(644,root,root,755)
170 %doc README src/sample.ceph.conf src/sample.fetch_config
171 %attr(754,root,root) /etc/rc.d/init.d/ceph
172 %dir %{_sysconfdir}/ceph
173 %attr(755,root,root) %{_bindir}/ceph
174 %attr(755,root,root) %{_bindir}/cephfs
175 %attr(755,root,root) %{_bindir}/ceph-conf
176 %attr(755,root,root) %{_bindir}/ceph-clsinfo
177 %attr(755,root,root) %{_bindir}/crushtool
178 %attr(755,root,root) %{_bindir}/monmaptool
179 %attr(755,root,root) %{_bindir}/osdmaptool
180 %attr(755,root,root) %{_bindir}/ceph-authtool
181 %attr(755,root,root) %{_bindir}/ceph-syn
182 %attr(755,root,root) %{_bindir}/ceph-run
183 %attr(755,root,root) %{_bindir}/ceph-mon
184 %attr(755,root,root) %{_bindir}/ceph-mds
185 %attr(755,root,root) %{_bindir}/ceph-osd
186 %attr(755,root,root) %{_bindir}/ceph-rbdnamer
187 %attr(755,root,root) %{_bindir}/librados-config
188 %attr(755,root,root) %{_bindir}/rados
189 %attr(755,root,root) %{_bindir}/rbd
190 %attr(755,root,root) %{_bindir}/ceph-debugpack
191 %attr(755,root,root) %{_bindir}/ceph-coverage
192 %dir %{_libdir}/rados-classes
193 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so*
194 %attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so*
195 %attr(755,root,root) /sbin/mkcephfs
196 %attr(755,root,root) /sbin/mount.ceph
197 %dir %{_libdir}/ceph
198 %attr(755,root,root) %{_libdir}/ceph/ceph_common.sh
199 %config(noreplace) /etc/logrotate.d/ceph
200 %config(noreplace) %{_sysconfdir}/bash_completion.d/rados
201 %config(noreplace) %{_sysconfdir}/bash_completion.d/ceph
202 %config(noreplace) %{_sysconfdir}/bash_completion.d/rbd
203 %{_mandir}/man8/ceph.8*
204 %{_mandir}/man8/ceph-authtool.8*
205 %{_mandir}/man8/ceph-clsinfo.8*
206 %{_mandir}/man8/ceph-conf.8*
207 %{_mandir}/man8/ceph-debugpack.8*
208 %{_mandir}/man8/ceph-mds.8*
209 %{_mandir}/man8/ceph-mon.8*
210 %{_mandir}/man8/ceph-osd.8*
211 %{_mandir}/man8/ceph-run.8*
212 %{_mandir}/man8/ceph-syn.8*
213 %{_mandir}/man8/cephfs.8*
214 %{_mandir}/man8/crushtool.8*
215 %{_mandir}/man8/librados-config.8*
216 %{_mandir}/man8/mkcephfs.8*
217 %{_mandir}/man8/monmaptool.8*
218 %{_mandir}/man8/mount.ceph.8*
219 %{_mandir}/man8/osdmaptool.8*
220 %{_mandir}/man8/rados.8*
221 %{_mandir}/man8/radosgw.8*
222 %{_mandir}/man8/radosgw-admin.8*
223 %{_mandir}/man8/rbd.8*
224 %dir %{_localstatedir}/lib/ceph
225 %dir %{_localstatedir}/lib/ceph/tmp
226 %dir %{_localstatedir}/log/ceph
227
228 %files libs
229 %defattr(644,root,root,755)
230 %attr(755,root,root) %{_libdir}/libcephfs.so.*.*.*
231 %attr(755,root,root) %ghost %{_libdir}/libcephfs.so.1
232 %attr(755,root,root) %{_libdir}/librados.so.*.*.*
233 %attr(755,root,root) %ghost %{_libdir}/librados.so.2
234 %attr(755,root,root) %{_libdir}/librbd.so.*.*.*
235 %attr(755,root,root) %ghost %{_libdir}/librbd.so.1
236 %attr(755,root,root) %{_libdir}/librgw.so.*.*.*
237 %attr(755,root,root) %ghost %{_libdir}/librgw.so.1
238
239 %files -n python-ceph
240 %defattr(644,root,root,755)
241 %{py_sitescriptdir}/rados.py*
242 %{py_sitescriptdir}/rgw.py*
243 %{py_sitescriptdir}/rbd.py*
244
245 %files fuse
246 %defattr(644,root,root,755)
247 %doc COPYING
248 %attr(755,root,root) %{_bindir}/ceph-fuse
249 %{_mandir}/man8/ceph-fuse.8*
250
251 %files devel
252 %defattr(644,root,root,755)
253 %{_includedir}/cephfs
254 %{_includedir}/crush
255 %{_includedir}/rados
256 %{_includedir}/rbd
257 %attr(755,root,root) %{_libdir}/libcephfs.so
258 %attr(755,root,root) %{_libdir}/librados.so
259 %attr(755,root,root) %{_libdir}/librgw.so
260 %attr(755,root,root) %{_libdir}/librbd.so
261 %{_libdir}/libcephfs.la
262 %{_libdir}/librados.la
263 %{_libdir}/librgw.la
264 %{_libdir}/librbd.la
265
266 %files static
267 %defattr(644,root,root,755)
268 %{_libdir}/libcephfs.a
269 %{_libdir}/librados.a
270 %{_libdir}/librgw.a
271 %{_libdir}/librbd.a
272
273 %files gcephtool
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_bindir}/gceph
276 %{_datadir}/ceph_tool
277
278 %files radosgw
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_bindir}/radosgw
281 %attr(755,root,root) %{_bindir}/radosgw-admin
282 %{_sysconfdir}/bash_completion.d/radosgw-admin
283
284 %files obsync
285 %defattr(644,root,root,755)
286 %attr(755,root,root) %{_bindir}/obsync
287 %attr(755,root,root) %{_bindir}/boto_tool
This page took 0.085119 seconds and 3 git commands to generate.