]> TLD Linux GIT Repositories - packages/glusterfs.git/blob - glusterfs.spec
- merged 6.1 from PLD
[packages/glusterfs.git] / glusterfs.spec
1 # TODO:
2 # - python3 module
3 # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID}
4 # - Check transport-ibverbs package and ibverbs bcond
5 # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd
6 # - package /etc/glusterfs/glusterfs-logrotate as logrotate config
7 # - Fix/provide working systemd service files. 
8 #   As for 3.7.11, package provided seems be non-working.
9 # - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable)
10 #
11 # Conditional build:
12 %bcond_without  ibverbs         # ib-verbs transport
13 %bcond_without  systemtap       # systemtap/dtrace support
14 %bcond_without  system_fuse     # system fusermount
15 #
16 Summary:        Clustered File Storage that can scale to peta bytes
17 Summary(pl.UTF-8):      Klastrowy system przechowywania plików skalujący się do petabajtów
18 Name:           glusterfs
19 Version:        6.1
20 Release:        1
21 License:        LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
22 Group:          Applications/System
23 Source0:        https://download.gluster.org/pub/gluster/glusterfs/6/%{version}/glusterfs-%{version}.tar.gz
24 # Source0-md5:  18967c357204d4cbdd9c1731508862c6
25 Source1:        glusterfsd.init
26 Patch0:         %{name}-noquiet.patch
27 URL:            https://www.gluster.org/
28 BuildRequires:  acl-devel
29 BuildRequires:  autoconf >= 2.50
30 BuildRequires:  automake
31 BuildRequires:  bison
32 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
33 BuildRequires:  curl-devel
34 # for bd-xlator
35 BuildRequires:  device-mapper-devel >= 2.02.79
36 BuildRequires:  flex
37 BuildRequires:  libaio-devel
38 %{?with_ibverbs:BuildRequires:  libibverbs-devel >= 1.0.4}
39 %{?with_ibverbs:BuildRequires:  librdmacm-devel >= 1.0.15}
40 BuildRequires:  libselinux-devel
41 BuildRequires:  libtirpc-devel
42 BuildRequires:  libtool
43 BuildRequires:  libuuid-devel
44 BuildRequires:  libxml2-devel >= 1:2.6.19
45 BuildRequires:  openssl-devel
46 BuildRequires:  pkgconfig
47 BuildRequires:  python >= 1:2.6
48 BuildRequires:  python-devel >= 1:2.6
49 BuildRequires:  readline-devel
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:       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 python-gluster
137 Summary:        Python interface to GlusterFS libraries
138 Summary(pl.UTF-8):      Interfejs Pythona do bibliotek GlusterFS
139 Group:          Libraries/Python
140 Requires:       %{name}-libs = %{version}-%{release}
141
142 %description -n python-gluster
143 Python interface to GlusterFS libraries.
144
145 %description -n python-gluster -l pl.UTF-8
146 Interfejs Pythona do bibliotek GlusterFS.
147
148 %package transport-ibverbs
149 Summary:        InfiniBand "verbs" transport plugins for GlusterFS
150 Summary(pl.UTF-8):      Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
151 Group:          Libraries
152 Requires:       %{name}-common = %{version}-%{release}
153 Requires:       libibverbs >= 1.0.4
154 Requires:       librdmacm >= 1.0.15
155
156 %description transport-ibverbs
157 InfiniBand "verbs" transport plugins for GlusterFS.
158
159 %description transport-ibverbs -l pl.UTF-8
160 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
161
162 %package server
163 Summary:        GlusterFS Server
164 Summary(pl.UTF-8):      Serwer GlusterFS-a
165 Group:          Daemons
166 Requires:       %{name}-client = %{version}-%{release}
167 Requires:       %{name}-common = %{version}-%{release}
168 Requires(post,preun):   /sbin/chkconfig
169 Requires:       rc-scripts
170 Requires:       python-modules 
171
172 %description server
173 This package provides the glusterfs server daemon.
174
175 %description server -l pl.UTF-8
176 Ten pakiet zawiera część serwerową GlusterFS-a.
177
178 %package client
179 Summary:        GlusterFS Client
180 Summary(pl.UTF-8):      Klient GlusterFS
181 Group:          Applications/System
182 Requires:       %{name}-common = %{version}-%{release}
183 %{?with_system_fuse:Requires:   libfuse >= 2.6}
184
185 %description client
186 This package provides the FUSE based GlusterFS client.
187
188 %description client -l pl.UTF-8
189 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
190
191 %package resource-agents
192 Summary:        OCF Resource Agents for GlusterFS processes
193 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów GlusterFS-a
194 Group:          Applications/System
195 Requires:       %{name}-server = %{version}-%{release}
196 Requires:       resource-agents
197
198 %description resource-agents
199 OCF Resource Agents for GlusterFS processes.
200
201 %description resource-agents -l pl.UTF-8
202 Agenci OCF do monitorowania procesów GlusterFS-a.
203
204 %package events
205 Summary:        GlusterFS Events
206 Summary(pl.UTF-8):      Obsługa zdarzeń dla GlusterFS-a
207 Group:          Applications/File
208 Requires:       %{name}-server = %{version}-%{release}
209 Requires:       python-gluster = %{version}-%{release}
210 Requires:       python-prettytable
211 Requires:       python-requests
212
213 %description events
214 GlusterFS Events.
215
216 %description events -l pl.UTF-8
217 Obsługa zdarzeń dla GlusterFS-a.
218
219 %package geo-replication
220 Summary:        GlusterFS Geo-replication
221 Summary(pl.UTF-8):      Geo-replikacja dla GlusterFS-a
222 Group:          Applications/File
223 Requires:       %{name}-server = %{version}-%{release}
224 Requires:       python-gluster = %{version}-%{release}
225 Requires:       python-prettytable
226 Requires:       rsync
227
228 %description geo-replication
229 GlusterFS support for geo-replication.
230
231 %description geo-replication -l pl.UTF-8
232 Obsługa geo-replikacji dla GlusterFS-a.
233
234 %package thin-arbiter
235 Summary:        GlusterFS thin-arbiter module
236 Summary(pl.UTF-8):      Moduł thin-arbiter dla GlusterFS-a
237 Group:          Applications/File
238 Requires:       %{name}-server = %{version}-%{release}
239
240 %description thin-arbiter
241 This package provides a tie-breaker functionality to GlusterFS
242 replicate volume. It includes translators required to provide the
243 functionality, and also few other scripts required for getting the
244 setup done.
245
246 This package provides the glusterfs thin-arbiter translator.
247
248 %description thin-arbiter -l pl.UTF-8
249 Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS.
250 Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz
251 kilka skryptów wymaganych do konfiguracji.
252
253 Ten pakiet zawiera moduł tłumaczący thin-arbiter.
254
255 %package -n emacs-glusterfs-mode
256 Summary:        Emacs mode to edit GlusterFS configuration
257 Summary(pl.UTF-8):      Tryb Emacsa do edycji konfiguracji GlusterFS-a
258 Group:          Applications/Editors
259 Requires:       %{name}-common = %{version}-%{release}
260 Requires:       emacs-common
261
262 %description -n emacs-glusterfs-mode
263 Emacs mode to edit GlusterFS configuration.
264
265 %description -n emacs-glusterfs-mode -l pl.UTF-8
266 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
267
268 %package -n vim-syntax-glusterfs
269 Summary:        Vim syntax file to edit GlusterFS configuration
270 Summary(pl.UTF-8):      Plik składni Vima do edycji konfiguracji GlusterFS-a
271 Group:          Applications/Editors
272 Requires:       %{name}-common = %{version}-%{release}
273 Requires:       vim-rt >= 4:7.2.170
274
275 %description -n vim-syntax-glusterfs
276 Vim syntax file to edit GlusterFS configuration.
277
278 %description -n vim-syntax-glusterfs -l pl.UTF-8
279 Plik składni Vima do edycji konfiguracji GlusterFS-a.
280
281 %prep
282 %setup -q
283 %patch0 -p1
284
285 %build
286 %{__libtoolize}
287 %{__aclocal}
288 %{__autoconf}
289 %{__autoheader}
290 %{__automake}
291 %configure \
292         PYTHON=%{__python} \
293         %{?with_system_fuse:--disable-fusermount} \
294         --disable-silent-rules \
295         --enable-gnfs \
296         %{!?with_ibverbs:--disable-ibverbs} \
297         --enable-systemtap%{!?with_systemtap:=no} \
298         --with-initdir=/etc/rc.d/init.d
299
300 %{__make} -j1
301
302 %install
303 rm -rf $RPM_BUILD_ROOT
304 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
305
306 %{__make} -j1 install \
307         DESTDIR=$RPM_BUILD_ROOT
308
309 # No idea why installs elsewhere than later expects to be
310 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
311
312 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
313
314 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
315 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
316 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
317
318 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
319 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
320
321 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
322 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
323 # example, installed as /var/lib/glusterd/groups/virt
324 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
325
326 %py_postclean
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
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 python-gluster
472 %defattr(644,root,root,755)
473 %dir %{py_sitescriptdir}/gluster
474 %{py_sitescriptdir}/gluster/*.py[co]
475 %{py_sitescriptdir}/gluster/cliutils
476 # created only when using py_build/py_install in xlators/features/glupy/src
477 #%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
478
479 %if %{with ibverbs}
480 %files transport-ibverbs
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
483 %endif
484
485 %files server
486 %defattr(644,root,root,755)
487 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
488 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt
490 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block
491 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache
492 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba
494 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
495 %attr(755,root,root) %{_sbindir}/conf.py
496 %attr(755,root,root) %{_sbindir}/gcron.py
497 %attr(755,root,root) %{_sbindir}/gf_attach
498 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
499 %attr(755,root,root) %{_sbindir}/glusterd
500 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
501 #%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh
502
503 %{_mandir}/man8/gluster-setgfid2path.8*
504 %{_mandir}/man8/glusterd.8*
505 %dir %{_var}/lib/glusterd
506 %dir %{_var}/lib/glusterd/groups
507 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload
508 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt
509 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
510 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
511 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
512 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba
513 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
514 %dir %{_var}/lib/glusterd/hooks
515 %dir %{_var}/lib/glusterd/hooks/1
516 %dir %{_var}/lib/glusterd/hooks/1/add-brick
517 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
518 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
519 %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
520 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
521 %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
522 %dir %{_var}/lib/glusterd/hooks/1/create
523 %dir %{_var}/lib/glusterd/hooks/1/create/post
524 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
525 %dir %{_var}/lib/glusterd/hooks/1/delete
526 %dir %{_var}/lib/glusterd/hooks/1/delete/post
527 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
528 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
529 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
530 %dir %{_var}/lib/glusterd/hooks/1/set
531 %dir %{_var}/lib/glusterd/hooks/1/set/post
532 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
533 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
534 %dir %{_var}/lib/glusterd/hooks/1/start
535 %dir %{_var}/lib/glusterd/hooks/1/start/post
536 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
537 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
538 %dir %{_var}/lib/glusterd/hooks/1/stop
539 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
540 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
541 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
542 %dir %{_var}/run/gluster
543
544 %files client
545 %defattr(644,root,root,755)
546 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
547 %attr(755,root,root) /sbin/mount.glusterfs
548 %attr(755,root,root) %{_sbindir}/gluster
549 %{_mandir}/man8/gluster.8*
550 %{_mandir}/man8/mount.glusterfs.8*
551
552 %files resource-agents
553 %defattr(644,root,root,755)
554 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
555 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
556 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
557
558 %files events
559 %defattr(644,root,root,755)
560 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
561 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
562 %attr(755,root,root) %{_sbindir}/glustereventsd
563 %dir %{_libexecdir}/glusterfs/gfevents
564 %attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py
565 %{_libexecdir}/glusterfs/gfevents/__init__.py*
566 %{_libexecdir}/glusterfs/gfevents/eventsapiconf.py*
567 %{_libexecdir}/glusterfs/gfevents/eventtypes.py*
568 %{_libexecdir}/glusterfs/gfevents/gf_event.py*
569 %{_libexecdir}/glusterfs/gfevents/handlers.py*
570 %{_libexecdir}/glusterfs/gfevents/utils.py*
571 %{_libexecdir}/glusterfs/peer_eventsapi.py*
572 %{_datadir}/glusterfs/scripts/eventsdash.py
573
574 %files geo-replication
575 %defattr(644,root,root,755)
576 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf
577 %attr(755,root,root) %{_sbindir}/gfind_missing_files
578 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
579 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
580 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
581 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
582 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
583 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
584 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
585 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
586 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
587 %dir %{_libexecdir}/glusterfs/gfind_missing_files
588 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
589 %dir %{_libexecdir}/glusterfs/python/syncdaemon
590 # gsyncd.py is a script, the rest probably don't require *.py
591 %{_libexecdir}/glusterfs/python/syncdaemon/*.py*
592 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
593 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
594 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
595 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
596 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
597 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
598 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
599 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
600 %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
601
602 %files thin-arbiter
603 %defattr(644,root,root,755)
604 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol
605 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so
606 %attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
607
608 %files -n emacs-glusterfs-mode
609 %defattr(644,root,root,755)
610 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
611
612 %files -n vim-syntax-glusterfs
613 %defattr(644,root,root,755)
614 %{_datadir}/vim/syntax/glusterfs.vim