2 # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID}
3 # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd
4 # - package /etc/glusterfs/glusterfs-logrotate as logrotate config
5 # - Fix/provide working systemd service files.
6 # As for 3.7.11, package provided seems be non-working.
7 # - add nfs-ganesha to PLD and package ganesha integration files
8 # - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable)
11 %bcond_without system_fuse # system fusermount
13 Summary: Clustered File Storage that can scale to peta bytes
14 Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów
18 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
19 Group: Applications/System
20 Source0: https://download.gluster.org/pub/gluster/glusterfs/10/%{version}/glusterfs-%{version}.tar.gz
21 # Source0-md5: 8ac48f7b7f9afa0e5dfa9ad42589ee27
22 Source1: glusterfsd.init
23 Patch0: ssl_paths.patch
24 Patch1: ksh_getopts.patch
25 URL: https://www.gluster.org/
26 BuildRequires: acl-devel
27 BuildRequires: autoconf >= 2.50
28 BuildRequires: automake
30 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
31 BuildRequires: curl-devel
33 BuildRequires: device-mapper-devel >= 2.02.79
35 BuildRequires: libaio-devel
36 BuildRequires: libselinux-devel
37 BuildRequires: libtcmalloc-devel
38 BuildRequires: libtirpc-devel
39 BuildRequires: libtool
40 BuildRequires: liburing-devel
41 BuildRequires: libuuid-devel
42 BuildRequires: libxml2-devel >= 1:2.6.19
43 BuildRequires: openssl-devel
44 BuildRequires: pkgconfig
45 BuildRequires: python3 >= 1:3.2
46 BuildRequires: python3-devel >= 1:3.2
47 BuildRequires: readline-devel
48 BuildRequires: rpcsvc-proto
49 BuildRequires: rpm-pythonprov
50 BuildRequires: rpmbuild(macros) >= 1.228
51 BuildRequires: sed >= 4.0
52 BuildRequires: sqlite3-devel >= 3
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
81 Obsoletes: glusterfs-transport-ibverbs < 8
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 < 1.3.10-2
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.
150 Summary: GlusterFS Server
151 Summary(pl.UTF-8): Serwer GlusterFS-a
153 Requires: %{name}-client = %{version}-%{release}
154 Requires: %{name}-common = %{version}-%{release}
155 Requires(post,preun): /sbin/chkconfig
157 Requires: python3-modules
160 This package provides the glusterfs server daemon.
162 %description server -l pl.UTF-8
163 Ten pakiet zawiera część serwerową GlusterFS-a.
166 Summary: GlusterFS Client
167 Summary(pl.UTF-8): Klient GlusterFS
168 Group: Applications/System
169 Requires: %{name}-common = %{version}-%{release}
170 %{?with_system_fuse:Requires: libfuse >= 2.6}
173 This package provides the FUSE based GlusterFS client.
175 %description client -l pl.UTF-8
176 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
178 %package resource-agents
179 Summary: OCF Resource Agents for GlusterFS processes
180 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
181 Group: Applications/System
182 Requires: %{name}-server = %{version}-%{release}
183 Requires: resource-agents
185 %description resource-agents
186 OCF Resource Agents for GlusterFS processes.
188 %description resource-agents -l pl.UTF-8
189 Agenci OCF do monitorowania procesów GlusterFS-a.
192 Summary: GlusterFS Events
193 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
194 Group: Applications/File
195 Requires: %{name}-server = %{version}-%{release}
196 Requires: python3-gluster = %{version}-%{release}
197 Requires: python3-prettytable
198 Requires: python3-requests
203 %description events -l pl.UTF-8
204 Obsługa zdarzeń dla GlusterFS-a.
206 %package geo-replication
207 Summary: GlusterFS Geo-replication
208 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
209 Group: Applications/File
210 Requires: %{name}-server = %{version}-%{release}
211 Requires: python3-gluster = %{version}-%{release}
212 Requires: python3-prettytable
215 %description geo-replication
216 GlusterFS support for geo-replication.
218 %description geo-replication -l pl.UTF-8
219 Obsługa geo-replikacji dla GlusterFS-a.
221 %package thin-arbiter
222 Summary: GlusterFS thin-arbiter module
223 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
224 Group: Applications/File
225 Requires: %{name}-server = %{version}-%{release}
227 %description thin-arbiter
228 This package provides a tie-breaker functionality to GlusterFS
229 replicate volume. It includes translators required to provide the
230 functionality, and also few other scripts required for getting the
233 This package provides the glusterfs thin-arbiter translator.
235 %description thin-arbiter -l pl.UTF-8
236 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
237 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
238 kilka skryptów wymaganych do konfiguracji.
240 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
242 %package -n emacs-glusterfs-mode
243 Summary: Emacs mode to edit GlusterFS configuration
244 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
245 Group: Applications/Editors
246 Requires: %{name}-common = %{version}-%{release}
247 Requires: emacs-common
249 %description -n emacs-glusterfs-mode
250 Emacs mode to edit GlusterFS configuration.
252 %description -n emacs-glusterfs-mode -l pl.UTF-8
253 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
255 %package -n vim-syntax-glusterfs
256 Summary: Vim syntax file to edit GlusterFS configuration
257 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
258 Group: Applications/Editors
259 Requires: %{name}-common = %{version}-%{release}
260 Requires: vim-rt >= 4:7.2.170
262 %description -n vim-syntax-glusterfs
263 Vim syntax file to edit GlusterFS configuration.
265 %description -n vim-syntax-glusterfs -l pl.UTF-8
266 Plik składni Vima do edycji konfiguracji GlusterFS-a.
280 PYTHON=%{__python3} \
281 %{?with_system_fuse:--disable-fusermount} \
282 --disable-silent-rules \
284 --with-initdir=/etc/rc.d/init.d
289 rm -rf $RPM_BUILD_ROOT
290 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
292 %{__make} -j1 install \
293 DESTDIR=$RPM_BUILD_ROOT
295 # No idea why installs elsewhere than later expects to be
296 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
298 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
300 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
301 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
302 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
304 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
305 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
307 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
308 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
309 # example, installed as /var/lib/glusterd/groups/virt
310 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
313 rm -rf $RPM_BUILD_ROOT
315 %post libs -p /sbin/ldconfig
316 %postun libs -p /sbin/ldconfig
319 /sbin/chkconfig --add glusterfsd
320 %service glusterfsd restart
323 if [ "$1" = "0" ]; then
324 %service -q glusterfsd stop
325 /sbin/chkconfig --del glusterfsd
328 %post geo-replication
329 %service glusterd restart
332 %defattr(644,root,root,755)
333 %doc ChangeLog NEWS README.md THANKS
334 %attr(755,root,root) %{_bindir}/glusterfind
335 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
336 %attr(755,root,root) %{_sbindir}/glusterfs
337 %attr(755,root,root) %{_sbindir}/glusterfsd
338 %dir %{_sysconfdir}/%{name}
340 %dir %{_libdir}/glusterfs
342 %dir %{_libdir}/glusterfs/%{version}
343 %dir %{_libdir}/glusterfs/%{version}/auth
344 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
345 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
347 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
348 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsynccvlt.so
349 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
351 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
352 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
354 %dir %{_libdir}/glusterfs/%{version}/xlator
355 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
356 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
357 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
358 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
359 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
360 %dir %{_libdir}/glusterfs/%{version}/xlator/features
361 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
362 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
363 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
364 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
365 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
366 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
367 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
368 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
369 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
370 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
371 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
372 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
374 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
375 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
376 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
377 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
379 %dir %{_libdir}/glusterfs/%{version}/xlator/system
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
382 %if "%{_libexecdir}" != "%{_libdir}"
383 %dir %{_libexecdir}/glusterfs
385 %dir %{_libexecdir}/glusterfs/scripts
386 %attr(755,root,root) %{_libexecdir}/glusterfs/glfsheal
387 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
389 %dir %{_libexecdir}/glusterfs/glusterfind
390 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
391 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
392 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
393 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
394 %{_libexecdir}/glusterfs/glusterfind/__init__.py
395 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
396 %{_libexecdir}/glusterfs/glusterfind/conf.py
397 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.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
402 %{_libexecdir}/glusterfs/glusterfind/__pycache__
404 %dir %{_libexecdir}/glusterfs/python
406 %dir %{_datadir}/glusterfs
407 %dir %{_datadir}/glusterfs/scripts
408 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
409 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
410 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
411 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
412 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
414 %{_mandir}/man8/glusterfs.8*
415 %{_mandir}/man8/glusterfsd.8*
417 %dir %{_var}/lib/glusterd
418 %dir %{_var}/log/glusterfs
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
423 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
424 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
425 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
426 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
427 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
428 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
429 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
430 %attr(755,root,root) %{_libdir}/libglusterd.so.*.*.*
431 %attr(755,root,root) %ghost %{_libdir}/libglusterd.so.0
432 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
433 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
436 %defattr(644,root,root,755)
437 %attr(755,root,root) %{_libdir}/libgfapi.so
438 %attr(755,root,root) %{_libdir}/libgfchangelog.so
439 %attr(755,root,root) %{_libdir}/libgfrpc.so
440 %attr(755,root,root) %{_libdir}/libgfxdr.so
441 %attr(755,root,root) %{_libdir}/libglusterd.so
442 %attr(755,root,root) %{_libdir}/libglusterfs.so
443 %{_libdir}/libgfapi.la
444 %{_libdir}/libgfchangelog.la
445 %{_libdir}/libgfrpc.la
446 %{_libdir}/libgfxdr.la
447 %{_libdir}/libglusterd.la
448 %{_libdir}/libglusterfs.la
449 %dir %{_includedir}/glusterfs
450 %{_includedir}/glusterfs/api
451 %{_includedir}/glusterfs/gfchangelog
452 %{_includedir}/glusterfs/rpc
453 %{_includedir}/glusterfs/server
454 %{_includedir}/glusterfs/*.h
455 %{_pkgconfigdir}/glusterfs-api.pc
456 %{_pkgconfigdir}/libgfchangelog.pc
458 %files -n python3-gluster
459 %defattr(644,root,root,755)
460 %dir %{py3_sitescriptdir}/gluster
461 %{py3_sitescriptdir}/gluster/__init__.py
462 %{py3_sitescriptdir}/gluster/__pycache__
463 %{py3_sitescriptdir}/gluster/cliutils
464 # created only when using py_build/py_install in xlators/features/glupy/src
465 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
468 %defattr(644,root,root,755)
469 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
470 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
471 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
472 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
473 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
474 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
475 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
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
483 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
485 %{_mandir}/man8/gluster-setgfid2path.8*
486 %{_mandir}/man8/glusterd.8*
487 %dir %{_var}/lib/glusterd/groups
488 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
489 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
490 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
491 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
492 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
494 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
495 %dir %{_var}/lib/glusterd/hooks
496 %dir %{_var}/lib/glusterd/hooks/1
497 %dir %{_var}/lib/glusterd/hooks/1/add-brick
498 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
499 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
500 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
501 %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
502 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
503 %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
504 %dir %{_var}/lib/glusterd/hooks/1/create
505 %dir %{_var}/lib/glusterd/hooks/1/create/post
506 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
507 %dir %{_var}/lib/glusterd/hooks/1/delete
508 %dir %{_var}/lib/glusterd/hooks/1/delete/post
509 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
510 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
511 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
512 %dir %{_var}/lib/glusterd/hooks/1/set
513 %dir %{_var}/lib/glusterd/hooks/1/set/post
514 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
515 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
516 %dir %{_var}/lib/glusterd/hooks/1/start
517 %dir %{_var}/lib/glusterd/hooks/1/start/post
518 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
519 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
520 %dir %{_var}/lib/glusterd/hooks/1/stop
521 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
522 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
523 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
524 %dir %{_var}/run/gluster
527 %defattr(644,root,root,755)
528 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
529 %attr(755,root,root) /sbin/mount.glusterfs
530 %attr(755,root,root) %{_sbindir}/gluster
531 %{_mandir}/man8/gluster.8*
532 %{_mandir}/man8/mount.glusterfs.8*
534 %files resource-agents
535 %defattr(644,root,root,755)
536 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
537 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
538 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
541 %defattr(644,root,root,755)
542 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
543 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
544 %attr(755,root,root) %{_sbindir}/glustereventsd
545 %dir %{_libexecdir}/glusterfs/gfevents
546 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
547 %{_libexecdir}/glusterfs/gfevents/__init__.py
548 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
549 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
550 %{_libexecdir}/glusterfs/gfevents/gf_event.py
551 %{_libexecdir}/glusterfs/gfevents/handlers.py
552 %{_libexecdir}/glusterfs/gfevents/utils.py
553 %{_libexecdir}/glusterfs/gfevents/__pycache__
554 %{_libexecdir}/glusterfs/peer_eventsapi.py
555 %{_datadir}/glusterfs/scripts/eventsdash.py
557 # NFS-ganesha integration
559 #%defattr(644,root,root,755)
560 #%attr(755,root,root) %{_libexecdir}/ganesha/create-export-ganesha.sh
561 #%attr(755,root,root) %{_libexecdir}/ganesha/dbus-send.sh
562 #%attr(755,root,root) %{_libexecdir}/ganesha/ganesha-ha.sh
563 #%attr(755,root,root) %{_libexecdir}/ganesha/generate-epoch.py
564 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace
565 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon
566 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd
567 #%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh
569 %files geo-replication
570 %defattr(644,root,root,755)
571 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
572 %attr(755,root,root) %{_sbindir}/gfind_missing_files
573 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
574 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
575 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
576 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
577 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
578 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
579 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
580 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
581 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
582 %dir %{_libexecdir}/glusterfs/gfind_missing_files
583 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
584 %dir %{_libexecdir}/glusterfs/python/syncdaemon
585 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
586 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
587 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh
588 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/get-gfid.sh
589 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid
590 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh
591 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/schedule_georep.py
592 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/secondary-upgrade.sh
593 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
594 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
595 %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
598 %defattr(644,root,root,755)
599 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
600 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
601 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
603 %files -n emacs-glusterfs-mode
604 %defattr(644,root,root,755)
605 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
607 %files -n vim-syntax-glusterfs
608 %defattr(644,root,root,755)
609 %{_datadir}/vim/syntax/glusterfs.vim