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/6/%{version}/glusterfs-%{version}.tar.gz
23 # Source0-md5: ab4de055a8fb8a8d3baef9953c99db91
24 Source1: glusterfsd.init
25 Patch0: %{name}-noquiet.patch
27 URL: https://www.gluster.org/
28 BuildRequires: acl-devel
29 BuildRequires: autoconf >= 2.50
30 BuildRequires: automake
32 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
33 BuildRequires: curl-devel
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: libselinux-devel
41 BuildRequires: libtirpc-devel
42 BuildRequires: libtool
43 BuildRequires: libuuid-devel
44 BuildRequires: libxml2-devel >= 1:2.6.19
45 BuildRequires: openssl-devel
46 BuildRequires: pkgconfig
47 BuildRequires: python3 >= 1:3.2
48 BuildRequires: python3-devel >= 1:3.2
49 BuildRequires: readline-devel
50 BuildRequires: rpm-pythonprov
51 BuildRequires: rpmbuild(macros) >= 1.228
52 BuildRequires: sed >= 4.0
53 BuildRequires: sqlite3-devel >= 3
54 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
55 BuildRequires: userspace-rcu-devel >= 0.8
56 BuildRequires: zlib-devel >= 1.2.0
57 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 GlusterFS is a clustered file-system capable of scaling to several
61 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
62 or TCP/IP interconnect into one large parallel network file system.
63 GlusterFS is one of the most sophisticated file system in terms of
64 features and extensibility. It borrows a powerful concept called
65 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
66 userspace and easily manageable.
68 %description -l pl.UTF-8
69 GlusterFS to klastrowy system plików skalujący się do petabajtów.
70 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
71 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
72 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
73 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
74 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
75 jest łatwo zarządzalna.
78 Summary: GlusterFS common files including Translators
79 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
81 Requires: libxml2 >= 1:2.6.19
82 Requires: zlib >= 1.2.0
85 GlusterFS is a clustered file-system capable of scaling to several
86 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
87 or TCP/IP interconnect into one large parallel network file system.
88 GlusterFS is one of the most sophisticated file system in terms of
89 features and extensibility. It borrows a powerful concept called
90 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
91 userspace and easily manageable.
93 This package includes libglusterfs and glusterfs translator modules
94 common to both GlusterFS server and client framework.
96 %description common -l pl.UTF-8
97 GlusterFS to klastrowy system plików skalujący się do petabajtów.
98 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
99 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
100 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
101 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
102 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
103 jest łatwo zarządzalna.
105 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
106 wspólne dla klienta jak i serwera GlusterFS-a.
109 Summary: GlusterFS libraries
110 Summary(pl.UTF-8): Biblioteki GlusterFS-a
112 Conflicts: glusterfs-common < 3.4.0
117 %description libs -l pl.UTF-8
118 Biblioteki GlusterFS-a.
121 Summary: GlusterFS development files
122 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
123 Group: Development/Libraries
124 Requires: %{name}-libs = %{version}-%{release}
127 Requires: libtirpc-devel
128 Requires: openssl-devel
129 Obsoletes: glusterfs-static
132 This package provides the development files for GlusterFS library.
134 %description devel -l pl.UTF-8
135 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
137 %package -n python3-gluster
138 Summary: Python 3 interface to GlusterFS libraries
139 Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek GlusterFS
140 Group: Libraries/Python
141 Requires: %{name}-libs = %{version}-%{release}
142 Obsoletes: python-gluster < 6.6
144 %description -n python3-gluster
145 Python 3 interface to GlusterFS libraries.
147 %description -n python3-gluster -l pl.UTF-8
148 Interfejs Pythona 3 do bibliotek GlusterFS.
150 %package transport-ibverbs
151 Summary: InfiniBand "verbs" transport plugins for GlusterFS
152 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
154 Requires: %{name}-common = %{version}-%{release}
155 Requires: libibverbs >= 1.0.4
156 Requires: librdmacm >= 1.0.15
158 %description transport-ibverbs
159 InfiniBand "verbs" transport plugins for GlusterFS.
161 %description transport-ibverbs -l pl.UTF-8
162 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
165 Summary: GlusterFS Server
166 Summary(pl.UTF-8): Serwer GlusterFS-a
168 Requires: %{name}-client = %{version}-%{release}
169 Requires: %{name}-common = %{version}-%{release}
170 Requires(post,preun): /sbin/chkconfig
172 Requires: python3-modules
175 This package provides the glusterfs server daemon.
177 %description server -l pl.UTF-8
178 Ten pakiet zawiera część serwerową GlusterFS-a.
181 Summary: GlusterFS Client
182 Summary(pl.UTF-8): Klient GlusterFS
183 Group: Applications/System
184 Requires: %{name}-common = %{version}-%{release}
185 %{?with_system_fuse:Requires: libfuse >= 2.6}
188 This package provides the FUSE based GlusterFS client.
190 %description client -l pl.UTF-8
191 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
193 %package resource-agents
194 Summary: OCF Resource Agents for GlusterFS processes
195 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
196 Group: Applications/System
197 Requires: %{name}-server = %{version}-%{release}
198 Requires: resource-agents
200 %description resource-agents
201 OCF Resource Agents for GlusterFS processes.
203 %description resource-agents -l pl.UTF-8
204 Agenci OCF do monitorowania procesów GlusterFS-a.
207 Summary: GlusterFS Events
208 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
209 Group: Applications/File
210 Requires: %{name}-server = %{version}-%{release}
211 Requires: python3-gluster = %{version}-%{release}
212 Requires: python3-prettytable
213 Requires: python3-requests
218 %description events -l pl.UTF-8
219 Obsługa zdarzeń dla GlusterFS-a.
221 %package geo-replication
222 Summary: GlusterFS Geo-replication
223 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
224 Group: Applications/File
225 Requires: %{name}-server = %{version}-%{release}
226 Requires: python3-gluster = %{version}-%{release}
227 Requires: python3-prettytable
230 %description geo-replication
231 GlusterFS support for geo-replication.
233 %description geo-replication -l pl.UTF-8
234 Obsługa geo-replikacji dla GlusterFS-a.
236 %package thin-arbiter
237 Summary: GlusterFS thin-arbiter module
238 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
239 Group: Applications/File
240 Requires: %{name}-server = %{version}-%{release}
242 %description thin-arbiter
243 This package provides a tie-breaker functionality to GlusterFS
244 replicate volume. It includes translators required to provide the
245 functionality, and also few other scripts required for getting the
248 This package provides the glusterfs thin-arbiter translator.
250 %description thin-arbiter -l pl.UTF-8
251 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
252 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
253 kilka skryptów wymaganych do konfiguracji.
255 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
257 %package -n emacs-glusterfs-mode
258 Summary: Emacs mode to edit GlusterFS configuration
259 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
260 Group: Applications/Editors
261 Requires: %{name}-common = %{version}-%{release}
262 Requires: emacs-common
264 %description -n emacs-glusterfs-mode
265 Emacs mode to edit GlusterFS configuration.
267 %description -n emacs-glusterfs-mode -l pl.UTF-8
268 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
270 %package -n vim-syntax-glusterfs
271 Summary: Vim syntax file to edit GlusterFS configuration
272 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
273 Group: Applications/Editors
274 Requires: %{name}-common = %{version}-%{release}
275 Requires: vim-rt >= 4:7.2.170
277 %description -n vim-syntax-glusterfs
278 Vim syntax file to edit GlusterFS configuration.
280 %description -n vim-syntax-glusterfs -l pl.UTF-8
281 Plik składni Vima do edycji konfiguracji GlusterFS-a.
295 PYTHON=%{__python3} \
296 %{?with_system_fuse:--disable-fusermount} \
297 --disable-silent-rules \
299 %{!?with_ibverbs:--disable-ibverbs} \
300 --enable-systemtap%{!?with_systemtap:=no} \
301 --with-initdir=/etc/rc.d/init.d \
302 --with-systemddir=%{systemdunitdir}
307 rm -rf $RPM_BUILD_ROOT
308 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
310 %{__make} -j1 install \
311 DESTDIR=$RPM_BUILD_ROOT
313 # No idea why installs elsewhere than later expects to be
314 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
316 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
317 install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
318 cat >>$RPM_BUILD_ROOT%{systemdtmpfilesdir}/gluster.conf <<EOF
319 d /var/run/gluster 0755 root root -
322 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
323 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
324 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
326 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
327 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
329 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
330 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
331 # example, installed as /var/lib/glusterd/groups/virt
332 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
335 rm -rf $RPM_BUILD_ROOT
337 %post libs -p /sbin/ldconfig
338 %postun libs -p /sbin/ldconfig
341 # TODO: verify these scripts (see also included glusterfs.spec)
343 # note: glusterfsd.init vs glusterd.service
344 /sbin/chkconfig --add glusterfsd
345 %service glusterfsd restart
346 %systemd_post glusterd.service
348 #glusterd --xlator-option *.upgrade=on -N
351 if [ "$1" = "0" ]; then
352 %service -q glusterfsd stop
353 /sbin/chkconfig --del glusterfsd
355 %systemd_preun glusterd
361 %systemd_post glustereventsd
364 %systemd_preun glustereventsd
369 %post geo-replication
370 %service glusterd restart
374 %defattr(644,root,root,755)
375 %doc ChangeLog NEWS README.md THANKS
376 %attr(755,root,root) %{_bindir}/glusterfind
377 %attr(755,root,root) %{_sbindir}/glfsheal
378 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
379 %attr(755,root,root) %{_sbindir}/glusterfs
380 %attr(755,root,root) %{_sbindir}/glusterfsd
381 %dir %{_sysconfdir}/%{name}
383 %dir %{_libdir}/glusterfs
385 %dir %{_libdir}/glusterfs/%{version}
386 %dir %{_libdir}/glusterfs/%{version}/auth
387 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
388 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
390 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
391 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
393 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
394 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
396 %dir %{_libdir}/glusterfs/%{version}/xlator
397 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
398 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
399 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
400 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
401 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
402 %dir %{_libdir}/glusterfs/%{version}/xlator/features
403 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
404 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
405 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
406 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
407 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
408 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
409 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
410 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
411 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
412 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
413 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
414 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
415 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
416 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
417 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
418 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
419 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
420 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
421 %dir %{_libdir}/glusterfs/%{version}/xlator/system
422 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
424 %if "%{_libexecdir}" != "%{_libdir}"
425 %dir %{_libexecdir}/glusterfs
427 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
429 %dir %{_libexecdir}/glusterfs/glusterfind
430 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
431 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
432 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
433 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
434 %{_libexecdir}/glusterfs/glusterfind/__init__.py
435 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
436 %{_libexecdir}/glusterfs/glusterfind/conf.py
437 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
438 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
439 %{_libexecdir}/glusterfs/glusterfind/main.py
440 %{_libexecdir}/glusterfs/glusterfind/utils.py
441 %{_libexecdir}/glusterfs/glusterfind/tool.conf
442 %{_libexecdir}/glusterfs/glusterfind/__pycache__
444 %dir %{_libexecdir}/glusterfs/python
446 %dir %{_datadir}/glusterfs
447 %dir %{_datadir}/glusterfs/scripts
448 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
449 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
450 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
451 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
452 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
454 %{_mandir}/man8/glusterfs.8*
455 %{_mandir}/man8/glusterfsd.8*
456 %dir %{_var}/log/glusterfs
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
461 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
462 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
463 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
464 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
465 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
466 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
467 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
468 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
469 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
472 %defattr(644,root,root,755)
473 %attr(755,root,root) %{_libdir}/libgfapi.so
474 %attr(755,root,root) %{_libdir}/libgfchangelog.so
475 %attr(755,root,root) %{_libdir}/libgfrpc.so
476 %attr(755,root,root) %{_libdir}/libgfxdr.so
477 %attr(755,root,root) %{_libdir}/libglusterfs.so
478 %{_libdir}/libgfapi.la
479 %{_libdir}/libgfchangelog.la
480 %{_libdir}/libgfrpc.la
481 %{_libdir}/libgfxdr.la
482 %{_libdir}/libglusterfs.la
483 %dir %{_includedir}/glusterfs
484 %{_includedir}/glusterfs/api
485 %{_includedir}/glusterfs/gfchangelog
486 %{_includedir}/glusterfs/rpc
487 %{_includedir}/glusterfs/server
488 %{_includedir}/glusterfs/*.h
489 %{_pkgconfigdir}/glusterfs-api.pc
490 %{_pkgconfigdir}/libgfchangelog.pc
492 %files -n python3-gluster
493 %defattr(644,root,root,755)
494 %dir %{py3_sitescriptdir}/gluster
495 %{py3_sitescriptdir}/gluster/__init__.py
496 %{py3_sitescriptdir}/gluster/__pycache__
497 %{py3_sitescriptdir}/gluster/cliutils
498 # created only when using py_build/py_install in xlators/features/glupy/src
499 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
502 %files transport-ibverbs
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
508 %defattr(644,root,root,755)
509 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
510 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
511 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
512 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
513 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
514 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
515 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
516 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
517 %attr(755,root,root) %{_sbindir}/conf.py
518 %attr(755,root,root) %{_sbindir}/gcron.py
519 %attr(755,root,root) %{_sbindir}/gf_attach
520 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
521 %attr(755,root,root) %{_sbindir}/glusterd
522 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
523 %attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
524 %{systemdunitdir}/glusterd.service
525 %{systemdunitdir}/glusterfssharedstorage.service
526 %{systemdtmpfilesdir}/gluster.conf
528 %{_mandir}/man8/gluster-setgfid2path.8*
529 %{_mandir}/man8/glusterd.8*
530 %dir %{_var}/lib/glusterd
531 %dir %{_var}/lib/glusterd/groups
532 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
533 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
534 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
535 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
536 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
537 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
538 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
539 %dir %{_var}/lib/glusterd/hooks
540 %dir %{_var}/lib/glusterd/hooks/1
541 %dir %{_var}/lib/glusterd/hooks/1/add-brick
542 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
544 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
545 %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
546 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
547 %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
548 %dir %{_var}/lib/glusterd/hooks/1/create
549 %dir %{_var}/lib/glusterd/hooks/1/create/post
550 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
551 %dir %{_var}/lib/glusterd/hooks/1/delete
552 %dir %{_var}/lib/glusterd/hooks/1/delete/post
553 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
554 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
555 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
556 %dir %{_var}/lib/glusterd/hooks/1/set
557 %dir %{_var}/lib/glusterd/hooks/1/set/post
558 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
559 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
560 %dir %{_var}/lib/glusterd/hooks/1/start
561 %dir %{_var}/lib/glusterd/hooks/1/start/post
562 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
563 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
564 %dir %{_var}/lib/glusterd/hooks/1/stop
565 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
566 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
567 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
568 %dir %{_var}/run/gluster
571 %defattr(644,root,root,755)
572 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
573 %attr(755,root,root) /sbin/mount.glusterfs
574 %attr(755,root,root) %{_sbindir}/gluster
575 %{_mandir}/man8/gluster.8*
576 %{_mandir}/man8/mount.glusterfs.8*
578 %files resource-agents
579 %defattr(644,root,root,755)
580 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
581 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
582 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
585 %defattr(644,root,root,755)
586 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
587 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
588 %attr(755,root,root) %{_sbindir}/glustereventsd
589 %dir %{_libexecdir}/glusterfs/gfevents
590 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
591 %{_libexecdir}/glusterfs/gfevents/__init__.py
592 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
593 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
594 %{_libexecdir}/glusterfs/gfevents/gf_event.py
595 %{_libexecdir}/glusterfs/gfevents/handlers.py
596 %{_libexecdir}/glusterfs/gfevents/utils.py
597 %{_libexecdir}/glusterfs/gfevents/__pycache__
598 %{_libexecdir}/glusterfs/peer_eventsapi.py
599 %{_datadir}/glusterfs/scripts/eventsdash.py
600 %{systemdunitdir}/glustereventsd.service
602 %files geo-replication
603 %defattr(644,root,root,755)
604 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
605 %attr(755,root,root) %{_sbindir}/gfind_missing_files
606 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
607 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
608 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
609 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
610 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
611 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
612 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
613 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
614 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
615 %dir %{_libexecdir}/glusterfs/gfind_missing_files
616 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
617 %dir %{_libexecdir}/glusterfs/python/syncdaemon
618 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
619 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
620 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
621 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
622 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
623 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
624 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
625 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
626 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
627 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
628 %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
631 %defattr(644,root,root,755)
632 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
633 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
634 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
635 %{systemdunitdir}/gluster-ta-volume.service
637 %files -n emacs-glusterfs-mode
638 %defattr(644,root,root,755)
639 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
641 %files -n vim-syntax-glusterfs
642 %defattr(644,root,root,755)
643 %{_datadir}/vim/syntax/glusterfs.vim