X-Git-Url: https://git.tld-linux.org/?p=packages%2Fglusterfs.git;a=blobdiff_plain;f=glusterfs.spec;h=2b8081cb7d96cb20fdbf7bfc982533732b731232;hp=e183639899060dcc6bd65d90ff333ffc95a7f72b;hb=HEAD;hpb=95ca0d1f07e7d20a194c5795d294cba552ee9c11 diff --git a/glusterfs.spec b/glusterfs.spec index e183639..d3dd361 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,48 +1,56 @@ # TODO: # - Find pidfiles killproc --pidfile ${PIDFILE} -TERM instead of kill -TERM ${PID} -# - Check transport-ibverbs package and ibverbs bcond # - Add passing options from /etc/sysconfig/glusterfsd to glusterfsd # - package /etc/glusterfs/glusterfs-logrotate as logrotate config -# - package in proper emacs/vim locations: -# /usr/share/doc/glusterfs/glusterfs-mode.el -# /usr/share/doc/glusterfs/glusterfs.vim +# - Fix/provide working systemd service files. +# As for 3.7.11, package provided seems be non-working. +# - add nfs-ganesha to PLD and package ganesha integration files +# - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable) # # Conditional build: -%bcond_without ibverbs # ib-verbs transport -%bcond_without systemtap # systemtap/dtrace support +%bcond_without system_fuse # system fusermount # Summary: Clustered File Storage that can scale to peta bytes Summary(pl.UTF-8): Klastrowy system przechowywania plików skalujący się do petabajtów Name: glusterfs -Version: 3.5.3 -Release: 2 +Version: 10.5 +Release: 1 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs) Group: Applications/System -Source0: http://download.gluster.org/pub/gluster/glusterfs/3.5/LATEST/glusterfs-%{version}.tar.gz -# Source0-md5: 359f9f565fedd3069e1ff4f81fcb14e7 +Source0: https://download.gluster.org/pub/gluster/glusterfs/10/%{version}/glusterfs-%{version}.tar.gz +# Source0-md5: 8ac48f7b7f9afa0e5dfa9ad42589ee27 Source1: glusterfsd.init -Patch0: %{name}-link.patch -Patch1: %{name}-noquiet.patch -Patch2: no-sysctl-on-linux.patch -URL: http://www.gluster.org/ +Patch0: ssl_paths.patch +Patch1: ksh_getopts.patch +URL: https://www.gluster.org/ +BuildRequires: acl-devel BuildRequires: autoconf >= 2.50 BuildRequires: automake BuildRequires: bison +#BuildRequires: cmocka-devel >= 1.0.1 for unittest +BuildRequires: curl-devel +# for bd-xlator BuildRequires: device-mapper-devel >= 2.02.79 BuildRequires: flex -BuildRequires: glib2-devel >= 2.0 BuildRequires: libaio-devel -BuildRequires: libfuse-devel >= 2.6 -%{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4} +BuildRequires: libselinux-devel +BuildRequires: libtcmalloc-devel +BuildRequires: libtirpc-devel BuildRequires: libtool +BuildRequires: liburing-devel +BuildRequires: libuuid-devel BuildRequires: libxml2-devel >= 1:2.6.19 BuildRequires: openssl-devel BuildRequires: pkgconfig -BuildRequires: python >= 1:2.4 +BuildRequires: python3 >= 1:3.2 +BuildRequires: python3-devel >= 1:3.2 BuildRequires: readline-devel +BuildRequires: rpcsvc-proto BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.228 -%{?with_systemtap:BuildRequires: systemtap-sdt-devel} +BuildRequires: sed >= 4.0 +BuildRequires: sqlite3-devel >= 3 +BuildRequires: userspace-rcu-devel >= 0.8 BuildRequires: zlib-devel >= 1.2.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -70,6 +78,7 @@ Summary(pl.UTF-8): Wspólne pliki GlusterFS-a, w tym translatory Group: Libraries Requires: libxml2 >= 1:2.6.19 Requires: zlib >= 1.2.0 +Obsoletes: glusterfs-transport-ibverbs < 8 %description common GlusterFS is a clustered file-system capable of scaling to several @@ -114,8 +123,9 @@ Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} # -lfl Requires: flex +Requires: libtirpc-devel Requires: openssl-devel -Obsoletes: glusterfs-static +Obsoletes: glusterfs-static < 1.3.10-2 %description devel This package provides the development files for GlusterFS library. @@ -123,30 +133,18 @@ This package provides the development files for GlusterFS library. %description devel -l pl.UTF-8 Ten pakiet udostępnia pliki programistyczne biblioteki GlusterFS-a. -%package -n python-gluster -Summary: Python interface to GlusterFS libraries -Summary(pl.UTF-8): Interfejs Pythona do bibliotek GlusterFS +%package -n python3-gluster +Summary: Python 3 interface to GlusterFS libraries +Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek GlusterFS Group: Libraries/Python Requires: %{name}-libs = %{version}-%{release} +Obsoletes: python-gluster < 6.6 -%description -n python-gluster -Python interface to GlusterFS libraries. +%description -n python3-gluster +Python 3 interface to GlusterFS libraries. -%description -n python-gluster -l pl.UTF-8 -Interfejs Pythona do bibliotek GlusterFS. - -%package transport-ibverbs -Summary: InfiniBand "verbs" transport plugins for GlusterFS -Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a -Group: Libraries -Requires: %{name}-common = %{version}-%{release} -Requires: libibverbs >= 1.0.4 - -%description transport-ibverbs -InfiniBand "verbs" transport plugins for GlusterFS. - -%description transport-ibverbs -l pl.UTF-8 -Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a. +%description -n python3-gluster -l pl.UTF-8 +Interfejs Pythona 3 do bibliotek GlusterFS. %package server Summary: GlusterFS Server @@ -156,6 +154,7 @@ Requires: %{name}-client = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} Requires(post,preun): /sbin/chkconfig Requires: rc-scripts +Requires: python3-modules %description server This package provides the glusterfs server daemon. @@ -168,7 +167,7 @@ Summary: GlusterFS Client Summary(pl.UTF-8): Klient GlusterFS Group: Applications/System Requires: %{name}-common = %{version}-%{release} -Requires: libfuse >= 2.6 +%{?with_system_fuse:Requires: libfuse >= 2.6} %description client This package provides the FUSE based GlusterFS client. @@ -189,11 +188,87 @@ OCF Resource Agents for GlusterFS processes. %description resource-agents -l pl.UTF-8 Agenci OCF do monitorowania procesów GlusterFS-a. +%package events +Summary: GlusterFS Events +Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a +Group: Applications/File +Requires: %{name}-server = %{version}-%{release} +Requires: python3-gluster = %{version}-%{release} +Requires: python3-prettytable +Requires: python3-requests + +%description events +GlusterFS Events. + +%description events -l pl.UTF-8 +Obsługa zdarzeń dla GlusterFS-a. + +%package geo-replication +Summary: GlusterFS Geo-replication +Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a +Group: Applications/File +Requires: %{name}-server = %{version}-%{release} +Requires: python3-gluster = %{version}-%{release} +Requires: python3-prettytable +Requires: rsync + +%description geo-replication +GlusterFS support for geo-replication. + +%description geo-replication -l pl.UTF-8 +Obsługa geo-replikacji dla GlusterFS-a. + +%package thin-arbiter +Summary: GlusterFS thin-arbiter module +Summary(pl.UTF-8): Moduł thin-arbiter dla GlusterFS-a +Group: Applications/File +Requires: %{name}-server = %{version}-%{release} + +%description thin-arbiter +This package provides a tie-breaker functionality to GlusterFS +replicate volume. It includes translators required to provide the +functionality, and also few other scripts required for getting the +setup done. + +This package provides the glusterfs thin-arbiter translator. + +%description thin-arbiter -l pl.UTF-8 +Ten pakiet dodaje funkcję dogrywki do replikacji wolumenów GlusterFS. +Zawiera moduły tłumaczące wymagane do zapewniania tej funkcji oraz +kilka skryptów wymaganych do konfiguracji. + +Ten pakiet zawiera moduł tłumaczący thin-arbiter. + +%package -n emacs-glusterfs-mode +Summary: Emacs mode to edit GlusterFS configuration +Summary(pl.UTF-8): Tryb Emacsa do edycji konfiguracji GlusterFS-a +Group: Applications/Editors +Requires: %{name}-common = %{version}-%{release} +Requires: emacs-common + +%description -n emacs-glusterfs-mode +Emacs mode to edit GlusterFS configuration. + +%description -n emacs-glusterfs-mode -l pl.UTF-8 +Tryb Emacsa do edycji konfiguracji GlusterFS-a. + +%package -n vim-syntax-glusterfs +Summary: Vim syntax file to edit GlusterFS configuration +Summary(pl.UTF-8): Plik składni Vima do edycji konfiguracji GlusterFS-a +Group: Applications/Editors +Requires: %{name}-common = %{version}-%{release} +Requires: vim-rt >= 4:7.2.170 + +%description -n vim-syntax-glusterfs +Vim syntax file to edit GlusterFS configuration. + +%description -n vim-syntax-glusterfs -l pl.UTF-8 +Plik składni Vima do edycji konfiguracji GlusterFS-a. + %prep %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 %build %{__libtoolize} @@ -201,37 +276,38 @@ Agenci OCF do monitorowania procesów GlusterFS-a. %{__autoconf} %{__autoheader} %{__automake} -#%{__python} gen-headers.py -#%{__mv} gf-error-codes.h libglusterfs/src %configure \ + PYTHON=%{__python3} \ + %{?with_system_fuse:--disable-fusermount} \ --disable-silent-rules \ - --enable-fusermount \ - %{!?with_ibverbs:--disable-ibverbs} \ - --enable-systemtap%{!?with_systemtap:=no} \ + --enable-gnfs \ --with-initdir=/etc/rc.d/init.d %{__make} -j1 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/lib/glusterd} +install -d $RPM_BUILD_ROOT/etc/rc.d/init.d %{__make} -j1 install \ DESTDIR=$RPM_BUILD_ROOT # No idea why installs elsewhere than later expects to be -mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol +%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterd.vol $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/glusterfsd.vol install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/glusterfsd +install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax} +%{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs.vim $RPM_BUILD_ROOT%{_datadir}/vim/syntax +%{__mv} $RPM_BUILD_ROOT%{_docdir}/glusterfs/glusterfs-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp + %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*.la %{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/%{version}/*/*/*/*.la %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/glusterfs/benchmarking -%{__rm} $RPM_BUILD_ROOT%{_libdir}/glusterfs/python/syncdaemon/README.md - -%py_postclean +%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/glusterfs/python/syncdaemon/README.md +# example, installed as /var/lib/glusterd/groups/virt +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example %clean rm -rf $RPM_BUILD_ROOT @@ -239,14 +315,27 @@ rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig +%post server +/sbin/chkconfig --add glusterfsd +%service glusterfsd restart + +%preun server +if [ "$1" = "0" ]; then + %service -q glusterfsd stop + /sbin/chkconfig --del glusterfsd +fi + +%post geo-replication +%service glusterd restart + %files common %defattr(644,root,root,755) -%doc ChangeLog NEWS README THANKS -%dir %{_sysconfdir}/%{name} -%attr(755,root,root) %{_sbindir}/glfsheal +%doc ChangeLog NEWS README.md THANKS +%attr(755,root,root) %{_bindir}/glusterfind # NOTE: glusterfs is link to glusterfsd and is needed by client mount %attr(755,root,root) %{_sbindir}/glusterfs %attr(755,root,root) %{_sbindir}/glusterfsd +%dir %{_sysconfdir}/%{name} %dir %{_libdir}/glusterfs @@ -255,20 +344,22 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/addr.so %attr(755,root,root) %{_libdir}/glusterfs/%{version}/auth/login.so +%dir %{_libdir}/glusterfs/%{version}/cloudsync-plugins +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsynccvlt.so +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/cloudsync-plugins/cloudsyncs3.so + %dir %{_libdir}/glusterfs/%{version}/rpc-transport %attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/socket.so %dir %{_libdir}/glusterfs/%{version}/xlator +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/meta.so %dir %{_libdir}/glusterfs/%{version}/xlator/cluster %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/cluster/*.so %dir %{_libdir}/glusterfs/%{version}/xlator/debug %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/debug/*.so -%dir %{_libdir}/glusterfs/%{version}/xlator/encryption -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/encryption/*.so* %dir %{_libdir}/glusterfs/%{version}/xlator/features -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so* -%dir %{_libdir}/glusterfs/%{version}/xlator/features/glupy -%{_libdir}/glusterfs/%{version}/xlator/features/glupy/*.py* +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/*.so +%exclude %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so %dir %{_libdir}/glusterfs/%{version}/xlator/mgmt %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/mgmt/glusterd.so %dir %{_libdir}/glusterfs/%{version}/xlator/mount @@ -277,41 +368,53 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/glusterfs/%{version}/xlator/nfs %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/nfs/server.so %dir %{_libdir}/glusterfs/%{version}/xlator/performance -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so* +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/performance/*.so +%dir %{_libdir}/glusterfs/%{version}/xlator/playground +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/playground/template.so %dir %{_libdir}/glusterfs/%{version}/xlator/protocol -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/*.so +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/client.so +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/protocol/server.so %dir %{_libdir}/glusterfs/%{version}/xlator/storage -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/*.so +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/storage/posix.so %dir %{_libdir}/glusterfs/%{version}/xlator/system %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/system/posix-acl.so -%dir %{_libdir}/glusterfs/%{version}/xlator/testing -%dir %{_libdir}/glusterfs/%{version}/xlator/testing/features -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/features/*.so -%dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so - -%attr(755,root,root) %{_libdir}/glusterfs/gsyncd -%attr(755,root,root) %{_libdir}/glusterfs/gverify.sh -%attr(755,root,root) %{_libdir}/glusterfs/peer_add_secret_pub -%attr(755,root,root) %{_libdir}/glusterfs/peer_gsec_create - -%dir %{_libdir}/glusterfs/python -%dir %{_libdir}/glusterfs/python/syncdaemon -# gsyncd.py is a script, the rest probably don't require *.py -%{_libdir}/glusterfs/python/syncdaemon/*.py* + +%if "%{_libexecdir}" != "%{_libdir}" +%dir %{_libexecdir}/glusterfs +%endif +%dir %{_libexecdir}/glusterfs/scripts +%attr(755,root,root) %{_libexecdir}/glusterfs/glfsheal +%attr(755,root,root) %{_libexecdir}/glusterfs/peer_add_secret_pub + +%dir %{_libexecdir}/glusterfs/glusterfind +%attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/S57glusterfind-delete-post.py +%attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/brickfind.py +%attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/changelog.py +%attr(755,root,root) %{_libexecdir}/glusterfs/glusterfind/nodeagent.py +%{_libexecdir}/glusterfs/glusterfind/__init__.py +%{_libexecdir}/glusterfs/glusterfind/changelogdata.py +%{_libexecdir}/glusterfs/glusterfind/conf.py +%{_libexecdir}/glusterfs/glusterfind/gfind_py2py3.py +%{_libexecdir}/glusterfs/glusterfind/libgfchangelog.py +%{_libexecdir}/glusterfs/glusterfind/main.py +%{_libexecdir}/glusterfs/glusterfind/utils.py +%{_libexecdir}/glusterfs/glusterfind/tool.conf +%{_libexecdir}/glusterfs/glusterfind/__pycache__ + +%dir %{_libexecdir}/glusterfs/python %dir %{_datadir}/glusterfs %dir %{_datadir}/glusterfs/scripts -%attr(755,root,root) %{_datadir}/glusterfs/scripts/generate-gfid-file.sh -%attr(755,root,root) %{_datadir}/glusterfs/scripts/get-gfid.sh -%attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-sync-gfid -%attr(755,root,root) %{_datadir}/glusterfs/scripts/gsync-upgrade.sh +#%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-cpu-load.sh +#%attr(755,root,root) %{_datadir}/glusterfs/scripts/control-mem.sh %attr(755,root,root) %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh %attr(755,root,root) %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh -%attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh +%attr(755,root,root) %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh %{_mandir}/man8/glusterfs.8* %{_mandir}/man8/glusterfsd.8* + +%dir %{_var}/lib/glusterd %dir %{_var}/log/glusterfs %files libs @@ -324,6 +427,8 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libgfxdr.so.0 +%attr(755,root,root) %{_libdir}/libglusterd.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libglusterd.so.0 %attr(755,root,root) %{_libdir}/libglusterfs.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libglusterfs.so.0 @@ -333,41 +438,94 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libgfchangelog.so %attr(755,root,root) %{_libdir}/libgfrpc.so %attr(755,root,root) %{_libdir}/libgfxdr.so +%attr(755,root,root) %{_libdir}/libglusterd.so %attr(755,root,root) %{_libdir}/libglusterfs.so %{_libdir}/libgfapi.la %{_libdir}/libgfchangelog.la %{_libdir}/libgfrpc.la %{_libdir}/libgfxdr.la +%{_libdir}/libglusterd.la %{_libdir}/libglusterfs.la %dir %{_includedir}/glusterfs %{_includedir}/glusterfs/api %{_includedir}/glusterfs/gfchangelog +%{_includedir}/glusterfs/rpc +%{_includedir}/glusterfs/server +%{_includedir}/glusterfs/*.h %{_pkgconfigdir}/glusterfs-api.pc %{_pkgconfigdir}/libgfchangelog.pc -%files -n python-gluster +%files -n python3-gluster %defattr(644,root,root,755) -%dir %{py_sitescriptdir}/gluster -%{py_sitescriptdir}/gluster/*.py[co] - -%if %{with ibverbs} -%files transport-ibverbs -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so -%endif +%dir %{py3_sitescriptdir}/gluster +%{py3_sitescriptdir}/gluster/__init__.py +%{py3_sitescriptdir}/gluster/__pycache__ +%{py3_sitescriptdir}/gluster/cliutils +# created only when using py_build/py_install in xlators/features/glupy/src +#%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info %files server %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-db-workload +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-distributed-virt +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-gluster-block +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-nl-cache +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-samba %attr(754,root,root) /etc/rc.d/init.d/glusterfsd +%attr(755,root,root) %{_sbindir}/conf.py +%attr(755,root,root) %{_sbindir}/gcron.py +%attr(755,root,root) %{_sbindir}/gf_attach +%attr(755,root,root) %{_sbindir}/gluster-setgfid2path %attr(755,root,root) %{_sbindir}/glusterd +%attr(755,root,root) %{_sbindir}/snap_scheduler.py +#%attr(755,root,root) %{_libexecdir}/glusterfs/mount-shared-storage.sh + +%{_mandir}/man8/gluster-setgfid2path.8* %{_mandir}/man8/glusterd.8* -%dir %{_var}/lib/glusterd +%dir %{_var}/lib/glusterd/groups +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/db-workload +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/distributed-virt +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/gluster-block +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/nl-cache +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/samba +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt +%dir %{_var}/lib/glusterd/hooks +%dir %{_var}/lib/glusterd/hooks/1 +%dir %{_var}/lib/glusterd/hooks/1/add-brick +%dir %{_var}/lib/glusterd/hooks/1/add-brick/post +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh +%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 +%dir %{_var}/lib/glusterd/hooks/1/add-brick/pre +%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 +%dir %{_var}/lib/glusterd/hooks/1/create +%dir %{_var}/lib/glusterd/hooks/1/create/post +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/create/post/S10selinux-label-brick.sh +%dir %{_var}/lib/glusterd/hooks/1/delete +%dir %{_var}/lib/glusterd/hooks/1/delete/post +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post +%dir %{_var}/lib/glusterd/hooks/1/delete/pre +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh +%dir %{_var}/lib/glusterd/hooks/1/set +%dir %{_var}/lib/glusterd/hooks/1/set/post +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S30samba-set.sh +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh +%dir %{_var}/lib/glusterd/hooks/1/start +%dir %{_var}/lib/glusterd/hooks/1/start/post +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S30samba-start.sh +%dir %{_var}/lib/glusterd/hooks/1/stop +%dir %{_var}/lib/glusterd/hooks/1/stop/pre +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/stop/pre/S30samba-stop.sh %dir %{_var}/run/gluster %files client %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/fusermount-glusterfs +%{!?with_system_fuse:%attr(755,root,root) %{_bindir}/fusermount-glusterfs} %attr(755,root,root) /sbin/mount.glusterfs %attr(755,root,root) %{_sbindir}/gluster %{_mandir}/man8/gluster.8* @@ -378,3 +536,74 @@ rm -rf $RPM_BUILD_ROOT %dir %{_prefix}/lib/ocf/resource.d/glusterfs %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/glusterd %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/glusterfs/volume + +%files events +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/glusterfs/eventsconfig.json +%attr(755,root,root) %{_sbindir}/gluster-eventsapi +%attr(755,root,root) %{_sbindir}/glustereventsd +%dir %{_libexecdir}/glusterfs/gfevents +%attr(755,root,root) %{_libexecdir}/glusterfs/gfevents/glustereventsd.py +%{_libexecdir}/glusterfs/gfevents/__init__.py +%{_libexecdir}/glusterfs/gfevents/eventsapiconf.py +%{_libexecdir}/glusterfs/gfevents/eventtypes.py +%{_libexecdir}/glusterfs/gfevents/gf_event.py +%{_libexecdir}/glusterfs/gfevents/handlers.py +%{_libexecdir}/glusterfs/gfevents/utils.py +%{_libexecdir}/glusterfs/gfevents/__pycache__ +%{_libexecdir}/glusterfs/peer_eventsapi.py +%{_datadir}/glusterfs/scripts/eventsdash.py + +# NFS-ganesha integration +#%files ganesha +#%defattr(644,root,root,755) +#%attr(755,root,root) %{_libexecdir}/ganesha/create-export-ganesha.sh +#%attr(755,root,root) %{_libexecdir}/ganesha/dbus-send.sh +#%attr(755,root,root) %{_libexecdir}/ganesha/ganesha-ha.sh +#%attr(755,root,root) %{_libexecdir}/ganesha/generate-epoch.py +#%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace +#%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon +#%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd +#%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-start.sh + +%files geo-replication +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/gsyncd.conf +%attr(755,root,root) %{_sbindir}/gfind_missing_files +%attr(755,root,root) %{_sbindir}/gluster-georep-sshkey +%attr(755,root,root) %{_sbindir}/gluster-mountbroker +%attr(755,root,root) %{_libexecdir}/glusterfs/gsyncd +%attr(755,root,root) %{_libexecdir}/glusterfs/gverify.sh +%attr(755,root,root) %{_libexecdir}/glusterfs/peer_georep-sshkey.py* +%attr(755,root,root) %{_libexecdir}/glusterfs/peer_gsec_create +%attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker +%attr(755,root,root) %{_libexecdir}/glusterfs/peer_mountbroker.py* +%attr(755,root,root) %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh +%dir %{_libexecdir}/glusterfs/gfind_missing_files +%attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/* +%dir %{_libexecdir}/glusterfs/python/syncdaemon +%{_libexecdir}/glusterfs/python/syncdaemon/*.py +%{_libexecdir}/glusterfs/python/syncdaemon/__pycache__ +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/get-gfid.sh +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/schedule_georep.py +%attr(755,root,root) %{_libexecdir}/glusterfs/scripts/secondary-upgrade.sh +%dir %{_var}/lib/glusterd/hooks/1/gsync-create +%dir %{_var}/lib/glusterd/hooks/1/gsync-create/post +%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 + +%files thin-arbiter +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/thin-arbiter.vol +%attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/features/thin-arbiter.so +%attr(755,root,root) %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh + +%files -n emacs-glusterfs-mode +%defattr(644,root,root,755) +%{_datadir}/emacs/site-lisp/glusterfs-mode.el + +%files -n vim-syntax-glusterfs +%defattr(644,root,root,755) +%{_datadir}/vim/syntax/glusterfs.vim