]> TLD Linux GIT Repositories - packages/glusterfs.git/blobdiff - glusterfs.spec
- updated to 3.10.1
[packages/glusterfs.git] / glusterfs.spec
index 132ad34f73e374b6edf4e927399617892ad80ea0..15e950d0dacc3c347be676230ffceeca36737099 100644 (file)
@@ -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
 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