]> TLD Linux GIT Repositories - packages/glusterfs.git/blob - glusterfs.spec
- release 3
[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:        3.12.9
19 Release:        3
20 License:        LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs)
21 Group:          Applications/System
22 Source0:        https://download.gluster.org/pub/gluster/glusterfs/3.12/%{version}/glusterfs-%{version}.tar.gz
23 # Source0-md5:  18f639e98e4c130365b48576cbf01aae
24 Source1:        glusterfsd.init
25 Patch0:         %{name}-noquiet.patch
26 Patch1:         %{name}-python.patch
27 Patch3:         interpreters.patch
28 URL:            https://www.gluster.org/
29 BuildRequires:  acl-devel
30 BuildRequires:  autoconf >= 2.50
31 BuildRequires:  automake
32 BuildRequires:  bison
33 #BuildRequires: cmocka-devel >= 1.0.1 for unittest
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:  libtool
41 BuildRequires:  libuuid-devel
42 BuildRequires:  libxml2-devel >= 1:2.6.19
43 BuildRequires:  openssl-devel
44 BuildRequires:  pkgconfig
45 BuildRequires:  python >= 1:2.4
46 BuildRequires:  python-devel >= 1:2.4
47 BuildRequires:  readline-devel
48 BuildRequires:  rpm-pythonprov
49 BuildRequires:  rpmbuild(macros) >= 1.228
50 BuildRequires:  sed >= 4.0
51 BuildRequires:  sqlite3-devel >= 3
52 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
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
82 %description common
83 GlusterFS is a clustered file-system capable of scaling to several
84 peta-bytes. It aggregates various storage bricks over Infiniband RDMA
85 or TCP/IP interconnect into one large parallel network file system.
86 GlusterFS is one of the most sophisticated file system in terms of
87 features and extensibility. It borrows a powerful concept called
88 Translators from GNU Hurd kernel. Much of the code in GlusterFS is in
89 userspace and easily manageable.
90
91 This package includes libglusterfs and glusterfs translator modules
92 common to both GlusterFS server and client framework.
93
94 %description common -l pl.UTF-8
95 GlusterFS to klastrowy system plików skalujący się do petabajtów.
96 Scala różne kawałki miejsca po łączach Infiniband RDMA lub TCP/IP w
97 jeden duży, równoległy sieciowy system plików. GlusterFS to jeden z
98 najbardziej wyszukanych systemów plików jeśli chodzi o możliwości i
99 rozszerzalność. Zapożycza potężną ideę o nazwie Translators z jądra
100 GNU Hurd. Duża część kodu GlusterFS działa w przestrzeni użytkownika i
101 jest łatwo zarządzalna.
102
103 Ten pakiet zawiera libglusterfs i moduły translatorów glusterfs
104 wspólne dla klienta jak i serwera GlusterFS-a.
105
106 %package libs
107 Summary:        GlusterFS libraries
108 Summary(pl.UTF-8):      Biblioteki GlusterFS-a
109 Group:          Libraries
110 Conflicts:      glusterfs-common < 3.4.0
111
112 %description libs
113 GlusterFS libraries.
114
115 %description libs -l pl.UTF-8
116 Biblioteki GlusterFS-a.
117
118 %package devel
119 Summary:        GlusterFS development files
120 Summary(pl.UTF-8):      Pliki programistyczne GlusterFS-a
121 Group:          Development/Libraries
122 Requires:       %{name}-libs = %{version}-%{release}
123 # -lfl
124 Requires:       flex
125 Requires:       openssl-devel
126 Obsoletes:      glusterfs-static
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 python-gluster
135 Summary:        Python interface to GlusterFS libraries
136 Summary(pl.UTF-8):      Interfejs Pythona do bibliotek GlusterFS
137 Group:          Libraries/Python
138 Requires:       %{name}-libs = %{version}-%{release}
139
140 %description -n python-gluster
141 Python interface to GlusterFS libraries.
142
143 %description -n python-gluster -l pl.UTF-8
144 Interfejs Pythona do bibliotek GlusterFS.
145
146 %package transport-ibverbs
147 Summary:        InfiniBand "verbs" transport plugins for GlusterFS
148 Summary(pl.UTF-8):      Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a
149 Group:          Libraries
150 Requires:       %{name}-common = %{version}-%{release}
151 Requires:       libibverbs >= 1.0.4
152 Requires:       librdmacm >= 1.0.15
153
154 %description transport-ibverbs
155 InfiniBand "verbs" transport plugins for GlusterFS.
156
157 %description transport-ibverbs -l pl.UTF-8
158 Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a.
159
160 %package server
161 Summary:        GlusterFS Server
162 Summary(pl.UTF-8):      Serwer GlusterFS-a
163 Group:          Daemons
164 Requires:       %{name}-client = %{version}-%{release}
165 Requires:       %{name}-common = %{version}-%{release}
166 Requires(post,preun):   /sbin/chkconfig
167 Requires:       rc-scripts
168 Requires:       python-modules 
169
170 %description server
171 This package provides the glusterfs server daemon.
172
173 %description server -l pl.UTF-8
174 Ten pakiet zawiera część serwerową GlusterFS-a.
175
176 %package client
177 Summary:        GlusterFS Client
178 Summary(pl.UTF-8):      Klient GlusterFS
179 Group:          Applications/System
180 Requires:       %{name}-common = %{version}-%{release}
181 %{?with_system_fuse:Requires:   libfuse >= 2.6}
182
183 %description client
184 This package provides the FUSE based GlusterFS client.
185
186 %description client -l pl.UTF-8
187 Ten pakiet udostępnia opartego na FUSE klienta GlusterFS-a.
188
189 %package resource-agents
190 Summary:        OCF Resource Agents for GlusterFS processes
191 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów GlusterFS-a
192 Group:          Applications/System
193 Requires:       %{name}-server = %{version}-%{release}
194 Requires:       resource-agents
195
196 %description resource-agents
197 OCF Resource Agents for GlusterFS processes.
198
199 %description resource-agents -l pl.UTF-8
200 Agenci OCF do monitorowania procesów GlusterFS-a.
201
202 %package events
203 Summary:        GlusterFS Events
204 Summary(pl.UTF-8):      Obsługa zdarzeń dla GlusterFS-a
205 Group:          Applications/File
206 Requires:       %{name}-server = %{version}-%{release}
207 Requires:       python-gluster = %{version}-%{release}
208 Requires:       python-prettytable
209 Requires:       python-requests
210
211 %description events
212 GlusterFS Events.
213
214 %description events -l pl.UTF-8
215 Obsługa zdarzeń dla GlusterFS-a.
216
217 %package geo-replication
218 Summary:        GlusterFS Geo-replication
219 Summary(pl.UTF-8):      Geo-replikacja dla GlusterFS-a
220 Group:          Applications/File
221 Requires:       %{name}-server = %{version}-%{release}
222 Requires:       python-gluster = %{version}-%{release}
223 Requires:       python-prettytable
224 Requires:       rsync
225
226 %description geo-replication
227 GlusterFS support for geo-replication.
228
229 %description geo-replication -l pl.UTF-8
230 Obsługa geo-replikacji dla GlusterFS-a.
231
232 %package -n emacs-glusterfs-mode
233 Summary:        Emacs mode to edit GlusterFS configuration
234 Summary(pl.UTF-8):      Tryb Emacsa do edycji konfiguracji GlusterFS-a
235 Group:          Applications/Editors
236 Requires:       %{name}-common = %{version}-%{release}
237 Requires:       emacs-common
238
239 %description -n emacs-glusterfs-mode
240 Emacs mode to edit GlusterFS configuration.
241
242 %description -n emacs-glusterfs-mode -l pl.UTF-8
243 Tryb Emacsa do edycji konfiguracji GlusterFS-a.
244
245 %package -n vim-syntax-glusterfs
246 Summary:        Vim syntax file to edit GlusterFS configuration
247 Summary(pl.UTF-8):      Plik składni Vima do edycji konfiguracji GlusterFS-a
248 Group:          Applications/Editors
249 Requires:       %{name}-common = %{version}-%{release}
250 Requires:       vim-rt >= 4:7.2.170
251
252 %description -n vim-syntax-glusterfs
253 Vim syntax file to edit GlusterFS configuration.
254
255 %description -n vim-syntax-glusterfs -l pl.UTF-8
256 Plik składni Vima do edycji konfiguracji GlusterFS-a.
257
258 %prep
259 %setup -q
260 %patch0 -p1
261 %patch1 -p1
262 %patch3 -p1
263
264 %build
265 %{__libtoolize}
266 %{__aclocal}
267 %{__autoconf}
268 %{__autoheader}
269 %{__automake}
270 %configure \
271         %{?with_system_fuse:--disable-fusermount} \
272         --disable-silent-rules \
273         %{!?with_ibverbs:--disable-ibverbs} \
274         --enable-systemtap%{!?with_systemtap:=no} \
275         --with-initdir=/etc/rc.d/init.d
276
277 %{__make} -j1
278
279 %install
280 rm -rf $RPM_BUILD_ROOT
281 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
282
283 %{__make} -j1 install \
284         DESTDIR=$RPM_BUILD_ROOT
285
286 # No idea why installs elsewhere than later expects to be
287 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol
288
289 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd
290
291 install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax}
292 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax
293 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
294
295 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la
297 %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la
298
299 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking
300 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md
301 # example, installed as /var/lib/glusterd/groups/virt
302 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example
303
304 %py_postclean
305
306 %clean
307 rm -rf $RPM_BUILD_ROOT
308
309 %post   libs    -p /sbin/ldconfig
310 %postun libs    -p /sbin/ldconfig
311
312 %if 0
313 # TODO: verify these scripts (see also included glusterfs.spec)
314 %post server
315 # note: glusterfsd.init vs glusterd.service
316 /sbin/chkconfig --add glusterfsd
317 %service glusterfsd restart
318 # TODO?
319 #glusterd --xlator-option *.upgrade=on -N
320
321 %preun server
322 if [ "$1" = "0" ]; then
323         %service -q glusterfsd stop
324         /sbin/chkconfig --del glusterfsd
325 fi
326
327 %post geo-replication
328 %service glusterd restart
329 %endif
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 %attr(755,root,root) %{_sbindir}/glfsheal
336 # NOTE: glusterfs is link to glusterfsd and is needed by client mount
337 %attr(755,root,root) %{_sbindir}/glusterfs
338 %attr(755,root,root) %{_sbindir}/glusterfsd
339 %dir %{_sysconfdir}/%{name}
340
341 %dir %{_libdir}/glusterfs
342
343 %dir %{_libdir}/glusterfs/%{version}
344 %dir %{_libdir}/glusterfs/%{version}/auth
345 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so
346 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so
347
348 %dir %{_libdir}/glusterfs/%{version}/rpc-transport
349 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so
350
351 %dir %{_libdir}/glusterfs/%{version}/xlator
352 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so
353 %dir %{_libdir}/glusterfs/%{version}/xlator/cluster
354 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so
355 %dir %{_libdir}/glusterfs/%{version}/xlator/debug
356 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so
357 %dir %{_libdir}/glusterfs/%{version}/xlator/encryption
358 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so*
359 %dir %{_libdir}/glusterfs/%{version}/xlator/features
360 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so*
361 %dir %{_libdir}/glusterfs/%{version}/xlator/features/glupy
362 %{_libdir}/glusterfs/%{version}/xlator/features/glupy/*.py*
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/protocol
373 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so
374 %dir %{_libdir}/glusterfs/%{version}/xlator/storage
375 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so
376 %dir %{_libdir}/glusterfs/%{version}/xlator/system
377 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so
378 %dir %{_libdir}/glusterfs/%{version}/xlator/testing
379 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/features
380 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/features/*.so
381 %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance
382 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so
383
384 %if "%{_libexecdir}" != "%{_libdir}"
385 %dir %{_libexecdir}/glusterfs
386 %endif
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/libgfchangelog.py*
398 %{_libexecdir}/glusterfs/glusterfind/main.py*
399 %{_libexecdir}/glusterfs/glusterfind/utils.py*
400 %{_libexecdir}/glusterfs/glusterfind/tool.conf
401
402 %dir %{_libexecdir}/glusterfs/python
403
404 %dir %{_datadir}/glusterfs
405 %dir %{_datadir}/glusterfs/scripts
406 %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
407 %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
408 %attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
409
410 %{_mandir}/man8/glusterfs.8*
411 %{_mandir}/man8/glusterfsd.8*
412 %dir %{_var}/log/glusterfs
413
414 %files libs
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libgfapi.so.*.*.*
417 %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0
418 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.*
419 %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0
420 %attr(755,root,root) %{_libdir}/libgfdb.so.*.*.*
421 %attr(755,root,root) %ghost %{_libdir}/libgfdb.so.0
422 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.*
423 %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0
424 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.*
425 %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0
426 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.*
427 %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0
428
429 %files devel
430 %defattr(644,root,root,755)
431 %attr(755,root,root) %{_libdir}/libgfapi.so
432 %attr(755,root,root) %{_libdir}/libgfchangelog.so
433 %attr(755,root,root) %{_libdir}/libgfdb.so
434 %attr(755,root,root) %{_libdir}/libgfrpc.so
435 %attr(755,root,root) %{_libdir}/libgfxdr.so
436 %attr(755,root,root) %{_libdir}/libglusterfs.so
437 %{_libdir}/libgfapi.la
438 %{_libdir}/libgfchangelog.la
439 %{_libdir}/libgfdb.la
440 %{_libdir}/libgfrpc.la
441 %{_libdir}/libgfxdr.la
442 %{_libdir}/libglusterfs.la
443 %dir %{_includedir}/glusterfs
444 %{_includedir}/glusterfs/api
445 %{_includedir}/glusterfs/gfchangelog
446 %{_includedir}/glusterfs/gfdb
447 %{_includedir}/glusterfs/rpc
448 %{_includedir}/glusterfs/server
449 %{_includedir}/glusterfs/*.h
450 %{_pkgconfigdir}/glusterfs-api.pc
451 %{_pkgconfigdir}/libgfchangelog.pc
452 %{_pkgconfigdir}/libgfdb.pc
453
454 %files -n python-gluster
455 %defattr(644,root,root,755)
456 %dir %{py_sitescriptdir}/gluster
457 %{py_sitescriptdir}/gluster/*.py[co]
458 %{py_sitescriptdir}/gluster/cliutils
459 %{py_sitescriptdir}/gluster/glupy
460 # created only when using py_build/py_install in xlators/features/glupy/src
461 #%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info
462
463 %if %{with ibverbs}
464 %files transport-ibverbs
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so
467 %endif
468
469 %files server
470 %defattr(644,root,root,755)
471 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol
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 %attr(754,root,root) /etc/rc.d/init.d/glusterfsd
476 %attr(755,root,root) %{_sbindir}/conf.py
477 %attr(755,root,root) %{_sbindir}/gcron.py
478 %attr(755,root,root) %{_sbindir}/gf_attach
479 %attr(755,root,root) %{_sbindir}/gluster-setgfid2path
480 %attr(755,root,root) %{_sbindir}/glusterd
481 %attr(755,root,root) %{_sbindir}/snap_scheduler.py
482
483 %{_mandir}/man8/gluster-setgfid2path.8*
484 %{_mandir}/man8/glusterd.8*
485 %dir %{_var}/lib/glusterd
486 %dir %{_var}/lib/glusterd/groups
487 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block
488 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache
489 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache
490 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt
491 %dir %{_var}/lib/glusterd/hooks
492 %dir %{_var}/lib/glusterd/hooks/1
493 %dir %{_var}/lib/glusterd/hooks/1/add-brick
494 %dir %{_var}/lib/glusterd/hooks/1/add-brick/post
495 %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
496 %dir %{_var}/lib/glusterd/hooks/1/add-brick/pre
497 %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
498 %dir %{_var}/lib/glusterd/hooks/1/create
499 %dir %{_var}/lib/glusterd/hooks/1/create/post
500 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh
501 %dir %{_var}/lib/glusterd/hooks/1/delete
502 %dir %{_var}/lib/glusterd/hooks/1/delete/post
503 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
504 %dir %{_var}/lib/glusterd/hooks/1/delete/pre
505 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
506 %dir %{_var}/lib/glusterd/hooks/1/set
507 %dir %{_var}/lib/glusterd/hooks/1/set/post
508 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh
509 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
510 %dir %{_var}/lib/glusterd/hooks/1/start
511 %dir %{_var}/lib/glusterd/hooks/1/start/post
512 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
513 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh
514 %dir %{_var}/lib/glusterd/hooks/1/stop
515 %dir %{_var}/lib/glusterd/hooks/1/stop/pre
516 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
517 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh
518 %dir %{_var}/run/gluster
519
520 %files client
521 %defattr(644,root,root,755)
522 %{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs}
523 %attr(755,root,root) /sbin/mount.glusterfs
524 %attr(755,root,root) %{_sbindir}/gluster
525 %{_mandir}/man8/gluster.8*
526 %{_mandir}/man8/mount.glusterfs.8*
527
528 %files resource-agents
529 %defattr(644,root,root,755)
530 %dir %{_prefix}/lib/ocf/resource.d/glusterfs
531 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd
532 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume
533
534 %files events
535 %defattr(644,root,root,755)
536 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json
537 %attr(755,root,root) %{_sbindir}/gluster-eventsapi
538 %attr(755,root,root) %{_sbindir}/glustereventsd
539 %dir %{_libexecdir}/glusterfs/events
540 %attr(755,root,root) %{_libexecdir}/glusterfs/events/glustereventsd.py
541 %{_libexecdir}/glusterfs/events/__init__.py*
542 %{_libexecdir}/glusterfs/events/eventsapiconf.py*
543 %{_libexecdir}/glusterfs/events/eventtypes.py*
544 %{_libexecdir}/glusterfs/events/gf_event.py*
545 %{_libexecdir}/glusterfs/events/handlers.py*
546 %{_libexecdir}/glusterfs/events/utils.py*
547 %{_libexecdir}/glusterfs/peer_eventsapi.py*
548 %{_datadir}/glusterfs/scripts/eventsdash.py
549
550 %files geo-replication
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_sbindir}/gfind_missing_files
553 %attr(755,root,root) %{_sbindir}/gluster-georep-sshkey
554 %attr(755,root,root) %{_sbindir}/gluster-mountbroker
555 %attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd
556 %attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh
557 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
558 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create
559 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker
560 %attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py*
561 %attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
562 %dir %{_libexecdir}/glusterfs/gfind_missing_files
563 %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/*
564 %dir %{_libexecdir}/glusterfs/python/syncdaemon
565 # gsyncd.py is a script, the rest probably don't require *.py
566 %{_libexecdir}/glusterfs/python/syncdaemon/*.py*
567 %attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
568 %attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh
569 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid
570 %attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
571 %attr(755,root,root) %{_datadir}/glusterfs/scripts/schedule_georep.py
572 %attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh
573 %dir %{_var}/lib/glusterd/hooks/1/gsync-create
574 %dir %{_var}/lib/glusterd/hooks/1/gsync-create/post
575 %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
576
577 %files -n emacs-glusterfs-mode
578 %defattr(644,root,root,755)
579 %{_datadir}/emacs/site-lisp/glusterfs-mode.el
580
581 %files -n vim-syntax-glusterfs
582 %defattr(644,root,root,755)
583 %{_datadir}/vim/syntax/glusterfs.vim