2 # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID}
3 # - Check transport-ibverbs package and ibverbs bcond
4 # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd
5 # - package /etc/glusterfs/glusterfs-logrotate as logrotate config
6 # - package in proper emacs/vim locations:
7 # /usr/share/doc/glusterfs/glusterfs-mode.el
8 # /usr/share/doc/glusterfs/glusterfs.vim
11 %bcond_without ibverbs # ib-verbs transport
12 %bcond_without systemtap # systemtap/dtrace support
14 Summary: Clustered File Storage that can scale to peta bytes
15 Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów
19 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
20 Group: Applications/System
21 Source0: http://download.gluster.org/pub/gluster/glusterfs/3.5/LATEST/glusterfs-%{version}.tar.gz
22 # Source0-md5: 359f9f565fedd3069e1ff4f81fcb14e7
23 Source1: glusterfsd.init
24 Patch0: %{name}-link.patch
25 Patch1: %{name}-noquiet.patch
26 Patch2: no-sysctl-on-linux.patch
27 URL: http://www.gluster.org/
28 BuildRequires: autoconf >= 2.50
29 BuildRequires: automake
31 BuildRequires: device-mapper-devel >= 2.02.79
33 BuildRequires: glib2-devel >= 2.0
34 BuildRequires: libaio-devel
35 BuildRequires: libfuse-devel >= 2.6
36 %{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4}
37 BuildRequires: libtool
38 BuildRequires: libxml2-devel >= 1:2.6.19
39 BuildRequires: openssl-devel
40 BuildRequires: pkgconfig
41 BuildRequires: python >= 1:2.4
42 BuildRequires: readline-devel
43 BuildRequires: rpm-pythonprov
44 BuildRequires: rpmbuild(macros) >= 1.228
45 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
46 BuildRequires: zlib-devel >= 1.2.0
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 GlusterFS is a clustered file-system capable of scaling to several
51 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
52 or TCP/IP interconnect into one large parallel network file system.
53 GlusterFS is one of the most sophisticated file system in terms of
54 features and extensibility. It borrows a powerful concept called
55 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
56 userspace and easily manageable.
58 %description -l pl.UTF-8
59 GlusterFS to klastrowy system plików skalujący się do petabajtów.
60 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
61 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
62 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
63 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
64 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
65 jest łatwo zarządzalna.
68 Summary: GlusterFS common files including Translators
69 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
71 Requires: libxml2 >= 1:2.6.19
72 Requires: zlib >= 1.2.0
75 GlusterFS is a clustered file-system capable of scaling to several
76 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
77 or TCP/IP interconnect into one large parallel network file system.
78 GlusterFS is one of the most sophisticated file system in terms of
79 features and extensibility. It borrows a powerful concept called
80 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
81 userspace and easily manageable.
83 This package includes libglusterfs and glusterfs translator modules
84 common to both GlusterFS server and client framework.
86 %description common -l pl.UTF-8
87 GlusterFS to klastrowy system plików skalujący się do petabajtów.
88 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
89 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
90 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
91 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
92 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
93 jest łatwo zarządzalna.
95 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
96 wspólne dla klienta jak i serwera GlusterFS-a.
99 Summary: GlusterFS libraries
100 Summary(pl.UTF-8): Biblioteki GlusterFS-a
102 Conflicts: glusterfs-common < 3.4.0
107 %description libs -l pl.UTF-8
108 Biblioteki GlusterFS-a.
111 Summary: GlusterFS development files
112 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
113 Group: Development/Libraries
114 Requires: %{name}-libs = %{version}-%{release}
117 Requires: openssl-devel
118 Obsoletes: glusterfs-static
121 This package provides the development files for GlusterFS library.
123 %description devel -l pl.UTF-8
124 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
126 %package -n python-gluster
127 Summary: Python interface to GlusterFS libraries
128 Summary(pl.UTF-8): Interfejs Pythona do bibliotek GlusterFS
129 Group: Libraries/Python
130 Requires: %{name}-libs = %{version}-%{release}
132 %description -n python-gluster
133 Python interface to GlusterFS libraries.
135 %description -n python-gluster -l pl.UTF-8
136 Interfejs Pythona do bibliotek GlusterFS.
138 %package transport-ibverbs
139 Summary: InfiniBand "verbs" transport plugins for GlusterFS
140 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
142 Requires: %{name}-common = %{version}-%{release}
143 Requires: libibverbs >= 1.0.4
145 %description transport-ibverbs
146 InfiniBand "verbs" transport plugins for GlusterFS.
148 %description transport-ibverbs -l pl.UTF-8
149 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
152 Summary: GlusterFS Server
153 Summary(pl.UTF-8): Serwer GlusterFS-a
155 Requires: %{name}-client = %{version}-%{release}
156 Requires: %{name}-common = %{version}-%{release}
157 Requires(post,preun): /sbin/chkconfig
161 This package provides the glusterfs server daemon.
163 %description server -l pl.UTF-8
164 Ten pakiet zawiera część serwerową GlusterFS-a.
167 Summary: GlusterFS Client
168 Summary(pl.UTF-8): Klient GlusterFS
169 Group: Applications/System
170 Requires: %{name}-common = %{version}-%{release}
171 Requires: libfuse >= 2.6
174 This package provides the FUSE based GlusterFS client.
176 %description client -l pl.UTF-8
177 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
179 %package resource-agents
180 Summary: OCF Resource Agents for GlusterFS processes
181 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
182 Group: Applications/System
183 Requires: %{name}-server = %{version}-%{release}
184 Requires: resource-agents
186 %description resource-agents
187 OCF Resource Agents for GlusterFS processes.
189 %description resource-agents -l pl.UTF-8
190 Agenci OCF do monitorowania procesów GlusterFS-a.
204 #%{__python} gen-headers.py
205 #%{__mv} gf-error-codes.h libglusterfs/src
207 --disable-silent-rules \
208 --enable-fusermount \
209 %{!?with_ibverbs:--disable-ibverbs} \
210 --enable-systemtap%{!?with_systemtap:=no} \
211 --with-initdir=/etc/rc.d/init.d
216 rm -rf $RPM_BUILD_ROOT
217 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/lib/glusterd}
219 %{__make} -j1 install \
220 DESTDIR=$RPM_BUILD_ROOT
222 # No idea why installs elsewhere than later expects to be
223 mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
225 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
227 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
228 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
229 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la
231 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
232 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/python/syncdaemon/README.md
237 rm -rf $RPM_BUILD_ROOT
239 %post libs -p /sbin/ldconfig
240 %postun libs -p /sbin/ldconfig
243 %defattr(644,root,root,755)
244 %doc ChangeLog NEWS README THANKS
245 %dir %{_sysconfdir}/%{name}
246 %attr(755,root,root) %{_sbindir}/glfsheal
247 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
248 %attr(755,root,root) %{_sbindir}/glusterfs
249 %attr(755,root,root) %{_sbindir}/glusterfsd
251 %dir %{_libdir}/glusterfs
253 %dir %{_libdir}/glusterfs/%{version}
254 %dir %{_libdir}/glusterfs/%{version}/auth
255 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
256 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
258 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
259 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
261 %dir %{_libdir}/glusterfs/%{version}/xlator
262 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
263 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
264 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
265 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
266 %dir %{_libdir}/glusterfs/%{version}/xlator/encryption
267 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so*
268 %dir %{_libdir}/glusterfs/%{version}/xlator/features
269 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so*
270 %dir %{_libdir}/glusterfs/%{version}/xlator/features/glupy
271 %{_libdir}/glusterfs/%{version}/xlator/features/glupy/*.py*
272 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
273 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
274 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
275 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
276 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
277 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
278 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
279 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
280 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so*
281 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
282 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so
283 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
284 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so
285 %dir %{_libdir}/glusterfs/%{version}/xlator/system
286 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
287 %dir %{_libdir}/glusterfs/%{version}/xlator/testing
288 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/features
289 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/features/*.so
290 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance
291 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so
293 %attr(755,root,root) %{_libdir}/glusterfs/gsyncd
294 %attr(755,root,root) %{_libdir}/glusterfs/gverify.sh
295 %attr(755,root,root) %{_libdir}/glusterfs/peer_add_secret_pub
296 %attr(755,root,root) %{_libdir}/glusterfs/peer_gsec_create
298 %dir %{_libdir}/glusterfs/python
299 %dir %{_libdir}/glusterfs/python/syncdaemon
300 # gsyncd.py is a script, the rest probably don't require *.py
301 %{_libdir}/glusterfs/python/syncdaemon/*.py*
303 %dir %{_datadir}/glusterfs
304 %dir %{_datadir}/glusterfs/scripts
305 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
306 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
307 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
308 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
309 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
310 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
311 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
313 %{_mandir}/man8/glusterfs.8*
314 %{_mandir}/man8/glusterfsd.8*
315 %dir %{_var}/log/glusterfs
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
320 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
321 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
322 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
323 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
324 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
325 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
326 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
327 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
328 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/libgfapi.so
333 %attr(755,root,root) %{_libdir}/libgfchangelog.so
334 %attr(755,root,root) %{_libdir}/libgfrpc.so
335 %attr(755,root,root) %{_libdir}/libgfxdr.so
336 %attr(755,root,root) %{_libdir}/libglusterfs.so
337 %{_libdir}/libgfapi.la
338 %{_libdir}/libgfchangelog.la
339 %{_libdir}/libgfrpc.la
340 %{_libdir}/libgfxdr.la
341 %{_libdir}/libglusterfs.la
342 %dir %{_includedir}/glusterfs
343 %{_includedir}/glusterfs/api
344 %{_includedir}/glusterfs/gfchangelog
345 %{_pkgconfigdir}/glusterfs-api.pc
346 %{_pkgconfigdir}/libgfchangelog.pc
348 %files -n python-gluster
349 %defattr(644,root,root,755)
350 %dir %{py_sitescriptdir}/gluster
351 %{py_sitescriptdir}/gluster/*.py[co]
354 %files transport-ibverbs
355 %defattr(644,root,root,755)
356 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
360 %defattr(644,root,root,755)
361 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
362 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
363 %attr(755,root,root) %{_sbindir}/glusterd
364 %{_mandir}/man8/glusterd.8*
365 %dir %{_var}/lib/glusterd
366 %dir %{_var}/run/gluster
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_bindir}/fusermount-glusterfs
371 %attr(755,root,root) /sbin/mount.glusterfs
372 %attr(755,root,root) %{_sbindir}/gluster
373 %{_mandir}/man8/gluster.8*
374 %{_mandir}/man8/mount.glusterfs.8*
376 %files resource-agents
377 %defattr(644,root,root,755)
378 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
379 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
380 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume