3 # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID}
4 # - Check transport-ibverbs package and ibverbs bcond
5 # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd
6 # - package /etc/glusterfs/glusterfs-logrotate as logrotate config
7 # - Fix/provide working systemd service files.
8 # As for 3.7.11, package provided seems be non-working.
9 # - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable)
12 %bcond_without ibverbs # ib-verbs transport
13 %bcond_without systemtap # systemtap/dtrace support
14 %bcond_without system_fuse # system fusermount
16 Summary: Clustered File Storage that can scale to peta bytes
17 Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów
21 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
22 Group: Applications/System
23 Source0: https://download.gluster.org/pub/gluster/glusterfs/6/%{version}/glusterfs-%{version}.tar.gz
24 # Source0-md5: 18967c357204d4cbdd9c1731508862c6
25 Source1: glusterfsd.init
26 Patch0: %{name}-noquiet.patch
27 URL: https://www.gluster.org/
28 BuildRequires: acl-devel
29 BuildRequires: autoconf >= 2.50
30 BuildRequires: automake
32 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
33 BuildRequires: curl-devel
35 BuildRequires: device-mapper-devel >= 2.02.79
37 BuildRequires: libaio-devel
38 %{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4}
39 %{?with_ibverbs:BuildRequires: librdmacm-devel >= 1.0.15}
40 BuildRequires: libselinux-devel
41 BuildRequires: libtirpc-devel
42 BuildRequires: libtool
43 BuildRequires: libuuid-devel
44 BuildRequires: libxml2-devel >= 1:2.6.19
45 BuildRequires: openssl-devel
46 BuildRequires: pkgconfig
47 BuildRequires: python >= 1:2.6
48 BuildRequires: python-devel >= 1:2.6
49 BuildRequires: readline-devel
50 BuildRequires: rpm-pythonprov
51 BuildRequires: rpmbuild(macros) >= 1.228
52 BuildRequires: sed >= 4.0
53 BuildRequires: sqlite3-devel >= 3
54 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
55 BuildRequires: userspace-rcu-devel >= 0.8
56 BuildRequires: zlib-devel >= 1.2.0
57 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 GlusterFS is a clustered file-system capable of scaling to several
61 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
62 or TCP/IP interconnect into one large parallel network file system.
63 GlusterFS is one of the most sophisticated file system in terms of
64 features and extensibility. It borrows a powerful concept called
65 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
66 userspace and easily manageable.
68 %description -l pl.UTF-8
69 GlusterFS to klastrowy system plików skalujący się do petabajtów.
70 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
71 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
72 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
73 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
74 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
75 jest łatwo zarządzalna.
78 Summary: GlusterFS common files including Translators
79 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
81 Requires: libxml2 >= 1:2.6.19
82 Requires: zlib >= 1.2.0
85 GlusterFS is a clustered file-system capable of scaling to several
86 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
87 or TCP/IP interconnect into one large parallel network file system.
88 GlusterFS is one of the most sophisticated file system in terms of
89 features and extensibility. It borrows a powerful concept called
90 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
91 userspace and easily manageable.
93 This package includes libglusterfs and glusterfs translator modules
94 common to both GlusterFS server and client framework.
96 %description common -l pl.UTF-8
97 GlusterFS to klastrowy system plików skalujący się do petabajtów.
98 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
99 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
100 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
101 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
102 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
103 jest łatwo zarządzalna.
105 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
106 wspólne dla klienta jak i serwera GlusterFS-a.
109 Summary: GlusterFS libraries
110 Summary(pl.UTF-8): Biblioteki GlusterFS-a
112 Conflicts: glusterfs-common < 3.4.0
117 %description libs -l pl.UTF-8
118 Biblioteki GlusterFS-a.
121 Summary: GlusterFS development files
122 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
123 Group: Development/Libraries
124 Requires: %{name}-libs = %{version}-%{release}
127 Requires: 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 python-gluster
137 Summary: Python interface to GlusterFS libraries
138 Summary(pl.UTF-8): Interfejs Pythona do bibliotek GlusterFS
139 Group: Libraries/Python
140 Requires: %{name}-libs = %{version}-%{release}
142 %description -n python-gluster
143 Python interface to GlusterFS libraries.
145 %description -n python-gluster -l pl.UTF-8
146 Interfejs Pythona do bibliotek GlusterFS.
148 %package transport-ibverbs
149 Summary: InfiniBand "verbs" transport plugins for GlusterFS
150 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
152 Requires: %{name}-common = %{version}-%{release}
153 Requires: libibverbs >= 1.0.4
154 Requires: librdmacm >= 1.0.15
156 %description transport-ibverbs
157 InfiniBand "verbs" transport plugins for GlusterFS.
159 %description transport-ibverbs -l pl.UTF-8
160 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
163 Summary: GlusterFS Server
164 Summary(pl.UTF-8): Serwer GlusterFS-a
166 Requires: %{name}-client = %{version}-%{release}
167 Requires: %{name}-common = %{version}-%{release}
168 Requires(post,preun): /sbin/chkconfig
170 Requires: python-modules
173 This package provides the glusterfs server daemon.
175 %description server -l pl.UTF-8
176 Ten pakiet zawiera część serwerową GlusterFS-a.
179 Summary: GlusterFS Client
180 Summary(pl.UTF-8): Klient GlusterFS
181 Group: Applications/System
182 Requires: %{name}-common = %{version}-%{release}
183 %{?with_system_fuse:Requires: libfuse >= 2.6}
186 This package provides the FUSE based GlusterFS client.
188 %description client -l pl.UTF-8
189 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
191 %package resource-agents
192 Summary: OCF Resource Agents for GlusterFS processes
193 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
194 Group: Applications/System
195 Requires: %{name}-server = %{version}-%{release}
196 Requires: resource-agents
198 %description resource-agents
199 OCF Resource Agents for GlusterFS processes.
201 %description resource-agents -l pl.UTF-8
202 Agenci OCF do monitorowania procesów GlusterFS-a.
205 Summary: GlusterFS Events
206 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
207 Group: Applications/File
208 Requires: %{name}-server = %{version}-%{release}
209 Requires: python-gluster = %{version}-%{release}
210 Requires: python-prettytable
211 Requires: python-requests
216 %description events -l pl.UTF-8
217 Obsługa zdarzeń dla GlusterFS-a.
219 %package geo-replication
220 Summary: GlusterFS Geo-replication
221 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
222 Group: Applications/File
223 Requires: %{name}-server = %{version}-%{release}
224 Requires: python-gluster = %{version}-%{release}
225 Requires: python-prettytable
228 %description geo-replication
229 GlusterFS support for geo-replication.
231 %description geo-replication -l pl.UTF-8
232 Obsługa geo-replikacji dla GlusterFS-a.
234 %package thin-arbiter
235 Summary: GlusterFS thin-arbiter module
236 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
237 Group: Applications/File
238 Requires: %{name}-server = %{version}-%{release}
240 %description thin-arbiter
241 This package provides a tie-breaker functionality to GlusterFS
242 replicate volume. It includes translators required to provide the
243 functionality, and also few other scripts required for getting the
246 This package provides the glusterfs thin-arbiter translator.
248 %description thin-arbiter -l pl.UTF-8
249 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
250 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
251 kilka skryptów wymaganych do konfiguracji.
253 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
255 %package -n emacs-glusterfs-mode
256 Summary: Emacs mode to edit GlusterFS configuration
257 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
258 Group: Applications/Editors
259 Requires: %{name}-common = %{version}-%{release}
260 Requires: emacs-common
262 %description -n emacs-glusterfs-mode
263 Emacs mode to edit GlusterFS configuration.
265 %description -n emacs-glusterfs-mode -l pl.UTF-8
266 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
268 %package -n vim-syntax-glusterfs
269 Summary: Vim syntax file to edit GlusterFS configuration
270 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
271 Group: Applications/Editors
272 Requires: %{name}-common = %{version}-%{release}
273 Requires: vim-rt >= 4:7.2.170
275 %description -n vim-syntax-glusterfs
276 Vim syntax file to edit GlusterFS configuration.
278 %description -n vim-syntax-glusterfs -l pl.UTF-8
279 Plik składni Vima do edycji konfiguracji GlusterFS-a.
293 %{?with_system_fuse:--disable-fusermount} \
294 --disable-silent-rules \
296 %{!?with_ibverbs:--disable-ibverbs} \
297 --enable-systemtap%{!?with_systemtap:=no} \
298 --with-initdir=/etc/rc.d/init.d
303 rm -rf $RPM_BUILD_ROOT
304 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
306 %{__make} -j1 install \
307 DESTDIR=$RPM_BUILD_ROOT
309 # No idea why installs elsewhere than later expects to be
310 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
312 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
314 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
315 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
316 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
318 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
319 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
321 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
322 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
323 # example, installed as /var/lib/glusterd/groups/virt
324 %{__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
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 python-gluster
472 %defattr(644,root,root,755)
473 %dir %{py_sitescriptdir}/gluster
474 %{py_sitescriptdir}/gluster/*.py[co]
475 %{py_sitescriptdir}/gluster/cliutils
476 # created only when using py_build/py_install in xlators/features/glupy/src
477 #%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
480 %files transport-ibverbs
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
486 %defattr(644,root,root,755)
487 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
488 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
490 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
491 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
492 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
494 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
495 %attr(755,root,root) %{_sbindir}/conf.py
496 %attr(755,root,root) %{_sbindir}/gcron.py
497 %attr(755,root,root) %{_sbindir}/gf_attach
498 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
499 %attr(755,root,root) %{_sbindir}/glusterd
500 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
501 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
503 %{_mandir}/man8/gluster-setgfid2path.8*
504 %{_mandir}/man8/glusterd.8*
505 %dir %{_var}/lib/glusterd
506 %dir %{_var}/lib/glusterd/groups
507 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
508 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
514 %dir %{_var}/lib/glusterd/hooks
515 %dir %{_var}/lib/glusterd/hooks/1
516 %dir %{_var}/lib/glusterd/hooks/1/add-brick
517 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
518 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
519 %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
520 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
521 %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
522 %dir %{_var}/lib/glusterd/hooks/1/create
523 %dir %{_var}/lib/glusterd/hooks/1/create/post
524 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
525 %dir %{_var}/lib/glusterd/hooks/1/delete
526 %dir %{_var}/lib/glusterd/hooks/1/delete/post
527 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
528 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
529 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
530 %dir %{_var}/lib/glusterd/hooks/1/set
531 %dir %{_var}/lib/glusterd/hooks/1/set/post
532 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
533 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
534 %dir %{_var}/lib/glusterd/hooks/1/start
535 %dir %{_var}/lib/glusterd/hooks/1/start/post
536 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
537 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
538 %dir %{_var}/lib/glusterd/hooks/1/stop
539 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
540 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
541 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
542 %dir %{_var}/run/gluster
545 %defattr(644,root,root,755)
546 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
547 %attr(755,root,root) /sbin/mount.glusterfs
548 %attr(755,root,root) %{_sbindir}/gluster
549 %{_mandir}/man8/gluster.8*
550 %{_mandir}/man8/mount.glusterfs.8*
552 %files resource-agents
553 %defattr(644,root,root,755)
554 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
555 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
556 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
559 %defattr(644,root,root,755)
560 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
561 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
562 %attr(755,root,root) %{_sbindir}/glustereventsd
563 %dir %{_libexecdir}/glusterfs/gfevents
564 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
565 %{_libexecdir}/glusterfs/gfevents/__init__.py*
566 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py*
567 %{_libexecdir}/glusterfs/gfevents/eventtypes.py*
568 %{_libexecdir}/glusterfs/gfevents/gf_event.py*
569 %{_libexecdir}/glusterfs/gfevents/handlers.py*
570 %{_libexecdir}/glusterfs/gfevents/utils.py*
571 %{_libexecdir}/glusterfs/peer_eventsapi.py*
572 %{_datadir}/glusterfs/scripts/eventsdash.py
574 %files geo-replication
575 %defattr(644,root,root,755)
576 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
577 %attr(755,root,root) %{_sbindir}/gfind_missing_files
578 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
579 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
580 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
581 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
582 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
583 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
584 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
585 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
586 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
587 %dir %{_libexecdir}/glusterfs/gfind_missing_files
588 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
589 %dir %{_libexecdir}/glusterfs/python/syncdaemon
590 # gsyncd.py is a script, the rest probably don't require *.py
591 %{_libexecdir}/glusterfs/python/syncdaemon/*.py*
592 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
593 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
594 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
595 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
598 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
599 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
600 %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
603 %defattr(644,root,root,755)
604 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
605 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
606 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
608 %files -n emacs-glusterfs-mode
609 %defattr(644,root,root,755)
610 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
612 %files -n vim-syntax-glusterfs
613 %defattr(644,root,root,755)
614 %{_datadir}/vim/syntax/glusterfs.vim