diff --git a/SPECS/glusterfs.spec b/SPECS/glusterfs.spec index 75de81b3..ed64fc14 100644 --- a/SPECS/glusterfs.spec +++ b/SPECS/glusterfs.spec @@ -1,21 +1,34 @@ +# This package depends on automagic byte compilation +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 +%global _python_bytecompile_extra 1 + %global _hardened_build 1 %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -# %%global prereltag rc0 +# %%global prereltag rc1 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted ## +# asan +# if you wish to compile an rpm with address sanitizer... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with asan +%{?_with_asan:%global _with_asan --enable-asan} + +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +%global _with_asan %{nil} +%endif + # bd # if you wish to compile an rpm without the BD map support... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd %{?_without_bd:%global _without_bd --disable-bd-xlator} -%if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) -%global _without_bd --disable-bd-xlator +%if ( 0%{?rhel} && 0%{?rhel} > 7 ) +%global _without_bd --without-bd %endif # cmocka @@ -43,16 +56,12 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication %{?_without_georeplication:%global _without_georeplication --disable-georeplication} -# Disable geo-replication on EL5, as its default Python is too old -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_georeplication --disable-georeplication -%endif - # gnfs # if you wish to compile an rpm with the legacy gNFS server xlator # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with gnfs %{?_with_gnfs:%global _with_gnfs --enable-gnfs} +# gnfs subpackages for glusterfs-5, will be obsoleted in glusterfs-6 %if ( 0%{_for_fedora_koji_builds} ) %global _with_gnfs --enable-gnfs %endif @@ -83,6 +92,11 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma %{?_without_rdma:%global _without_rdma --disable-ibverbs} +# No RDMA Support on armv7hl +%ifarch armv7hl +%global _without_rdma --disable-ibverbs +%endif + # server # if you wish to build rpms without server components, compile like this # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without server @@ -106,10 +120,13 @@ %global _without_syslog --disable-syslog %endif -# tier -# Disable data-tiering on EL5, sqlite is too old -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_tiering --disable-tiering +# tsan +# if you wish to compile an rpm with thread sanitizer... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with tsan +%{?_with_tsan:%global _with_tsan --enable-tsan} + +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +%global _with_tsan %{nil} %endif # valgrind @@ -125,7 +142,7 @@ %global _with_systemd true %endif -%if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 8 ) ) +%if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %global _with_firewalld --enable-firewalld %endif @@ -135,20 +152,22 @@ %global _with_tmpfilesdir --without-tmpfilesdir %endif -# Eventing -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_events --disable-events -%endif - # without server should also disable some server-only components %if ( 0%{?_without_server:1} ) %global _without_events --disable-events %global _without_georeplication --disable-georeplication %global _with_gnfs %{nil} -%global _without_tiering --disable-tiering %global _without_ocf --without-ocf %endif +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) +%global _usepython3 1 +%global _pythonver 3 +%else +%global _usepython3 0 +%global _pythonver 2 +%endif + # From https://fedoraproject.org/wiki/Packaging:Python#Macros %if ( 0%{?rhel} && 0%{?rhel} < 7 ) %{!?python2_sitelib: %global python2_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} @@ -166,6 +185,7 @@ # can't seem to make a generic macro that works %global glusterd_svcfile %{_unitdir}/glusterd.service %global glusterfsd_svcfile %{_unitdir}/glusterfsd.service +%global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service %global glustereventsd_svcfile %{_unitdir}/glustereventsd.service %global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service %else @@ -189,11 +209,6 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -# _sharedstatedir is not provided by RHEL5 -%global _sharedstatedir /var/lib -%endif - # We do not want to generate useless provides and requires for xlator # .so files to be set for glusterfs packages. # Filter all generated: @@ -217,33 +232,26 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.3 -Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} +Version: 6.0 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.6 +Release: 0.@PACKAGE_RELEASE@%{?dist}.8 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz -Patch0: python.patch -Patch1: 0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig -Source6: rhel5-load-fuse-modules Source7: glusterfsd.service Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif - Requires(pre): shadow-utils -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -BuildRequires: python2-simplejson -%endif %if ( 0%{?_with_systemd:1} ) BuildRequires: systemd %endif @@ -252,36 +260,37 @@ Requires: %{name}-libs = %{version}-%{release} %if ( 0%{?_with_systemd:1} ) %{?systemd_requires} %endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) +BuildRequires: libasan +%endif +%if 0%{?_with_tsan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) +BuildRequires: libtsan +%endif BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel -BuildRequires: python2-devel +BuildRequires: python%{_pythonver}-devel %if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes %endif %if ( ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} ) ) BuildRequires: libtirpc-devel %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) BuildRequires: rpcgen %endif BuildRequires: userspace-rcu-devel >= 0.7 %if ( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: automake %endif -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -BuildRequires: e2fsprogs-devel -%else BuildRequires: libuuid-devel -%endif %if ( 0%{?_with_cmocka:1} ) BuildRequires: libcmocka-devel >= 1.0.1 %endif -%if ( 0%{!?_without_tiering:1} ) -BuildRequires: sqlite-devel -%endif %if ( 0%{!?_without_bd:1} ) BuildRequires: lvm2-devel %endif @@ -300,6 +309,9 @@ Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-regression-tests %endif Obsoletes: %{name}-ufo +%if ( 0%{!?_with_gnfs:1} ) +Obsoletes: %{name}-gnfs +%endif Obsoletes: %{name}-ganesha Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} @@ -321,6 +333,8 @@ and client framework. Summary: GlusterFS api library Requires: %{name} = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %description api GlusterFS is a distributed file-system capable of scaling to several @@ -381,6 +395,21 @@ is in user space and easily manageable. This package provides the translators needed on any GlusterFS client. +%package cloudsync-plugins +Summary: Cloudsync Plugins +BuildRequires: libcurl-devel + +%description cloudsync-plugins +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility. It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. + +This package provides cloudsync plugins for archival feature. + %package devel Summary: Development Libraries Requires: %{name} = %{version}-%{release} @@ -403,13 +432,13 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python2 -Requires: python2-prettytable -Requires: python2-gluster = %{version}-%{release} +Requires: python%{_pythonver} +Requires: python%{_pythonver}-prettytable +Requires: python%{_pythonver}-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests %else -Requires: python2-requests +Requires: python%{_pythonver}-requests %endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse @@ -434,8 +463,8 @@ This package provides the GlusterFS Events Summary: Extra Gluster filesystem Translators # We need python2-gluster rpm for gluster module's __init__.py in Python # site-packages area -Requires: python2-gluster = %{version}-%{release} -Requires: python2 +Requires: python%{_pythonver}-gluster = %{version}-%{release} +Requires: python%{_pythonver} %description extra-xlators GlusterFS is a distributed file-system capable of scaling to several @@ -478,9 +507,9 @@ glusterfsd and glusterfs binaries. Summary: GlusterFS Geo-replication Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} -Requires: python2 -Requires: python2-prettytable -Requires: python2-gluster = %{version}-%{release} +Requires: python%{_pythonver} +Requires: python%{_pythonver}-prettytable +Requires: python%{_pythonver}-gluster = %{version}-%{release} Requires: rsync %description geo-replication @@ -516,6 +545,8 @@ This package provides the glusterfs legacy gNFS server xlator %package libs Summary: GlusterFS common libraries +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %description libs GlusterFS is a distributed file-system capable of scaling to several @@ -528,35 +559,26 @@ is in user space and easily manageable. This package provides the base GlusterFS libraries -%package -n python-gluster +%package -n python%{_pythonver}-gluster Summary: GlusterFS python library -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) ) -# EL5 does not support noarch sub-packages -BuildArch: noarch -%endif - -%global _python_gluster_description \ -GlusterFS is a distributed file-system capable of scaling to several\ -petabytes. It aggregates various storage bricks over Infiniband RDMA\ -or TCP/IP interconnect into one large parallel network file\ -system. GlusterFS is one of the most sophisticated file systems in\ -terms of features and extensibility. It borrows a powerful concept\ -called Translators from GNU Hurd kernel. Much of the code in GlusterFS\ -is in user space and easily manageable.\ -\ -This package contains the python modules of GlusterFS and own gluster\ -namespace. - -%description -n python-gluster %{_python_gluster_description} - -%package -n python2-gluster -Summary: GlusterFS python library -%{?python_provide:%python_provide python2-gluster} -Requires: python2 +Requires: python%{_pythonver} +%if ( ! %{_usepython3} ) +%{?python_provide:%python_provide python-gluster} Provides: python-gluster = %{version}-%{release} Obsoletes: python-gluster < 3.10 +%endif + +%description -n python%{_pythonver}-gluster +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility. It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. -%description -n python2-gluster %{_python_gluster_description} +This package contains the python modules of GlusterFS and own gluster +namespace. %if ( 0%{!?_without_rdma:1} ) %package rdma @@ -590,7 +612,7 @@ Requires: %{name}-server = %{version}-%{release} ## thin provisioning support Requires: lvm2 >= 2.02.89 Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng -Requires: python2 attr dbench file git libacl-devel net-tools +Requires: python%{_pythonver} attr dbench file git libacl-devel net-tools Requires: nfs-utils xfsprogs yajl psmisc bc %description regression-tests @@ -602,10 +624,7 @@ regression testing of Gluster. %package resource-agents Summary: OCF Resource Agents for GlusterFS License: GPLv3+ -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) ) -# EL5 does not support noarch sub-packages BuildArch: noarch -%endif # for glusterd Requires: %{name}-server = %{version}-%{release} # depending on the distribution, we need pacemaker or resource-agents @@ -647,6 +666,8 @@ Requires(preun): /sbin/service Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service %endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %if (0%{?_with_firewalld:1}) # we install firewalld rules, so we need to have the directory owned %if ( 0%{!?rhel} ) @@ -660,14 +681,11 @@ Requires: rpcbind %else Requires: portmap %endif -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -Obsoletes: %{name}-geo-replication = %{version}-%{release} -%endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) -Requires: python2-pyxattr +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) +Requires: python%{_pythonver}-pyxattr %else Requires: pyxattr %endif @@ -687,25 +705,38 @@ is in user space and easily manageable. This package provides the glusterfs server daemon. %endif +%package thin-arbiter +Summary: GlusterFS thin-arbiter module +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{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 setup. + +This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?prereltag} -%patch0 -p1 -%patch1 -p1 +%if ( ! %{_usepython3} ) +echo "fixing python shebangs..." +for f in api events extras geo-replication libglusterfs tools xlators; do +find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; +done +%endif %build -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -CFLAGS=-DUSE_INSECURE_OPENSSL -export CFLAGS -%endif sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ + %{?_with_asan} \ %{?_with_cmocka} \ %{?_with_debug} \ %{?_with_firewalld} \ %{?_with_gnfs} \ %{?_with_tmpfilesdir} \ + %{?_with_tsan} \ %{?_with_valgrind} \ %{?_without_bd} \ %{?_without_epoll} \ @@ -716,7 +747,6 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_rdma} \ %{?_without_server} \ %{?_without_syslog} \ - %{?_without_tiering} \ %{?_with_ipv6default} \ %{?_without_libtirpc} @@ -727,6 +757,7 @@ sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool +gcc -v make %{?_smp_mflags} V=1 %check @@ -735,28 +766,20 @@ make check %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} -# Install include directory -install -p -m 0644 contrib/uuid/*.h \ - %{buildroot}%{_includedir}/glusterfs/ +%if ( 0%{!?_without_server:1} ) %if ( 0%{_for_fedora_koji_builds} ) +%if ( 0%{!?_without_server:1} ) install -D -p -m 0644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd install -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd +%endif %else -%if ( 0%{!?_without_server:1} ) install -D -p -m 0644 extras/glusterd-sysconfig \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd %endif %endif -%if ( 0%{_for_fedora_koji_builds} ) -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -install -D -p -m 0755 %{SOURCE6} \ - %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/log/glusterd mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd @@ -783,17 +806,11 @@ https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prerelt EOM # Remove benchmarking and other unpackaged files -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -rm -rf %{buildroot}/benchmarking -rm -f %{buildroot}/glusterfs-mode.el -rm -f %{buildroot}/glusterfs.vim -%else # make install always puts these in %%{_defaultdocdir}/%%{name} so don't # use %%{_pkgdocdir}; that will be wrong on later Fedora distributions rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim -%endif %if ( 0%{!?_without_server:1} ) # Create working directory @@ -805,9 +822,11 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %endif # Install glusterfsd .service or init.d file +%if ( 0%{!?_without_server:1} ) %if ( 0%{_for_fedora_koji_builds} ) %service_install glusterfsd %{glusterfsd_svcfile} %endif +%endif install -D -p -m 0644 extras/glusterfs-logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs @@ -855,7 +874,7 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ ## All %%post should be placed here and keep them sorted ## %post -/sbin/ldconfig +%{?ldconfig} %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog @@ -863,7 +882,8 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %endif exit 0 -%post api -p /sbin/ldconfig +# post and postun scriptlets for api +%ldconfig_scriptlets api %if ( 0%{!?_without_events:1} ) %post events @@ -871,12 +891,6 @@ exit 0 exit 0 %endif -%if ( 0%{?rhel} == 5 ) -%post fuse -modprobe fuse -exit 0 -%endif - %if ( 0%{!?_without_georeplication:1} ) %post geo-replication if [ $1 -ge 1 ]; then @@ -885,9 +899,8 @@ fi exit 0 %endif -%post libs -/sbin/ldconfig -exit 0 +# post and postun scriptlets for libs +%ldconfig_scriptlets libs %if ( 0%{!?_without_server:1} ) %post server @@ -1006,11 +1019,19 @@ fi exit 0 %endif +%preun thin-arbiter +if [ $1 -eq 0 ]; then + if [ -f %glusterta_svcfile ]; then + %service_stop gluster-ta-volume + %systemd_preun gluster-ta-volume + fi +fi + ##----------------------------------------------------------------------------- ## All %%postun should be placed here and keep them sorted ## %postun -/sbin/ldconfig +%{?ldconfig} %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog @@ -1018,17 +1039,9 @@ exit 0 %endif exit 0 -%postun api -/sbin/ldconfig -exit 0 - -%postun libs -/sbin/ldconfig -exit 0 - %if ( 0%{!?_without_server:1} ) %postun server -/sbin/ldconfig +%{?ldconfig} %if (0%{?_with_firewalld:1}) %firewalld_reload %endif @@ -1041,11 +1054,11 @@ exit 0 %files %{!?_licensedir:%global license %%doc} %license COPYING-GPLV2 COPYING-LGPLV3 -%doc ChangeLog INSTALL README.md THANKS -%if ( 0%{!?_without_server:1} ) +%doc ChangeLog INSTALL README.md THANKS COMMITMENT %{_mandir}/man8/*gluster*.8* -%endif +%if ( 0%{!?_without_server:1} ) %exclude %{_mandir}/man8/gluster.8* +%endif %dir %{_localstatedir}/log/glusterfs %if ( 0%{!?_without_rdma:1} ) %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* @@ -1071,11 +1084,6 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/sink.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) -# RHEL-5 based distributions have a too old openssl -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so -%endif %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so @@ -1136,6 +1144,9 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so +%files cloudsync-plugins +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins + %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so %files devel %dir %{_includedir}/glusterfs @@ -1143,32 +1154,13 @@ exit 0 %exclude %{_includedir}/glusterfs/api %exclude %{_libdir}/libgfapi.so %{_libdir}/*.so -# Glupy Translator examples -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/debug-trace.* - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.* - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.* %{_libdir}/pkgconfig/libgfchangelog.pc -%if ( 0%{!?_without_tiering:1} ) -%{_libdir}/pkgconfig/libgfdb.pc -%endif %files extra-xlators -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so -# Glupy Python files -%dir %{python2_sitelib}/gluster -%dir %{python2_sitelib}/gluster/glupy - %{python2_sitelib}/gluster/glupy/* +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so %files fuse # glusterfs is a symlink to glusterfsd, -server depends on -fuse. @@ -1181,8 +1173,6 @@ exit 0 %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif -%if ( 0%{_for_fedora_koji_builds} ) -%endif %if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} ) %files gnfs @@ -1194,6 +1184,19 @@ exit 0 %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %endif +%files thin-arbiter +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so +%dir %{_datadir}/glusterfs/scripts + %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh +%config %{_sysconfdir}/glusterfs/thin-arbiter.vol + +%if ( 0%{?_with_systemd:1} ) +%{_unitdir}/gluster-ta-volume.service +%endif + + %if ( 0%{!?_without_georeplication:1} ) %files geo-replication %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep @@ -1236,17 +1239,20 @@ exit 0 %{_libdir}/*.so.* %exclude %{_libdir}/libgfapi.* # libgfdb is only needed server-side -%if ( 0%{!?_without_tiering:1} ) -# libgfdb is only needed server-side -%exclude %{_libdir}/libgfdb.* -%endif -%files -n python2-gluster +%files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. # so that all other gluster submodules can reside in the same namespace. +%if ( %{_usepython3} ) +%dir %{python3_sitelib}/gluster + %{python3_sitelib}/gluster/__init__.* + %{python3_sitelib}/gluster/__pycache__ + %{python3_sitelib}/gluster/cliutils +%else %dir %{python2_sitelib}/gluster %{python2_sitelib}/gluster/__init__.* %{python2_sitelib}/gluster/cliutils +%endif %if ( 0%{!?_without_rdma:1} ) %files rdma @@ -1274,6 +1280,7 @@ exit 0 %doc extras/clear_xattrs.sh # sysconf %config(noreplace) %{_sysconfdir}/glusterfs +%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol %exclude %{_sysconfdir}/glusterfs/eventsconfig.json %exclude %{_sharedstatedir}/glusterd/nfs/nfs-server.vol %exclude %{_sharedstatedir}/glusterd/nfs/run/nfs.pid @@ -1308,14 +1315,9 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so -%if ( 0%{!?_without_tiering:1} ) - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so - %{_libdir}/libgfdb.so.* -%endif %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* @@ -1331,7 +1333,6 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/bd.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/posix.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so @@ -1350,6 +1351,9 @@ exit 0 %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/gluster-block %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd @@ -1421,6 +1425,8 @@ exit 0 %if ( 0%{?_with_firewalld:1} ) %{_prefix}/lib/firewalld/services/glusterfs.xml %endif + +# end of server files %endif # Events @@ -1430,8 +1436,8 @@ exit 0 %dir %{_sharedstatedir}/glusterd %dir %{_sharedstatedir}/glusterd/events %dir %{_libexecdir}/glusterfs -%dir %{_libexecdir}/glusterfs/events - %{_libexecdir}/glusterfs/events/* +%dir %{_libexecdir}/glusterfs/gfevents + %{_libexecdir}/glusterfs/gfevents/* %{_libexecdir}/glusterfs/peer_eventsapi.py* %{_sbindir}/glustereventsd %{_sbindir}/gluster-eventsapi @@ -1444,6 +1450,69 @@ exit 0 %endif %changelog +* Wed Mar 20 2019 Kaleb S. KEITHLEY - 6.0-1 +- 6.0 GA + +* Wed Mar 13 2019 Kaleb S. KEITHLEY - 6.0rc1-0.4 +- 6.0 RC1 + +* Wed Mar 6 2019 Kaleb S. KEITHLEY - 6.0rc0-0.3 +- 6.0 RC0 +- restore s390x rdma +- remove obsolete scripts from +- https://src.fedoraproject.org/rpms/glusterfs/pull-request/5 + +* Fri Mar 1 2019 Kaleb S. KEITHLEY - 6.0rc0-0.2 +- 6.0 RC0, s390x, armv7hl no rdma + +* Fri Feb 22 2019 Kaleb S. KEITHLEY - 6.0rc0-0.1 +- 6.0 RC0 + +* Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-3 +- re-rebuild for readline 8.0 + +* Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-2 +- re-rebuild for f31/rawhide + +* Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-1 +- rebuild for f31/rawhide + +* Sun Feb 17 2019 Igor Gnatenko - 5.3-2.1 +- Rebuild for readline 8.0 + +* Thu Feb 14 2019 Kaleb S. KEITHLEY - 5.3-2 +- Re-rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 5.3-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 17 2019 Kaleb S. KEITHLEY - 5.3-1 +- 5.3 GA + +* Thu Dec 13 2018 Kaleb S. KEITHLEY - 5.2-1 +- 5.2 GA + +* Wed Nov 14 2018 Kaleb S. KEITHLEY - 5.1-1 +- 5.1 GA + +* Thu Oct 18 2018 Kaleb S. KEITHLEY - 5.0-1 +- 5.0 GA + +* Fri Oct 5 2018 Kaleb S. KEITHLEY - 5.0-0.5.rc1 +- 5.0 RC1 + +* Mon Sep 24 2018 Kaleb S. KEITHLEY - 5.0-0.3.rc0 +- 5.0 RC0, unbork python shebangs + +* Thu Sep 20 2018 Kaleb S. KEITHLEY - 5.0-0.2.rc0 +- 5.0 RC0 + +* Tue Sep 18 2018 Kaleb S. KEITHLEY - 5.0-0.1.rc0 +- 5.0 RC0 + +* Thu Sep 6 2018 Kaleb S. KEITHLEY - 4.1.4-1 +- 4.1.4 GA + * Tue Sep 4 2018 Kaleb S. KEITHLEY - 4.1.3-2 - missing /run/gluster/metrics, see bz#1624006 @@ -1453,11 +1522,14 @@ exit 0 * Mon Aug 27 2018 Kaleb S. KEITHLEY - 4.1.3-1 - 4.1.3 GA -* Wed Jul 25 2018 Kaleb S. KEITHLEY - 4.1.2-2 +* Wed Jul 25 2018 Kaleb S. KEITHLEY - 4.1.2-3 - 4.1.2, again +* Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-2 +- 4.1.2, gsyncd.conf /usr/local/sbin + * Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-1 -- 4.1.2 GA (includes gsyncd.conf) +- 4.1.2 GA * Fri Jul 13 2018 Fedora Release Engineering - 4.1.1-2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild