X-Git-Url: https://git.tld-linux.org/?p=packages%2Fglusterfs.git;a=blobdiff_plain;f=glusterfs.spec;h=d3dd361126c51d77e0e4a67849634672a1057319;hp=9ab640e5132a0b4d45f699fcecb1ed9ca62465bd;hb=HEAD;hpb=54495140abb6d0f3021018b923258a9500dd0c91 diff --git a/glusterfs.spec b/glusterfs.spec index 9ab640e..d3dd361 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,29 +1,27 @@ # TODO: -# - python3 module # - 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 # - 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: 6.1 +Version: 10.5 Release: 1 License: LGPL v3+ or GPL v2 (libraries), GPL v3+ (programs) Group: Applications/System -Source0: https://download.gluster.org/pub/gluster/glusterfs/6/%{version}/glusterfs-%{version}.tar.gz -# Source0-md5: 18967c357204d4cbdd9c1731508862c6 +Source0: https://download.gluster.org/pub/gluster/glusterfs/10/%{version}/glusterfs-%{version}.tar.gz +# Source0-md5: 8ac48f7b7f9afa0e5dfa9ad42589ee27 Source1: glusterfsd.init -Patch0: %{name}-noquiet.patch +Patch0: ssl_paths.patch +Patch1: ksh_getopts.patch URL: https://www.gluster.org/ BuildRequires: acl-devel BuildRequires: autoconf >= 2.50 @@ -35,23 +33,23 @@ BuildRequires: curl-devel BuildRequires: device-mapper-devel >= 2.02.79 BuildRequires: flex BuildRequires: libaio-devel -%{?with_ibverbs:BuildRequires: libibverbs-devel >= 1.0.4} -%{?with_ibverbs:BuildRequires: librdmacm-devel >= 1.0.15} 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.6 -BuildRequires: python-devel >= 1:2.6 +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 BuildRequires: sed >= 4.0 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) @@ -80,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 @@ -124,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. @@ -133,31 +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 -Requires: librdmacm >= 1.0.15 - -%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 @@ -167,7 +154,7 @@ Requires: %{name}-client = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} Requires(post,preun): /sbin/chkconfig Requires: rc-scripts -Requires: python-modules +Requires: python3-modules %description server This package provides the glusterfs server daemon. @@ -206,9 +193,9 @@ Summary: GlusterFS Events Summary(pl.UTF-8): Obsługa zdarzeń dla GlusterFS-a Group: Applications/File Requires: %{name}-server = %{version}-%{release} -Requires: python-gluster = %{version}-%{release} -Requires: python-prettytable -Requires: python-requests +Requires: python3-gluster = %{version}-%{release} +Requires: python3-prettytable +Requires: python3-requests %description events GlusterFS Events. @@ -221,8 +208,8 @@ Summary: GlusterFS Geo-replication Summary(pl.UTF-8): Geo-replikacja dla GlusterFS-a Group: Applications/File Requires: %{name}-server = %{version}-%{release} -Requires: python-gluster = %{version}-%{release} -Requires: python-prettytable +Requires: python3-gluster = %{version}-%{release} +Requires: python3-prettytable Requires: rsync %description geo-replication @@ -281,6 +268,7 @@ Plik składni Vima do edycji konfiguracji GlusterFS-a. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %{__libtoolize} @@ -289,12 +277,10 @@ Plik składni Vima do edycji konfiguracji GlusterFS-a. %{__autoheader} %{__automake} %configure \ - PYTHON=%{__python} \ + PYTHON=%{__python3} \ %{?with_system_fuse:--disable-fusermount} \ --disable-silent-rules \ --enable-gnfs \ - %{!?with_ibverbs:--disable-ibverbs} \ - --enable-systemtap%{!?with_systemtap:=no} \ --with-initdir=/etc/rc.d/init.d %{__make} -j1 @@ -323,22 +309,15 @@ install -d $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,vim/syntax} # example, installed as /var/lib/glusterd/groups/virt %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/glusterfs/group-virt.example -%py_postclean - %clean rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig -%if 0 -# TODO: verify these scripts (see also included glusterfs.spec) %post server -# note: glusterfsd.init vs glusterd.service /sbin/chkconfig --add glusterfsd %service glusterfsd restart -# TODO? -#glusterd --xlator-option *.upgrade=on -N %preun server if [ "$1" = "0" ]; then @@ -348,13 +327,11 @@ fi %post geo-replication %service glusterd restart -%endif %files common %defattr(644,root,root,755) %doc ChangeLog NEWS README.md THANKS %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 @@ -368,6 +345,7 @@ fi %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 @@ -404,6 +382,8 @@ fi %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 @@ -411,14 +391,15 @@ fi %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/__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 @@ -432,6 +413,8 @@ fi %{_mandir}/man8/glusterfs.8* %{_mandir}/man8/glusterfsd.8* + +%dir %{_var}/lib/glusterd %dir %{_var}/log/glusterfs %files libs @@ -444,6 +427,8 @@ fi %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 @@ -453,11 +438,13 @@ fi %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 @@ -468,19 +455,14 @@ fi %{_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] -%{py_sitescriptdir}/gluster/cliutils +%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 -#%{py_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info - -%if %{with ibverbs} -%files transport-ibverbs -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma.so -%endif +#%{py3_sitescriptdir}/glusterfs_glupy-%{version}-py*.egg-info %files server %defattr(644,root,root,755) @@ -502,7 +484,6 @@ fi %{_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 @@ -515,6 +496,7 @@ fi %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 @@ -562,15 +544,28 @@ fi %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/peer_eventsapi.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 @@ -587,14 +582,14 @@ fi %dir %{_libexecdir}/glusterfs/gfind_missing_files %attr(755,root,root) %{_libexecdir}/glusterfs/gfind_missing_files/* %dir %{_libexecdir}/glusterfs/python/syncdaemon -# gsyncd.py is a script, the rest probably don't require *.py -%{_libexecdir}/glusterfs/python/syncdaemon/*.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/schedule_georep.py -%attr(755,root,root) %{_datadir}/glusterfs/scripts/slave-upgrade.sh +%{_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