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/11/%{version}/glusterfs-%{version}.tar.gz
21 # Source0-md5: 7e290a50026752f435f694651687e0f2
22 Source1: glusterfsd.init
23 Patch0: %{name}-glibc.patch
25 URL: https://www.gluster.org/
26 BuildRequires: acl-devel
27 BuildRequires: autoconf >= 2.50
28 BuildRequires: automake
29 BuildRequires: bash-completion-devel >= 1:2.0
31 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
32 BuildRequires: curl-devel
34 BuildRequires: device-mapper-devel >= 2.02.79
36 BuildRequires: libaio-devel
37 BuildRequires: libselinux-devel
38 BuildRequires: libtcmalloc-devel
39 BuildRequires: libtirpc-devel
40 BuildRequires: libtool >= 2:2
41 BuildRequires: liburing-devel
42 BuildRequires: libuuid-devel
43 BuildRequires: libxml2-devel >= 1:2.6.19
44 BuildRequires: openssl-devel >= 1.1
45 BuildRequires: pkgconfig
46 BuildRequires: python3 >= 1:3.2
47 BuildRequires: python3-devel >= 1:3.2
48 BuildRequires: readline-devel
49 BuildRequires: rpcsvc-proto
50 BuildRequires: rpm-pythonprov
51 BuildRequires: rpmbuild(macros) >= 1.673
52 BuildRequires: sed >= 4.0
53 BuildRequires: sqlite3-devel >= 3
54 BuildRequires: userspace-rcu-devel >= 0.8
55 BuildRequires: zlib-devel >= 1.2.0
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59 GlusterFS is a clustered file-system capable of scaling to several
60 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
61 or TCP/IP interconnect into one large parallel network file system.
62 GlusterFS is one of the most sophisticated file system in terms of
63 features and extensibility. It borrows a powerful concept called
64 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
65 userspace and easily manageable.
67 %description -l pl.UTF-8
68 GlusterFS to klastrowy system plików skalujący się do petabajtów.
69 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
70 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
71 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
72 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
73 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
74 jest łatwo zarządzalna.
77 Summary: GlusterFS common files including Translators
78 Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory
80 Requires: libxml2 >= 1:2.6.19
81 Requires: zlib >= 1.2.0
82 Obsoletes: glusterfs-transport-ibverbs < 8
85 GlusterFS is a clustered file-system capable of scaling to several
86 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
87 or TCP/IP interconnect into one large parallel network file system.
88 GlusterFS is one of the most sophisticated file system in terms of
89 features and extensibility. It borrows a powerful concept called
90 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
91 userspace and easily manageable.
93 This package includes libglusterfs and glusterfs translator modules
94 common to both GlusterFS server and client framework.
96 %description common -l pl.UTF-8
97 GlusterFS to klastrowy system plików skalujący się do petabajtów.
98 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
99 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
100 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
101 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
102 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
103 jest łatwo zarządzalna.
105 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
106 wspólne dla klienta jak i serwera GlusterFS-a.
109 Summary: GlusterFS libraries
110 Summary(pl.UTF-8): Biblioteki GlusterFS-a
112 Conflicts: glusterfs-common < 3.4.0
117 %description libs -l pl.UTF-8
118 Biblioteki GlusterFS-a.
121 Summary: GlusterFS development files
122 Summary(pl.UTF-8): Pliki programistyczne GlusterFS-a
123 Group: Development/Libraries
124 Requires: %{name}-libs = %{version}-%{release}
127 Requires: libtirpc-devel
128 Requires: openssl-devel
129 Obsoletes: glusterfs-static < 1.3.10-2
132 This package provides the development files for GlusterFS library.
134 %description devel -l pl.UTF-8
135 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
137 %package -n python3-gluster
138 Summary: Python 3 interface to GlusterFS libraries
139 Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek GlusterFS
140 Group: Libraries/Python
141 Requires: %{name}-libs = %{version}-%{release}
142 Obsoletes: python-gluster < 6.6
144 %description -n python3-gluster
145 Python 3 interface to GlusterFS libraries.
147 %description -n python3-gluster -l pl.UTF-8
148 Interfejs Pythona 3 do bibliotek GlusterFS.
151 Summary: GlusterFS Server
152 Summary(pl.UTF-8): Serwer GlusterFS-a
154 Requires: %{name}-client = %{version}-%{release}
155 Requires: %{name}-common = %{version}-%{release}
156 Requires(post,preun): /sbin/chkconfig
158 Requires: python3-modules
161 This package provides the glusterfs server daemon.
163 %description server -l pl.UTF-8
164 Ten pakiet zawiera część serwerową GlusterFS-a.
167 Summary: GlusterFS Client
168 Summary(pl.UTF-8): Klient GlusterFS
169 Group: Applications/System
170 Requires: %{name}-common = %{version}-%{release}
171 %{?with_system_fuse:Requires: libfuse >= 2.6}
174 This package provides the FUSE based GlusterFS client.
176 %description client -l pl.UTF-8
177 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
179 %package resource-agents
180 Summary: OCF Resource Agents for GlusterFS processes
181 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów GlusterFS-a
182 Group: Applications/System
183 Requires: %{name}-server = %{version}-%{release}
184 Requires: resource-agents
186 %description resource-agents
187 OCF Resource Agents for GlusterFS processes.
189 %description resource-agents -l pl.UTF-8
190 Agenci OCF do monitorowania procesów GlusterFS-a.
193 Summary: GlusterFS Events
194 Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a
195 Group: Applications/File
196 Requires: %{name}-server = %{version}-%{release}
197 Requires: python3-gluster = %{version}-%{release}
198 Requires: python3-prettytable
199 Requires: python3-requests
204 %description events -l pl.UTF-8
205 Obsługa zdarzeń dla GlusterFS-a.
207 %package geo-replication
208 Summary: GlusterFS Geo-replication
209 Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a
210 Group: Applications/File
211 Requires: %{name}-server = %{version}-%{release}
212 Requires: python3-gluster = %{version}-%{release}
213 Requires: python3-prettytable
216 %description geo-replication
217 GlusterFS support for geo-replication.
219 %description geo-replication -l pl.UTF-8
220 Obsługa geo-replikacji dla GlusterFS-a.
222 %package thin-arbiter
223 Summary: GlusterFS thin-arbiter module
224 Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a
225 Group: Applications/File
226 Requires: %{name}-server = %{version}-%{release}
228 %description thin-arbiter
229 This package provides a tie-breaker functionality to GlusterFS
230 replicate volume. It includes translators required to provide the
231 functionality, and also few other scripts required for getting the
234 This package provides the glusterfs thin-arbiter translator.
236 %description thin-arbiter -l pl.UTF-8
237 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
238 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
239 kilka skryptów wymaganych do konfiguracji.
241 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
243 %package -n emacs-glusterfs-mode
244 Summary: Emacs mode to edit GlusterFS configuration
245 Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a
246 Group: Applications/Editors
247 Requires: %{name}-common = %{version}-%{release}
248 Requires: emacs-common
250 %description -n emacs-glusterfs-mode
251 Emacs mode to edit GlusterFS configuration.
253 %description -n emacs-glusterfs-mode -l pl.UTF-8
254 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
256 %package -n vim-syntax-glusterfs
257 Summary: Vim syntax file to edit GlusterFS configuration
258 Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a
259 Group: Applications/Editors
260 Requires: %{name}-common = %{version}-%{release}
261 Requires: vim-rt >= 4:7.2.170
263 %description -n vim-syntax-glusterfs
264 Vim syntax file to edit GlusterFS configuration.
266 %description -n vim-syntax-glusterfs -l pl.UTF-8
267 Plik składni Vima do edycji konfiguracji GlusterFS-a.
281 PYTHON=%{__python3} \
282 %{?with_system_fuse:--disable-fusermount} \
283 --disable-silent-rules \
285 --with-initdir=/etc/rc.d/init.d \
286 --with-systemddir=%{systemdunitdir}
291 rm -rf $RPM_BUILD_ROOT
292 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
294 %{__make} -j1 install \
295 DESTDIR=$RPM_BUILD_ROOT
297 # No idea why installs elsewhere than later expects to be
298 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
300 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
301 install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
302 cat >>$RPM_BUILD_ROOT%{systemdtmpfilesdir}/gluster.conf <<EOF
303 d /var/run/gluster 0755 root root -
306 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
307 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
308 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
310 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
311 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
313 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
314 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
315 # example, installed as /var/lib/glusterd/groups/virt
316 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
319 rm -rf $RPM_BUILD_ROOT
321 %post libs -p /sbin/ldconfig
322 %postun libs -p /sbin/ldconfig
325 # TODO: verify these scripts (see also included glusterfs.spec)
327 # note: glusterfsd.init vs glusterd.service
328 /sbin/chkconfig --add glusterfsd
329 %service glusterfsd restart
330 %systemd_post glusterd.service
332 #glusterd --xlator-option *.upgrade=on -N
335 if [ "$1" = "0" ]; then
336 %service -q glusterfsd stop
337 /sbin/chkconfig --del glusterfsd
339 %systemd_preun glusterd
345 %systemd_post glustereventsd
348 %systemd_preun glustereventsd
353 %post geo-replication
354 %service glusterd restart
358 %defattr(644,root,root,755)
359 %doc ChangeLog NEWS README.md THANKS
360 %attr(755,root,root) %{_bindir}/glusterfind
361 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
362 %attr(755,root,root) %{_sbindir}/glusterfs
363 %attr(755,root,root) %{_sbindir}/glusterfsd
364 %dir %{_sysconfdir}/%{name}
366 %dir %{_libdir}/glusterfs
368 %dir %{_libdir}/glusterfs/%{version}
369 %dir %{_libdir}/glusterfs/%{version}/auth
370 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
371 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
373 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
374 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsynccvlt.so
375 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
377 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
380 %dir %{_libdir}/glusterfs/%{version}/xlator
381 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
382 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
383 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
384 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
385 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
386 %dir %{_libdir}/glusterfs/%{version}/xlator/features
387 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
388 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
389 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
390 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
391 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
392 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
393 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
394 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
395 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
396 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
397 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
398 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
399 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
400 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
401 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
402 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
403 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
404 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
405 %dir %{_libdir}/glusterfs/%{version}/xlator/system
406 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
408 %if "%{_libexecdir}" != "%{_libdir}"
409 %dir %{_libexecdir}/glusterfs
411 %dir %{_libexecdir}/glusterfs/scripts
412 %attr(755,root,root) %{_libexecdir}/glusterfs/glfsheal
413 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
415 %dir %{_libexecdir}/glusterfs/glusterfind
416 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
417 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
418 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
419 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
420 %{_libexecdir}/glusterfs/glusterfind/__init__.py
421 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
422 %{_libexecdir}/glusterfs/glusterfind/conf.py
423 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
424 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
425 %{_libexecdir}/glusterfs/glusterfind/main.py
426 %{_libexecdir}/glusterfs/glusterfind/utils.py
427 %{_libexecdir}/glusterfs/glusterfind/tool.conf
428 %{_libexecdir}/glusterfs/glusterfind/__pycache__
430 %dir %{_libexecdir}/glusterfs/python
432 %dir %{_datadir}/glusterfs
433 %dir %{_datadir}/glusterfs/scripts
434 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
435 %attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
436 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
437 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
438 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
440 %{_mandir}/man8/glusterfs.8*
441 %{_mandir}/man8/glusterfsd.8*
442 %dir %{_var}/log/glusterfs
445 %defattr(644,root,root,755)
446 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
447 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
448 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
449 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
450 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
451 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
452 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
453 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
454 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
455 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
458 %defattr(644,root,root,755)
459 %attr(755,root,root) %{_libdir}/libgfapi.so
460 %attr(755,root,root) %{_libdir}/libgfchangelog.so
461 %attr(755,root,root) %{_libdir}/libgfrpc.so
462 %attr(755,root,root) %{_libdir}/libgfxdr.so
463 %attr(755,root,root) %{_libdir}/libglusterfs.so
464 %{_libdir}/libgfapi.la
465 %{_libdir}/libgfchangelog.la
466 %{_libdir}/libgfrpc.la
467 %{_libdir}/libgfxdr.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 %{bash_compdir}/gluster.bash
556 %{_mandir}/man8/gluster.8*
557 %{_mandir}/man8/mount.glusterfs.8*
559 %files resource-agents
560 %defattr(644,root,root,755)
561 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
562 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
563 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
566 %defattr(644,root,root,755)
567 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
568 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
569 %attr(755,root,root) %{_sbindir}/glustereventsd
570 %dir %{_libexecdir}/glusterfs/gfevents
571 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
572 %{_libexecdir}/glusterfs/gfevents/__init__.py
573 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
574 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
575 %{_libexecdir}/glusterfs/gfevents/gf_event.py
576 %{_libexecdir}/glusterfs/gfevents/handlers.py
577 %{_libexecdir}/glusterfs/gfevents/utils.py
578 %{_libexecdir}/glusterfs/gfevents/__pycache__
579 %{_libexecdir}/glusterfs/peer_eventsapi.py
580 %{_datadir}/glusterfs/scripts/eventsdash.py
581 %{systemdunitdir}/glustereventsd.service
583 # NFS-ganesha integration
585 #%defattr(644,root,root,755)
586 #%attr(755,root,root) %{_libexecdir}/ganesha/create-export-ganesha.sh
587 #%attr(755,root,root) %{_libexecdir}/ganesha/dbus-send.sh
588 #%attr(755,root,root) %{_libexecdir}/ganesha/ganesha-ha.sh
589 #%attr(755,root,root) %{_libexecdir}/ganesha/generate-epoch.py
590 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace
591 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon
592 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd
593 #%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh
595 %files geo-replication
596 %defattr(644,root,root,755)
597 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
598 %attr(755,root,root) %{_sbindir}/gfind_missing_files
599 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
600 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
601 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
602 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
603 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
604 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
605 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
606 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
607 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
608 %dir %{_libexecdir}/glusterfs/gfind_missing_files
609 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
610 %dir %{_libexecdir}/glusterfs/python/syncdaemon
611 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
612 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
613 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh
614 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/get-gfid.sh
615 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid
616 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh
617 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/schedule_georep.py
618 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/secondary-upgrade.sh
619 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
620 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
621 %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
624 %defattr(644,root,root,755)
625 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
626 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
627 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
628 %{systemdunitdir}/gluster-ta-volume.service
630 %files -n emacs-glusterfs-mode
631 %defattr(644,root,root,755)
632 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
634 %files -n vim-syntax-glusterfs
635 %defattr(644,root,root,755)
636 %{_datadir}/vim/syntax/glusterfs.vim