]> TLD Linux GIT Repositories - packages/glusterfs.git/blob - glusterfs.spec
- updated to 10.5
[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.10
19 Release:        2
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:  43e4e6c017cb2ade77bc644034146215
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:  rpcsvc-proto
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)
58
59 %description
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.
67
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.
76
77 %package common
78 Summary:        GlusterFS common files including Translators
79 Summary(pl.UTF-8):      Wspólne pliki GlusterFS-a, w tym translatory
80 Group:          Libraries
81 Requires:       libxml2 >= 1:2.6.19
82 Requires:       zlib >= 1.2.0
83
84 %description common
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.
92
93 This package includes libglusterfs and glusterfs translator modules
94 common to both GlusterFS server and client framework.
95
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.
104
105 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
106 wspólne dla klienta jak i serwera GlusterFS-a.
107
108 %package libs
109 Summary:        GlusterFS libraries
110 Summary(pl.UTF-8):      Biblioteki GlusterFS-a
111 Group:          Libraries
112 Conflicts:      glusterfs-common < 3.4.0
113
114 %description libs
115 GlusterFS libraries.
116
117 %description libs -l pl.UTF-8
118 Biblioteki GlusterFS-a.
119
120 %package devel
121 Summary:        GlusterFS development files
122 Summary(pl.UTF-8):      Pliki programistyczne GlusterFS-a
123 Group:          Development/Libraries
124 Requires:       %{name}-libs = %{version}-%{release}
125 # -lfl
126 Requires:       flex
127 Requires:       libtirpc-devel
128 Requires:       openssl-devel
129 Obsoletes:      glusterfs-static
130
131 %description devel
132 This package provides the development files for GlusterFS library.
133
134 %description devel -l pl.UTF-8
135 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a.
136
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
143
144 %description -n python3-gluster
145 Python 3 interface to GlusterFS libraries.
146
147 %description -n python3-gluster -l pl.UTF-8
148 Interfejs Pythona 3 do bibliotek GlusterFS.
149
150 %package transport-ibverbs
151 Summary:        InfiniBand "verbs" transport plugins for GlusterFS
152 Summary(pl.UTF-8):      Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
153 Group:          Libraries
154 Requires:       %{name}-common = %{version}-%{release}
155 Requires:       libibverbs >= 1.0.4
156 Requires:       librdmacm >= 1.0.15
157
158 %description transport-ibverbs
159 InfiniBand "verbs" transport plugins for GlusterFS.
160
161 %description transport-ibverbs -l pl.UTF-8
162 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
163
164 %package server
165 Summary:        GlusterFS Server
166 Summary(pl.UTF-8):      Serwer GlusterFS-a
167 Group:          Daemons
168 Requires:       %{name}-client = %{version}-%{release}
169 Requires:       %{name}-common = %{version}-%{release}
170 Requires(post,preun):   /sbin/chkconfig
171 Requires:       rc-scripts
172 Requires:       python3-modules 
173
174 %description server
175 This package provides the glusterfs server daemon.
176
177 %description server -l pl.UTF-8
178 Ten pakiet zawiera część serwerową GlusterFS-a.
179
180 %package client
181 Summary:        GlusterFS Client
182 Summary(pl.UTF-8):      Klient GlusterFS
183 Group:          Applications/System
184 Requires:       %{name}-common = %{version}-%{release}
185 %{?with_system_fuse:Requires:   libfuse >= 2.6}
186
187 %description client
188 This package provides the FUSE based GlusterFS client.
189
190 %description client -l pl.UTF-8
191 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
192
193 %package resource-agents
194 Summary:        OCF Resource Agents for GlusterFS processes
195 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów GlusterFS-a
196 Group:          Applications/System
197 Requires:       %{name}-server = %{version}-%{release}
198 Requires:       resource-agents
199
200 %description resource-agents
201 OCF Resource Agents for GlusterFS processes.
202
203 %description resource-agents -l pl.UTF-8
204 Agenci OCF do monitorowania procesów GlusterFS-a.
205
206 %package events
207 Summary:        GlusterFS Events
208 Summary(pl.UTF-8):      Obsługa zdarzeń dla GlusterFS-a
209 Group:          Applications/File
210 Requires:       %{name}-server = %{version}-%{release}
211 Requires:       python3-gluster = %{version}-%{release}
212 Requires:       python3-prettytable
213 Requires:       python3-requests
214
215 %description events
216 GlusterFS Events.
217
218 %description events -l pl.UTF-8
219 Obsługa zdarzeń dla GlusterFS-a.
220
221 %package geo-replication
222 Summary:        GlusterFS Geo-replication
223 Summary(pl.UTF-8):      Geo-replikacja dla GlusterFS-a
224 Group:          Applications/File
225 Requires:       %{name}-server = %{version}-%{release}
226 Requires:       python3-gluster = %{version}-%{release}
227 Requires:       python3-prettytable
228 Requires:       rsync
229
230 %description geo-replication
231 GlusterFS support for geo-replication.
232
233 %description geo-replication -l pl.UTF-8
234 Obsługa geo-replikacji dla GlusterFS-a.
235
236 %package thin-arbiter
237 Summary:        GlusterFS thin-arbiter module
238 Summary(pl.UTF-8):      Moduł thin-arbiter dla GlusterFS-a
239 Group:          Applications/File
240 Requires:       %{name}-server = %{version}-%{release}
241
242 %description thin-arbiter
243 This package provides a tie-breaker functionality to GlusterFS
244 replicate volume. It includes translators required to provide the
245 functionality, and also few other scripts required for getting the
246 setup done.
247
248 This package provides the glusterfs thin-arbiter translator.
249
250 %description thin-arbiter -l pl.UTF-8
251 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
252 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
253 kilka skryptów wymaganych do konfiguracji.
254
255 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
256
257 %package -n emacs-glusterfs-mode
258 Summary:        Emacs mode to edit GlusterFS configuration
259 Summary(pl.UTF-8):      Tryb Emacsa do edycji konfiguracji GlusterFS-a
260 Group:          Applications/Editors
261 Requires:       %{name}-common = %{version}-%{release}
262 Requires:       emacs-common
263
264 %description -n emacs-glusterfs-mode
265 Emacs mode to edit GlusterFS configuration.
266
267 %description -n emacs-glusterfs-mode -l pl.UTF-8
268 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
269
270 %package -n vim-syntax-glusterfs
271 Summary:        Vim syntax file to edit GlusterFS configuration
272 Summary(pl.UTF-8):      Plik składni Vima do edycji konfiguracji GlusterFS-a
273 Group:          Applications/Editors
274 Requires:       %{name}-common = %{version}-%{release}
275 Requires:       vim-rt >= 4:7.2.170
276
277 %description -n vim-syntax-glusterfs
278 Vim syntax file to edit GlusterFS configuration.
279
280 %description -n vim-syntax-glusterfs -l pl.UTF-8
281 Plik składni Vima do edycji konfiguracji GlusterFS-a.
282
283 %prep
284 %setup -q
285 %patch0 -p1
286
287 %build
288 %{__libtoolize}
289 %{__aclocal}
290 %{__autoconf}
291 %{__autoheader}
292 %{__automake}
293 %configure \
294         PYTHON=%{__python3} \
295         %{?with_system_fuse:--disable-fusermount} \
296         --disable-silent-rules \
297         --enable-gnfs \
298         %{!?with_ibverbs:--disable-ibverbs} \
299         --enable-systemtap%{!?with_systemtap:=no} \
300         --with-initdir=/etc/rc.d/init.d
301
302 %{__make} -j1
303
304 %install
305 rm -rf $RPM_BUILD_ROOT
306 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
307
308 %{__make} -j1 install \
309         DESTDIR=$RPM_BUILD_ROOT
310
311 # No idea why installs elsewhere than later expects to be
312 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
313
314 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
315
316 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
317 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
318 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
319
320 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
321 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
322
323 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
324 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
325 # example, installed as /var/lib/glusterd/groups/virt
326 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
327
328 %clean
329 rm -rf $RPM_BUILD_ROOT
330
331 %post   libs    -p /sbin/ldconfig
332 %postun libs    -p /sbin/ldconfig
333
334 %if 0
335 # TODO: verify these scripts (see also included glusterfs.spec)
336 %post server
337 # note: glusterfsd.init vs glusterd.service
338 /sbin/chkconfig --add glusterfsd
339 %service glusterfsd restart
340 # TODO?
341 #glusterd --xlator-option *.upgrade=on -N
342
343 %preun server
344 if [ "$1" = "0" ]; then
345         %service -q glusterfsd stop
346         /sbin/chkconfig --del glusterfsd
347 fi
348
349 %post geo-replication
350 %service glusterd restart
351 %endif
352
353 %files common
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}
362
363 %dir %{_libdir}/glusterfs
364
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
369
370 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
371 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
372
373 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
374 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
375
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
403
404 %if "%{_libexecdir}" != "%{_libdir}"
405 %dir %{_libexecdir}/glusterfs
406 %endif
407 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
408
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
422 %{_libexecdir}/glusterfs/glusterfind/__pycache__
423
424 %dir %{_libexecdir}/glusterfs/python
425
426 %dir %{_datadir}/glusterfs
427 %dir %{_datadir}/glusterfs/scripts
428 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
429 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
430 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
431 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
432 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
433
434 %{_mandir}/man8/glusterfs.8*
435 %{_mandir}/man8/glusterfsd.8*
436 %dir %{_var}/log/glusterfs
437
438 %files libs
439 %defattr(644,root,root,755)
440 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
441 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
442 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
443 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
444 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
445 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
446 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
447 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
448 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
449 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
450
451 %files devel
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/libgfapi.so
454 %attr(755,root,root) %{_libdir}/libgfchangelog.so
455 %attr(755,root,root) %{_libdir}/libgfrpc.so
456 %attr(755,root,root) %{_libdir}/libgfxdr.so
457 %attr(755,root,root) %{_libdir}/libglusterfs.so
458 %{_libdir}/libgfapi.la
459 %{_libdir}/libgfchangelog.la
460 %{_libdir}/libgfrpc.la
461 %{_libdir}/libgfxdr.la
462 %{_libdir}/libglusterfs.la
463 %dir %{_includedir}/glusterfs
464 %{_includedir}/glusterfs/api
465 %{_includedir}/glusterfs/gfchangelog
466 %{_includedir}/glusterfs/rpc
467 %{_includedir}/glusterfs/server
468 %{_includedir}/glusterfs/*.h
469 %{_pkgconfigdir}/glusterfs-api.pc
470 %{_pkgconfigdir}/libgfchangelog.pc
471
472 %files -n python3-gluster
473 %defattr(644,root,root,755)
474 %dir %{py3_sitescriptdir}/gluster
475 %{py3_sitescriptdir}/gluster/__init__.py
476 %{py3_sitescriptdir}/gluster/__pycache__
477 %{py3_sitescriptdir}/gluster/cliutils
478 # created only when using py_build/py_install in xlators/features/glupy/src
479 #%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
480
481 %if %{with ibverbs}
482 %files transport-ibverbs
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
485 %endif
486
487 %files server
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
505 %{_mandir}/man8/gluster-setgfid2path.8*
506 %{_mandir}/man8/glusterd.8*
507 %dir %{_var}/lib/glusterd
508 %dir %{_var}/lib/glusterd/groups
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
514 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
515 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
516 %dir %{_var}/lib/glusterd/hooks
517 %dir %{_var}/lib/glusterd/hooks/1
518 %dir %{_var}/lib/glusterd/hooks/1/add-brick
519 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
520 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
521 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
522 %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
523 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
524 %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
525 %dir %{_var}/lib/glusterd/hooks/1/create
526 %dir %{_var}/lib/glusterd/hooks/1/create/post
527 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
528 %dir %{_var}/lib/glusterd/hooks/1/delete
529 %dir %{_var}/lib/glusterd/hooks/1/delete/post
530 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
531 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
532 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
533 %dir %{_var}/lib/glusterd/hooks/1/set
534 %dir %{_var}/lib/glusterd/hooks/1/set/post
535 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
536 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
537 %dir %{_var}/lib/glusterd/hooks/1/start
538 %dir %{_var}/lib/glusterd/hooks/1/start/post
539 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
540 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
541 %dir %{_var}/lib/glusterd/hooks/1/stop
542 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
543 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
544 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
545 %dir %{_var}/run/gluster
546
547 %files client
548 %defattr(644,root,root,755)
549 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
550 %attr(755,root,root) /sbin/mount.glusterfs
551 %attr(755,root,root) %{_sbindir}/gluster
552 %{_mandir}/man8/gluster.8*
553 %{_mandir}/man8/mount.glusterfs.8*
554
555 %files resource-agents
556 %defattr(644,root,root,755)
557 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
558 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
559 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
560
561 %files events
562 %defattr(644,root,root,755)
563 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
564 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
565 %attr(755,root,root) %{_sbindir}/glustereventsd
566 %dir %{_libexecdir}/glusterfs/gfevents
567 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
568 %{_libexecdir}/glusterfs/gfevents/__init__.py
569 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
570 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
571 %{_libexecdir}/glusterfs/gfevents/gf_event.py
572 %{_libexecdir}/glusterfs/gfevents/handlers.py
573 %{_libexecdir}/glusterfs/gfevents/utils.py
574 %{_libexecdir}/glusterfs/gfevents/__pycache__
575 %{_libexecdir}/glusterfs/peer_eventsapi.py
576 %{_datadir}/glusterfs/scripts/eventsdash.py
577
578 %files geo-replication
579 %defattr(644,root,root,755)
580 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
581 %attr(755,root,root) %{_sbindir}/gfind_missing_files
582 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
583 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
584 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
585 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
586 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
587 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
588 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
589 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
590 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
591 %dir %{_libexecdir}/glusterfs/gfind_missing_files
592 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
593 %dir %{_libexecdir}/glusterfs/python/syncdaemon
594 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
595 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
598 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
599 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
600 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
601 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
602 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
603 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
604 %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
605
606 %files thin-arbiter
607 %defattr(644,root,root,755)
608 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
609 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
610 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
611
612 %files -n emacs-glusterfs-mode
613 %defattr(644,root,root,755)
614 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
615
616 %files -n vim-syntax-glusterfs
617 %defattr(644,root,root,755)
618 %{_datadir}/vim/syntax/glusterfs.vim