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