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 # - Fix/provide working systemd service files.
7 # As for 3.7.11, package provided seems be non-working.
8 # - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable)
11 %bcond_without ibverbs # ib-verbs transport
12 %bcond_without systemtap # systemtap/dtrace support
13 %bcond_without system_fuse # system fusermount
15 Summary: Clustered File Storage that can scale to peta bytes
16 Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów
20 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
21 Group: Applications/System
22 Source0: https://download.gluster.org/pub/gluster/glusterfs/3.12/LATEST/glusterfs-%{version}.tar.gz
23 # Source0-md5: efdcddf38aecb3c2109bd773c58d1f9b
24 Source1: glusterfsd.init
25 Patch0: %{name}-noquiet.patch
26 Patch1: %{name}-python.patch
27 Patch3: interpreters.patch
28 URL: https://www.gluster.org/
29 BuildRequires: acl-devel
30 BuildRequires: autoconf >= 2.50
31 BuildRequires: automake
33 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
35 BuildRequires: device-mapper-devel >= 2.02.79
37 BuildRequires: libaio-devel
38 %{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4}
39 %{?with_ibverbs:BuildRequires: librdmacm-devel >= 1.0.15}
40 BuildRequires: libtool
41 BuildRequires: libuuid-devel
42 BuildRequires: libxml2-devel >= 1:2.6.19
43 BuildRequires: openssl-devel
44 BuildRequires: pkgconfig
45 BuildRequires: python >= 1:2.4
46 BuildRequires: python-devel >= 1:2.4
47 BuildRequires: readline-devel
48 BuildRequires: rpm-pythonprov
49 BuildRequires: rpmbuild(macros) >= 1.228
50 BuildRequires: sed >= 4.0
51 BuildRequires: sqlite3-devel >= 3
52 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
53 BuildRequires: userspace-rcu-devel >= 0.8
54 BuildRequires: zlib-devel >= 1.2.0
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 GlusterFS is a clustered file-system capable of scaling to several
59 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
60 or TCP/IP interconnect into one large parallel network file system.
61 GlusterFS is one of the most sophisticated file system in terms of
62 features and extensibility. It borrows a powerful concept called
63 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
64 userspace and easily manageable.
66 %description -l pl.UTF-8
67 GlusterFS to klastrowy system plików skalujący się do petabajtów.
68 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
69 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
70 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
71 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
72 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
73 jest łatwo zarządzalna.
76 Summary: GlusterFS common files including Translators
77 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
79 Requires: libxml2 >= 1:2.6.19
80 Requires: zlib >= 1.2.0
83 GlusterFS is a clustered file-system capable of scaling to several
84 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
85 or TCP/IP interconnect into one large parallel network file system.
86 GlusterFS is one of the most sophisticated file system in terms of
87 features and extensibility. It borrows a powerful concept called
88 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
89 userspace and easily manageable.
91 This package includes libglusterfs and glusterfs translator modules
92 common to both GlusterFS server and client framework.
94 %description common -l pl.UTF-8
95 GlusterFS to klastrowy system plików skalujący się do petabajtów.
96 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
97 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
98 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
99 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
100 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
101 jest łatwo zarządzalna.
103 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
104 wspólne dla klienta jak i serwera GlusterFS-a.
107 Summary: GlusterFS libraries
108 Summary(pl.UTF-8): Biblioteki GlusterFS-a
110 Conflicts: glusterfs-common < 3.4.0
115 %description libs -l pl.UTF-8
116 Biblioteki GlusterFS-a.
119 Summary: GlusterFS development files
120 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
121 Group: Development/Libraries
122 Requires: %{name}-libs = %{version}-%{release}
125 Requires: openssl-devel
126 Obsoletes: glusterfs-static
129 This package provides the development files for GlusterFS library.
131 %description devel -l pl.UTF-8
132 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
134 %package -n python-gluster
135 Summary: Python interface to GlusterFS libraries
136 Summary(pl.UTF-8): Interfejs Pythona do bibliotek GlusterFS
137 Group: Libraries/Python
138 Requires: %{name}-libs = %{version}-%{release}
140 %description -n python-gluster
141 Python interface to GlusterFS libraries.
143 %description -n python-gluster -l pl.UTF-8
144 Interfejs Pythona do bibliotek GlusterFS.
146 %package transport-ibverbs
147 Summary: InfiniBand "verbs" transport plugins for GlusterFS
148 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
150 Requires: %{name}-common = %{version}-%{release}
151 Requires: libibverbs >= 1.0.4
152 Requires: librdmacm >= 1.0.15
154 %description transport-ibverbs
155 InfiniBand "verbs" transport plugins for GlusterFS.
157 %description transport-ibverbs -l pl.UTF-8
158 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
161 Summary: GlusterFS Server
162 Summary(pl.UTF-8): Serwer GlusterFS-a
164 Requires: %{name}-client = %{version}-%{release}
165 Requires: %{name}-common = %{version}-%{release}
166 Requires(post,preun): /sbin/chkconfig
168 Requires: python-modules
171 This package provides the glusterfs server daemon.
173 %description server -l pl.UTF-8
174 Ten pakiet zawiera część serwerową GlusterFS-a.
177 Summary: GlusterFS Client
178 Summary(pl.UTF-8): Klient GlusterFS
179 Group: Applications/System
180 Requires: %{name}-common = %{version}-%{release}
181 %{?with_system_fuse:Requires: libfuse >= 2.6}
184 This package provides the FUSE based GlusterFS client.
186 %description client -l pl.UTF-8
187 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
189 %package resource-agents
190 Summary: OCF Resource Agents for GlusterFS processes
191 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
192 Group: Applications/System
193 Requires: %{name}-server = %{version}-%{release}
194 Requires: resource-agents
196 %description resource-agents
197 OCF Resource Agents for GlusterFS processes.
199 %description resource-agents -l pl.UTF-8
200 Agenci OCF do monitorowania procesów GlusterFS-a.
203 Summary: GlusterFS Events
204 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
205 Group: Applications/File
206 Requires: %{name}-server = %{version}-%{release}
207 Requires: python-gluster = %{version}-%{release}
208 Requires: python-prettytable
209 Requires: python-requests
214 %description events -l pl.UTF-8
215 Obsługa zdarzeń dla GlusterFS-a.
217 %package geo-replication
218 Summary: GlusterFS Geo-replication
219 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
220 Group: Applications/File
221 Requires: %{name}-server = %{version}-%{release}
222 Requires: python-gluster = %{version}-%{release}
223 Requires: python-prettytable
226 %description geo-replication
227 GlusterFS support for geo-replication.
229 %description geo-replication -l pl.UTF-8
230 Obsługa geo-replikacji dla GlusterFS-a.
232 %package -n emacs-glusterfs-mode
233 Summary: Emacs mode to edit GlusterFS configuration
234 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
235 Group: Applications/Editors
236 Requires: %{name}-common = %{version}-%{release}
237 Requires: emacs-common
239 %description -n emacs-glusterfs-mode
240 Emacs mode to edit GlusterFS configuration.
242 %description -n emacs-glusterfs-mode -l pl.UTF-8
243 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
245 %package -n vim-syntax-glusterfs
246 Summary: Vim syntax file to edit GlusterFS configuration
247 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
248 Group: Applications/Editors
249 Requires: %{name}-common = %{version}-%{release}
250 Requires: vim-rt >= 4:7.2.170
252 %description -n vim-syntax-glusterfs
253 Vim syntax file to edit GlusterFS configuration.
255 %description -n vim-syntax-glusterfs -l pl.UTF-8
256 Plik składni Vima do edycji konfiguracji GlusterFS-a.
271 %{?with_system_fuse:--disable-fusermount} \
272 --disable-silent-rules \
273 %{!?with_ibverbs:--disable-ibverbs} \
274 --enable-systemtap%{!?with_systemtap:=no} \
275 --with-initdir=/etc/rc.d/init.d
281 rm -rf $RPM_BUILD_ROOT
282 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
284 %{__make} -j1 install \
285 DESTDIR=$RPM_BUILD_ROOT
287 # No idea why installs elsewhere than later expects to be
288 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
290 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
292 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
293 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
294 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
297 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
298 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la
300 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
301 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
302 # example, installed as /var/lib/glusterd/groups/virt
303 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
308 rm -rf $RPM_BUILD_ROOT
310 %post libs -p /sbin/ldconfig
311 %postun libs -p /sbin/ldconfig
314 # TODO: verify these scripts (see also included glusterfs.spec)
316 # note: glusterfsd.init vs glusterd.service
317 /sbin/chkconfig --add glusterfsd
318 %service glusterfsd restart
320 #glusterd --xlator-option *.upgrade=on -N
323 if [ "$1" = "0" ]; then
324 %service -q glusterfsd stop
325 /sbin/chkconfig --del glusterfsd
328 %post geo-replication
329 %service glusterd restart
333 %defattr(644,root,root,755)
334 %doc ChangeLog NEWS README.md THANKS
335 %attr(755,root,root) %{_bindir}/glusterfind
336 %attr(755,root,root) %{_sbindir}/glfsheal
337 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
338 %attr(755,root,root) %{_sbindir}/glusterfs
339 %attr(755,root,root) %{_sbindir}/glusterfsd
340 %dir %{_sysconfdir}/%{name}
342 %dir %{_libdir}/glusterfs
344 %dir %{_libdir}/glusterfs/%{version}
345 %dir %{_libdir}/glusterfs/%{version}/auth
346 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
347 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
349 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
350 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
352 %dir %{_libdir}/glusterfs/%{version}/xlator
353 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
354 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
355 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
356 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
357 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
358 %dir %{_libdir}/glusterfs/%{version}/xlator/encryption
359 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so*
360 %dir %{_libdir}/glusterfs/%{version}/xlator/features
361 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so*
362 %dir %{_libdir}/glusterfs/%{version}/xlator/features/glupy
363 %{_libdir}/glusterfs/%{version}/xlator/features/glupy/*.py*
364 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
365 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
366 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
367 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
368 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
369 #%dir %{_libdir}/glusterfs/%{version}/xlator/nfs
370 #%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
371 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
372 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so*
373 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
374 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so
375 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
376 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so
377 %dir %{_libdir}/glusterfs/%{version}/xlator/system
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
379 %dir %{_libdir}/glusterfs/%{version}/xlator/testing
380 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/features
381 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/features/*.so
382 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance
383 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so
385 %if "%{_libexecdir}" != "%{_libdir}"
386 %dir %{_libexecdir}/glusterfs
388 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
390 %dir %{_libexecdir}/glusterfs/glusterfind
391 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
392 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
393 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
394 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
395 %{_libexecdir}/glusterfs/glusterfind/__init__.py*
396 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py*
397 %{_libexecdir}/glusterfs/glusterfind/conf.py*
398 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py*
399 %{_libexecdir}/glusterfs/glusterfind/main.py*
400 %{_libexecdir}/glusterfs/glusterfind/utils.py*
401 %{_libexecdir}/glusterfs/glusterfind/tool.conf
403 %dir %{_libexecdir}/glusterfs/python
405 %dir %{_datadir}/glusterfs
406 %dir %{_datadir}/glusterfs/scripts
407 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
408 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
409 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
411 %{_mandir}/man8/glusterfs.8*
412 %{_mandir}/man8/glusterfsd.8*
413 %dir %{_var}/log/glusterfs
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
418 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
419 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
420 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
421 %attr(755,root,root) %{_libdir}/libgfdb.so.*.*.*
422 %attr(755,root,root) %ghost %{_libdir}/libgfdb.so.0
423 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
424 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
425 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
426 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
427 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
428 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_libdir}/libgfapi.so
433 %attr(755,root,root) %{_libdir}/libgfchangelog.so
434 %attr(755,root,root) %{_libdir}/libgfdb.so
435 %attr(755,root,root) %{_libdir}/libgfrpc.so
436 %attr(755,root,root) %{_libdir}/libgfxdr.so
437 %attr(755,root,root) %{_libdir}/libglusterfs.so
438 %{_libdir}/libgfapi.la
439 %{_libdir}/libgfchangelog.la
440 %{_libdir}/libgfdb.la
441 %{_libdir}/libgfrpc.la
442 %{_libdir}/libgfxdr.la
443 %{_libdir}/libglusterfs.la
444 %dir %{_includedir}/glusterfs
445 %{_includedir}/glusterfs/api
446 %{_includedir}/glusterfs/gfchangelog
447 %{_includedir}/glusterfs/gfdb
448 %{_includedir}/glusterfs/rpc
449 %{_includedir}/glusterfs/server
450 %{_includedir}/glusterfs/*.h
451 %{_pkgconfigdir}/glusterfs-api.pc
452 %{_pkgconfigdir}/libgfchangelog.pc
453 %{_pkgconfigdir}/libgfdb.pc
455 %files -n python-gluster
456 %defattr(644,root,root,755)
457 %dir %{py_sitescriptdir}/gluster
458 %{py_sitescriptdir}/gluster/*.py[co]
459 %{py_sitescriptdir}/gluster/cliutils
460 %{py_sitescriptdir}/gluster/glupy
461 # created only when using py_build/py_install in xlators/features/glupy/src
462 #%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
465 %files transport-ibverbs
466 %defattr(644,root,root,755)
467 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
471 %defattr(644,root,root,755)
472 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
473 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
474 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
475 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
476 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
477 %attr(755,root,root) %{_sbindir}/conf.py
478 %attr(755,root,root) %{_sbindir}/gcron.py
479 %attr(755,root,root) %{_sbindir}/gf_attach
480 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
481 %attr(755,root,root) %{_sbindir}/glusterd
482 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
484 %{_mandir}/man8/gluster-setgfid2path.8*
485 %{_mandir}/man8/glusterd.8*
486 %dir %{_var}/lib/glusterd
487 %dir %{_var}/lib/glusterd/groups
488 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
489 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
490 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
491 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
492 %dir %{_var}/lib/glusterd/hooks
493 %dir %{_var}/lib/glusterd/hooks/1
494 %dir %{_var}/lib/glusterd/hooks/1/add-brick
495 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
496 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh
497 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
498 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
499 %dir %{_var}/lib/glusterd/hooks/1/create
500 %dir %{_var}/lib/glusterd/hooks/1/create/post
501 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
502 %dir %{_var}/lib/glusterd/hooks/1/delete
503 %dir %{_var}/lib/glusterd/hooks/1/delete/post
504 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
505 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
506 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
507 %dir %{_var}/lib/glusterd/hooks/1/set
508 %dir %{_var}/lib/glusterd/hooks/1/set/post
509 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
510 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
511 %dir %{_var}/lib/glusterd/hooks/1/start
512 %dir %{_var}/lib/glusterd/hooks/1/start/post
513 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
514 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
515 %dir %{_var}/lib/glusterd/hooks/1/stop
516 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
517 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
518 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
519 %dir %{_var}/run/gluster
522 %defattr(644,root,root,755)
523 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
524 %attr(755,root,root) /sbin/mount.glusterfs
525 %attr(755,root,root) %{_sbindir}/gluster
526 %{_mandir}/man8/gluster.8*
527 %{_mandir}/man8/mount.glusterfs.8*
529 %files resource-agents
530 %defattr(644,root,root,755)
531 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
532 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
533 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
536 %defattr(644,root,root,755)
537 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
538 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
539 %attr(755,root,root) %{_sbindir}/glustereventsd
540 %dir %{_libexecdir}/glusterfs/events
541 %attr(755,root,root) %{_libexecdir}/glusterfs/events/glustereventsd.py
542 %{_libexecdir}/glusterfs/events/__init__.py*
543 %{_libexecdir}/glusterfs/events/eventsapiconf.py*
544 %{_libexecdir}/glusterfs/events/eventtypes.py*
545 %{_libexecdir}/glusterfs/events/gf_event.py*
546 %{_libexecdir}/glusterfs/events/handlers.py*
547 %{_libexecdir}/glusterfs/events/utils.py*
548 %{_libexecdir}/glusterfs/peer_eventsapi.py*
549 %{_datadir}/glusterfs/scripts/eventsdash.py
551 %files geo-replication
552 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_sbindir}/gfind_missing_files
554 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
555 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
556 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
557 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
558 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
559 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
560 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
561 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
562 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
563 %dir %{_libexecdir}/glusterfs/gfind_missing_files
564 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
565 %dir %{_libexecdir}/glusterfs/python/syncdaemon
566 # gsyncd.py is a script, the rest probably don't require *.py
567 %{_libexecdir}/glusterfs/python/syncdaemon/*.py*
568 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
569 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
570 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
571 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
572 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
573 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
574 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
575 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
576 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
578 %files -n emacs-glusterfs-mode
579 %defattr(644,root,root,755)
580 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
582 %files -n vim-syntax-glusterfs
583 %defattr(644,root,root,755)
584 %{_datadir}/vim/syntax/glusterfs.vim