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/9/%{version}/glusterfs-%{version}.tar.gz
21 # Source0-md5: 9af057c55f613c39d7d992eedfeaab0d
22 Source1: glusterfsd.init
24 URL: https://www.gluster.org/
25 BuildRequires: acl-devel
26 BuildRequires: autoconf >= 2.50
27 BuildRequires: automake
29 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
30 BuildRequires: curl-devel
32 BuildRequires: device-mapper-devel >= 2.02.79
34 BuildRequires: libaio-devel
35 BuildRequires: libselinux-devel
36 BuildRequires: libtirpc-devel
37 BuildRequires: libtool
38 BuildRequires: liburing-devel
39 BuildRequires: libuuid-devel
40 BuildRequires: libxml2-devel >= 1:2.6.19
41 BuildRequires: openssl-devel
42 BuildRequires: pkgconfig
43 BuildRequires: python3 >= 1:3.2
44 BuildRequires: python3-devel >= 1:3.2
45 BuildRequires: readline-devel
46 BuildRequires: rpcsvc-proto
47 BuildRequires: rpm-pythonprov
48 BuildRequires: rpmbuild(macros) >= 1.228
49 BuildRequires: sed >= 4.0
50 BuildRequires: sqlite3-devel >= 3
51 BuildRequires: userspace-rcu-devel >= 0.8
52 BuildRequires: zlib-devel >= 1.2.0
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 GlusterFS is a clustered file-system capable of scaling to several
57 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
58 or TCP/IP interconnect into one large parallel network file system.
59 GlusterFS is one of the most sophisticated file system in terms of
60 features and extensibility. It borrows a powerful concept called
61 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
62 userspace and easily manageable.
64 %description -l pl.UTF-8
65 GlusterFS to klastrowy system plików skalujący się do petabajtów.
66 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
67 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
68 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
69 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
70 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
71 jest łatwo zarządzalna.
74 Summary: GlusterFS common files including Translators
75 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
77 Requires: libxml2 >= 1:2.6.19
78 Requires: zlib >= 1.2.0
79 Obsoletes: glusterfs-transport-ibverbs < 8
82 GlusterFS is a clustered file-system capable of scaling to several
83 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
84 or TCP/IP interconnect into one large parallel network file system.
85 GlusterFS is one of the most sophisticated file system in terms of
86 features and extensibility. It borrows a powerful concept called
87 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
88 userspace and easily manageable.
90 This package includes libglusterfs and glusterfs translator modules
91 common to both GlusterFS server and client framework.
93 %description common -l pl.UTF-8
94 GlusterFS to klastrowy system plików skalujący się do petabajtów.
95 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
96 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
97 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
98 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
99 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
100 jest łatwo zarządzalna.
102 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
103 wspólne dla klienta jak i serwera GlusterFS-a.
106 Summary: GlusterFS libraries
107 Summary(pl.UTF-8): Biblioteki GlusterFS-a
109 Conflicts: glusterfs-common < 3.4.0
114 %description libs -l pl.UTF-8
115 Biblioteki GlusterFS-a.
118 Summary: GlusterFS development files
119 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
120 Group: Development/Libraries
121 Requires: %{name}-libs = %{version}-%{release}
124 Requires: libtirpc-devel
125 Requires: openssl-devel
126 Obsoletes: glusterfs-static
129 This package provides the development files for GlusterFS library.
131 %description devel -l pl.UTF-8
132 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
134 %package -n python3-gluster
135 Summary: Python 3 interface to GlusterFS libraries
136 Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek GlusterFS
137 Group: Libraries/Python
138 Requires: %{name}-libs = %{version}-%{release}
139 Obsoletes: python-gluster < 6.6
141 %description -n python3-gluster
142 Python 3 interface to GlusterFS libraries.
144 %description -n python3-gluster -l pl.UTF-8
145 Interfejs Pythona 3 do bibliotek GlusterFS.
148 Summary: GlusterFS Server
149 Summary(pl.UTF-8): Serwer GlusterFS-a
151 Requires: %{name}-client = %{version}-%{release}
152 Requires: %{name}-common = %{version}-%{release}
153 Requires(post,preun): /sbin/chkconfig
155 Requires: python3-modules
158 This package provides the glusterfs server daemon.
160 %description server -l pl.UTF-8
161 Ten pakiet zawiera część serwerową GlusterFS-a.
164 Summary: GlusterFS Client
165 Summary(pl.UTF-8): Klient GlusterFS
166 Group: Applications/System
167 Requires: %{name}-common = %{version}-%{release}
168 %{?with_system_fuse:Requires: libfuse >= 2.6}
171 This package provides the FUSE based GlusterFS client.
173 %description client -l pl.UTF-8
174 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
176 %package resource-agents
177 Summary: OCF Resource Agents for GlusterFS processes
178 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
179 Group: Applications/System
180 Requires: %{name}-server = %{version}-%{release}
181 Requires: resource-agents
183 %description resource-agents
184 OCF Resource Agents for GlusterFS processes.
186 %description resource-agents -l pl.UTF-8
187 Agenci OCF do monitorowania procesów GlusterFS-a.
190 Summary: GlusterFS Events
191 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
192 Group: Applications/File
193 Requires: %{name}-server = %{version}-%{release}
194 Requires: python3-gluster = %{version}-%{release}
195 Requires: python3-prettytable
196 Requires: python3-requests
201 %description events -l pl.UTF-8
202 Obsługa zdarzeń dla GlusterFS-a.
204 %package geo-replication
205 Summary: GlusterFS Geo-replication
206 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
207 Group: Applications/File
208 Requires: %{name}-server = %{version}-%{release}
209 Requires: python3-gluster = %{version}-%{release}
210 Requires: python3-prettytable
213 %description geo-replication
214 GlusterFS support for geo-replication.
216 %description geo-replication -l pl.UTF-8
217 Obsługa geo-replikacji dla GlusterFS-a.
219 %package thin-arbiter
220 Summary: GlusterFS thin-arbiter module
221 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
222 Group: Applications/File
223 Requires: %{name}-server = %{version}-%{release}
225 %description thin-arbiter
226 This package provides a tie-breaker functionality to GlusterFS
227 replicate volume. It includes translators required to provide the
228 functionality, and also few other scripts required for getting the
231 This package provides the glusterfs thin-arbiter translator.
233 %description thin-arbiter -l pl.UTF-8
234 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
235 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
236 kilka skryptów wymaganych do konfiguracji.
238 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
240 %package -n emacs-glusterfs-mode
241 Summary: Emacs mode to edit GlusterFS configuration
242 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
243 Group: Applications/Editors
244 Requires: %{name}-common = %{version}-%{release}
245 Requires: emacs-common
247 %description -n emacs-glusterfs-mode
248 Emacs mode to edit GlusterFS configuration.
250 %description -n emacs-glusterfs-mode -l pl.UTF-8
251 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
253 %package -n vim-syntax-glusterfs
254 Summary: Vim syntax file to edit GlusterFS configuration
255 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
256 Group: Applications/Editors
257 Requires: %{name}-common = %{version}-%{release}
258 Requires: vim-rt >= 4:7.2.170
260 %description -n vim-syntax-glusterfs
261 Vim syntax file to edit GlusterFS configuration.
263 %description -n vim-syntax-glusterfs -l pl.UTF-8
264 Plik składni Vima do edycji konfiguracji GlusterFS-a.
277 PYTHON=%{__python3} \
278 %{?with_system_fuse:--disable-fusermount} \
279 --disable-silent-rules \
281 --with-initdir=/etc/rc.d/init.d \
282 --with-systemddir=%{systemdunitdir}
287 rm -rf $RPM_BUILD_ROOT
288 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
290 %{__make} -j1 install \
291 DESTDIR=$RPM_BUILD_ROOT
293 # No idea why installs elsewhere than later expects to be
294 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
296 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
297 install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
298 cat >>$RPM_BUILD_ROOT%{systemdtmpfilesdir}/gluster.conf <<EOF
299 d /var/run/gluster 0755 root root -
302 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
303 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
304 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
306 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
307 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
309 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
310 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
311 # example, installed as /var/lib/glusterd/groups/virt
312 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
315 rm -rf $RPM_BUILD_ROOT
317 %post libs -p /sbin/ldconfig
318 %postun libs -p /sbin/ldconfig
321 # TODO: verify these scripts (see also included glusterfs.spec)
323 # note: glusterfsd.init vs glusterd.service
324 /sbin/chkconfig --add glusterfsd
325 %service glusterfsd restart
326 %systemd_post glusterd.service
328 #glusterd --xlator-option *.upgrade=on -N
331 if [ "$1" = "0" ]; then
332 %service -q glusterfsd stop
333 /sbin/chkconfig --del glusterfsd
335 %systemd_preun glusterd
341 %systemd_post glustereventsd
344 %systemd_preun glustereventsd
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 # 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/cloudsynccvlt.so
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 %dir %{_libexecdir}/glusterfs/scripts
408 %attr(755,root,root) %{_libexecdir}/glusterfs/glfsheal
409 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
411 %dir %{_libexecdir}/glusterfs/glusterfind
412 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
413 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
414 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
415 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
416 %{_libexecdir}/glusterfs/glusterfind/__init__.py
417 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
418 %{_libexecdir}/glusterfs/glusterfind/conf.py
419 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
420 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
421 %{_libexecdir}/glusterfs/glusterfind/main.py
422 %{_libexecdir}/glusterfs/glusterfind/utils.py
423 %{_libexecdir}/glusterfs/glusterfind/tool.conf
424 %{_libexecdir}/glusterfs/glusterfind/__pycache__
426 %dir %{_libexecdir}/glusterfs/python
428 %dir %{_datadir}/glusterfs
429 %dir %{_datadir}/glusterfs/scripts
430 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
431 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
432 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
433 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
434 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
436 %{_mandir}/man8/glusterfs.8*
437 %{_mandir}/man8/glusterfsd.8*
438 %dir %{_var}/log/glusterfs
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
443 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
444 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
445 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
446 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
447 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
448 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
449 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
450 %attr(755,root,root) %{_libdir}/libglusterd.so.*.*.*
451 %attr(755,root,root) %ghost %{_libdir}/libglusterd.so.0
452 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
453 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/libgfapi.so
458 %attr(755,root,root) %{_libdir}/libgfchangelog.so
459 %attr(755,root,root) %{_libdir}/libgfrpc.so
460 %attr(755,root,root) %{_libdir}/libgfxdr.so
461 %attr(755,root,root) %{_libdir}/libglusterd.so
462 %attr(755,root,root) %{_libdir}/libglusterfs.so
463 %{_libdir}/libgfapi.la
464 %{_libdir}/libgfchangelog.la
465 %{_libdir}/libgfrpc.la
466 %{_libdir}/libgfxdr.la
467 %{_libdir}/libglusterd.la
468 %{_libdir}/libglusterfs.la
469 %dir %{_includedir}/glusterfs
470 %{_includedir}/glusterfs/api
471 %{_includedir}/glusterfs/gfchangelog
472 %{_includedir}/glusterfs/rpc
473 %{_includedir}/glusterfs/server
474 %{_includedir}/glusterfs/*.h
475 %{_pkgconfigdir}/glusterfs-api.pc
476 %{_pkgconfigdir}/libgfchangelog.pc
478 %files -n python3-gluster
479 %defattr(644,root,root,755)
480 %dir %{py3_sitescriptdir}/gluster
481 %{py3_sitescriptdir}/gluster/__init__.py
482 %{py3_sitescriptdir}/gluster/__pycache__
483 %{py3_sitescriptdir}/gluster/cliutils
484 # created only when using py_build/py_install in xlators/features/glupy/src
485 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
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
504 %{systemdunitdir}/glusterd.service
505 %{systemdunitdir}/glusterfssharedstorage.service
506 %{systemdtmpfilesdir}/gluster.conf
508 %{_mandir}/man8/gluster-setgfid2path.8*
509 %{_mandir}/man8/glusterd.8*
510 %dir %{_var}/lib/glusterd
511 %dir %{_var}/lib/glusterd/groups
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
514 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
515 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
516 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
517 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
518 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
519 %dir %{_var}/lib/glusterd/hooks
520 %dir %{_var}/lib/glusterd/hooks/1
521 %dir %{_var}/lib/glusterd/hooks/1/add-brick
522 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
523 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
524 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
525 %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
526 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
527 %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
528 %dir %{_var}/lib/glusterd/hooks/1/create
529 %dir %{_var}/lib/glusterd/hooks/1/create/post
530 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
531 %dir %{_var}/lib/glusterd/hooks/1/delete
532 %dir %{_var}/lib/glusterd/hooks/1/delete/post
533 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
534 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
535 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
536 %dir %{_var}/lib/glusterd/hooks/1/set
537 %dir %{_var}/lib/glusterd/hooks/1/set/post
538 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
539 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
540 %dir %{_var}/lib/glusterd/hooks/1/start
541 %dir %{_var}/lib/glusterd/hooks/1/start/post
542 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
544 %dir %{_var}/lib/glusterd/hooks/1/stop
545 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
546 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
547 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
548 %dir %{_var}/run/gluster
551 %defattr(644,root,root,755)
552 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
553 %attr(755,root,root) /sbin/mount.glusterfs
554 %attr(755,root,root) %{_sbindir}/gluster
555 %{_mandir}/man8/gluster.8*
556 %{_mandir}/man8/mount.glusterfs.8*
558 %files resource-agents
559 %defattr(644,root,root,755)
560 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
561 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
562 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
565 %defattr(644,root,root,755)
566 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
567 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
568 %attr(755,root,root) %{_sbindir}/glustereventsd
569 %dir %{_libexecdir}/glusterfs/gfevents
570 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
571 %{_libexecdir}/glusterfs/gfevents/__init__.py
572 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
573 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
574 %{_libexecdir}/glusterfs/gfevents/gf_event.py
575 %{_libexecdir}/glusterfs/gfevents/handlers.py
576 %{_libexecdir}/glusterfs/gfevents/utils.py
577 %{_libexecdir}/glusterfs/gfevents/__pycache__
578 %{_libexecdir}/glusterfs/peer_eventsapi.py
579 %{_datadir}/glusterfs/scripts/eventsdash.py
580 %{systemdunitdir}/glustereventsd.service
582 # NFS-ganesha integration
584 #%defattr(644,root,root,755)
585 #%attr(755,root,root) %{_libexecdir}/ganesha/create-export-ganesha.sh
586 #%attr(755,root,root) %{_libexecdir}/ganesha/dbus-send.sh
587 #%attr(755,root,root) %{_libexecdir}/ganesha/ganesha-ha.sh
588 #%attr(755,root,root) %{_libexecdir}/ganesha/generate-epoch.py
589 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace
590 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon
591 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd
592 #%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh
594 %files geo-replication
595 %defattr(644,root,root,755)
596 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
597 %attr(755,root,root) %{_sbindir}/gfind_missing_files
598 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
599 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
600 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
601 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
602 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
603 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
604 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
605 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
606 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
607 %dir %{_libexecdir}/glusterfs/gfind_missing_files
608 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
609 %dir %{_libexecdir}/glusterfs/python/syncdaemon
610 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
611 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
612 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh
613 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/get-gfid.sh
614 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid
615 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh
616 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/schedule_georep.py
617 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/slave-upgrade.sh
618 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
619 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
620 %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
623 %defattr(644,root,root,755)
624 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
625 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
626 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
627 %{systemdunitdir}/gluster-ta-volume.service
629 %files -n emacs-glusterfs-mode
630 %defattr(644,root,root,755)
631 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
633 %files -n vim-syntax-glusterfs
634 %defattr(644,root,root,755)
635 %{_datadir}/vim/syntax/glusterfs.vim