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: 43e4e6c017cb2ade77bc644034146215
24 Source1: glusterfsd.init
25 Patch0: %{name}-noquiet.patch
26 URL: https://www.gluster.org/
27 BuildRequires: acl-devel
28 BuildRequires: autoconf >= 2.50
29 BuildRequires: automake
31 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
32 BuildRequires: curl-devel
34 BuildRequires: device-mapper-devel >= 2.02.79
36 BuildRequires: libaio-devel
37 %{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4}
38 %{?with_ibverbs:BuildRequires: librdmacm-devel >= 1.0.15}
39 BuildRequires: libselinux-devel
40 BuildRequires: libtirpc-devel
41 BuildRequires: libtool
42 BuildRequires: libuuid-devel
43 BuildRequires: libxml2-devel >= 1:2.6.19
44 BuildRequires: openssl-devel
45 BuildRequires: pkgconfig
46 BuildRequires: python3 >= 1:3.2
47 BuildRequires: python3-devel >= 1:3.2
48 BuildRequires: readline-devel
49 BuildRequires: rpm-pythonprov
50 BuildRequires: rpmbuild(macros) >= 1.228
51 BuildRequires: sed >= 4.0
52 BuildRequires: sqlite3-devel >= 3
53 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
54 BuildRequires: userspace-rcu-devel >= 0.8
55 BuildRequires: zlib-devel >= 1.2.0
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59 GlusterFS is a clustered file-system capable of scaling to several
60 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
61 or TCP/IP interconnect into one large parallel network file system.
62 GlusterFS is one of the most sophisticated file system in terms of
63 features and extensibility. It borrows a powerful concept called
64 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
65 userspace and easily manageable.
67 %description -l pl.UTF-8
68 GlusterFS to klastrowy system plików skalujący się do petabajtów.
69 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
70 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
71 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
72 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
73 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
74 jest łatwo zarządzalna.
77 Summary: GlusterFS common files including Translators
78 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
80 Requires: libxml2 >= 1:2.6.19
81 Requires: zlib >= 1.2.0
84 GlusterFS is a clustered file-system capable of scaling to several
85 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
86 or TCP/IP interconnect into one large parallel network file system.
87 GlusterFS is one of the most sophisticated file system in terms of
88 features and extensibility. It borrows a powerful concept called
89 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
90 userspace and easily manageable.
92 This package includes libglusterfs and glusterfs translator modules
93 common to both GlusterFS server and client framework.
95 %description common -l pl.UTF-8
96 GlusterFS to klastrowy system plików skalujący się do petabajtów.
97 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
98 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
99 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
100 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
101 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
102 jest łatwo zarządzalna.
104 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
105 wspólne dla klienta jak i serwera GlusterFS-a.
108 Summary: GlusterFS libraries
109 Summary(pl.UTF-8): Biblioteki GlusterFS-a
111 Conflicts: glusterfs-common < 3.4.0
116 %description libs -l pl.UTF-8
117 Biblioteki GlusterFS-a.
120 Summary: GlusterFS development files
121 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
122 Group: Development/Libraries
123 Requires: %{name}-libs = %{version}-%{release}
126 Requires: libtirpc-devel
127 Requires: openssl-devel
128 Obsoletes: glusterfs-static
131 This package provides the development files for GlusterFS library.
133 %description devel -l pl.UTF-8
134 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
136 %package -n python3-gluster
137 Summary: Python 3 interface to GlusterFS libraries
138 Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek GlusterFS
139 Group: Libraries/Python
140 Requires: %{name}-libs = %{version}-%{release}
141 Obsoletes: python-gluster < 6.6
143 %description -n python3-gluster
144 Python 3 interface to GlusterFS libraries.
146 %description -n python3-gluster -l pl.UTF-8
147 Interfejs Pythona 3 do bibliotek GlusterFS.
149 %package transport-ibverbs
150 Summary: InfiniBand "verbs" transport plugins for GlusterFS
151 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
153 Requires: %{name}-common = %{version}-%{release}
154 Requires: libibverbs >= 1.0.4
155 Requires: librdmacm >= 1.0.15
157 %description transport-ibverbs
158 InfiniBand "verbs" transport plugins for GlusterFS.
160 %description transport-ibverbs -l pl.UTF-8
161 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
164 Summary: GlusterFS Server
165 Summary(pl.UTF-8): Serwer GlusterFS-a
167 Requires: %{name}-client = %{version}-%{release}
168 Requires: %{name}-common = %{version}-%{release}
169 Requires(post,preun): /sbin/chkconfig
171 Requires: python3-modules
174 This package provides the glusterfs server daemon.
176 %description server -l pl.UTF-8
177 Ten pakiet zawiera część serwerową GlusterFS-a.
180 Summary: GlusterFS Client
181 Summary(pl.UTF-8): Klient GlusterFS
182 Group: Applications/System
183 Requires: %{name}-common = %{version}-%{release}
184 %{?with_system_fuse:Requires: libfuse >= 2.6}
187 This package provides the FUSE based GlusterFS client.
189 %description client -l pl.UTF-8
190 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
192 %package resource-agents
193 Summary: OCF Resource Agents for GlusterFS processes
194 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
195 Group: Applications/System
196 Requires: %{name}-server = %{version}-%{release}
197 Requires: resource-agents
199 %description resource-agents
200 OCF Resource Agents for GlusterFS processes.
202 %description resource-agents -l pl.UTF-8
203 Agenci OCF do monitorowania procesów GlusterFS-a.
206 Summary: GlusterFS Events
207 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
208 Group: Applications/File
209 Requires: %{name}-server = %{version}-%{release}
210 Requires: python3-gluster = %{version}-%{release}
211 Requires: python3-prettytable
212 Requires: python3-requests
217 %description events -l pl.UTF-8
218 Obsługa zdarzeń dla GlusterFS-a.
220 %package geo-replication
221 Summary: GlusterFS Geo-replication
222 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
223 Group: Applications/File
224 Requires: %{name}-server = %{version}-%{release}
225 Requires: python3-gluster = %{version}-%{release}
226 Requires: python3-prettytable
229 %description geo-replication
230 GlusterFS support for geo-replication.
232 %description geo-replication -l pl.UTF-8
233 Obsługa geo-replikacji dla GlusterFS-a.
235 %package thin-arbiter
236 Summary: GlusterFS thin-arbiter module
237 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
238 Group: Applications/File
239 Requires: %{name}-server = %{version}-%{release}
241 %description thin-arbiter
242 This package provides a tie-breaker functionality to GlusterFS
243 replicate volume. It includes translators required to provide the
244 functionality, and also few other scripts required for getting the
247 This package provides the glusterfs thin-arbiter translator.
249 %description thin-arbiter -l pl.UTF-8
250 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
251 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
252 kilka skryptów wymaganych do konfiguracji.
254 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
256 %package -n emacs-glusterfs-mode
257 Summary: Emacs mode to edit GlusterFS configuration
258 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
259 Group: Applications/Editors
260 Requires: %{name}-common = %{version}-%{release}
261 Requires: emacs-common
263 %description -n emacs-glusterfs-mode
264 Emacs mode to edit GlusterFS configuration.
266 %description -n emacs-glusterfs-mode -l pl.UTF-8
267 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
269 %package -n vim-syntax-glusterfs
270 Summary: Vim syntax file to edit GlusterFS configuration
271 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
272 Group: Applications/Editors
273 Requires: %{name}-common = %{version}-%{release}
274 Requires: vim-rt >= 4:7.2.170
276 %description -n vim-syntax-glusterfs
277 Vim syntax file to edit GlusterFS configuration.
279 %description -n vim-syntax-glusterfs -l pl.UTF-8
280 Plik składni Vima do edycji konfiguracji GlusterFS-a.
293 PYTHON=%{__python3} \
294 %{?with_system_fuse:--disable-fusermount} \
295 --disable-silent-rules \
297 %{!?with_ibverbs:--disable-ibverbs} \
298 --enable-systemtap%{!?with_systemtap:=no} \
299 --with-initdir=/etc/rc.d/init.d
304 rm -rf $RPM_BUILD_ROOT
305 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
307 %{__make} -j1 install \
308 DESTDIR=$RPM_BUILD_ROOT
310 # No idea why installs elsewhere than later expects to be
311 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
313 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
315 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
316 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
317 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
319 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
320 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
322 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
323 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
324 # example, installed as /var/lib/glusterd/groups/virt
325 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
328 rm -rf $RPM_BUILD_ROOT
330 %post libs -p /sbin/ldconfig
331 %postun libs -p /sbin/ldconfig
334 # TODO: verify these scripts (see also included glusterfs.spec)
336 # note: glusterfsd.init vs glusterd.service
337 /sbin/chkconfig --add glusterfsd
338 %service glusterfsd restart
340 #glusterd --xlator-option *.upgrade=on -N
343 if [ "$1" = "0" ]; then
344 %service -q glusterfsd stop
345 /sbin/chkconfig --del glusterfsd
348 %post geo-replication
349 %service glusterd restart
353 %defattr(644,root,root,755)
354 %doc ChangeLog NEWS README.md THANKS
355 %attr(755,root,root) %{_bindir}/glusterfind
356 %attr(755,root,root) %{_sbindir}/glfsheal
357 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
358 %attr(755,root,root) %{_sbindir}/glusterfs
359 %attr(755,root,root) %{_sbindir}/glusterfsd
360 %dir %{_sysconfdir}/%{name}
362 %dir %{_libdir}/glusterfs
364 %dir %{_libdir}/glusterfs/%{version}
365 %dir %{_libdir}/glusterfs/%{version}/auth
366 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
367 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
369 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
370 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
372 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
375 %dir %{_libdir}/glusterfs/%{version}/xlator
376 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
377 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
379 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
381 %dir %{_libdir}/glusterfs/%{version}/xlator/features
382 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
383 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
384 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
385 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
386 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
387 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
388 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
389 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
390 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
391 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
392 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
393 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
394 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
395 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
396 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
397 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
398 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
399 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
400 %dir %{_libdir}/glusterfs/%{version}/xlator/system
401 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
403 %if "%{_libexecdir}" != "%{_libdir}"
404 %dir %{_libexecdir}/glusterfs
406 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
408 %dir %{_libexecdir}/glusterfs/glusterfind
409 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
410 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
411 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
412 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
413 %{_libexecdir}/glusterfs/glusterfind/__init__.py
414 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
415 %{_libexecdir}/glusterfs/glusterfind/conf.py
416 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
417 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
418 %{_libexecdir}/glusterfs/glusterfind/main.py
419 %{_libexecdir}/glusterfs/glusterfind/utils.py
420 %{_libexecdir}/glusterfs/glusterfind/tool.conf
421 %{_libexecdir}/glusterfs/glusterfind/__pycache__
423 %dir %{_libexecdir}/glusterfs/python
425 %dir %{_datadir}/glusterfs
426 %dir %{_datadir}/glusterfs/scripts
427 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
428 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
429 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
430 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
431 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
433 %{_mandir}/man8/glusterfs.8*
434 %{_mandir}/man8/glusterfsd.8*
435 %dir %{_var}/log/glusterfs
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
440 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
441 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
442 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
443 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
444 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
445 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
446 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
447 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
448 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
451 %defattr(644,root,root,755)
452 %attr(755,root,root) %{_libdir}/libgfapi.so
453 %attr(755,root,root) %{_libdir}/libgfchangelog.so
454 %attr(755,root,root) %{_libdir}/libgfrpc.so
455 %attr(755,root,root) %{_libdir}/libgfxdr.so
456 %attr(755,root,root) %{_libdir}/libglusterfs.so
457 %{_libdir}/libgfapi.la
458 %{_libdir}/libgfchangelog.la
459 %{_libdir}/libgfrpc.la
460 %{_libdir}/libgfxdr.la
461 %{_libdir}/libglusterfs.la
462 %dir %{_includedir}/glusterfs
463 %{_includedir}/glusterfs/api
464 %{_includedir}/glusterfs/gfchangelog
465 %{_includedir}/glusterfs/rpc
466 %{_includedir}/glusterfs/server
467 %{_includedir}/glusterfs/*.h
468 %{_pkgconfigdir}/glusterfs-api.pc
469 %{_pkgconfigdir}/libgfchangelog.pc
471 %files -n python3-gluster
472 %defattr(644,root,root,755)
473 %dir %{py3_sitescriptdir}/gluster
474 %{py3_sitescriptdir}/gluster/__init__.py
475 %{py3_sitescriptdir}/gluster/__pycache__
476 %{py3_sitescriptdir}/gluster/cliutils
477 # created only when using py_build/py_install in xlators/features/glupy/src
478 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
481 %files transport-ibverbs
482 %defattr(644,root,root,755)
483 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
487 %defattr(644,root,root,755)
488 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
490 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
491 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
492 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
494 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
495 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
496 %attr(755,root,root) %{_sbindir}/conf.py
497 %attr(755,root,root) %{_sbindir}/gcron.py
498 %attr(755,root,root) %{_sbindir}/gf_attach
499 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
500 %attr(755,root,root) %{_sbindir}/glusterd
501 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
502 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
504 %{_mandir}/man8/gluster-setgfid2path.8*
505 %{_mandir}/man8/glusterd.8*
506 %dir %{_var}/lib/glusterd
507 %dir %{_var}/lib/glusterd/groups
508 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
514 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
515 %dir %{_var}/lib/glusterd/hooks
516 %dir %{_var}/lib/glusterd/hooks/1
517 %dir %{_var}/lib/glusterd/hooks/1/add-brick
518 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
519 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
520 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
521 %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
522 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
523 %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
524 %dir %{_var}/lib/glusterd/hooks/1/create
525 %dir %{_var}/lib/glusterd/hooks/1/create/post
526 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
527 %dir %{_var}/lib/glusterd/hooks/1/delete
528 %dir %{_var}/lib/glusterd/hooks/1/delete/post
529 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
530 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
531 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
532 %dir %{_var}/lib/glusterd/hooks/1/set
533 %dir %{_var}/lib/glusterd/hooks/1/set/post
534 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
535 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
536 %dir %{_var}/lib/glusterd/hooks/1/start
537 %dir %{_var}/lib/glusterd/hooks/1/start/post
538 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
539 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
540 %dir %{_var}/lib/glusterd/hooks/1/stop
541 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
542 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
544 %dir %{_var}/run/gluster
547 %defattr(644,root,root,755)
548 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
549 %attr(755,root,root) /sbin/mount.glusterfs
550 %attr(755,root,root) %{_sbindir}/gluster
551 %{_mandir}/man8/gluster.8*
552 %{_mandir}/man8/mount.glusterfs.8*
554 %files resource-agents
555 %defattr(644,root,root,755)
556 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
557 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
558 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
561 %defattr(644,root,root,755)
562 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
563 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
564 %attr(755,root,root) %{_sbindir}/glustereventsd
565 %dir %{_libexecdir}/glusterfs/gfevents
566 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
567 %{_libexecdir}/glusterfs/gfevents/__init__.py
568 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
569 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
570 %{_libexecdir}/glusterfs/gfevents/gf_event.py
571 %{_libexecdir}/glusterfs/gfevents/handlers.py
572 %{_libexecdir}/glusterfs/gfevents/utils.py
573 %{_libexecdir}/glusterfs/gfevents/__pycache__
574 %{_libexecdir}/glusterfs/peer_eventsapi.py
575 %{_datadir}/glusterfs/scripts/eventsdash.py
577 %files geo-replication
578 %defattr(644,root,root,755)
579 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
580 %attr(755,root,root) %{_sbindir}/gfind_missing_files
581 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
582 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
583 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
584 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
585 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
586 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
587 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
588 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
589 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
590 %dir %{_libexecdir}/glusterfs/gfind_missing_files
591 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
592 %dir %{_libexecdir}/glusterfs/python/syncdaemon
593 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
594 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
595 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
598 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
599 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
600 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
601 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
602 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
603 %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
606 %defattr(644,root,root,755)
607 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
608 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
609 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
611 %files -n emacs-glusterfs-mode
612 %defattr(644,root,root,755)
613 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
615 %files -n vim-syntax-glusterfs
616 %defattr(644,root,root,755)
617 %{_datadir}/vim/syntax/glusterfs.vim