]> 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 # - 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.5
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:  8ac48f7b7f9afa0e5dfa9ad42589ee27
22 Source1:        glusterfsd.init
23 Patch0:         ssl_paths.patch
24 Patch1:         ksh_getopts.patch
25 URL:            https://www.gluster.org/
26 BuildRequires:  acl-devel
27 BuildRequires:  autoconf >= 2.50
28 BuildRequires:  automake
29 BuildRequires:  bison
30 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
31 BuildRequires:  curl-devel
32 # for bd-xlator
33 BuildRequires:  device-mapper-devel >= 2.02.79
34 BuildRequires:  flex
35 BuildRequires:  libaio-devel
36 BuildRequires:  libselinux-devel
37 BuildRequires:  libtcmalloc-devel
38 BuildRequires:  libtirpc-devel
39 BuildRequires:  libtool
40 BuildRequires:  liburing-devel
41 BuildRequires:  libuuid-devel
42 BuildRequires:  libxml2-devel >= 1:2.6.19
43 BuildRequires:  openssl-devel
44 BuildRequires:  pkgconfig
45 BuildRequires:  python3 >= 1:3.2
46 BuildRequires:  python3-devel >= 1:3.2
47 BuildRequires:  readline-devel
48 BuildRequires:  rpcsvc-proto
49 BuildRequires:  rpm-pythonprov
50 BuildRequires:  rpmbuild(macros) >= 1.228
51 BuildRequires:  sed >= 4.0
52 BuildRequires:  sqlite3-devel >= 3
53 BuildRequires:  userspace-rcu-devel >= 0.8
54 BuildRequires:  zlib-devel >= 1.2.0
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %description
58 GlusterFS is a clustered file-system capable of scaling to several
59 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
60 or TCP/IP interconnect into one large parallel network file system.
61 GlusterFS is one of the most sophisticated file system in terms of
62 features and extensibility. It borrows a powerful concept called
63 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
64 userspace and easily manageable.
65
66 %description -l pl.UTF-8
67 GlusterFS to klastrowy system plików skalujący się do petabajtów.
68 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
69 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
70 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
71 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
72 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
73 jest łatwo zarządzalna.
74
75 %package common
76 Summary:        GlusterFS common files including Translators
77 Summary(pl.UTF-8):      Wspólne pliki GlusterFS-a, w tym translatory
78 Group:          Libraries
79 Requires:       libxml2 >= 1:2.6.19
80 Requires:       zlib >= 1.2.0
81 Obsoletes:      glusterfs-transport-ibverbs < 8
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 < 1.3.10-2
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 server
150 Summary:        GlusterFS Server
151 Summary(pl.UTF-8):      Serwer GlusterFS-a
152 Group:          Daemons
153 Requires:       %{name}-client = %{version}-%{release}
154 Requires:       %{name}-common = %{version}-%{release}
155 Requires(post,preun):   /sbin/chkconfig
156 Requires:       rc-scripts
157 Requires:       python3-modules 
158
159 %description server
160 This package provides the glusterfs server daemon.
161
162 %description server -l pl.UTF-8
163 Ten pakiet zawiera część serwerową GlusterFS-a.
164
165 %package client
166 Summary:        GlusterFS Client
167 Summary(pl.UTF-8):      Klient GlusterFS
168 Group:          Applications/System
169 Requires:       %{name}-common = %{version}-%{release}
170 %{?with_system_fuse:Requires:   libfuse >= 2.6}
171
172 %description client
173 This package provides the FUSE based GlusterFS client.
174
175 %description client -l pl.UTF-8
176 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
177
178 %package resource-agents
179 Summary:        OCF Resource Agents for GlusterFS processes
180 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów GlusterFS-a
181 Group:          Applications/System
182 Requires:       %{name}-server = %{version}-%{release}
183 Requires:       resource-agents
184
185 %description resource-agents
186 OCF Resource Agents for GlusterFS processes.
187
188 %description resource-agents -l pl.UTF-8
189 Agenci OCF do monitorowania procesów GlusterFS-a.
190
191 %package events
192 Summary:        GlusterFS Events
193 Summary(pl.UTF-8):      Obsługa zdarzeń dla GlusterFS-a
194 Group:          Applications/File
195 Requires:       %{name}-server = %{version}-%{release}
196 Requires:       python3-gluster = %{version}-%{release}
197 Requires:       python3-prettytable
198 Requires:       python3-requests
199
200 %description events
201 GlusterFS Events.
202
203 %description events -l pl.UTF-8
204 Obsługa zdarzeń dla GlusterFS-a.
205
206 %package geo-replication
207 Summary:        GlusterFS Geo-replication
208 Summary(pl.UTF-8):      Geo-replikacja 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:       rsync
214
215 %description geo-replication
216 GlusterFS support for geo-replication.
217
218 %description geo-replication -l pl.UTF-8
219 Obsługa geo-replikacji dla GlusterFS-a.
220
221 %package thin-arbiter
222 Summary:        GlusterFS thin-arbiter module
223 Summary(pl.UTF-8):      Moduł thin-arbiter dla GlusterFS-a
224 Group:          Applications/File
225 Requires:       %{name}-server = %{version}-%{release}
226
227 %description thin-arbiter
228 This package provides a tie-breaker functionality to GlusterFS
229 replicate volume. It includes translators required to provide the
230 functionality, and also few other scripts required for getting the
231 setup done.
232
233 This package provides the glusterfs thin-arbiter translator.
234
235 %description thin-arbiter -l pl.UTF-8
236 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
237 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
238 kilka skryptów wymaganych do konfiguracji.
239
240 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
241
242 %package -n emacs-glusterfs-mode
243 Summary:        Emacs mode to edit GlusterFS configuration
244 Summary(pl.UTF-8):      Tryb Emacsa do edycji konfiguracji GlusterFS-a
245 Group:          Applications/Editors
246 Requires:       %{name}-common = %{version}-%{release}
247 Requires:       emacs-common
248
249 %description -n emacs-glusterfs-mode
250 Emacs mode to edit GlusterFS configuration.
251
252 %description -n emacs-glusterfs-mode -l pl.UTF-8
253 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
254
255 %package -n vim-syntax-glusterfs
256 Summary:        Vim syntax file to edit GlusterFS configuration
257 Summary(pl.UTF-8):      Plik składni Vima do edycji konfiguracji GlusterFS-a
258 Group:          Applications/Editors
259 Requires:       %{name}-common = %{version}-%{release}
260 Requires:       vim-rt >= 4:7.2.170
261
262 %description -n vim-syntax-glusterfs
263 Vim syntax file to edit GlusterFS configuration.
264
265 %description -n vim-syntax-glusterfs -l pl.UTF-8
266 Plik składni Vima do edycji konfiguracji GlusterFS-a.
267
268 %prep
269 %setup -q
270 %patch0 -p1
271 %patch1 -p1
272
273 %build
274 %{__libtoolize}
275 %{__aclocal}
276 %{__autoconf}
277 %{__autoheader}
278 %{__automake}
279 %configure \
280         PYTHON=%{__python3} \
281         %{?with_system_fuse:--disable-fusermount} \
282         --disable-silent-rules \
283         --enable-gnfs \
284         --with-initdir=/etc/rc.d/init.d
285
286 %{__make} -j1
287
288 %install
289 rm -rf $RPM_BUILD_ROOT
290 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
291
292 %{__make} -j1 install \
293         DESTDIR=$RPM_BUILD_ROOT
294
295 # No idea why installs elsewhere than later expects to be
296 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
297
298 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
299
300 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
301 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
302 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
303
304 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
305 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
306
307 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
308 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
309 # example, installed as /var/lib/glusterd/groups/virt
310 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
311
312 %clean
313 rm -rf $RPM_BUILD_ROOT
314
315 %post   libs    -p /sbin/ldconfig
316 %postun libs    -p /sbin/ldconfig
317
318 %post server
319 /sbin/chkconfig --add glusterfsd
320 %service glusterfsd restart
321
322 %preun server
323 if [ "$1" = "0" ]; then
324         %service -q glusterfsd stop
325         /sbin/chkconfig --del glusterfsd
326 fi
327
328 %post geo-replication
329 %service glusterd restart
330
331 %files common
332 %defattr(644,root,root,755)
333 %doc ChangeLog NEWS README.md THANKS
334 %attr(755,root,root) %{_bindir}/glusterfind
335 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
336 %attr(755,root,root) %{_sbindir}/glusterfs
337 %attr(755,root,root) %{_sbindir}/glusterfsd
338 %dir %{_sysconfdir}/%{name}
339
340 %dir %{_libdir}/glusterfs
341
342 %dir %{_libdir}/glusterfs/%{version}
343 %dir %{_libdir}/glusterfs/%{version}/auth
344 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
345 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
346
347 %dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins
348 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsynccvlt.so
349 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so
350
351 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
352 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
353
354 %dir %{_libdir}/glusterfs/%{version}/xlator
355 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
356 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
357 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
358 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
359 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
360 %dir %{_libdir}/glusterfs/%{version}/xlator/features
361 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so
362 %exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
363 %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt
364 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so
365 %dir %{_libdir}/glusterfs/%{version}/xlator/mount
366 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/api.so
367 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mount/fuse.so
368 %dir %{_libdir}/glusterfs/%{version}/xlator/nfs
369 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so
370 %dir %{_libdir}/glusterfs/%{version}/xlator/performance
371 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so
372 %dir %{_libdir}/glusterfs/%{version}/xlator/playground
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so
374 %dir %{_libdir}/glusterfs/%{version}/xlator/protocol
375 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so
376 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so
377 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
378 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so
379 %dir %{_libdir}/glusterfs/%{version}/xlator/system
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
381
382 %if "%{_libexecdir}" != "%{_libdir}"
383 %dir %{_libexecdir}/glusterfs
384 %endif
385 %dir %{_libexecdir}/glusterfs/scripts
386 %attr(755,root,root) %{_libexecdir}/glusterfs/glfsheal
387 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub
388
389 %dir %{_libexecdir}/glusterfs/glusterfind
390 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py
391 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py
392 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py
393 %attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py
394 %{_libexecdir}/glusterfs/glusterfind/__init__.py
395 %{_libexecdir}/glusterfs/glusterfind/changelogdata.py
396 %{_libexecdir}/glusterfs/glusterfind/conf.py
397 %{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py
398 %{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py
399 %{_libexecdir}/glusterfs/glusterfind/main.py
400 %{_libexecdir}/glusterfs/glusterfind/utils.py
401 %{_libexecdir}/glusterfs/glusterfind/tool.conf
402 %{_libexecdir}/glusterfs/glusterfind/__pycache__
403
404 %dir %{_libexecdir}/glusterfs/python
405
406 %dir %{_datadir}/glusterfs
407 %dir %{_datadir}/glusterfs/scripts
408 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh
409 #%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh
410 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
411 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
412 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
413
414 %{_mandir}/man8/glusterfs.8*
415 %{_mandir}/man8/glusterfsd.8*
416
417 %dir %{_var}/lib/glusterd
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/groups
488 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
489 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
490 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
491 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
492 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
494 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
495 %dir %{_var}/lib/glusterd/hooks
496 %dir %{_var}/lib/glusterd/hooks/1
497 %dir %{_var}/lib/glusterd/hooks/1/add-brick
498 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
499 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh
500 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
501 %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
502 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
503 %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
504 %dir %{_var}/lib/glusterd/hooks/1/create
505 %dir %{_var}/lib/glusterd/hooks/1/create/post
506 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
507 %dir %{_var}/lib/glusterd/hooks/1/delete
508 %dir %{_var}/lib/glusterd/hooks/1/delete/post
509 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
510 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
511 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
512 %dir %{_var}/lib/glusterd/hooks/1/set
513 %dir %{_var}/lib/glusterd/hooks/1/set/post
514 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
515 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
516 %dir %{_var}/lib/glusterd/hooks/1/start
517 %dir %{_var}/lib/glusterd/hooks/1/start/post
518 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
519 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
520 %dir %{_var}/lib/glusterd/hooks/1/stop
521 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
522 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
523 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
524 %dir %{_var}/run/gluster
525
526 %files client
527 %defattr(644,root,root,755)
528 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
529 %attr(755,root,root) /sbin/mount.glusterfs
530 %attr(755,root,root) %{_sbindir}/gluster
531 %{_mandir}/man8/gluster.8*
532 %{_mandir}/man8/mount.glusterfs.8*
533
534 %files resource-agents
535 %defattr(644,root,root,755)
536 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
537 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
538 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
539
540 %files events
541 %defattr(644,root,root,755)
542 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
543 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
544 %attr(755,root,root) %{_sbindir}/glustereventsd
545 %dir %{_libexecdir}/glusterfs/gfevents
546 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
547 %{_libexecdir}/glusterfs/gfevents/__init__.py
548 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py
549 %{_libexecdir}/glusterfs/gfevents/eventtypes.py
550 %{_libexecdir}/glusterfs/gfevents/gf_event.py
551 %{_libexecdir}/glusterfs/gfevents/handlers.py
552 %{_libexecdir}/glusterfs/gfevents/utils.py
553 %{_libexecdir}/glusterfs/gfevents/__pycache__
554 %{_libexecdir}/glusterfs/peer_eventsapi.py
555 %{_datadir}/glusterfs/scripts/eventsdash.py
556
557 # NFS-ganesha integration
558 #%files ganesha
559 #%defattr(644,root,root,755)
560 #%attr(755,root,root) %{_libexecdir}/ganesha/create-export-ganesha.sh
561 #%attr(755,root,root) %{_libexecdir}/ganesha/dbus-send.sh
562 #%attr(755,root,root) %{_libexecdir}/ganesha/ganesha-ha.sh
563 #%attr(755,root,root) %{_libexecdir}/ganesha/generate-epoch.py
564 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace
565 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon
566 #%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd
567 #%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh
568
569 %files geo-replication
570 %defattr(644,root,root,755)
571 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
572 %attr(755,root,root) %{_sbindir}/gfind_missing_files
573 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
574 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
575 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
576 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
577 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
578 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
579 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
580 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
581 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
582 %dir %{_libexecdir}/glusterfs/gfind_missing_files
583 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
584 %dir %{_libexecdir}/glusterfs/python/syncdaemon
585 %{_libexecdir}/glusterfs/python/syncdaemon/*.py
586 %{_libexecdir}/glusterfs/python/syncdaemon/__pycache__
587 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh
588 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/get-gfid.sh
589 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid
590 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh
591 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/schedule_georep.py
592 %attr(755,root,root) %{_libexecdir}/glusterfs/scripts/secondary-upgrade.sh
593 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
594 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
595 %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
596
597 %files thin-arbiter
598 %defattr(644,root,root,755)
599 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
600 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
601 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
602
603 %files -n emacs-glusterfs-mode
604 %defattr(644,root,root,755)
605 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
606
607 %files -n vim-syntax-glusterfs
608 %defattr(644,root,root,755)
609 %{_datadir}/vim/syntax/glusterfs.vim