X-Git-Url: https://git.tld-linux.org/?p=packages%2Fglusterfs.git;a=blobdiff_plain;f=glusterfs.spec;fp=glusterfs.spec;h=15e950d0dacc3c347be676230ffceeca36737099;hp=132ad34f73e374b6edf4e927399617892ad80ea0;hb=4c904d4becb292c369320785f0afa80d468fbd0a;hpb=e56fb3407e3c7634fc1708c84368484692e531f3 diff --git a/glusterfs.spec b/glusterfs.spec index 132ad34..15e950d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,11 +1,12 @@ # TODO: +# - package ganesha specific files? (no ganesha in PLD yet) # - 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. +# - configuration for firewalld? (--enable-firewalld, but checks for firewalld executable) # # Conditional build: %bcond_without ibverbs # ib-verbs transport @@ -14,35 +15,43 @@ 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.5 +Version: 3.10.1 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/%{version}/%{name}-%{version}.tar.gz -# Source0-md5: ed339ec1b8b0cdf62f4eef36e415778a +Source0: http://download.gluster.org/pub/gluster/glusterfs/3.10/LATEST/glusterfs-%{version}.tar.gz +# Source0-md5: a14b97098baec020054943d061261d61 Source1: glusterfsd.init Patch0: %{name}-link.patch Patch1: %{name}-noquiet.patch -Patch2: no-sysctl-on-linux.patch +Patch2: %{name}-python.patch URL: http://www.gluster.org/ +BuildRequires: acl-devel BuildRequires: autoconf >= 2.50 BuildRequires: automake BuildRequires: bison +#BuildRequires: cmocka-devel >= 1.0.1 for unittest +# 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} +%{?with_ibverbs:BuildRequires: librdmacm-devel >= 1.0.15} BuildRequires: libtool +BuildRequires: libuuid-devel BuildRequires: libxml2-devel >= 1:2.6.19 BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: python >= 1:2.4 +BuildRequires: python-devel >= 1:2.4 BuildRequires: readline-devel BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.228 +BuildRequires: sqlite3-devel >= 3 %{?with_systemtap:BuildRequires: systemtap-sdt-devel} +BuildRequires: userspace-rcu-devel >= 0.8 BuildRequires: zlib-devel >= 1.2.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -141,6 +150,7 @@ Summary(pl.UTF-8): Wtyczki transportu "verbs" InfiniBand dla GlusterFS-a Group: Libraries Requires: %{name}-common = %{version}-%{release} Requires: libibverbs >= 1.0.4 +Requires: librdmacm >= 1.0.15 %description transport-ibverbs InfiniBand "verbs" transport plugins for GlusterFS. @@ -156,6 +166,7 @@ Requires: %{name}-client = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} Requires(post,preun): /sbin/chkconfig Requires: rc-scripts +Requires: python-modules %description server This package provides the glusterfs server daemon. @@ -189,6 +200,32 @@ OCF Resource Agents for GlusterFS processes. %description resource-agents -l pl.UTF-8 Agenci OCF do monitorowania procesów GlusterFS-a. +%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 @@ -201,8 +238,6 @@ Agenci OCF do monitorowania procesów GlusterFS-a. %{__autoconf} %{__autoheader} %{__automake} -#%{__python} gen-headers.py -#%{__mv} gf-error-codes.h libglusterfs/src %configure \ --disable-silent-rules \ --enable-fusermount \ @@ -214,22 +249,28 @@ Agenci OCF do monitorowania procesów GlusterFS-a. %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 +# example, installed as /var/lib/glusterd/groups/virt +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example %py_postclean @@ -241,13 +282,24 @@ rm -rf $RPM_BUILD_ROOT %files common %defattr(644,root,root,755) -%doc ChangeLog NEWS README THANKS +%doc ChangeLog NEWS README.md THANKS %dir %{_sysconfdir}/%{name} +%attr(755,root,root) %{_bindir}/glusterfind %attr(755,root,root) %{_sbindir}/glfsheal # NOTE: glusterfs is link to glusterfsd and is needed by client mount %attr(755,root,root) %{_sbindir}/glusterfs %attr(755,root,root) %{_sbindir}/glusterfsd +%attr(755,root,root) %{_sbindir}/gluster-eventsapi +%attr(755,root,root) %{_sbindir}/gluster-georep-sshkey +%attr(755,root,root) %{_sbindir}/gluster-mountbroker +%attr(755,root,root) %{_sbindir}/glustereventsd + +#%attr(755,root,root) %{_libdir}/ganesha/create-export-ganesha.sh +#%attr(755,root,root) %{_libdir}/ganesha/dbus-send.sh +#%attr(755,root,root) %{_libdir}/ganesha/ganesha-ha.sh +#%attr(755,root,root) %{_libdir}/ganesha/generate-epoch.py + %dir %{_libdir}/glusterfs %dir %{_libdir}/glusterfs/%{version} @@ -259,6 +311,7 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -290,25 +343,42 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/glusterfs/%{version}/xlator/testing/performance %attr(755,root,root) %{_libdir}/glusterfs/%{version}/xlator/testing/performance/*.so +%dir %{_libdir}/glusterfs/events +%{_libdir}/glusterfs/events/*.py* + %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/gfind_missing_files +%attr(755,root,root) %{_libdir}/glusterfs/gfind_missing_files/* + +%{_libdir}/glusterfs/glusterfind + %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* +%attr(755,root,root) %{_libdir}/glusterfs/peer_eventsapi.py +%attr(755,root,root) %{_libdir}/glusterfs/peer_georep-sshkey.py +%attr(755,root,root) %{_libdir}/glusterfs/peer_mountbroker.py +%attr(755,root,root) %{_libdir}/glusterfs/peer_mountbroker +%attr(755,root,root) %{_libdir}/glusterfs/set_geo_rep_pem_keys.sh + %dir %{_datadir}/glusterfs %dir %{_datadir}/glusterfs/scripts +%attr(755,root,root) %{_datadir}/glusterfs/scripts/eventsdash.py %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/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/schedule_georep.py %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* @@ -320,6 +390,8 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %ghost %{_libdir}/libgfapi.so.0 %attr(755,root,root) %{_libdir}/libgfchangelog.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libgfchangelog.so.0 +%attr(755,root,root) %{_libdir}/libgfdb.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgfdb.so.0 %attr(755,root,root) %{_libdir}/libgfrpc.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libgfrpc.so.0 %attr(755,root,root) %{_libdir}/libgfxdr.so.*.*.* @@ -331,24 +403,35 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libgfapi.so %attr(755,root,root) %{_libdir}/libgfchangelog.so +%attr(755,root,root) %{_libdir}/libgfdb.so %attr(755,root,root) %{_libdir}/libgfrpc.so %attr(755,root,root) %{_libdir}/libgfxdr.so %attr(755,root,root) %{_libdir}/libglusterfs.so %{_libdir}/libgfapi.la %{_libdir}/libgfchangelog.la +%{_libdir}/libgfdb.la %{_libdir}/libgfrpc.la %{_libdir}/libgfxdr.la %{_libdir}/libglusterfs.la %dir %{_includedir}/glusterfs %{_includedir}/glusterfs/api %{_includedir}/glusterfs/gfchangelog +%{_includedir}/glusterfs/gfdb +%{_includedir}/glusterfs/rpc +%{_includedir}/glusterfs/server +%{_includedir}/glusterfs/*.h %{_pkgconfigdir}/glusterfs-api.pc %{_pkgconfigdir}/libgfchangelog.pc +%{_pkgconfigdir}/libgfdb.pc %files -n python-gluster %defattr(644,root,root,755) %dir %{py_sitescriptdir}/gluster %{py_sitescriptdir}/gluster/*.py[co] +%{py_sitescriptdir}/gluster/cliutils +%{py_sitescriptdir}/gluster/glupy +# created only when using py_build/py_install in xlators/features/glupy/src +#%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info %if %{with ibverbs} %files transport-ibverbs @@ -358,11 +441,48 @@ rm -rf $RPM_BUILD_ROOT %files server %defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/eventsconfig.json %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/glusterfsd.vol +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/group-metadata-cache %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}/gfind_missing_files %attr(755,root,root) %{_sbindir}/glusterd +%attr(755,root,root) %{_sbindir}/snap_scheduler.py + %{_mandir}/man8/glusterd.8* %dir %{_var}/lib/glusterd +%dir %{_var}/lib/glusterd/groups +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/virt +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/groups/metadata-cache +%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/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/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/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 +%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 +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/glusterd/hooks/1/start/post/S31ganesha-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 @@ -378,3 +498,14 @@ 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 +#%{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_grace +#%{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_mon +#%{_prefix}/lib/ocf/resource.d/heartbeat/ganesha_nfsd + +%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