]> TLD Linux GIT Repositories - packages/glusterfs.git/blob - glusterfs.spec
- merged 6.6 from PLD
[packages/glusterfs.git] / glusterfs.spec
1 # TODO:
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)
9 #
10 # Conditional build:
11 %bcond_without  ibverbs         # ib-verbs transport
12 %bcond_without  systemtap       # systemtap/dtrace support
13 %bcond_without  system_fuse     # system fusermount
14 #
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
17 Name:           glusterfs
18 Version:        6.6
19 Release:        3
20 License:        LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
21 Group:          Applications/System
22 Source0:        https://download.gluster.org/pub/gluster/glusterfs/6/%{version}/glusterfs-%{version}.tar.gz
23 # Source0-md5:  ab4de055a8fb8a8d3baef9953c99db91
24 Source1:        glusterfsd.init
25 Patch0:         %{name}-noquiet.patch
26 URL:            https://www.gluster.org/
27 BuildRequires:  acl-devel
28 BuildRequires:  autoconf >= 2.50
29 BuildRequires:  automake
30 BuildRequires:  bison
31 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
32 BuildRequires:  curl-devel
33 # for bd-xlator
34 BuildRequires:  device-mapper-devel >= 2.02.79
35 BuildRequires:  flex
36 BuildRequires:  libaio-devel
37 %{?with_ibverbs:BuildRequires:  libibverbs-devel >= 1.0.4}
38 %{?with_ibverbs:BuildRequires:  librdmacm-devel >= 1.0.15}
39 BuildRequires:  libselinux-devel
40 BuildRequires:  libtirpc-devel
41 BuildRequires:  libtool
42 BuildRequires:  libuuid-devel
43 BuildRequires:  libxml2-devel >= 1:2.6.19
44 BuildRequires:  openssl-devel
45 BuildRequires:  pkgconfig
46 BuildRequires:  python3 >= 1:3.2
47 BuildRequires:  python3-devel >= 1:3.2
48 BuildRequires:  readline-devel
49 BuildRequires:  rpm-pythonprov
50 BuildRequires:  rpmbuild(macros) >= 1.228
51 BuildRequires:  sed >= 4.0
52 BuildRequires:  sqlite3-devel >= 3
53 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
54 BuildRequires:  userspace-rcu-devel >= 0.8
55 BuildRequires:  zlib-devel >= 1.2.0
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %description
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.
66
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.
75
76 %package common
77 Summary:        GlusterFS common files including Translators
78 Summary(pl.UTF-8):      Wspólne pliki GlusterFS-a, w tym translatory
79 Group:          Libraries
80 Requires:       libxml2 >= 1:2.6.19
81 Requires:       zlib >= 1.2.0
82
83 %description common
84 GlusterFS is a clustered file-system capable of scaling to several
85 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
86 or TCP/IP interconnect into one large parallel network file system.
87 GlusterFS is one of the most sophisticated file system in terms of
88 features and extensibility. It borrows a powerful concept called
89 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
90 userspace and easily manageable.
91
92 This package includes libglusterfs and glusterfs translator modules
93 common to both GlusterFS server and client framework.
94
95 %description common -l pl.UTF-8
96 GlusterFS to klastrowy system plików skalujący się do petabajtów.
97 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
98 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
99 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
100 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
101 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
102 jest łatwo zarządzalna.
103
104 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
105 wspólne dla klienta jak i serwera GlusterFS-a.
106
107 %package libs
108 Summary:        GlusterFS libraries
109 Summary(pl.UTF-8):      Biblioteki GlusterFS-a
110 Group:          Libraries
111 Conflicts:      glusterfs-common < 3.4.0
112
113 %description libs
114 GlusterFS libraries.
115
116 %description libs -l pl.UTF-8
117 Biblioteki GlusterFS-a.
118
119 %package devel
120 Summary:        GlusterFS development files
121 Summary(pl.UTF-8):      Pliki programistyczne GlusterFS-a
122 Group:          Development/Libraries
123 Requires:       %{name}-libs = %{version}-%{release}
124 # -lfl
125 Requires:       flex
126 Requires:       libtirpc-devel
127 Requires:       openssl-devel
128 Obsoletes:      glusterfs-static
129
130 %description devel
131 This package provides the development files for GlusterFS library.
132
133 %description devel -l pl.UTF-8
134 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
135
136 %package -n python3-gluster
137 Summary:        Python 3 interface to GlusterFS libraries
138 Summary(pl.UTF-8):      Interfejs Pythona 3 do bibliotek GlusterFS
139 Group:          Libraries/Python
140 Requires:       %{name}-libs = %{version}-%{release}
141 Obsoletes:      python-gluster < 6.6
142
143 %description -n python3-gluster
144 Python 3 interface to GlusterFS libraries.
145
146 %description -n python3-gluster -l pl.UTF-8
147 Interfejs Pythona 3 do bibliotek GlusterFS.
148
149 %package transport-ibverbs
150 Summary:        InfiniBand "verbs" transport plugins for GlusterFS
151 Summary(pl.UTF-8):      Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
152 Group:          Libraries
153 Requires:       %{name}-common = %{version}-%{release}
154 Requires:       libibverbs >= 1.0.4
155 Requires:       librdmacm >= 1.0.15
156
157 %description transport-ibverbs
158 InfiniBand "verbs" transport plugins for GlusterFS.
159
160 %description transport-ibverbs -l pl.UTF-8
161 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
162
163 %package server
164 Summary:        GlusterFS Server
165 Summary(pl.UTF-8):      Serwer GlusterFS-a
166 Group:          Daemons
167 Requires:       %{name}-client = %{version}-%{release}
168 Requires:       %{name}-common = %{version}-%{release}
169 Requires(post,preun):   /sbin/chkconfig
170 Requires:       rc-scripts
171 Requires:       python3-modules 
172
173 %description server
174 This package provides the glusterfs server daemon.
175
176 %description server -l pl.UTF-8
177 Ten pakiet zawiera część serwerową GlusterFS-a.
178
179 %package client
180 Summary:        GlusterFS Client
181 Summary(pl.UTF-8):      Klient GlusterFS
182 Group:          Applications/System
183 Requires:       %{name}-common = %{version}-%{release}
184 %{?with_system_fuse:Requires:   libfuse >= 2.6}
185
186 %description client
187 This package provides the FUSE based GlusterFS client.
188
189 %description client -l pl.UTF-8
190 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
191
192 %package resource-agents
193 Summary:        OCF Resource Agents for GlusterFS processes
194 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów GlusterFS-a
195 Group:          Applications/System
196 Requires:       %{name}-server = %{version}-%{release}
197 Requires:       resource-agents
198
199 %description resource-agents
200 OCF Resource Agents for GlusterFS processes.
201
202 %description resource-agents -l pl.UTF-8
203 Agenci OCF do monitorowania procesów GlusterFS-a.
204
205 %package events
206 Summary:        GlusterFS Events
207 Summary(pl.UTF-8):      Obsługa zdarzeń dla GlusterFS-a
208 Group:          Applications/File
209 Requires:       %{name}-server = %{version}-%{release}
210 Requires:       python3-gluster = %{version}-%{release}
211 Requires:       python3-prettytable
212 Requires:       python3-requests
213
214 %description events
215 GlusterFS Events.
216
217 %description events -l pl.UTF-8
218 Obsługa zdarzeń dla GlusterFS-a.
219
220 %package geo-replication
221 Summary:        GlusterFS Geo-replication
222 Summary(pl.UTF-8):      Geo-replikacja dla GlusterFS-a
223 Group:          Applications/File
224 Requires:       %{name}-server = %{version}-%{release}
225 Requires:       python3-gluster = %{version}-%{release}
226 Requires:       python3-prettytable
227 Requires:       rsync
228
229 %description geo-replication
230 GlusterFS support for geo-replication.
231
232 %description geo-replication -l pl.UTF-8
233 Obsługa geo-replikacji dla GlusterFS-a.
234
235 %package thin-arbiter
236 Summary:        GlusterFS thin-arbiter module
237 Summary(pl.UTF-8):      Moduł thin-arbiter dla GlusterFS-a
238 Group:          Applications/File
239 Requires:       %{name}-server = %{version}-%{release}
240
241 %description thin-arbiter
242 This package provides a tie-breaker functionality to GlusterFS
243 replicate volume. It includes translators required to provide the
244 functionality, and also few other scripts required for getting the
245 setup done.
246
247 This package provides the glusterfs thin-arbiter translator.
248
249 %description thin-arbiter -l pl.UTF-8
250 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
251 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
252 kilka skryptów wymaganych do konfiguracji.
253
254 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
255
256 %package -n emacs-glusterfs-mode
257 Summary:        Emacs mode to edit GlusterFS configuration
258 Summary(pl.UTF-8):      Tryb Emacsa do edycji konfiguracji GlusterFS-a
259 Group:          Applications/Editors
260 Requires:       %{name}-common = %{version}-%{release}
261 Requires:       emacs-common
262
263 %description -n emacs-glusterfs-mode
264 Emacs mode to edit GlusterFS configuration.
265
266 %description -n emacs-glusterfs-mode -l pl.UTF-8
267 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
268
269 %package -n vim-syntax-glusterfs
270 Summary:        Vim syntax file to edit GlusterFS configuration
271 Summary(pl.UTF-8):      Plik składni Vima do edycji konfiguracji GlusterFS-a
272 Group:          Applications/Editors
273 Requires:       %{name}-common = %{version}-%{release}
274 Requires:       vim-rt >= 4:7.2.170
275
276 %description -n vim-syntax-glusterfs
277 Vim syntax file to edit GlusterFS configuration.
278
279 %description -n vim-syntax-glusterfs -l pl.UTF-8
280 Plik składni Vima do edycji konfiguracji GlusterFS-a.
281
282 %prep
283 %setup -q
284 %patch0 -p1
285
286 %build
287 %{__libtoolize}
288 %{__aclocal}
289 %{__autoconf}
290 %{__autoheader}
291 %{__automake}
292 %configure \
293         PYTHON=%{__python3} \
294         %{?with_system_fuse:--disable-fusermount} \
295         --disable-silent-rules \
296         --enable-gnfs \
297         %{!?with_ibverbs:--disable-ibverbs} \
298         --enable-systemtap%{!?with_systemtap:=no} \
299         --with-initdir=/etc/rc.d/init.d
300
301 %{__make} -j1
302
303 %install
304 rm -rf $RPM_BUILD_ROOT
305 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
306
307 %{__make} -j1 install \
308         DESTDIR=$RPM_BUILD_ROOT
309
310 # No idea why installs elsewhere than later expects to be
311 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
312
313 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
314
315 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
316 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
317 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
318
319 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
320 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
321
322 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
323 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
324 # example, installed as /var/lib/glusterd/groups/virt
325 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
326
327 %clean
328 rm -rf $RPM_BUILD_ROOT
329
330 %post   libs    -p /sbin/ldconfig
331 %postun libs    -p /sbin/ldconfig
332
333 %if 0
334 # TODO: verify these scripts (see also included glusterfs.spec)
335 %post server
336 # note: glusterfsd.init vs glusterd.service
337 /sbin/chkconfig --add glusterfsd
338 %service glusterfsd restart
339 # TODO?
340 #glusterd --xlator-option *.upgrade=on -N
341
342 %preun server
343 if [ "$1" = "0" ]; then
344         %service -q glusterfsd stop
345         /sbin/chkconfig --del glusterfsd
346 fi
347
348 %post geo-replication
349 %service glusterd restart
350 %endif
351
352 %files common
353 %defattr(644,root,root,755)
354 %doc ChangeLog NEWS README.md THANKS
355 %attr(755,root,root) %{_bindir}/glusterfind
356 %attr(755,root,root) %{_sbindir}/glfsheal
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}
361
362 %dir %{_libdir}/glusterfs
363
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
368
369 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
370 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
371
372 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
374
375 %dir %{_libdir}/glusterfs/%{version}/xlator
376 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
377 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
379 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
381 %dir %{_libdir}/glusterfs/%{version}/xlator/features
382 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
383 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
384 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
385 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
386 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
387 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
388 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
389 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
390 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
391 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
392 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
393 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
394 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
395 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
396 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
397 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
398 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
399 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
400 %dir %{_libdir}/glusterfs/%{version}/xlator/system
401 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
402
403 %if "%{_libexecdir}" != "%{_libdir}"
404 %dir %{_libexecdir}/glusterfs
405 %endif
406 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
407
408 %dir %{_libexecdir}/glusterfs/glusterfind
409 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
410 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
411 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
412 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
413 %{_libexecdir}/glusterfs/glusterfind/__init__.py
414 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
415 %{_libexecdir}/glusterfs/glusterfind/conf.py
416 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
417 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
418 %{_libexecdir}/glusterfs/glusterfind/main.py
419 %{_libexecdir}/glusterfs/glusterfind/utils.py
420 %{_libexecdir}/glusterfs/glusterfind/tool.conf
421 %{_libexecdir}/glusterfs/glusterfind/__pycache__
422
423 %dir %{_libexecdir}/glusterfs/python
424
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
432
433 %{_mandir}/man8/glusterfs.8*
434 %{_mandir}/man8/glusterfsd.8*
435 %dir %{_var}/log/glusterfs
436
437 %files libs
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
449
450 %files devel
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
470
471 %files -n python3-gluster
472 %defattr(644,root,root,755)
473 %dir %{py3_sitescriptdir}/gluster
474 %{py3_sitescriptdir}/gluster/__init__.py
475 %{py3_sitescriptdir}/gluster/__pycache__
476 %{py3_sitescriptdir}/gluster/cliutils
477 # created only when using py_build/py_install in xlators/features/glupy/src
478 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
479
480 %if %{with ibverbs}
481 %files transport-ibverbs
482 %defattr(644,root,root,755)
483 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
484 %endif
485
486 %files server
487 %defattr(644,root,root,755)
488 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
490 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
491 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
492 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
494 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
495 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
496 %attr(755,root,root) %{_sbindir}/conf.py
497 %attr(755,root,root) %{_sbindir}/gcron.py
498 %attr(755,root,root) %{_sbindir}/gf_attach
499 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
500 %attr(755,root,root) %{_sbindir}/glusterd
501 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
502 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
503
504 %{_mandir}/man8/gluster-setgfid2path.8*
505 %{_mandir}/man8/glusterd.8*
506 %dir %{_var}/lib/glusterd
507 %dir %{_var}/lib/glusterd/groups
508 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
514 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
515 %dir %{_var}/lib/glusterd/hooks
516 %dir %{_var}/lib/glusterd/hooks/1
517 %dir %{_var}/lib/glusterd/hooks/1/add-brick
518 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
519 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
520 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
521 %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
522 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
523 %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
524 %dir %{_var}/lib/glusterd/hooks/1/create
525 %dir %{_var}/lib/glusterd/hooks/1/create/post
526 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
527 %dir %{_var}/lib/glusterd/hooks/1/delete
528 %dir %{_var}/lib/glusterd/hooks/1/delete/post
529 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
530 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
531 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
532 %dir %{_var}/lib/glusterd/hooks/1/set
533 %dir %{_var}/lib/glusterd/hooks/1/set/post
534 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
535 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
536 %dir %{_var}/lib/glusterd/hooks/1/start
537 %dir %{_var}/lib/glusterd/hooks/1/start/post
538 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
539 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
540 %dir %{_var}/lib/glusterd/hooks/1/stop
541 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
542 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
544 %dir %{_var}/run/gluster
545
546 %files client
547 %defattr(644,root,root,755)
548 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
549 %attr(755,root,root) /sbin/mount.glusterfs
550 %attr(755,root,root) %{_sbindir}/gluster
551 %{_mandir}/man8/gluster.8*
552 %{_mandir}/man8/mount.glusterfs.8*
553
554 %files resource-agents
555 %defattr(644,root,root,755)
556 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
557 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
558 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
559
560 %files events
561 %defattr(644,root,root,755)
562 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
563 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
564 %attr(755,root,root) %{_sbindir}/glustereventsd
565 %dir %{_libexecdir}/glusterfs/gfevents
566 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
567 %{_libexecdir}/glusterfs/gfevents/__init__.py
568 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
569 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
570 %{_libexecdir}/glusterfs/gfevents/gf_event.py
571 %{_libexecdir}/glusterfs/gfevents/handlers.py
572 %{_libexecdir}/glusterfs/gfevents/utils.py
573 %{_libexecdir}/glusterfs/gfevents/__pycache__
574 %{_libexecdir}/glusterfs/peer_eventsapi.py
575 %{_datadir}/glusterfs/scripts/eventsdash.py
576
577 %files geo-replication
578 %defattr(644,root,root,755)
579 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
580 %attr(755,root,root) %{_sbindir}/gfind_missing_files
581 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
582 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
583 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
584 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
585 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
586 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
587 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
588 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
589 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
590 %dir %{_libexecdir}/glusterfs/gfind_missing_files
591 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
592 %dir %{_libexecdir}/glusterfs/python/syncdaemon
593 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
594 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
595 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
598 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
599 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
600 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
601 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
602 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
603 %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
604
605 %files thin-arbiter
606 %defattr(644,root,root,755)
607 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
608 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
609 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
610
611 %files -n emacs-glusterfs-mode
612 %defattr(644,root,root,755)
613 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
614
615 %files -n vim-syntax-glusterfs
616 %defattr(644,root,root,755)
617 %{_datadir}/vim/syntax/glusterfs.vim