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: rpcsvc-proto
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.
294 PYTHON=%{__python3} \
295 %{?with_system_fuse:--disable-fusermount} \
296 --disable-silent-rules \
298 %{!?with_ibverbs:--disable-ibverbs} \
299 --enable-systemtap%{!?with_systemtap:=no} \
300 --with-initdir=/etc/rc.d/init.d
305 rm -rf $RPM_BUILD_ROOT
306 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
308 %{__make} -j1 install \
309 DESTDIR=$RPM_BUILD_ROOT
311 # No idea why installs elsewhere than later expects to be
312 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
314 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
316 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
317 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
318 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
320 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
321 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
323 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
324 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
325 # example, installed as /var/lib/glusterd/groups/virt
326 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
329 rm -rf $RPM_BUILD_ROOT
331 %post libs -p /sbin/ldconfig
332 %postun libs -p /sbin/ldconfig
335 # TODO: verify these scripts (see also included glusterfs.spec)
337 # note: glusterfsd.init vs glusterd.service
338 /sbin/chkconfig --add glusterfsd
339 %service glusterfsd restart
341 #glusterd --xlator-option *.upgrade=on -N
344 if [ "$1" = "0" ]; then
345 %service -q glusterfsd stop
346 /sbin/chkconfig --del glusterfsd
349 %post geo-replication
350 %service glusterd restart
354 %defattr(644,root,root,755)
355 %doc ChangeLog NEWS README.md THANKS
356 %attr(755,root,root) %{_bindir}/glusterfind
357 %attr(755,root,root) %{_sbindir}/glfsheal
358 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
359 %attr(755,root,root) %{_sbindir}/glusterfs
360 %attr(755,root,root) %{_sbindir}/glusterfsd
361 %dir %{_sysconfdir}/%{name}
363 %dir %{_libdir}/glusterfs
365 %dir %{_libdir}/glusterfs/%{version}
366 %dir %{_libdir}/glusterfs/%{version}/auth
367 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
368 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
370 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
371 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
373 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
374 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
376 %dir %{_libdir}/glusterfs/%{version}/xlator
377 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
378 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
379 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
380 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
381 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
382 %dir %{_libdir}/glusterfs/%{version}/xlator/features
383 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
384 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
385 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
386 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
387 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
388 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
389 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
390 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
391 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
392 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
393 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
394 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
395 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
396 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
397 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
398 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
399 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
400 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
401 %dir %{_libdir}/glusterfs/%{version}/xlator/system
402 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
404 %if "%{_libexecdir}" != "%{_libdir}"
405 %dir %{_libexecdir}/glusterfs
407 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
409 %dir %{_libexecdir}/glusterfs/glusterfind
410 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
411 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
412 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
413 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
414 %{_libexecdir}/glusterfs/glusterfind/__init__.py
415 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
416 %{_libexecdir}/glusterfs/glusterfind/conf.py
417 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
418 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
419 %{_libexecdir}/glusterfs/glusterfind/main.py
420 %{_libexecdir}/glusterfs/glusterfind/utils.py
421 %{_libexecdir}/glusterfs/glusterfind/tool.conf
422 %{_libexecdir}/glusterfs/glusterfind/__pycache__
424 %dir %{_libexecdir}/glusterfs/python
426 %dir %{_datadir}/glusterfs
427 %dir %{_datadir}/glusterfs/scripts
428 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
429 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
430 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
431 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
432 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
434 %{_mandir}/man8/glusterfs.8*
435 %{_mandir}/man8/glusterfsd.8*
436 %dir %{_var}/log/glusterfs
439 %defattr(644,root,root,755)
440 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
441 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
442 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
443 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
444 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
445 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
446 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
447 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
448 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
449 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/libgfapi.so
454 %attr(755,root,root) %{_libdir}/libgfchangelog.so
455 %attr(755,root,root) %{_libdir}/libgfrpc.so
456 %attr(755,root,root) %{_libdir}/libgfxdr.so
457 %attr(755,root,root) %{_libdir}/libglusterfs.so
458 %{_libdir}/libgfapi.la
459 %{_libdir}/libgfchangelog.la
460 %{_libdir}/libgfrpc.la
461 %{_libdir}/libgfxdr.la
462 %{_libdir}/libglusterfs.la
463 %dir %{_includedir}/glusterfs
464 %{_includedir}/glusterfs/api
465 %{_includedir}/glusterfs/gfchangelog
466 %{_includedir}/glusterfs/rpc
467 %{_includedir}/glusterfs/server
468 %{_includedir}/glusterfs/*.h
469 %{_pkgconfigdir}/glusterfs-api.pc
470 %{_pkgconfigdir}/libgfchangelog.pc
472 %files -n python3-gluster
473 %defattr(644,root,root,755)
474 %dir %{py3_sitescriptdir}/gluster
475 %{py3_sitescriptdir}/gluster/__init__.py
476 %{py3_sitescriptdir}/gluster/__pycache__
477 %{py3_sitescriptdir}/gluster/cliutils
478 # created only when using py_build/py_install in xlators/features/glupy/src
479 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
482 %files transport-ibverbs
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
488 %defattr(644,root,root,755)
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
490 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
491 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
492 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
494 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
495 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
496 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
497 %attr(755,root,root) %{_sbindir}/conf.py
498 %attr(755,root,root) %{_sbindir}/gcron.py
499 %attr(755,root,root) %{_sbindir}/gf_attach
500 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
501 %attr(755,root,root) %{_sbindir}/glusterd
502 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
503 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
505 %{_mandir}/man8/gluster-setgfid2path.8*
506 %{_mandir}/man8/glusterd.8*
507 %dir %{_var}/lib/glusterd
508 %dir %{_var}/lib/glusterd/groups
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
514 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
515 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
516 %dir %{_var}/lib/glusterd/hooks
517 %dir %{_var}/lib/glusterd/hooks/1
518 %dir %{_var}/lib/glusterd/hooks/1/add-brick
519 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
520 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
521 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
522 %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
523 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
524 %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
525 %dir %{_var}/lib/glusterd/hooks/1/create
526 %dir %{_var}/lib/glusterd/hooks/1/create/post
527 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
528 %dir %{_var}/lib/glusterd/hooks/1/delete
529 %dir %{_var}/lib/glusterd/hooks/1/delete/post
530 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
531 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
532 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
533 %dir %{_var}/lib/glusterd/hooks/1/set
534 %dir %{_var}/lib/glusterd/hooks/1/set/post
535 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
536 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
537 %dir %{_var}/lib/glusterd/hooks/1/start
538 %dir %{_var}/lib/glusterd/hooks/1/start/post
539 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
540 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
541 %dir %{_var}/lib/glusterd/hooks/1/stop
542 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
544 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
545 %dir %{_var}/run/gluster
548 %defattr(644,root,root,755)
549 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
550 %attr(755,root,root) /sbin/mount.glusterfs
551 %attr(755,root,root) %{_sbindir}/gluster
552 %{_mandir}/man8/gluster.8*
553 %{_mandir}/man8/mount.glusterfs.8*
555 %files resource-agents
556 %defattr(644,root,root,755)
557 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
558 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
559 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
562 %defattr(644,root,root,755)
563 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
564 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
565 %attr(755,root,root) %{_sbindir}/glustereventsd
566 %dir %{_libexecdir}/glusterfs/gfevents
567 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
568 %{_libexecdir}/glusterfs/gfevents/__init__.py
569 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
570 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
571 %{_libexecdir}/glusterfs/gfevents/gf_event.py
572 %{_libexecdir}/glusterfs/gfevents/handlers.py
573 %{_libexecdir}/glusterfs/gfevents/utils.py
574 %{_libexecdir}/glusterfs/gfevents/__pycache__
575 %{_libexecdir}/glusterfs/peer_eventsapi.py
576 %{_datadir}/glusterfs/scripts/eventsdash.py
578 %files geo-replication
579 %defattr(644,root,root,755)
580 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
581 %attr(755,root,root) %{_sbindir}/gfind_missing_files
582 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
583 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
584 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
585 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
586 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
587 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
588 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
589 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
590 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
591 %dir %{_libexecdir}/glusterfs/gfind_missing_files
592 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
593 %dir %{_libexecdir}/glusterfs/python/syncdaemon
594 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
595 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
598 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
599 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
600 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
601 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
602 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
603 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
604 %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
607 %defattr(644,root,root,755)
608 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
609 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
610 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
612 %files -n emacs-glusterfs-mode
613 %defattr(644,root,root,755)
614 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
616 %files -n vim-syntax-glusterfs
617 %defattr(644,root,root,755)
618 %{_datadir}/vim/syntax/glusterfs.vim