From cf0a473e99e8bee904cf2ebd9f929230520ebe71 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Nov 25 2022 09:47:04 +0000 Subject: GlusterFS 11.0 Release Candidate 0 --- diff --git a/.glusterfs.metadata b/.glusterfs.metadata index e9b5eaa..d7e6468 100644 --- a/.glusterfs.metadata +++ b/.glusterfs.metadata @@ -1 +1 @@ -e7d8cfd61cb9f1c3e9b0434f61ce6f28890c9c5b SOURCES/glusterfs-10.3.tar.gz +e2570913fa3a8e1cac4e113eae3ba6ffddca692b SOURCES/glusterfs-11.0rc0.tar.gz diff --git a/SPECS/glusterfs.spec b/SPECS/glusterfs.spec index 0ac38e9..11cebf8 100644 --- a/SPECS/glusterfs.spec +++ b/SPECS/glusterfs.spec @@ -3,7 +3,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -#global prereltag rc0 +%global prereltag rc0 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -55,7 +55,7 @@ # linux-io_uring # If you wish to compile an rpm without linux-io_uring support... -# rpmbuild -ta glusterfs-9.1.tar.gz --disable-linux-io_uring +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without linux-io_uring %{?_without_linux_io_uring:%global _without_linux_io_uring --disable-linux-io_uring} # Disable linux-io_uring on unsupported distros. @@ -225,6 +225,10 @@ %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$ %endif +%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) +%if "%{bashcompdir}" == "" +%global bashcompdir ${sysconfdir}/bash_completion.d +%endif ##----------------------------------------------------------------------------- ## All package definitions should be placed here and keep them sorted @@ -232,7 +236,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 10.3 +Version: 11.0 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -242,7 +246,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.1 License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://download.gluster.org/pub/gluster/%{name}/10/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz +Source0: http://download.gluster.org/pub/gluster/%{name}/11/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source7: glusterfsd.service @@ -277,7 +281,7 @@ BuildRequires: libtsan BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel -BuildRequires: libxml2-devel openssl-devel +BuildRequires: libxml2-devel openssl-devel openssl BuildRequires: libaio-devel libacl-devel BuildRequires: python%{_pythonver}-devel %if ( 0%{!?_without_tcmalloc:1} ) @@ -339,8 +343,14 @@ and client framework. %package cli Summary: GlusterFS CLI +%if ( ! (0%{?rhel} && 0%{?rhel} < 7) ) +BuildRequires: pkgconfig(bash-completion) +# bash-completion >= 1.90 satisfies this requirement. +# If it is not available, the condition can be adapted +# and the completion script will be installed in the backwards compatible +# %{sysconfdir}/bash_completion.d +%endif Requires: libglusterfs0%{?_isa} = %{version}-%{release} -Requires: libglusterd0%{?_isa} = %{version}-%{release} %description cli GlusterFS is a distributed file-system capable of scaling to several @@ -463,9 +473,8 @@ Requires: python%{_pythonver}-gluster = %{version}-%{release} Requires: rsync Requires: util-linux -%if ( 0%{?rhel} && ( ( 0%{?rhel} == 8 && 0%{?rhel_minor_version} >= 3 ) || 0%{?rhel} >= 9 ) ) Requires: tar -%endif + # required for setting selinux bools %if ( 0%{?rhel} && 0%{?rhel} >= 8 ) Requires(post): policycoreutils-python-utils @@ -662,21 +671,6 @@ Much of the code in GlusterFS is in user space and easily manageable. This package provides libgfxdr.so. -%package -n libglusterd0 -Summary: GlusterFS libglusterd library -Requires: libglusterfs0%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-libs <= %{version}-%{release} - -%description -n libglusterd0 -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over TCP/IP interconnect -into one large parallel network filesystem. 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 the libglusterd library - %package -n python%{_pythonver}-gluster Summary: GlusterFS python library Requires: python%{_pythonver} @@ -742,10 +736,10 @@ like Pacemaker. %if ( 0%{!?_without_server:1} ) %package server Summary: Distributed file-system server -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-cli = %{version}-%{release} -Requires: libgfchangelog0 = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-cli%{?_isa} = %{version}-%{release} +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Requires: libgfchangelog0%{?_isa} = %{version}-%{release} %if ( 0%{?fedora} && 0%{?fedora} >= 30 || ( 0%{?rhel} && 0%{?rhel} >= 8 ) ) Requires: glusterfs-selinux >= 0.1.0-2 %endif @@ -1005,10 +999,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs %endif -## Install bash completion for cli -install -p -m 0744 -D extras/command-completion/gluster.bash \ - %{buildroot}%{_sysconfdir}/bash_completion.d/gluster - %clean rm -rf %{buildroot} @@ -1032,7 +1022,10 @@ exit 0 %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %post ganesha -semanage boolean -m ganesha_use_fusefs --on +# first install +if [ $1 -eq 1 ]; then + %selinux_set_booleans ganesha_use_fusefs=1 +fi exit 0 %endif %endif @@ -1040,7 +1033,9 @@ exit 0 %if ( 0%{!?_without_georeplication:1} ) %post geo-replication %if ( 0%{?rhel} && 0%{?rhel} >= 8 ) -%selinux_set_booleans %{selinuxbooleans} +if [ $1 -eq 1 ]; then + %selinux_set_booleans %{selinuxbooleans} +fi %endif if [ $1 -ge 1 ]; then %systemd_postun_with_restart glusterd @@ -1063,9 +1058,6 @@ exit 0 %post -n libgfxdr0 /sbin/ldconfig -%post -n libglusterd0 -/sbin/ldconfig - %if ( 0%{!?_without_server:1} ) %post server # Legacy server @@ -1212,29 +1204,32 @@ exit 0 %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %postun ganesha -semanage boolean -m ganesha_use_fusefs --off +if [ $1 -eq 0 ]; then + # use the value of ganesha_use_fusefs from before glusterfs-ganesha was installed + %selinux_unset_booleans ganesha_use_fusefs=1 +fi exit 0 %endif %endif -##----------------------------------------------------------------------------- -## All %%trigger should be placed here and keep them sorted -## -%if ( 0%{!?_without_server:1} ) -%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) -%trigger ganesha -- selinux-policy-targeted -semanage boolean -m ganesha_use_fusefs --on +%if ( 0%{!?_without_georeplication:1} ) +%postun geo-replication +%if ( 0%{?rhel} && 0%{?rhel} >= 8 ) +if [ $1 -eq 0 ]; then + %selinux_unset_booleans %{selinuxbooleans} +fi exit 0 %endif %endif ##----------------------------------------------------------------------------- -## All %%triggerun should be placed here and keep them sorted +## All %%trigger should be placed here and keep them sorted ## %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) -%triggerun ganesha -- selinux-policy-targeted -semanage boolean -m ganesha_use_fusefs --off +# ensure ganesha_use_fusefs is on in case of policy mode switch (eg. mls->targeted) +%triggerin ganesha -- selinux-policy-targeted +semanage boolean -m ganesha_use_fusefs --on -S targeted exit 0 %endif %endif @@ -1314,7 +1309,7 @@ exit 0 %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* -%{_sysconfdir}/bash_completion.d/gluster +%{bashcompdir}/gluster.bash %files cloudsync-plugins %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins @@ -1451,10 +1446,6 @@ exit 0 %files -n libgfxdr0 %{_libdir}/libgfxdr.so.* -%files -n libglusterd0 -%{_libdir}/libglusterd.so.* -%exclude %{_libdir}/libglusterd.so - %files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. # so that all other gluster submodules can reside in the same namespace. @@ -1546,6 +1537,7 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/simple-quota.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/selinux.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so @@ -1669,6 +1661,10 @@ exit 0 %endif %changelog +* Wed Nov 23 2022 Niels de Vos - 11.0-0.1.rc0 +- GlusterFS 11.0 Release Candidate 0 +- include spec changes from upstream + * Wed Sep 21 2022 Niels de Vos - 10.3-1 - GlusterFS 10.3 GA