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/3.12/%{version}/glusterfs-%{version}.tar.gz
23 # Source0-md5: 18f639e98e4c130365b48576cbf01aae
24 Source1: glusterfsd.init
25 Patch0: %{name}-noquiet.patch
26 Patch1: %{name}-python.patch
27 Patch3: interpreters.patch
28 URL: https://www.gluster.org/
29 BuildRequires: acl-devel
30 BuildRequires: autoconf >= 2.50
31 BuildRequires: automake
33 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
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: libtool
41 BuildRequires: libuuid-devel
42 BuildRequires: libxml2-devel >= 1:2.6.19
43 BuildRequires: openssl-devel
44 BuildRequires: pkgconfig
45 BuildRequires: python >= 1:2.4
46 BuildRequires: python-devel >= 1:2.4
47 BuildRequires: readline-devel
48 BuildRequires: rpm-pythonprov
49 BuildRequires: rpmbuild(macros) >= 1.228
50 BuildRequires: sed >= 4.0
51 BuildRequires: sqlite3-devel >= 3
52 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
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
83 GlusterFS is a clustered file-system capable of scaling to several
84 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
85 or TCP/IP interconnect into one large parallel network file system.
86 GlusterFS is one of the most sophisticated file system in terms of
87 features and extensibility. It borrows a powerful concept called
88 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
89 userspace and easily manageable.
91 This package includes libglusterfs and glusterfs translator modules
92 common to both GlusterFS server and client framework.
94 %description common -l pl.UTF-8
95 GlusterFS to klastrowy system plików skalujący się do petabajtów.
96 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
97 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
98 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
99 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
100 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
101 jest łatwo zarządzalna.
103 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
104 wspólne dla klienta jak i serwera GlusterFS-a.
107 Summary: GlusterFS libraries
108 Summary(pl.UTF-8): Biblioteki GlusterFS-a
110 Conflicts: glusterfs-common < 3.4.0
115 %description libs -l pl.UTF-8
116 Biblioteki GlusterFS-a.
119 Summary: GlusterFS development files
120 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
121 Group: Development/Libraries
122 Requires: %{name}-libs = %{version}-%{release}
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 python-gluster
135 Summary: Python interface to GlusterFS libraries
136 Summary(pl.UTF-8): Interfejs Pythona do bibliotek GlusterFS
137 Group: Libraries/Python
138 Requires: %{name}-libs = %{version}-%{release}
140 %description -n python-gluster
141 Python interface to GlusterFS libraries.
143 %description -n python-gluster -l pl.UTF-8
144 Interfejs Pythona do bibliotek GlusterFS.
146 %package transport-ibverbs
147 Summary: InfiniBand "verbs" transport plugins for GlusterFS
148 Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
150 Requires: %{name}-common = %{version}-%{release}
151 Requires: libibverbs >= 1.0.4
152 Requires: librdmacm >= 1.0.15
154 %description transport-ibverbs
155 InfiniBand "verbs" transport plugins for GlusterFS.
157 %description transport-ibverbs -l pl.UTF-8
158 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
161 Summary: GlusterFS Server
162 Summary(pl.UTF-8): Serwer GlusterFS-a
164 Requires: %{name}-client = %{version}-%{release}
165 Requires: %{name}-common = %{version}-%{release}
166 Requires(post,preun): /sbin/chkconfig
168 Requires: python-modules
171 This package provides the glusterfs server daemon.
173 %description server -l pl.UTF-8
174 Ten pakiet zawiera część serwerową GlusterFS-a.
177 Summary: GlusterFS Client
178 Summary(pl.UTF-8): Klient GlusterFS
179 Group: Applications/System
180 Requires: %{name}-common = %{version}-%{release}
181 %{?with_system_fuse:Requires: libfuse >= 2.6}
184 This package provides the FUSE based GlusterFS client.
186 %description client -l pl.UTF-8
187 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
189 %package resource-agents
190 Summary: OCF Resource Agents for GlusterFS processes
191 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
192 Group: Applications/System
193 Requires: %{name}-server = %{version}-%{release}
194 Requires: resource-agents
196 %description resource-agents
197 OCF Resource Agents for GlusterFS processes.
199 %description resource-agents -l pl.UTF-8
200 Agenci OCF do monitorowania procesów GlusterFS-a.
203 Summary: GlusterFS Events
204 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
205 Group: Applications/File
206 Requires: %{name}-server = %{version}-%{release}
207 Requires: python-gluster = %{version}-%{release}
208 Requires: python-prettytable
209 Requires: python-requests
214 %description events -l pl.UTF-8
215 Obsługa zdarzeń dla GlusterFS-a.
217 %package geo-replication
218 Summary: GlusterFS Geo-replication
219 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
220 Group: Applications/File
221 Requires: %{name}-server = %{version}-%{release}
222 Requires: python-gluster = %{version}-%{release}
223 Requires: python-prettytable
226 %description geo-replication
227 GlusterFS support for geo-replication.
229 %description geo-replication -l pl.UTF-8
230 Obsługa geo-replikacji dla GlusterFS-a.
232 %package -n emacs-glusterfs-mode
233 Summary: Emacs mode to edit GlusterFS configuration
234 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
235 Group: Applications/Editors
236 Requires: %{name}-common = %{version}-%{release}
237 Requires: emacs-common
239 %description -n emacs-glusterfs-mode
240 Emacs mode to edit GlusterFS configuration.
242 %description -n emacs-glusterfs-mode -l pl.UTF-8
243 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
245 %package -n vim-syntax-glusterfs
246 Summary: Vim syntax file to edit GlusterFS configuration
247 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
248 Group: Applications/Editors
249 Requires: %{name}-common = %{version}-%{release}
250 Requires: vim-rt >= 4:7.2.170
252 %description -n vim-syntax-glusterfs
253 Vim syntax file to edit GlusterFS configuration.
255 %description -n vim-syntax-glusterfs -l pl.UTF-8
256 Plik składni Vima do edycji konfiguracji GlusterFS-a.
271 %{?with_system_fuse:--disable-fusermount} \
272 --disable-silent-rules \
273 %{!?with_ibverbs:--disable-ibverbs} \
274 --enable-systemtap%{!?with_systemtap:=no} \
275 --with-initdir=/etc/rc.d/init.d
280 rm -rf $RPM_BUILD_ROOT
281 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
283 %{__make} -j1 install \
284 DESTDIR=$RPM_BUILD_ROOT
286 # No idea why installs elsewhere than later expects to be
287 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
289 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
291 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
292 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
293 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
295 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
297 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la
299 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
300 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
301 # example, installed as /var/lib/glusterd/groups/virt
302 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
307 rm -rf $RPM_BUILD_ROOT
309 %post libs -p /sbin/ldconfig
310 %postun libs -p /sbin/ldconfig
313 # TODO: verify these scripts (see also included glusterfs.spec)
315 # note: glusterfsd.init vs glusterd.service
316 /sbin/chkconfig --add glusterfsd
317 %service glusterfsd restart
319 #glusterd --xlator-option *.upgrade=on -N
322 if [ "$1" = "0" ]; then
323 %service -q glusterfsd stop
324 /sbin/chkconfig --del glusterfsd
327 %post geo-replication
328 %service glusterd restart
332 %defattr(644,root,root,755)
333 %doc ChangeLog NEWS README.md THANKS
334 %attr(755,root,root) %{_bindir}/glusterfind
335 %attr(755,root,root) %{_sbindir}/glfsheal
336 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
337 %attr(755,root,root) %{_sbindir}/glusterfs
338 %attr(755,root,root) %{_sbindir}/glusterfsd
339 %dir %{_sysconfdir}/%{name}
341 %dir %{_libdir}/glusterfs
343 %dir %{_libdir}/glusterfs/%{version}
344 %dir %{_libdir}/glusterfs/%{version}/auth
345 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
346 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
348 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
349 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
351 %dir %{_libdir}/glusterfs/%{version}/xlator
352 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
353 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
354 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
355 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
356 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
357 %dir %{_libdir}/glusterfs/%{version}/xlator/encryption
358 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so*
359 %dir %{_libdir}/glusterfs/%{version}/xlator/features
360 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so*
361 %dir %{_libdir}/glusterfs/%{version}/xlator/features/glupy
362 %{_libdir}/glusterfs/%{version}/xlator/features/glupy/*.py*
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/protocol
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so
374 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
375 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so
376 %dir %{_libdir}/glusterfs/%{version}/xlator/system
377 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
378 %dir %{_libdir}/glusterfs/%{version}/xlator/testing
379 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/features
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/features/*.so
381 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance
382 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so
384 %if "%{_libexecdir}" != "%{_libdir}"
385 %dir %{_libexecdir}/glusterfs
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/libgfchangelog.py*
398 %{_libexecdir}/glusterfs/glusterfind/main.py*
399 %{_libexecdir}/glusterfs/glusterfind/utils.py*
400 %{_libexecdir}/glusterfs/glusterfind/tool.conf
402 %dir %{_libexecdir}/glusterfs/python
404 %dir %{_datadir}/glusterfs
405 %dir %{_datadir}/glusterfs/scripts
406 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
407 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
408 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
410 %{_mandir}/man8/glusterfs.8*
411 %{_mandir}/man8/glusterfsd.8*
412 %dir %{_var}/log/glusterfs
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
417 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
418 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
419 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
420 %attr(755,root,root) %{_libdir}/libgfdb.so.*.*.*
421 %attr(755,root,root) %ghost %{_libdir}/libgfdb.so.0
422 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
423 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
424 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
425 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
426 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
427 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
430 %defattr(644,root,root,755)
431 %attr(755,root,root) %{_libdir}/libgfapi.so
432 %attr(755,root,root) %{_libdir}/libgfchangelog.so
433 %attr(755,root,root) %{_libdir}/libgfdb.so
434 %attr(755,root,root) %{_libdir}/libgfrpc.so
435 %attr(755,root,root) %{_libdir}/libgfxdr.so
436 %attr(755,root,root) %{_libdir}/libglusterfs.so
437 %{_libdir}/libgfapi.la
438 %{_libdir}/libgfchangelog.la
439 %{_libdir}/libgfdb.la
440 %{_libdir}/libgfrpc.la
441 %{_libdir}/libgfxdr.la
442 %{_libdir}/libglusterfs.la
443 %dir %{_includedir}/glusterfs
444 %{_includedir}/glusterfs/api
445 %{_includedir}/glusterfs/gfchangelog
446 %{_includedir}/glusterfs/gfdb
447 %{_includedir}/glusterfs/rpc
448 %{_includedir}/glusterfs/server
449 %{_includedir}/glusterfs/*.h
450 %{_pkgconfigdir}/glusterfs-api.pc
451 %{_pkgconfigdir}/libgfchangelog.pc
452 %{_pkgconfigdir}/libgfdb.pc
454 %files -n python-gluster
455 %defattr(644,root,root,755)
456 %dir %{py_sitescriptdir}/gluster
457 %{py_sitescriptdir}/gluster/*.py[co]
458 %{py_sitescriptdir}/gluster/cliutils
459 %{py_sitescriptdir}/gluster/glupy
460 # created only when using py_build/py_install in xlators/features/glupy/src
461 #%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
464 %files transport-ibverbs
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
470 %defattr(644,root,root,755)
471 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
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 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
476 %attr(755,root,root) %{_sbindir}/conf.py
477 %attr(755,root,root) %{_sbindir}/gcron.py
478 %attr(755,root,root) %{_sbindir}/gf_attach
479 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
480 %attr(755,root,root) %{_sbindir}/glusterd
481 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
483 %{_mandir}/man8/gluster-setgfid2path.8*
484 %{_mandir}/man8/glusterd.8*
485 %dir %{_var}/lib/glusterd
486 %dir %{_var}/lib/glusterd/groups
487 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
488 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
489 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
490 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
491 %dir %{_var}/lib/glusterd/hooks
492 %dir %{_var}/lib/glusterd/hooks/1
493 %dir %{_var}/lib/glusterd/hooks/1/add-brick
494 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
495 %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
496 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
497 %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
498 %dir %{_var}/lib/glusterd/hooks/1/create
499 %dir %{_var}/lib/glusterd/hooks/1/create/post
500 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
501 %dir %{_var}/lib/glusterd/hooks/1/delete
502 %dir %{_var}/lib/glusterd/hooks/1/delete/post
503 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
504 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
505 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
506 %dir %{_var}/lib/glusterd/hooks/1/set
507 %dir %{_var}/lib/glusterd/hooks/1/set/post
508 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
509 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
510 %dir %{_var}/lib/glusterd/hooks/1/start
511 %dir %{_var}/lib/glusterd/hooks/1/start/post
512 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
513 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
514 %dir %{_var}/lib/glusterd/hooks/1/stop
515 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
516 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
517 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
518 %dir %{_var}/run/gluster
521 %defattr(644,root,root,755)
522 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
523 %attr(755,root,root) /sbin/mount.glusterfs
524 %attr(755,root,root) %{_sbindir}/gluster
525 %{_mandir}/man8/gluster.8*
526 %{_mandir}/man8/mount.glusterfs.8*
528 %files resource-agents
529 %defattr(644,root,root,755)
530 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
531 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
532 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
535 %defattr(644,root,root,755)
536 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
537 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
538 %attr(755,root,root) %{_sbindir}/glustereventsd
539 %dir %{_libexecdir}/glusterfs/events
540 %attr(755,root,root) %{_libexecdir}/glusterfs/events/glustereventsd.py
541 %{_libexecdir}/glusterfs/events/__init__.py*
542 %{_libexecdir}/glusterfs/events/eventsapiconf.py*
543 %{_libexecdir}/glusterfs/events/eventtypes.py*
544 %{_libexecdir}/glusterfs/events/gf_event.py*
545 %{_libexecdir}/glusterfs/events/handlers.py*
546 %{_libexecdir}/glusterfs/events/utils.py*
547 %{_libexecdir}/glusterfs/peer_eventsapi.py*
548 %{_datadir}/glusterfs/scripts/eventsdash.py
550 %files geo-replication
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_sbindir}/gfind_missing_files
553 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
554 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
555 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
556 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
557 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
558 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
559 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
560 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
561 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
562 %dir %{_libexecdir}/glusterfs/gfind_missing_files
563 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
564 %dir %{_libexecdir}/glusterfs/python/syncdaemon
565 # gsyncd.py is a script, the rest probably don't require *.py
566 %{_libexecdir}/glusterfs/python/syncdaemon/*.py*
567 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
568 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
569 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
570 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
571 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
572 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
573 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
574 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
575 %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
577 %files -n emacs-glusterfs-mode
578 %defattr(644,root,root,755)
579 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
581 %files -n vim-syntax-glusterfs
582 %defattr(644,root,root,755)
583 %{_datadir}/vim/syntax/glusterfs.vim