|
|
233933 |
%global _hardened_build 1
|
|
|
233933 |
|
|
|
233933 |
%global _for_fedora_koji_builds 0
|
|
|
233933 |
|
|
|
233933 |
# uncomment and add '%' to use the prereltag for pre-releases
|
|
|
233933 |
# %%global prereltag qa3
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All argument definitions should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
|
|
|
233933 |
# asan
|
|
|
233933 |
# if you wish to compile an rpm with address sanitizer...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with asan
|
|
|
233933 |
%{?_with_asan:%global _with_asan --enable-asan}
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
%global _with_asan %{nil}
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# bd
|
|
|
233933 |
# if you wish to compile an rpm without the BD map support...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without bd
|
|
|
233933 |
%{?_without_bd:%global _without_bd --disable-bd-xlator}
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
|
233933 |
%global _without_bd --without-bd
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# cmocka
|
|
|
233933 |
# if you wish to compile an rpm with cmocka unit testing...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with cmocka
|
|
|
233933 |
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
|
|
|
233933 |
|
|
|
233933 |
# debug
|
|
|
233933 |
# if you wish to compile an rpm with debugging...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with debug
|
|
|
233933 |
%{?_with_debug:%global _with_debug --enable-debug}
|
|
|
233933 |
|
|
|
233933 |
# epoll
|
|
|
233933 |
# if you wish to compile an rpm without epoll...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without epoll
|
|
|
233933 |
%{?_without_epoll:%global _without_epoll --disable-epoll}
|
|
|
233933 |
|
|
|
233933 |
# fusermount
|
|
|
233933 |
# if you wish to compile an rpm without fusermount...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without fusermount
|
|
|
233933 |
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
|
|
|
233933 |
|
|
|
233933 |
# geo-rep
|
|
|
233933 |
# if you wish to compile an rpm without geo-replication support, compile like this...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without georeplication
|
|
|
233933 |
%{?_without_georeplication:%global _without_georeplication --disable-georeplication}
|
|
|
233933 |
|
|
|
233933 |
# ipv6default
|
|
|
233933 |
# if you wish to compile an rpm with IPv6 default...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with ipv6default
|
|
|
233933 |
%{?_with_ipv6default:%global _with_ipv6default --with-ipv6-default}
|
|
|
233933 |
|
|
|
233933 |
# libtirpc
|
|
|
233933 |
# if you wish to compile an rpm without TIRPC (i.e. use legacy glibc rpc)
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without libtirpc
|
|
|
233933 |
%{?_without_libtirpc:%global _without_libtirpc --without-libtirpc}
|
|
|
233933 |
|
|
|
233933 |
# Do not use libtirpc on EL6, it does not have xdr_uint64_t() and xdr_uint32_t
|
|
|
233933 |
# Do not use libtirpc on EL7, it does not have xdr_sizeof()
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} <= 7 )
|
|
|
233933 |
%global _without_libtirpc --without-libtirpc
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
# ocf
|
|
|
233933 |
# if you wish to compile an rpm without the OCF resource agents...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without ocf
|
|
|
233933 |
%{?_without_ocf:%global _without_ocf --without-ocf}
|
|
|
233933 |
|
|
|
233933 |
# rdma
|
|
|
233933 |
# if you wish to compile an rpm without rdma support, compile like this...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without rdma
|
|
|
233933 |
%{?_without_rdma:%global _without_rdma --disable-ibverbs}
|
|
|
233933 |
|
|
|
233933 |
# No RDMA Support on 32-bit ARM
|
|
|
233933 |
%ifarch armv7hl
|
|
|
233933 |
%global _without_rdma --disable-ibverbs
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# server
|
|
|
233933 |
# if you wish to build rpms without server components, compile like this
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without server
|
|
|
233933 |
%{?_without_server:%global _without_server --without-server}
|
|
|
233933 |
|
|
|
233933 |
# disable server components forcefully as rhel <= 6
|
|
|
233933 |
%if ( 0%{?rhel} )
|
|
|
233933 |
%if (!(( "%{?dist}" == ".el6rhs" ) || ( "%{?dist}" == ".el7rhs" ) || ( "%{?dist}" == ".el7rhgs" ) || ( "%{?dist}" == ".el8rhgs" )))
|
|
|
233933 |
%global _without_server --without-server
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%global _without_extra_xlators 1
|
|
|
233933 |
%global _without_regression_tests 1
|
|
|
233933 |
|
|
|
233933 |
# syslog
|
|
|
233933 |
# if you wish to build rpms without syslog logging, compile like this
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --without syslog
|
|
|
233933 |
%{?_without_syslog:%global _without_syslog --disable-syslog}
|
|
|
233933 |
|
|
|
233933 |
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
|
|
|
233933 |
# Fedora deprecated syslog, see
|
|
|
233933 |
# https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
|
|
|
233933 |
# (And what about RHEL7?)
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
233933 |
%global _without_syslog --disable-syslog
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# tsan
|
|
|
233933 |
# if you wish to compile an rpm with thread sanitizer...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with tsan
|
|
|
233933 |
%{?_with_tsan:%global _with_tsan --enable-tsan}
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
%global _with_tsan %{nil}
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# valgrind
|
|
|
233933 |
# if you wish to compile an rpm to run all processes under valgrind...
|
|
|
233933 |
# rpmbuild -ta glusterfs-6.0.tar.gz --with valgrind
|
|
|
233933 |
%{?_with_valgrind:%global _with_valgrind --enable-valgrind}
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%global definitions should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
233933 |
%global _with_systemd true
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
233933 |
%global _with_firewalld --enable-firewalld
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if 0%{?_tmpfilesdir:1}
|
|
|
233933 |
%global _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
|
|
|
233933 |
%else
|
|
|
233933 |
%global _with_tmpfilesdir --without-tmpfilesdir
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# without server should also disable some server-only components
|
|
|
233933 |
%if 0%{?_without_server:1}
|
|
|
233933 |
%global _without_events --disable-events
|
|
|
233933 |
%global _without_georeplication --disable-georeplication
|
|
|
233933 |
%global _without_tiering --disable-tiering
|
|
|
233933 |
%global _without_ocf --without-ocf
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
|
233933 |
%global _usepython3 1
|
|
|
233933 |
%global _pythonver 3
|
|
|
233933 |
%else
|
|
|
233933 |
%global _usepython3 0
|
|
|
233933 |
%global _pythonver 2
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# From https://fedoraproject.org/wiki/Packaging:Python#Macros
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
233933 |
%{!?python2_sitelib: %global python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
|
233933 |
%{!?python2_sitearch: %global python2_sitearch %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
|
233933 |
%global _rundir %{_localstatedir}/run
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%global service_enable() /bin/systemctl --quiet enable %1.service || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_start() /bin/systemctl --quiet start %1.service || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_stop() /bin/systemctl --quiet stop %1.service || :\
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_install() install -D -p -m 0644 %1.service %{buildroot}%2 \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
# can't seem to make a generic macro that works
|
|
|
233933 |
%global glusterd_svcfile %{_unitdir}/glusterd.service
|
|
|
233933 |
%global glusterfsd_svcfile %{_unitdir}/glusterfsd.service
|
|
|
233933 |
%global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service
|
|
|
233933 |
%global glustereventsd_svcfile %{_unitdir}/glustereventsd.service
|
|
|
233933 |
%global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service
|
|
|
233933 |
%else
|
|
|
233933 |
%global service_enable() /sbin/chkconfig --add %1 >/dev/null 2>&1 || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global systemd_preun() /sbin/chkconfig --del %1 >/dev/null 2>&1 || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global systemd_postun_with_restart() /sbin/service %1 condrestart >/dev/null 2>&1 || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_start() /sbin/service %1 start >/dev/null 2>&1 || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_stop() /sbin/service %1 stop >/dev/null 2>&1 || : \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
%global service_install() install -D -p -m 0755 %1.init %{buildroot}%2 \
|
|
|
233933 |
%{nil}
|
|
|
233933 |
# can't seem to make a generic macro that works
|
|
|
233933 |
%global glusterd_svcfile %{_sysconfdir}/init.d/glusterd
|
|
|
233933 |
%global glusterfsd_svcfile %{_sysconfdir}/init.d/glusterfsd
|
|
|
233933 |
%global glustereventsd_svcfile %{_sysconfdir}/init.d/glustereventsd
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
233933 |
|
|
|
233933 |
# We do not want to generate useless provides and requires for xlator
|
|
|
233933 |
# .so files to be set for glusterfs packages.
|
|
|
233933 |
# Filter all generated:
|
|
|
233933 |
#
|
|
|
233933 |
# TODO: RHEL5 does not have a convenient solution
|
|
|
233933 |
%if ( 0%{?rhel} == 6 )
|
|
|
233933 |
# filter_setup exists in RHEL6 only
|
|
|
233933 |
%filter_provides_in %{_libdir}/glusterfs/%{version}/
|
|
|
233933 |
%global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
|
|
|
233933 |
%filter_setup
|
|
|
233933 |
%else
|
|
|
233933 |
# modern rpm and current Fedora do not generate requires when the
|
|
|
233933 |
# provides are filtered
|
|
|
233933 |
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All package definitions should be placed here in alphabetical order
|
|
|
233933 |
##
|
|
|
233933 |
Summary: Distributed File System
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
Name: glusterfs
|
|
|
233933 |
Version: 3.8.0
|
|
|
233933 |
Release: 0.1%{?prereltag:.%{prereltag}}%{?dist}
|
|
|
233933 |
%else
|
|
|
233933 |
Name: glusterfs
|
|
|
233933 |
Version: 6.0
|
|
|
233933 |
Release: 12%{?dist}
|
|
|
233933 |
ExcludeArch: i686
|
|
|
233933 |
%endif
|
|
|
233933 |
License: GPLv2 or LGPLv3+
|
|
|
233933 |
URL: http://docs.gluster.org/
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
|
|
|
233933 |
Source1: glusterd.sysconfig
|
|
|
233933 |
Source2: glusterfsd.sysconfig
|
|
|
233933 |
Source7: glusterfsd.service
|
|
|
233933 |
Source8: glusterfsd.init
|
|
|
233933 |
%else
|
|
|
233933 |
Source0: glusterfs-6.0.tar.gz
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
Requires(pre): shadow-utils
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
BuildRequires: systemd
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%{?systemd_requires}
|
|
|
233933 |
%endif
|
|
|
233933 |
%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
BuildRequires: libasan
|
|
|
233933 |
%endif
|
|
|
233933 |
%if 0%{?_with_tsan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
BuildRequires: libtsan
|
|
|
233933 |
%endif
|
|
|
233933 |
BuildRequires: git
|
|
|
233933 |
BuildRequires: bison flex
|
|
|
233933 |
BuildRequires: gcc make libtool
|
|
|
233933 |
BuildRequires: ncurses-devel readline-devel
|
|
|
233933 |
BuildRequires: libxml2-devel openssl-devel
|
|
|
233933 |
BuildRequires: libaio-devel libacl-devel
|
|
|
233933 |
BuildRequires: python%{_pythonver}-devel
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
|
|
|
233933 |
BuildRequires: python-ctypes
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} ) || ( 0%{?rhel} && ( 0%{?rhel} >= 8 ) )
|
|
|
233933 |
BuildRequires: libtirpc-devel
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
|
233933 |
BuildRequires: rpcgen
|
|
|
233933 |
%endif
|
|
|
233933 |
BuildRequires: userspace-rcu-devel >= 0.7
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
233933 |
BuildRequires: automake
|
|
|
233933 |
%endif
|
|
|
233933 |
BuildRequires: libuuid-devel
|
|
|
233933 |
%if ( 0%{?_with_cmocka:1} )
|
|
|
233933 |
BuildRequires: libcmocka-devel >= 1.0.1
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{!?_without_tiering:1} )
|
|
|
233933 |
BuildRequires: sqlite-devel
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
BuildRequires: libattr-devel
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if (0%{?_with_firewalld:1})
|
|
|
233933 |
BuildRequires: firewalld
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
Obsoletes: hekafs
|
|
|
233933 |
Obsoletes: %{name}-common < %{version}-%{release}
|
|
|
233933 |
Obsoletes: %{name}-core < %{version}-%{release}
|
|
|
233933 |
Obsoletes: %{name}-ufo
|
|
|
233933 |
%if ( 0%{!?_with_gnfs:1} )
|
|
|
233933 |
Obsoletes: %{name}-gnfs
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?rhel} < 7 )
|
|
|
233933 |
Obsoletes: %{name}-ganesha
|
|
|
233933 |
%endif
|
|
|
233933 |
Provides: %{name}-common = %{version}-%{release}
|
|
|
233933 |
Provides: %{name}-core = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
# Patch0001: 0001-Update-rfc.sh-to-rhgs-3.5.0.patch
|
|
|
233933 |
Patch0002: 0002-glusterd-fix-op-versions-for-RHS-backwards-compatabi.patch
|
|
|
233933 |
Patch0003: 0003-rpc-set-bind-insecure-to-off-by-default.patch
|
|
|
233933 |
Patch0004: 0004-glusterd-spec-fixing-autogen-issue.patch
|
|
|
233933 |
Patch0005: 0005-libglusterfs-glusterd-Fix-compilation-errors.patch
|
|
|
233933 |
Patch0006: 0006-build-remove-ghost-directory-entries.patch
|
|
|
233933 |
Patch0007: 0007-build-add-RHGS-specific-changes.patch
|
|
|
233933 |
Patch0008: 0008-secalert-remove-setuid-bit-for-fusermount-glusterfs.patch
|
|
|
233933 |
Patch0009: 0009-build-introduce-security-hardening-flags-in-gluster.patch
|
|
|
233933 |
Patch0010: 0010-spec-fix-add-pre-transaction-scripts-for-geo-rep-and.patch
|
|
|
233933 |
Patch0011: 0011-rpm-glusterfs-devel-for-client-builds-should-not-dep.patch
|
|
|
233933 |
Patch0012: 0012-build-add-pretrans-check.patch
|
|
|
233933 |
Patch0013: 0013-glusterd-fix-info-file-checksum-mismatch-during-upgr.patch
|
|
|
233933 |
Patch0014: 0014-build-spec-file-conflict-resolution.patch
|
|
|
233933 |
Patch0015: 0015-build-randomize-temp-file-names-in-pretrans-scriptle.patch
|
|
|
233933 |
Patch0016: 0016-glusterd-parallel-readdir-Change-the-op-version-of-p.patch
|
|
|
233933 |
Patch0017: 0017-glusterd-Revert-op-version-for-cluster.max-brick-per.patch
|
|
|
233933 |
Patch0018: 0018-cli-Add-message-for-user-before-modifying-brick-mult.patch
|
|
|
233933 |
Patch0019: 0019-build-launch-glusterd-upgrade-after-all-new-bits-are.patch
|
|
|
233933 |
Patch0020: 0020-spec-unpackaged-files-found-for-RHEL-7-client-build.patch
|
|
|
233933 |
Patch0021: 0021-cli-glusterfsd-remove-copyright-information.patch
|
|
|
233933 |
Patch0022: 0022-cli-Remove-upstream-doc-reference.patch
|
|
|
233933 |
Patch0023: 0023-hooks-remove-selinux-hooks.patch
|
|
|
233933 |
Patch0024: 0024-glusterd-Make-localtime-logging-option-invisible-in-.patch
|
|
|
233933 |
Patch0025: 0025-build-make-RHGS-version-available-for-server.patch
|
|
|
233933 |
Patch0026: 0026-glusterd-Introduce-daemon-log-level-cluster-wide-opt.patch
|
|
|
233933 |
Patch0027: 0027-glusterd-change-op-version-of-fips-mode-rchecksum.patch
|
|
|
233933 |
Patch0028: 0028-glusterd-Reset-op-version-for-features.shard-deletio.patch
|
|
|
233933 |
Patch0029: 0029-glusterd-Reset-op-version-for-features.shard-lru-lim.patch
|
|
|
233933 |
Patch0030: 0030-selinux-glusterd-add-features.selinux-to-glusterd-vo.patch
|
|
|
233933 |
Patch0031: 0031-glusterd-turn-off-selinux-feature-in-downstream.patch
|
|
|
233933 |
Patch0032: 0032-glusterd-update-gd-op-version-to-3_7_0.patch
|
|
|
233933 |
Patch0033: 0033-build-add-missing-explicit-package-dependencies.patch
|
|
|
233933 |
Patch0034: 0034-glusterd-introduce-a-new-op-version-for-rhgs-3.4.3.patch
|
|
|
233933 |
Patch0035: 0035-glusterd-tag-rebalance-mgmt_v3-command-to-op-version.patch
|
|
|
233933 |
Patch0036: 0036-build-add-conditional-dependency-on-server-for-devel.patch
|
|
|
233933 |
Patch0037: 0037-cli-change-the-warning-message.patch
|
|
|
233933 |
Patch0038: 0038-spec-avoid-creation-of-temp-file-in-lua-script.patch
|
|
|
233933 |
Patch0039: 0039-cli-fix-query-to-user-during-brick-mux-selection.patch
|
|
|
233933 |
Patch0040: 0040-build-Remove-unsupported-test-cases-failing-consiste.patch
|
|
|
233933 |
Patch0041: 0041-tests-geo-rep-Build-failed-in-Jenkins-for-test-bug-1.patch
|
|
|
233933 |
Patch0042: 0042-spec-client-server-Builds-are-failing-on-rhel-6.patch
|
|
|
233933 |
Patch0043: 0043-inode-don-t-dump-the-whole-table-to-CLI.patch
|
|
|
233933 |
Patch0044: 0044-cluster-ec-Don-t-enqueue-an-entry-if-it-is-already-h.patch
|
|
|
233933 |
Patch0045: 0045-glusterd-fix-txn-id-mem-leak.patch
|
|
|
233933 |
Patch0046: 0046-protocol-client-Do-not-fallback-to-anon-fd-if-fd-is-.patch
|
|
|
233933 |
Patch0047: 0047-client-rpc-Fix-the-payload-being-sent-on-the-wire.patch
|
|
|
233933 |
Patch0048: 0048-gfapi-Unblock-epoll-thread-for-upcall-processing.patch
|
|
|
233933 |
Patch0049: 0049-transport-socket-log-shutdown-msg-occasionally.patch
|
|
|
233933 |
Patch0050: 0050-geo-rep-Fix-syncing-multiple-rename-of-symlink.patch
|
|
|
233933 |
Patch0051: 0051-spec-update-rpm-install-condition.patch
|
|
|
233933 |
Patch0052: 0052-geo-rep-IPv6-support.patch
|
|
|
233933 |
Patch0053: 0053-Revert-packaging-ganesha-remove-glusterfs-ganesha-su.patch
|
|
|
233933 |
Patch0054: 0054-Revert-glusterd-storhaug-remove-ganesha.patch
|
|
|
233933 |
Patch0055: 0055-Revert-storhaug-HA-first-step-remove-resource-agents.patch
|
|
|
233933 |
Patch0056: 0056-common-ha-fixes-for-Debian-based-systems.patch
|
|
|
233933 |
Patch0057: 0057-ganesha-scripts-Remove-export-entries-from-ganesha.c.patch
|
|
|
233933 |
Patch0058: 0058-glusterd-ganesha-During-volume-delete-remove-the-gan.patch
|
|
|
233933 |
Patch0059: 0059-glusterd-ganesha-throw-proper-error-for-gluster-nfs-.patch
|
|
|
233933 |
Patch0060: 0060-ganesha-scripts-Stop-ganesha-process-on-all-nodes-if.patch
|
|
|
233933 |
Patch0061: 0061-ganesha-allow-refresh-config-and-volume-export-unexp.patch
|
|
|
233933 |
Patch0062: 0062-glusterd-ganesha-perform-removal-of-ganesha.conf-on-.patch
|
|
|
233933 |
Patch0063: 0063-glusterd-ganesha-update-cache-invalidation-properly-.patch
|
|
|
233933 |
Patch0064: 0064-glusterd-ganesha-return-proper-value-in-pre_setup.patch
|
|
|
233933 |
Patch0065: 0065-ganesha-scripts-remove-dependency-over-export-config.patch
|
|
|
233933 |
Patch0066: 0066-glusterd-ganesha-add-proper-NULL-check-in-manage_exp.patch
|
|
|
233933 |
Patch0067: 0067-ganesha-minor-improvments-for-commit-e91cdf4-17081.patch
|
|
|
233933 |
Patch0068: 0068-common-ha-surviving-ganesha.nfsd-not-put-in-grace-on.patch
|
|
|
233933 |
Patch0069: 0069-common-ha-enable-and-disable-selinux-ganesha_use_fus.patch
|
|
|
233933 |
Patch0070: 0070-packaging-glusterfs-ganesha-update-sometimes-fails-s.patch
|
|
|
233933 |
Patch0071: 0071-common-ha-enable-and-disable-selinux-gluster_use_exe.patch
|
|
|
233933 |
Patch0072: 0072-ganesha-ha-don-t-set-SELinux-booleans-if-SELinux-is-.patch
|
|
|
233933 |
Patch0073: 0073-build-remove-ganesha-dependency-on-selinux-policy.patch
|
|
|
233933 |
Patch0074: 0074-common-ha-enable-pacemaker-at-end-of-setup.patch
|
|
|
233933 |
Patch0075: 0075-common-ha-Fix-an-incorrect-syntax-during-setup.patch
|
|
|
233933 |
Patch0076: 0076-glusterd-ganesha-change-voltype-for-ganesha.enable-i.patch
|
|
|
233933 |
Patch0077: 0077-glusterd-ganesha-create-remove-export-file-only-from.patch
|
|
|
233933 |
Patch0078: 0078-common-ha-scripts-pass-the-list-of-servers-properly-.patch
|
|
|
233933 |
Patch0079: 0079-common-ha-All-statd-related-files-need-to-be-owned-b.patch
|
|
|
233933 |
Patch0080: 0080-glusterd-ganesha-Skip-non-ganesha-nodes-properly-for.patch
|
|
|
233933 |
Patch0081: 0081-ganesha-ha-ensure-pacemaker-is-enabled-after-setup.patch
|
|
|
233933 |
Patch0082: 0082-build-Add-dependency-on-netstat-for-glusterfs-ganesh.patch
|
|
|
233933 |
Patch0083: 0083-common-ha-enable-and-disable-selinux-ganesha_use_fus.patch
|
|
|
233933 |
Patch0084: 0084-glusterd-Fix-duplicate-client_op_version-in-info-fil.patch
|
|
|
233933 |
Patch0085: 0085-Revert-all-remove-code-which-is-not-being-considered.patch
|
|
|
233933 |
Patch0086: 0086-Revert-tiering-remove-the-translator-from-build-and-.patch
|
|
|
233933 |
Patch0087: 0087-ganesha-fixing-minor-issues-after-the-backport-from-.patch
|
|
|
233933 |
Patch0088: 0088-tier-fix-failures-noticed-during-tier-start-and-tier.patch
|
|
|
233933 |
Patch0089: 0089-glusterd-gNFS-On-post-upgrade-to-3.2-disable-gNFS-fo.patch
|
|
|
233933 |
Patch0090: 0090-Revert-build-conditionally-build-legacy-gNFS-server-.patch
|
|
|
233933 |
Patch0091: 0091-glusterd-gNFS-explicitly-set-nfs.disable-to-off-afte.patch
|
|
|
233933 |
Patch0092: 0092-logging-Fix-GF_LOG_OCCASSIONALLY-API.patch
|
|
|
233933 |
Patch0093: 0093-glusterd-Change-op-version-of-cache-invalidation-in-.patch
|
|
|
233933 |
Patch0094: 0094-glusterd-load-ctime-in-the-client-graph-only-if-it-s.patch
|
|
|
233933 |
Patch0095: 0095-cluster-afr-Remove-local-from-owners_list-on-failure.patch
|
|
|
233933 |
Patch0096: 0096-core-Brick-is-not-able-to-detach-successfully-in-bri.patch
|
|
|
233933 |
Patch0097: 0097-glusterd-tier-while-doing-an-attach-tier-the-self-he.patch
|
|
|
233933 |
Patch0098: 0098-mgmt-shd-Implement-multiplexing-in-self-heal-daemon.patch
|
|
|
233933 |
Patch0099: 0099-client-fini-return-fini-after-rpc-cleanup.patch
|
|
|
233933 |
Patch0100: 0100-clnt-rpc-ref-leak-during-disconnect.patch
|
|
|
233933 |
Patch0101: 0101-shd-mux-Fix-coverity-issues-introduced-by-shd-mux-pa.patch
|
|
|
233933 |
Patch0102: 0102-rpc-transport-Missing-a-ref-on-dict-while-creating-t.patch
|
|
|
233933 |
Patch0103: 0103-dht-NULL-check-before-setting-error-flag.patch
|
|
|
233933 |
Patch0104: 0104-afr-shd-Cleanup-self-heal-daemon-resources-during-af.patch
|
|
|
233933 |
Patch0105: 0105-core-Log-level-changes-do-not-effect-on-running-clie.patch
|
|
|
233933 |
Patch0106: 0106-libgfchangelog-use-find_library-to-locate-shared-lib.patch
|
|
|
233933 |
Patch0107: 0107-gfapi-add-function-to-set-client-pid.patch
|
|
|
233933 |
Patch0108: 0108-afr-add-client-pid-to-all-gf_event-calls.patch
|
|
|
233933 |
Patch0109: 0109-glusterd-Optimize-glusterd-handshaking-code-path.patch
|
|
|
233933 |
Patch0110: 0110-tier-shd-glusterd-with-shd-mux-the-shd-volfile-path-.patch
|
|
|
233933 |
Patch0111: 0111-glusterd-fix-loading-ctime-in-client-graph-logic.patch
|
|
|
233933 |
Patch0112: 0112-geo-rep-fix-incorrectly-formatted-authorized_keys.patch
|
|
|
233933 |
Patch0113: 0113-spec-Glusterd-did-not-start-by-default-after-node-re.patch
|
|
|
233933 |
Patch0114: 0114-core-fix-hang-issue-in-__gf_free.patch
|
|
|
233933 |
Patch0115: 0115-core-only-log-seek-errors-if-SEEK_HOLE-SEEK_DATA-is-.patch
|
|
|
233933 |
Patch0116: 0116-cluster-ec-fix-fd-reopen.patch
|
|
|
233933 |
Patch0117: 0117-spec-Remove-thin-arbiter-package.patch
|
|
|
233933 |
Patch0118: 0118-tests-mark-thin-arbiter-test-ta.t-as-bad.patch
|
|
|
233933 |
Patch0119: 0119-glusterd-provide-a-way-to-detach-failed-node.patch
|
|
|
233933 |
Patch0120: 0120-glusterd-shd-Keep-a-ref-on-volinfo-until-attach-rpc-.patch
|
|
|
233933 |
Patch0121: 0121-spec-glusterfs-devel-for-client-build-should-not-dep.patch
|
|
|
233933 |
Patch0122: 0122-posix-ctime-Fix-stat-time-attributes-inconsistency-d.patch
|
|
|
233933 |
Patch0123: 0123-ctime-Fix-log-repeated-logging-during-open.patch
|
|
|
233933 |
Patch0124: 0124-spec-remove-duplicate-references-to-files.patch
|
|
|
233933 |
Patch0125: 0125-glusterd-define-dumpops-in-the-xlator_api-of-gluster.patch
|
|
|
233933 |
Patch0126: 0126-cluster-dht-refactor-dht-lookup-functions.patch
|
|
|
233933 |
Patch0127: 0127-cluster-dht-Refactor-dht-lookup-functions.patch
|
|
|
233933 |
Patch0128: 0128-glusterd-Fix-bulkvoldict-thread-logic-in-brick-multi.patch
|
|
|
233933 |
Patch0129: 0129-core-handle-memory-accounting-correctly.patch
|
|
|
233933 |
Patch0130: 0130-tier-test-new-tier-cmds.t-fails-after-a-glusterd-res.patch
|
|
|
233933 |
Patch0131: 0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch
|
|
|
233933 |
Patch0132: 0132-glusterd-remove-duplicate-occurrence-of-features.sel.patch
|
|
|
233933 |
Patch0133: 0133-glusterd-enable-fips-mode-rchecksum-for-new-volumes.patch
|
|
|
233933 |
Patch0134: 0134-performance-write-behind-remove-request-from-wip-lis.patch
|
|
|
233933 |
Patch0135: 0135-geo-rep-fix-incorrectly-formatted-authorized_keys.patch
|
|
|
233933 |
Patch0136: 0136-glusterd-fix-inconsistent-global-option-output-in-vo.patch
|
|
|
233933 |
Patch0137: 0137-shd-glusterd-Serialize-shd-manager-to-prevent-race-c.patch
|
|
|
233933 |
Patch0138: 0138-glusterd-Add-gluster-volume-stop-operation-to-gluste.patch
|
|
|
233933 |
Patch0139: 0139-ec-shd-Cleanup-self-heal-daemon-resources-during-ec-.patch
|
|
|
233933 |
Patch0140: 0140-cluster-ec-Reopen-shouldn-t-happen-with-O_TRUNC.patch
|
|
|
233933 |
Patch0141: 0141-socket-ssl-fix-crl-handling.patch
|
|
|
233933 |
Patch0142: 0142-lock-check-null-value-of-dict-to-avoid-log-flooding.patch
|
|
|
233933 |
Patch0143: 0143-packaging-Change-the-dependency-on-nfs-ganesha-to-2..patch
|
|
|
233933 |
Patch0144: 0144-cluster-ec-honor-contention-notifications-for-partia.patch
|
|
|
233933 |
Patch0145: 0145-core-Capture-process-memory-usage-at-the-time-of-cal.patch
|
|
|
233933 |
Patch0146: 0146-dht-Custom-xattrs-are-not-healed-in-case-of-add-bric.patch
|
|
|
233933 |
Patch0147: 0147-glusterd-bulkvoldict-thread-is-not-handling-all-volu.patch
|
|
|
233933 |
Patch0148: 0148-cluster-dht-Lookup-all-files-when-processing-directo.patch
|
|
|
233933 |
Patch0149: 0149-glusterd-Optimize-code-to-copy-dictionary-in-handsha.patch
|
|
|
233933 |
Patch0150: 0150-libglusterfs-define-macros-needed-for-cloudsync.patch
|
|
|
233933 |
Patch0151: 0151-mgmt-glusterd-Make-changes-related-to-cloudsync-xlat.patch
|
|
|
233933 |
Patch0152: 0152-storage-posix-changes-with-respect-to-cloudsync.patch
|
|
|
233933 |
Patch0153: 0153-features-cloudsync-Added-some-new-functions.patch
|
|
|
233933 |
Patch0154: 0154-cloudsync-cvlt-Cloudsync-plugin-for-commvault-store.patch
|
|
|
233933 |
Patch0155: 0155-cloudsync-Make-readdirp-return-stat-info-of-all-the-.patch
|
|
|
233933 |
Patch0156: 0156-cloudsync-Fix-bug-in-cloudsync-fops-c.py.patch
|
|
|
233933 |
Patch0157: 0157-afr-frame-Destroy-frame-after-afr_selfheal_entry_gra.patch
|
|
|
233933 |
Patch0158: 0158-glusterfsd-cleanup-Protect-graph-object-under-a-lock.patch
|
|
|
233933 |
Patch0159: 0159-glusterd-add-an-op-version-check.patch
|
|
|
233933 |
Patch0160: 0160-geo-rep-Geo-rep-help-text-issue.patch
|
|
|
233933 |
Patch0161: 0161-geo-rep-Fix-rename-with-existing-destination-with-sa.patch
|
|
|
233933 |
Patch0162: 0162-geo-rep-Fix-sync-method-config.patch
|
|
|
233933 |
Patch0163: 0163-geo-rep-Fix-sync-hang-with-tarssh.patch
|
|
|
233933 |
Patch0164: 0164-cluster-ec-Fix-handling-of-heal-info-cases-without-l.patch
|
|
|
233933 |
Patch0165: 0165-tests-shd-Add-test-coverage-for-shd-mux.patch
|
|
|
233933 |
Patch0166: 0166-glusterd-svc-glusterd_svcs_stop-should-call-individu.patch
|
|
|
233933 |
Patch0167: 0167-glusterd-shd-Optimize-the-glustershd-manager-to-send.patch
|
|
|
233933 |
Patch0168: 0168-cluster-dht-Fix-directory-perms-during-selfheal.patch
|
|
|
233933 |
Patch0169: 0169-Build-Fix-spec-to-enable-rhel8-client-build.patch
|
|
|
233933 |
Patch0170: 0170-geo-rep-Convert-gfid-conflict-resolutiong-logs-into-.patch
|
|
|
233933 |
Patch0171: 0171-posix-add-storage.reserve-size-option.patch
|
|
|
233933 |
Patch0172: 0172-ec-fini-Fix-race-with-ec_fini-and-ec_notify.patch
|
|
|
233933 |
Patch0173: 0173-glusterd-store-fips-mode-rchecksum-option-in-the-inf.patch
|
|
|
233933 |
Patch0174: 0174-xlator-log-Add-more-logging-in-xlator_is_cleanup_sta.patch
|
|
|
233933 |
Patch0175: 0175-ec-fini-Fix-race-between-xlator-cleanup-and-on-going.patch
|
|
|
233933 |
Patch0176: 0176-features-shard-Fix-crash-during-background-shard-del.patch
|
|
|
233933 |
Patch0177: 0177-features-shard-Fix-extra-unref-when-inode-object-is-.patch
|
|
|
233933 |
Patch0178: 0178-Cluster-afr-Don-t-treat-all-bricks-having-metadata-p.patch
|
|
|
233933 |
Patch0179: 0179-tests-Fix-split-brain-favorite-child-policy.t-failur.patch
|
|
|
233933 |
Patch0180: 0180-ganesha-scripts-Make-generate-epoch.py-python3-compa.patch
|
|
|
233933 |
Patch0181: 0181-afr-log-before-attempting-data-self-heal.patch
|
|
|
233933 |
Patch0182: 0182-geo-rep-fix-mountbroker-setup.patch
|
|
|
233933 |
Patch0183: 0183-glusterd-svc-Stop-stale-process-using-the-glusterd_p.patch
|
|
|
233933 |
Patch0184: 0184-tests-Add-gating-configuration-file-for-rhel8.patch
|
|
|
233933 |
Patch0185: 0185-gfapi-provide-an-api-for-setting-statedump-path.patch
|
|
|
233933 |
Patch0186: 0186-cli-Remove-brick-warning-seems-unnecessary.patch
|
|
|
233933 |
Patch0187: 0187-gfapi-statedump_path-add-proper-version-number.patch
|
|
|
233933 |
Patch0188: 0188-features-shard-Fix-integer-overflow-in-block-count-a.patch
|
|
|
233933 |
Patch0189: 0189-features-shard-Fix-block-count-accounting-upon-trunc.patch
|
|
|
233933 |
Patch0190: 0190-Build-removing-the-hardcoded-usage-of-python3.patch
|
|
|
233933 |
Patch0191: 0191-Build-Update-python-shebangs-based-on-version.patch
|
|
|
233933 |
Patch0192: 0192-build-Ensure-gluster-cli-package-is-built-as-part-of.patch
|
|
|
233933 |
Patch0193: 0193-spec-fixed-python-dependency-for-rhel6.patch
|
|
|
233933 |
Patch0194: 0194-stack-Make-sure-to-have-unique-call-stacks-in-all-ca.patch
|
|
|
233933 |
Patch0195: 0195-build-package-glusterfs-ganesha-for-rhel7-and-above.patch
|
|
|
233933 |
Patch0196: 0196-posix-ctime-Fix-ctime-upgrade-issue.patch
|
|
|
233933 |
Patch0197: 0197-posix-fix-crash-in-posix_cs_set_state.patch
|
|
|
233933 |
Patch0198: 0198-cluster-ec-Prevent-double-pre-op-xattrops.patch
|
|
|
233933 |
Patch0199: 0199-upcall-Avoid-sending-notifications-for-invalid-inode.patch
|
|
|
233933 |
Patch0200: 0200-gfapi-fix-incorrect-initialization-of-upcall-syncop-.patch
|
|
|
233933 |
Patch0201: 0201-geo-rep-Fix-permissions-for-GEOREP_DIR-in-non-root-s.patch
|
|
|
233933 |
Patch0202: 0202-shd-mux-Fix-race-between-mux_proc-unlink-and-stop.patch
|
|
|
233933 |
Patch0203: 0203-glusterd-shd-Change-shd-logfile-to-a-unique-name.patch
|
|
|
233933 |
Patch0204: 0204-glusterd-conditionally-clear-txn_opinfo-in-stage-op.patch
|
|
|
233933 |
Patch0205: 0205-glusterd-Can-t-run-rebalance-due-to-long-unix-socket.patch
|
|
|
233933 |
Patch0206: 0206-glusterd-ignore-user.-options-from-compatibility-che.patch
|
|
|
233933 |
Patch0207: 0207-glusterd-fix-use-after-free-of-a-dict_t.patch
|
|
|
233933 |
Patch0208: 0208-mem-pool-remove-dead-code.patch
|
|
|
233933 |
Patch0209: 0209-core-avoid-dynamic-TLS-allocation-when-possible.patch
|
|
|
233933 |
Patch0210: 0210-mem-pool.-c-h-minor-changes.patch
|
|
|
233933 |
Patch0211: 0211-libglusterfs-Fix-compilation-when-disable-mempool-is.patch
|
|
|
233933 |
Patch0212: 0212-core-fix-memory-allocation-issues.patch
|
|
|
233933 |
Patch0213: 0213-cluster-dht-Strip-out-dht-xattrs.patch
|
|
|
233933 |
Patch0214: 0214-geo-rep-Upgrading-config-file-to-new-version.patch
|
|
|
233933 |
Patch0215: 0215-posix-modify-storage.reserve-option-to-take-size-and.patch
|
|
|
233933 |
Patch0216: 0216-Test-case-fixe-for-downstream-3.5.0.patch
|
|
|
233933 |
Patch0217: 0217-uss-Fix-tar-issue-with-ctime-and-uss-enabled.patch
|
|
|
233933 |
Patch0218: 0218-graph-shd-Use-glusterfs_graph_deactivate-to-free-the.patch
|
|
|
233933 |
Patch0219: 0219-posix-add-posix_set_ctime-in-posix_ftruncate.patch
|
|
|
233933 |
Patch0220: 0220-graph-shd-Use-top-down-approach-while-cleaning-xlato.patch
|
|
|
233933 |
Patch0221: 0221-protocol-client-propagte-GF_EVENT_CHILD_PING-only-fo.patch
|
|
|
233933 |
Patch0222: 0222-cluster-dht-Fixed-a-memleak-in-dht_rename_cbk.patch
|
|
|
233933 |
Patch0223: 0223-change-get_real_filename-implementation-to-use-ENOAT.patch
|
|
|
233933 |
Patch0224: 0224-core-replace-inet_addr-with-inet_pton.patch
|
|
|
233933 |
Patch0225: 0225-tests-utils-Fix-py2-py3-util-python-scripts.patch
|
|
|
233933 |
Patch0226: 0226-geo-rep-fix-gluster-command-path-for-non-root-sessio.patch
|
|
|
233933 |
Patch0227: 0227-glusterd-svc-update-pid-of-mux-volumes-from-the-shd-.patch
|
|
|
233933 |
Patch0228: 0228-locks-enable-notify-contention-by-default.patch
|
|
|
233933 |
Patch0229: 0229-glusterd-Show-the-correct-brick-status-in-get-state.patch
|
|
|
233933 |
Patch0230: 0230-Revert-glusterd-svc-update-pid-of-mux-volumes-from-t.patch
|
|
|
233933 |
Patch0231: 0231-Revert-graph-shd-Use-top-down-approach-while-cleanin.patch
|
|
|
233933 |
Patch0232: 0232-cluster-afr-Fix-incorrect-reporting-of-gfid-type-mis.patch
|
|
|
233933 |
Patch0233: 0233-Revert-graph-shd-Use-glusterfs_graph_deactivate-to-f.patch
|
|
|
233933 |
Patch0234: 0234-Revert-glusterd-shd-Change-shd-logfile-to-a-unique-n.patch
|
|
|
233933 |
Patch0235: 0235-Revert-glusterd-svc-Stop-stale-process-using-the-glu.patch
|
|
|
233933 |
Patch0236: 0236-Revert-shd-mux-Fix-race-between-mux_proc-unlink-and-.patch
|
|
|
233933 |
Patch0237: 0237-Revert-ec-fini-Fix-race-between-xlator-cleanup-and-o.patch
|
|
|
233933 |
Patch0238: 0238-Revert-xlator-log-Add-more-logging-in-xlator_is_clea.patch
|
|
|
233933 |
Patch0239: 0239-Revert-ec-fini-Fix-race-with-ec_fini-and-ec_notify.patch
|
|
|
233933 |
Patch0240: 0240-Revert-glusterd-shd-Optimize-the-glustershd-manager-.patch
|
|
|
233933 |
Patch0241: 0241-Revert-glusterd-svc-glusterd_svcs_stop-should-call-i.patch
|
|
|
233933 |
Patch0242: 0242-Revert-tests-shd-Add-test-coverage-for-shd-mux.patch
|
|
|
233933 |
Patch0243: 0243-Revert-glusterfsd-cleanup-Protect-graph-object-under.patch
|
|
|
233933 |
Patch0244: 0244-Revert-ec-shd-Cleanup-self-heal-daemon-resources-dur.patch
|
|
|
233933 |
Patch0245: 0245-Revert-shd-glusterd-Serialize-shd-manager-to-prevent.patch
|
|
|
233933 |
Patch0246: 0246-Revert-glusterd-shd-Keep-a-ref-on-volinfo-until-atta.patch
|
|
|
233933 |
Patch0247: 0247-Revert-afr-shd-Cleanup-self-heal-daemon-resources-du.patch
|
|
|
233933 |
Patch0248: 0248-Revert-shd-mux-Fix-coverity-issues-introduced-by-shd.patch
|
|
|
233933 |
Patch0249: 0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch
|
|
|
233933 |
Patch0250: 0250-Revert-mgmt-shd-Implement-multiplexing-in-self-heal-.patch
|
|
|
233933 |
Patch0251: 0251-tests-Fix-bug-1717819-metadata-split-brain-detection.patch
|
|
|
233933 |
Patch0252: 0252-glusterd-do-not-mark-skip_locking-as-true-for-geo-re.patch
|
|
|
233933 |
Patch0253: 0253-core-fix-deadlock-between-statedump-and-fd_anonymous.patch
|
|
|
233933 |
Patch0254: 0254-Detach-iot_worker-to-release-its-resources.patch
|
|
|
233933 |
Patch0255: 0255-Revert-tier-shd-glusterd-with-shd-mux-the-shd-volfil.patch
|
|
|
233933 |
Patch0256: 0256-features-snapview-server-use-the-same-volfile-server.patch
|
|
|
233933 |
Patch0257: 0257-geo-rep-Test-case-for-upgrading-config-file.patch
|
|
|
233933 |
Patch0258: 0258-geo-rep-Fix-mount-broker-setup-issue.patch
|
|
|
233933 |
Patch0259: 0259-gluster-block-tuning-perf-options.patch
|
|
|
233933 |
Patch0260: 0260-ctime-Set-mdata-xattr-on-legacy-files.patch
|
|
|
233933 |
Patch0261: 0261-features-utime-Fix-mem_put-crash.patch
|
|
|
233933 |
Patch0262: 0262-glusterd-ctime-Disable-ctime-by-default.patch
|
|
|
233933 |
Patch0263: 0263-tests-fix-ctime-related-tests.patch
|
|
|
233933 |
Patch0264: 0264-gfapi-Fix-deadlock-while-processing-upcall.patch
|
|
|
233933 |
Patch0265: 0265-fuse-add-missing-GF_FREE-to-fuse_interrupt.patch
|
|
|
233933 |
Patch0266: 0266-geo-rep-Fix-mount-broker-setup-issue.patch
|
|
|
233933 |
Patch0267: 0267-posix-ctime-Fix-race-during-lookup-ctime-xattr-heal.patch
|
|
|
233933 |
Patch0268: 0268-rpc-transport-have-default-listen-port.patch
|
|
|
233933 |
Patch0269: 0269-ec-fix-truncate-lock-to-cover-the-write-in-tuncate-c.patch
|
|
|
233933 |
Patch0270: 0270-cluster-ec-inherit-healing-from-lock-when-it-has-inf.patch
|
|
|
233933 |
Patch0271: 0271-cluster-ec-fix-EIO-error-for-concurrent-writes-on-sp.patch
|
|
|
233933 |
Patch0272: 0272-cluster-ec-Always-read-from-good-mask.patch
|
|
|
233933 |
Patch0273: 0273-cluster-ec-Fix-reopen-flags-to-avoid-misbehavior.patch
|
|
|
233933 |
Patch0274: 0274-cluster-ec-Update-lock-good_mask-on-parent-fop-failu.patch
|
|
|
233933 |
Patch0275: 0275-cluster-ec-Create-heal-task-with-heal-process-id.patch
|
|
|
233933 |
Patch0276: 0276-features-utime-always-update-ctime-at-setattr.patch
|
|
|
233933 |
|
|
|
233933 |
%description
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package includes the glusterfs binary, the glusterfsd daemon and the
|
|
|
233933 |
libglusterfs and glusterfs translator modules common to both GlusterFS server
|
|
|
233933 |
and client framework.
|
|
|
233933 |
|
|
|
233933 |
%package api
|
|
|
233933 |
Summary: GlusterFS api library
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description api
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the glusterfs libgfapi library.
|
|
|
233933 |
|
|
|
233933 |
%package api-devel
|
|
|
233933 |
Summary: Development Libraries
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: libacl-devel
|
|
|
233933 |
Requires: %{name}-api%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description api-devel
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the api include files.
|
|
|
233933 |
|
|
|
233933 |
%package cli
|
|
|
233933 |
Summary: GlusterFS CLI
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description cli
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the GlusterFS CLI application and its man page
|
|
|
233933 |
|
|
|
233933 |
%package cloudsync-plugins
|
|
|
233933 |
Summary: Cloudsync Plugins
|
|
|
233933 |
BuildRequires: libcurl-devel
|
|
|
233933 |
|
|
|
233933 |
%description cloudsync-plugins
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides cloudsync plugins for archival feature.
|
|
|
233933 |
|
|
|
233933 |
%package devel
|
|
|
233933 |
Summary: Development Libraries
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
# Needed for the Glupy examples to work
|
|
|
233933 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
233933 |
Requires: %{name}-extra-xlators%{?_isa} = %{version}-%{release}
|
|
|
233933 |
%endif
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%description devel
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the development libraries and include files.
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
233933 |
%package extra-xlators
|
|
|
233933 |
Summary: Extra Gluster filesystem Translators
|
|
|
233933 |
# We need python-gluster rpm for gluster module's __init__.py in Python
|
|
|
233933 |
# site-packages area
|
|
|
233933 |
Requires: python%{_pythonver}-gluster = %{version}-%{release}
|
|
|
233933 |
Requires: python%{_pythonver}
|
|
|
233933 |
|
|
|
233933 |
%description extra-xlators
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides extra filesystem Translators, such as Glupy,
|
|
|
233933 |
for GlusterFS.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%package fuse
|
|
|
233933 |
Summary: Fuse client
|
|
|
233933 |
BuildRequires: fuse-devel
|
|
|
233933 |
Requires: attr
|
|
|
233933 |
Requires: psmisc
|
|
|
233933 |
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
Obsoletes: %{name}-client < %{version}-%{release}
|
|
|
233933 |
Provides: %{name}-client = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description fuse
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides support to FUSE based clients and inlcudes the
|
|
|
233933 |
glusterfs(d) binary.
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
|
|
|
233933 |
%package ganesha
|
|
|
233933 |
Summary: NFS-Ganesha configuration
|
|
|
233933 |
Group: Applications/File
|
|
|
233933 |
|
|
|
233933 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: nfs-ganesha-gluster >= 2.7.3
|
|
|
233933 |
Requires: pcs, dbus
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
233933 |
Requires: cman, pacemaker, corosync
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 5 )
|
|
|
233933 |
# we need portblock resource-agent in 3.9.5 and later.
|
|
|
233933 |
Requires: resource-agents >= 3.9.5
|
|
|
233933 |
Requires: net-tools
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
|
|
|
233933 |
%if ( 0%{?rhel} )
|
|
|
233933 |
Requires: selinux-policy >= 3.13.1-160
|
|
|
233933 |
Requires(post): policycoreutils-python
|
|
|
233933 |
Requires(postun): policycoreutils-python
|
|
|
233933 |
%else
|
|
|
233933 |
Requires(post): policycoreutils-python-utils
|
|
|
233933 |
Requires(postun): policycoreutils-python-utils
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%description ganesha
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the configuration and related files for using
|
|
|
233933 |
NFS-Ganesha as the NFS server using GlusterFS
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
%package geo-replication
|
|
|
233933 |
Summary: GlusterFS Geo-replication
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: python%{_pythonver}
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
Requires: python-prettytable
|
|
|
233933 |
%else
|
|
|
233933 |
Requires: python%{_pythonver}-prettytable
|
|
|
233933 |
%endif
|
|
|
233933 |
Requires: python%{_pythonver}-gluster = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
Requires: rsync
|
|
|
233933 |
Requires: util-linux
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description geo-replication
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
peta-bytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file system in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in userspace and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides support to geo-replication.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%package libs
|
|
|
233933 |
Summary: GlusterFS common libraries
|
|
|
233933 |
|
|
|
233933 |
%description libs
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the base GlusterFS libraries
|
|
|
233933 |
|
|
|
233933 |
%package -n python%{_pythonver}-gluster
|
|
|
233933 |
Summary: GlusterFS python library
|
|
|
233933 |
Requires: python%{_pythonver}
|
|
|
233933 |
%if ( ! %{_usepython3} )
|
|
|
233933 |
%{?python_provide:%python_provide python-gluster}
|
|
|
233933 |
Provides: python-gluster = %{version}-%{release}
|
|
|
233933 |
Obsoletes: python-gluster < 3.10
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%description -n python%{_pythonver}-gluster
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package contains the python modules of GlusterFS and own gluster
|
|
|
233933 |
namespace.
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
233933 |
%package rdma
|
|
|
233933 |
Summary: GlusterFS rdma support for ib-verbs
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 26 )
|
|
|
233933 |
BuildRequires: rdma-core-devel
|
|
|
233933 |
%else
|
|
|
233933 |
BuildRequires: libibverbs-devel
|
|
|
233933 |
BuildRequires: librdmacm-devel >= 1.0.15
|
|
|
233933 |
%endif
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description rdma
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides support to ib-verbs library.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
233933 |
%package regression-tests
|
|
|
233933 |
Summary: Development Tools
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-fuse%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
233933 |
## thin provisioning support
|
|
|
233933 |
Requires: lvm2 >= 2.02.89
|
|
|
233933 |
Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng
|
|
|
233933 |
Requires: python%{_pythonver}
|
|
|
233933 |
Requires: attr dbench file git libacl-devel net-tools
|
|
|
233933 |
Requires: nfs-utils xfsprogs yajl psmisc bc
|
|
|
233933 |
|
|
|
233933 |
%description regression-tests
|
|
|
233933 |
The Gluster Test Framework, is a suite of scripts used for
|
|
|
233933 |
regression testing of Gluster.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_ocf:1} )
|
|
|
233933 |
%package resource-agents
|
|
|
233933 |
Summary: OCF Resource Agents for GlusterFS
|
|
|
233933 |
License: GPLv3+
|
|
|
233933 |
BuildArch: noarch
|
|
|
233933 |
# this Group handling comes from the Fedora resource-agents package
|
|
|
233933 |
# for glusterd
|
|
|
233933 |
Requires: %{name}-server = %{version}-%{release}
|
|
|
233933 |
# depending on the distribution, we need pacemaker or resource-agents
|
|
|
233933 |
Requires: %{_prefix}/lib/ocf/resource.d
|
|
|
233933 |
|
|
|
233933 |
%description resource-agents
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the resource agents which plug glusterd into
|
|
|
233933 |
Open Cluster Framework (OCF) compliant cluster resource managers,
|
|
|
233933 |
like Pacemaker.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%package server
|
|
|
233933 |
Summary: Clustered file-system server
|
|
|
233933 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-cli%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
|
|
|
233933 |
Requires: %{name}-fuse%{?_isa} = %{version}-%{release}
|
|
|
233933 |
# self-heal daemon, rebalance, nfs-server etc. are actually clients
|
|
|
233933 |
Requires: %{name}-api%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
233933 |
# lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server
|
|
|
233933 |
Requires: lvm2
|
|
|
233933 |
Requires: nfs-utils
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%{?systemd_requires}
|
|
|
233933 |
%else
|
|
|
233933 |
Requires(post): /sbin/chkconfig
|
|
|
233933 |
Requires(preun): /sbin/service
|
|
|
233933 |
Requires(preun): /sbin/chkconfig
|
|
|
233933 |
Requires(postun): /sbin/service
|
|
|
233933 |
%endif
|
|
|
233933 |
%if (0%{?_with_firewalld:1})
|
|
|
233933 |
# we install firewalld rules, so we need to have the directory owned
|
|
|
233933 |
%if ( 0%{!?rhel} )
|
|
|
233933 |
# not on RHEL because firewalld-filesystem appeared in 7.3
|
|
|
233933 |
# when EL7 rpm gets weak dependencies we can add a Suggests:
|
|
|
233933 |
Requires: firewalld-filesystem
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
233933 |
Requires: rpcbind
|
|
|
233933 |
%else
|
|
|
233933 |
Requires: portmap
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
233933 |
Requires: python-argparse
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
|
233933 |
Requires: python%{_pythonver}-pyxattr
|
|
|
233933 |
%else
|
|
|
233933 |
Requires: pyxattr
|
|
|
233933 |
%endif
|
|
|
233933 |
%if (0%{?_with_valgrind:1})
|
|
|
233933 |
Requires: valgrind
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%description server
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the glusterfs server daemon.
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%package client-xlators
|
|
|
233933 |
Summary: GlusterFS client-side translators
|
|
|
233933 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
233933 |
|
|
|
233933 |
%description client-xlators
|
|
|
233933 |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
233933 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
233933 |
or TCP/IP interconnect into one large parallel network file
|
|
|
233933 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
233933 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
233933 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
233933 |
is in user space and easily manageable.
|
|
|
233933 |
|
|
|
233933 |
This package provides the translators needed on any GlusterFS client.
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_events:1} )
|
|
|
233933 |
%package events
|
|
|
233933 |
Summary: GlusterFS Events
|
|
|
233933 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
233933 |
Requires: python%{_pythonver} python%{_pythonver}-prettytable
|
|
|
233933 |
Requires: python%{_pythonver}-gluster = %{version}-%{release}
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
|
|
|
233933 |
Requires: python-requests
|
|
|
233933 |
%else
|
|
|
233933 |
Requires: python%{_pythonver}-requests
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
233933 |
Requires: python-argparse
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%{?systemd_requires}
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%description events
|
|
|
233933 |
GlusterFS Events
|
|
|
233933 |
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%prep
|
|
|
233933 |
%setup -q -n %{name}-%{version}%{?prereltag}
|
|
|
233933 |
|
|
|
233933 |
# sanitization scriptlet for patches with file renames
|
|
|
233933 |
ls %{_topdir}/SOURCES/*.patch | sort | \
|
|
|
233933 |
while read p
|
|
|
233933 |
do
|
|
|
233933 |
# if the destination file exists, its most probably stale
|
|
|
233933 |
# so we must remove it
|
|
|
233933 |
rename_to=( $(grep -i 'rename to' $p | cut -f 3 -d ' ') )
|
|
|
233933 |
if [ ${#rename_to[*]} -gt 0 ]; then
|
|
|
233933 |
for f in ${rename_to[*]}
|
|
|
233933 |
do
|
|
|
233933 |
if [ -f $f ]; then
|
|
|
233933 |
rm -f $f
|
|
|
233933 |
elif [ -d $f ]; then
|
|
|
233933 |
rm -rf $f
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
SOURCE_FILES=( $(egrep '^\-\-\- a/' $p | cut -f 2- -d '/') )
|
|
|
233933 |
DEST_FILES=( $(egrep '^\+\+\+ b/' $p | cut -f 2- -d '/') )
|
|
|
233933 |
EXCLUDE_DOCS=()
|
|
|
233933 |
for idx in ${!SOURCE_FILES[@]}; do
|
|
|
233933 |
# skip the doc
|
|
|
233933 |
source_file=${SOURCE_FILES[$idx]}
|
|
|
233933 |
dest_file=${DEST_FILES[$idx]}
|
|
|
233933 |
if [[ "$dest_file" =~ ^doc/.+ ]]; then
|
|
|
233933 |
if [ "$source_file" != "dev/null" ] && [ ! -f "$dest_file" ]; then
|
|
|
233933 |
# if patch is being applied to a doc file and if the doc file
|
|
|
233933 |
# hasn't been added so far then we need to exclude it
|
|
|
233933 |
EXCLUDE_DOCS=( ${EXCLUDE_DOCS[*]} "$dest_file" )
|
|
|
233933 |
fi
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
EXCLUDE_DOCS_OPT=""
|
|
|
233933 |
for doc in ${EXCLUDE_DOCS}; do
|
|
|
233933 |
EXCLUDE_DOCS_OPT="--exclude=$doc $EXCLUDE_DOCS_OPT"
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
# HACK to fix build
|
|
|
233933 |
bn=$(basename $p)
|
|
|
233933 |
if [ "$bn" == "0085-Revert-all-remove-code-which-is-not-being-considered.patch" ]; then
|
|
|
233933 |
(patch -p1 -u -F3 < $p || :)
|
|
|
233933 |
if [ -f libglusterfs/Makefile.am.rej ]; then
|
|
|
233933 |
sed -i -e 's/^SUBDIRS = src/SUBDIRS = src src\/gfdb/g;s/^CLEANFILES = /CLEANFILES =/g' libglusterfs/Makefile.am
|
|
|
233933 |
fi
|
|
|
233933 |
elif [ "$bn" == "0053-Revert-packaging-ganesha-remove-glusterfs-ganesha-su.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
elif [ "$bn" == "0055-Revert-storhaug-HA-first-step-remove-resource-agents.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
elif [ "$bn" == "0090-Revert-build-conditionally-build-legacy-gNFS-server-.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
elif [ "$bn" == "0117-spec-Remove-thin-arbiter-package.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
elif [ "$bn" == "0023-hooks-remove-selinux-hooks.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
elif [ "$bn" == "0042-spec-client-server-Builds-are-failing-on-rhel-6.patch" ]; then
|
|
|
233933 |
(patch -p1 < $p || :)
|
|
|
233933 |
else
|
|
|
233933 |
# apply the patch with 'git apply'
|
|
|
233933 |
git apply -p1 --exclude=rfc.sh \
|
|
|
233933 |
--exclude=.gitignore \
|
|
|
233933 |
--exclude=.testignore \
|
|
|
233933 |
--exclude=MAINTAINERS \
|
|
|
233933 |
--exclude=extras/checkpatch.pl \
|
|
|
233933 |
--exclude=build-aux/checkpatch.pl \
|
|
|
233933 |
--exclude='tests/*' \
|
|
|
233933 |
${EXCLUDE_DOCS_OPT} \
|
|
|
233933 |
$p
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
echo "fixing python shebangs..."
|
|
|
233933 |
%if ( %{_usepython3} )
|
|
|
233933 |
for i in `find . -type f -exec bash -c "if file {} | grep 'Python script, ASCII text executable' >/dev/null; then echo {}; fi" ';'`; do
|
|
|
233933 |
sed -i -e 's|^#!/usr/bin/python.*|#!%{__python3}|' -e 's|^#!/usr/bin/env python.*|#!%{__python3}|' $i
|
|
|
233933 |
done
|
|
|
233933 |
%else
|
|
|
233933 |
for f in api events extras geo-replication libglusterfs tools xlators; do
|
|
|
233933 |
find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \;
|
|
|
233933 |
done
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%build
|
|
|
233933 |
|
|
|
233933 |
# In RHEL7 few hardening flags are available by default, however the RELRO
|
|
|
233933 |
# default behaviour is partial, convert to full
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
233933 |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
233933 |
export LDFLAGS
|
|
|
233933 |
%else
|
|
|
233933 |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
233933 |
CFLAGS="$RPM_OPT_FLAGS -fPIE -DPIE"
|
|
|
233933 |
LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro,-z,now"
|
|
|
233933 |
%else
|
|
|
233933 |
#It appears that with gcc-4.1.2 in RHEL5 there is an issue using both -fPIC and
|
|
|
233933 |
# -fPIE that makes -z relro not work; -fPIE seems to undo what -fPIC does
|
|
|
233933 |
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
|
|
|
233933 |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
233933 |
%endif
|
|
|
233933 |
export CFLAGS
|
|
|
233933 |
export LDFLAGS
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
./autogen.sh && %configure \
|
|
|
233933 |
%{?_with_asan} \
|
|
|
233933 |
%{?_with_cmocka} \
|
|
|
233933 |
%{?_with_debug} \
|
|
|
233933 |
%{?_with_firewalld} \
|
|
|
233933 |
%{?_with_tmpfilesdir} \
|
|
|
233933 |
%{?_with_tsan} \
|
|
|
233933 |
%{?_with_valgrind} \
|
|
|
233933 |
%{?_without_epoll} \
|
|
|
233933 |
%{?_without_events} \
|
|
|
233933 |
%{?_without_fusermount} \
|
|
|
233933 |
%{?_without_georeplication} \
|
|
|
233933 |
%{?_without_ocf} \
|
|
|
233933 |
%{?_without_rdma} \
|
|
|
233933 |
%{?_without_server} \
|
|
|
233933 |
%{?_without_syslog} \
|
|
|
233933 |
%{?_without_tiering} \
|
|
|
233933 |
%{?_with_ipv6default} \
|
|
|
233933 |
%{?_without_libtirpc}
|
|
|
233933 |
|
|
|
233933 |
# fix hardening and remove rpath in shlibs
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
233933 |
sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
|
|
|
233933 |
%endif
|
|
|
233933 |
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
|
|
|
233933 |
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
|
|
|
233933 |
|
|
|
233933 |
make %{?_smp_mflags}
|
|
|
233933 |
|
|
|
233933 |
%check
|
|
|
233933 |
make check
|
|
|
233933 |
|
|
|
233933 |
%install
|
|
|
233933 |
rm -rf %{buildroot}
|
|
|
233933 |
make install DESTDIR=%{buildroot}
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
install -D -p -m 0644 %{SOURCE1} \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
233933 |
install -D -p -m 0644 %{SOURCE2} \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
|
|
|
233933 |
%else
|
|
|
233933 |
install -D -p -m 0644 extras/glusterd-sysconfig \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
|
|
|
233933 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
|
|
|
233933 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
|
|
|
233933 |
mkdir -p %{buildroot}%{_rundir}/gluster
|
|
|
233933 |
|
|
|
233933 |
# Remove unwanted files from all the shared libraries
|
|
|
233933 |
find %{buildroot}%{_libdir} -name '*.a' -delete
|
|
|
233933 |
find %{buildroot}%{_libdir} -name '*.la' -delete
|
|
|
233933 |
|
|
|
233933 |
# Remove installed docs, the ones we want are included by %%doc, in
|
|
|
233933 |
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
|
|
|
233933 |
# on the distribution
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
233933 |
rm -rf %{buildroot}%{_pkgdocdir}/*
|
|
|
233933 |
%else
|
|
|
233933 |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
|
|
|
233933 |
mkdir -p %{buildroot}%{_pkgdocdir}
|
|
|
233933 |
%endif
|
|
|
233933 |
head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog
|
|
|
233933 |
cat << EOM >> ChangeLog
|
|
|
233933 |
|
|
|
233933 |
More commit messages for this ChangeLog can be found at
|
|
|
233933 |
https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prereltag}
|
|
|
233933 |
EOM
|
|
|
233933 |
|
|
|
233933 |
# Remove benchmarking and other unpackaged files
|
|
|
233933 |
# make install always puts these in %%{_defaultdocdir}/%%{name} so don't
|
|
|
233933 |
# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions
|
|
|
233933 |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking
|
|
|
233933 |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el
|
|
|
233933 |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
# Create working directory
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
|
|
|
233933 |
|
|
|
233933 |
# Update configuration file to /var/lib working directory
|
|
|
233933 |
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# Install glusterfsd .service or init.d file
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
%service_install glusterfsd %{glusterfsd_svcfile}
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
install -D -p -m 0644 extras/glusterfs-logrotate \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
|
|
|
233933 |
|
|
|
233933 |
# ganesha ghosts
|
|
|
233933 |
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
|
|
|
233933 |
mkdir -p %{buildroot}%{_sysconfdir}/ganesha
|
|
|
233933 |
touch %{buildroot}%{_sysconfdir}/ganesha/ganesha-ha.conf
|
|
|
233933 |
mkdir -p %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/
|
|
|
233933 |
touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
|
|
|
233933 |
touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
|
|
|
233933 |
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
233933 |
install -D -p -m 0644 extras/glusterfs-georep-logrotate \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
|
|
|
233933 |
touch %{buildroot}%{_sharedstatedir}/glusterd/options
|
|
|
233933 |
subdirs=(add-brick create copy-file delete gsync-create remove-brick reset set start stop)
|
|
|
233933 |
for dir in ${subdirs[@]}; do
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
|
|
|
233933 |
done
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/bitd
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/quotad
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/scrub
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/snaps
|
|
|
233933 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/ss_brick
|
|
|
233933 |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
233933 |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
|
|
|
233933 |
|
|
|
233933 |
## Install bash completion for cli
|
|
|
233933 |
install -p -m 0744 -D extras/command-completion/gluster.bash \
|
|
|
233933 |
%{buildroot}%{_sysconfdir}/bash_completion.d/gluster
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
echo "RHGS 3.5" > %{buildroot}%{_datadir}/glusterfs/release
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%clean
|
|
|
233933 |
rm -rf %{buildroot}
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%post should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%post
|
|
|
233933 |
/sbin/ldconfig
|
|
|
233933 |
%if ( 0%{!?_without_syslog:1} )
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
233933 |
%systemd_postun_with_restart rsyslog
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
exit 0
|
|
|
233933 |
|
|
|
233933 |
%post api
|
|
|
233933 |
/sbin/ldconfig
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_events:1} )
|
|
|
233933 |
%post events
|
|
|
233933 |
%service_enable glustereventsd
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
|
|
|
233933 |
%post ganesha
|
|
|
233933 |
semanage boolean -m ganesha_use_fusefs --on
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
%post geo-replication
|
|
|
233933 |
if [ $1 -ge 1 ]; then
|
|
|
233933 |
%systemd_postun_with_restart glusterd
|
|
|
233933 |
fi
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%post libs
|
|
|
233933 |
/sbin/ldconfig
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%post server
|
|
|
233933 |
# Legacy server
|
|
|
233933 |
%service_enable glusterd
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
%service_enable glusterfsd
|
|
|
233933 |
%endif
|
|
|
233933 |
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
|
|
|
233933 |
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
|
|
|
233933 |
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
|
|
|
233933 |
# "cmd_history.log" to retain cli command history contents.
|
|
|
233933 |
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
|
|
|
233933 |
mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
|
|
|
233933 |
%{_localstatedir}/log/glusterfs/cmd_history.log
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
|
|
|
233933 |
# there are any files in /etc from a prior gluster.org install, move them
|
|
|
233933 |
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
|
|
|
233933 |
# in gluster.org RPMs.) Be careful to copy them on the off chance that
|
|
|
233933 |
# /etc and /var/lib are on separate file systems
|
|
|
233933 |
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
|
|
|
233933 |
mkdir -p %{_sharedstatedir}/glusterd
|
|
|
233933 |
cp -a /etc/glusterd %{_sharedstatedir}/glusterd
|
|
|
233933 |
rm -rf /etc/glusterd
|
|
|
233933 |
ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
# Rename old volfiles in an RPM-standard way. These aren't actually
|
|
|
233933 |
# considered package config files, so %%config doesn't work for them.
|
|
|
233933 |
if [ -d %{_sharedstatedir}/glusterd/vols ]; then
|
|
|
233933 |
for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
|
|
|
233933 |
newfile=${file}.rpmsave
|
|
|
233933 |
echo "warning: ${file} saved as ${newfile}"
|
|
|
233933 |
cp ${file} ${newfile}
|
|
|
233933 |
done
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
# add marker translator
|
|
|
233933 |
# but first make certain that there are no old libs around to bite us
|
|
|
233933 |
# BZ 834847
|
|
|
233933 |
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
|
|
|
233933 |
rm -f /etc/ld.so.conf.d/glusterfs.conf
|
|
|
233933 |
/sbin/ldconfig
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
%if (0%{?_with_firewalld:1})
|
|
|
233933 |
%firewalld_reload
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%pre should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%pre
|
|
|
233933 |
getent group gluster > /dev/null || groupadd -r gluster
|
|
|
233933 |
getent passwd gluster > /dev/null || useradd -r -g gluster -d %{_rundir}/gluster -s /sbin/nologin -c "GlusterFS daemons" gluster
|
|
|
233933 |
exit 0
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%preun should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%if ( 0%{!?_without_events:1} )
|
|
|
233933 |
%preun events
|
|
|
233933 |
if [ $1 -eq 0 ]; then
|
|
|
233933 |
if [ -f %glustereventsd_svcfile ]; then
|
|
|
233933 |
%service_stop glustereventsd
|
|
|
233933 |
%systemd_preun glustereventsd
|
|
|
233933 |
fi
|
|
|
233933 |
fi
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%preun server
|
|
|
233933 |
if [ $1 -eq 0 ]; then
|
|
|
233933 |
if [ -f %glusterfsd_svcfile ]; then
|
|
|
233933 |
%service_stop glusterfsd
|
|
|
233933 |
fi
|
|
|
233933 |
%service_stop glusterd
|
|
|
233933 |
if [ -f %glusterfsd_svcfile ]; then
|
|
|
233933 |
%systemd_preun glusterfsd
|
|
|
233933 |
fi
|
|
|
233933 |
%systemd_preun glusterd
|
|
|
233933 |
fi
|
|
|
233933 |
if [ $1 -ge 1 ]; then
|
|
|
233933 |
if [ -f %glusterfsd_svcfile ]; then
|
|
|
233933 |
%systemd_postun_with_restart glusterfsd
|
|
|
233933 |
fi
|
|
|
233933 |
%systemd_postun_with_restart glusterd
|
|
|
233933 |
fi
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%postun should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%postun
|
|
|
233933 |
%if ( 0%{!?_without_syslog:1} )
|
|
|
233933 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
233933 |
%systemd_postun_with_restart rsyslog
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%postun server
|
|
|
233933 |
%if (0%{?_with_firewalld:1})
|
|
|
233933 |
%firewalld_reload
|
|
|
233933 |
%endif
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
|
|
|
233933 |
%postun ganesha
|
|
|
233933 |
semanage boolean -m ganesha_use_fusefs --off
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%trigger should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
|
|
|
233933 |
%trigger ganesha -- selinux-policy-targeted
|
|
|
233933 |
semanage boolean -m ganesha_use_fusefs --on
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%triggerun should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
|
|
|
233933 |
%triggerun ganesha -- selinux-policy-targeted
|
|
|
233933 |
semanage boolean -m ganesha_use_fusefs --off
|
|
|
233933 |
exit 0
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %%files should be placed here and keep them grouped
|
|
|
233933 |
##
|
|
|
233933 |
%files
|
|
|
233933 |
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS COMMITMENT
|
|
|
233933 |
%{_mandir}/man8/*gluster*.8*
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%exclude %{_mandir}/man8/gluster.8*
|
|
|
233933 |
%endif
|
|
|
233933 |
%dir %{_localstatedir}/log/glusterfs
|
|
|
233933 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
233933 |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
233933 |
%endif
|
|
|
233933 |
%if 0%{?!_without_server:1}
|
|
|
233933 |
%dir %{_datadir}/glusterfs
|
|
|
233933 |
%dir %{_datadir}/glusterfs/scripts
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
|
|
|
233933 |
%endif
|
|
|
233933 |
# xlators that are needed on the client- and on the server-side
|
|
|
233933 |
%dir %{_libdir}/glusterfs
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/auth
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/addr.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/login.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/socket.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/delay-gen.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/sink.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cdc.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changelog.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/utime.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/gfid-access.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/namespace.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/read-only.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/shard.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-client.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/worm.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cloudsync.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/meta.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-cache.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-threads.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/md-cache.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/open-behind.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/quick-read.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/read-ahead.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/readdir-ahead.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/stat-prefetch.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/write-behind.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/nl-cache.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so
|
|
|
233933 |
%dir %attr(0775,gluster,gluster) %{_rundir}/gluster
|
|
|
233933 |
%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1}
|
|
|
233933 |
%{_tmpfilesdir}/gluster.conf
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?_without_extra_xlators:1} )
|
|
|
233933 |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
233933 |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?_without_regression_tests:1} )
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/run-tests.sh
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/tests
|
|
|
233933 |
%endif
|
|
|
233933 |
%if 0%{?_without_server:1}
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/scripts/control-cpu-load.sh
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/scripts/control-mem.sh
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?_without_server:1} || 0%{?rhel} < 7 )
|
|
|
233933 |
#exclude ganesha related files for rhel 6 and client builds
|
|
|
233933 |
%exclude %{_sysconfdir}/ganesha/ganesha-ha.conf.sample
|
|
|
233933 |
%exclude %{_libexecdir}/ganesha/*
|
|
|
233933 |
%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?_without_server:1} )
|
|
|
233933 |
%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%files api
|
|
|
233933 |
%exclude %{_libdir}/*.so
|
|
|
233933 |
# libgfapi files
|
|
|
233933 |
%{_libdir}/libgfapi.*
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so
|
|
|
233933 |
|
|
|
233933 |
%files api-devel
|
|
|
233933 |
%{_libdir}/pkgconfig/glusterfs-api.pc
|
|
|
233933 |
%{_libdir}/libgfapi.so
|
|
|
233933 |
%dir %{_includedir}/glusterfs
|
|
|
233933 |
%dir %{_includedir}/glusterfs/api
|
|
|
233933 |
%{_includedir}/glusterfs/api/*
|
|
|
233933 |
|
|
|
233933 |
%files cli
|
|
|
233933 |
%{_sbindir}/gluster
|
|
|
233933 |
%{_mandir}/man8/gluster.8*
|
|
|
233933 |
%{_sysconfdir}/bash_completion.d/gluster
|
|
|
233933 |
|
|
|
233933 |
%files cloudsync-plugins
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsynccvlt.so
|
|
|
233933 |
|
|
|
233933 |
%files devel
|
|
|
233933 |
%dir %{_includedir}/glusterfs
|
|
|
233933 |
%{_includedir}/glusterfs/*
|
|
|
233933 |
%exclude %{_includedir}/glusterfs/api
|
|
|
233933 |
%exclude %{_libdir}/libgfapi.so
|
|
|
233933 |
%{_libdir}/*.so
|
|
|
233933 |
%if ( 0%{?_without_server:1} )
|
|
|
233933 |
%exclude %{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
233933 |
%exclude %{_libdir}/libgfchangelog.so
|
|
|
233933 |
%if ( 0%{!?_without_tiering:1} )
|
|
|
233933 |
%exclude %{_libdir}/pkgconfig/libgfdb.pc
|
|
|
233933 |
%endif
|
|
|
233933 |
%else
|
|
|
233933 |
%{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
233933 |
%if ( 0%{!?_without_tiering:1} )
|
|
|
233933 |
%{_libdir}/pkgconfig/libgfdb.pc
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%files client-xlators
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
233933 |
%files extra-xlators
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%files fuse
|
|
|
233933 |
# glusterfs is a symlink to glusterfsd, -server depends on -fuse.
|
|
|
233933 |
%{_sbindir}/glusterfs
|
|
|
233933 |
%{_sbindir}/glusterfsd
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so
|
|
|
233933 |
/sbin/mount.glusterfs
|
|
|
233933 |
%if ( 0%{!?_without_fusermount:1} )
|
|
|
233933 |
%{_bindir}/fusermount-glusterfs
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
%files geo-replication
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
233933 |
|
|
|
233933 |
%{_sbindir}/gfind_missing_files
|
|
|
233933 |
%{_sbindir}/gluster-mountbroker
|
|
|
233933 |
%dir %{_libexecdir}/glusterfs
|
|
|
233933 |
%dir %{_libexecdir}/glusterfs/python
|
|
|
233933 |
%dir %{_libexecdir}/glusterfs/python/syncdaemon
|
|
|
233933 |
%{_libexecdir}/glusterfs/gsyncd
|
|
|
233933 |
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
|
|
233933 |
%{_libexecdir}/glusterfs/gverify.sh
|
|
|
233933 |
%{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_gsec_create
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_mountbroker
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_mountbroker.py*
|
|
|
233933 |
%{_libexecdir}/glusterfs/gfind_missing_files
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_georep-sshkey.py*
|
|
|
233933 |
%{_sbindir}/gluster-georep-sshkey
|
|
|
233933 |
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
|
|
|
233933 |
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
|
|
|
233933 |
|
|
|
233933 |
%dir %{_datadir}/glusterfs
|
|
|
233933 |
%dir %{_datadir}/glusterfs/scripts
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/get-gfid.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/slave-upgrade.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/gsync-sync-gfid
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/schedule_georep.py*
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%files libs
|
|
|
233933 |
%{_libdir}/*.so.*
|
|
|
233933 |
%exclude %{_libdir}/libgfapi.*
|
|
|
233933 |
%if ( 0%{!?_without_tiering:1} )
|
|
|
233933 |
# libgfdb is only needed server-side
|
|
|
233933 |
%exclude %{_libdir}/libgfdb.*
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%files -n python%{_pythonver}-gluster
|
|
|
233933 |
# introducing glusterfs module in site packages.
|
|
|
233933 |
# so that all other gluster submodules can reside in the same namespace.
|
|
|
233933 |
%if ( %{_usepython3} )
|
|
|
233933 |
%dir %{python3_sitelib}/gluster
|
|
|
233933 |
%{python3_sitelib}/gluster/__init__.*
|
|
|
233933 |
%{python3_sitelib}/gluster/__pycache__
|
|
|
233933 |
%{python3_sitelib}/gluster/cliutils
|
|
|
233933 |
%else
|
|
|
233933 |
%dir %{python2_sitelib}/gluster
|
|
|
233933 |
%{python2_sitelib}/gluster/__init__.*
|
|
|
233933 |
%{python2_sitelib}/gluster/cliutils
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
233933 |
%files rdma
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
233933 |
%files regression-tests
|
|
|
233933 |
%dir %{_datadir}/glusterfs
|
|
|
233933 |
%{_datadir}/glusterfs/run-tests.sh
|
|
|
233933 |
%{_datadir}/glusterfs/tests
|
|
|
233933 |
%exclude %{_datadir}/glusterfs/tests/vagrant
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
|
|
|
233933 |
%files ganesha
|
|
|
233933 |
%dir %{_libexecdir}/ganesha
|
|
|
233933 |
%{_sysconfdir}/ganesha/ganesha-ha.conf.sample
|
|
|
233933 |
%{_libexecdir}/ganesha/*
|
|
|
233933 |
%{_prefix}/lib/ocf/resource.d/heartbeat/*
|
|
|
233933 |
%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
|
|
|
233933 |
%ghost %attr(0644,-,-) %config(noreplace) %{_sysconfdir}/ganesha/ganesha-ha.conf
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha
|
|
|
233933 |
%ghost %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
|
|
|
233933 |
%ghost %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_ocf:1} )
|
|
|
233933 |
%files resource-agents
|
|
|
233933 |
# /usr/lib is the standard for OCF, also on x86_64
|
|
|
233933 |
%{_prefix}/lib/ocf/resource.d/glusterfs
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_server:1} )
|
|
|
233933 |
%files server
|
|
|
233933 |
%doc extras/clear_xattrs.sh
|
|
|
233933 |
# sysconf
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/glusterfs
|
|
|
233933 |
%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol
|
|
|
233933 |
%exclude %{_sysconfdir}/glusterfs/eventsconfig.json
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# init files
|
|
|
233933 |
%glusterd_svcfile
|
|
|
233933 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
233933 |
%glusterfsd_svcfile
|
|
|
233933 |
%endif
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%glusterfssharedstorage_svcfile
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# binaries
|
|
|
233933 |
%{_sbindir}/glusterd
|
|
|
233933 |
%{_sbindir}/glfsheal
|
|
|
233933 |
%{_sbindir}/gf_attach
|
|
|
233933 |
%{_sbindir}/gluster-setgfid2path
|
|
|
233933 |
# {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a
|
|
|
233933 |
# symlink. The binary itself (and symlink) are part of the glusterfs-fuse
|
|
|
233933 |
# package, because glusterfs-server depends on that anyway.
|
|
|
233933 |
|
|
|
233933 |
# Manpages
|
|
|
233933 |
%{_mandir}/man8/gluster-setgfid2path.8*
|
|
|
233933 |
|
|
|
233933 |
# xlators
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so
|
|
|
233933 |
%if ( 0%{!?_without_tiering:1} )
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
|
|
|
233933 |
%{_libdir}/libgfdb.so.*
|
|
|
233933 |
%endif
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/selinux.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/leases.so
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt/glusterd.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/posix.so
|
|
|
233933 |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance
|
|
|
233933 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so
|
|
|
233933 |
|
|
|
233933 |
# snap_scheduler
|
|
|
233933 |
%{_sbindir}/snap_scheduler.py
|
|
|
233933 |
%{_sbindir}/gcron.py
|
|
|
233933 |
%{_sbindir}/conf.py
|
|
|
233933 |
|
|
|
233933 |
# /var/lib/glusterd, e.g. hookscripts, etc.
|
|
|
233933 |
%ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
|
|
|
233933 |
%ghost %attr(0600,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/options
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/bitd
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/virt
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/gluster-block
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt
|
|
|
233933 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/post
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
|
|
|
233933 |
%{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/post
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/pre
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S30samba-start.sh
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
|
|
|
233933 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S30samba-stop.sh
|
|
|
233933 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
|
|
|
233933 |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
|
|
|
233933 |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/quotad
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/scrub
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/snaps
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/ss_brick
|
|
|
233933 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
|
|
|
233933 |
|
|
|
233933 |
# Extra utility script
|
|
|
233933 |
%dir %{_libexecdir}/glusterfs
|
|
|
233933 |
%{_datadir}/glusterfs/release
|
|
|
233933 |
%dir %{_datadir}/glusterfs/scripts
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%{_libexecdir}/glusterfs/mount-shared-storage.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/control-cpu-load.sh
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/control-mem.sh
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# Incrementalapi
|
|
|
233933 |
%{_libexecdir}/glusterfs/glusterfind
|
|
|
233933 |
%{_bindir}/glusterfind
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_add_secret_pub
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{?_with_firewalld:1} )
|
|
|
233933 |
%{_prefix}/lib/firewalld/services/glusterfs.xml
|
|
|
233933 |
%endif
|
|
|
233933 |
# end of server files
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
# Events
|
|
|
233933 |
%if ( 0%{!?_without_events:1} )
|
|
|
233933 |
%files events
|
|
|
233933 |
%config(noreplace) %{_sysconfdir}/glusterfs/eventsconfig.json
|
|
|
233933 |
%dir %{_sharedstatedir}/glusterd
|
|
|
233933 |
%dir %{_sharedstatedir}/glusterd/events
|
|
|
233933 |
%dir %{_libexecdir}/glusterfs
|
|
|
233933 |
%{_libexecdir}/glusterfs/gfevents
|
|
|
233933 |
%{_libexecdir}/glusterfs/peer_eventsapi.py*
|
|
|
233933 |
%{_sbindir}/glustereventsd
|
|
|
233933 |
%{_sbindir}/gluster-eventsapi
|
|
|
233933 |
%{_datadir}/glusterfs/scripts/eventsdash.py*
|
|
|
233933 |
%if ( 0%{?_with_systemd:1} )
|
|
|
233933 |
%{_unitdir}/glustereventsd.service
|
|
|
233933 |
%else
|
|
|
233933 |
%{_sysconfdir}/init.d/glustereventsd
|
|
|
233933 |
%endif
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
##-----------------------------------------------------------------------------
|
|
|
233933 |
## All %pretrans should be placed here and keep them sorted
|
|
|
233933 |
##
|
|
|
233933 |
%if 0%{!?_without_server:1}
|
|
|
233933 |
%pretrans -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
echo "ERROR: Distribute volumes detected. In-service rolling upgrade requires distribute volume(s) to be stopped."
|
|
|
233933 |
echo "ERROR: Please stop distribute volume(s) before proceeding... exiting!"
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
echo "WARNING: Updating glusterfs requires its processes to be killed. This action does NOT incur downtime."
|
|
|
233933 |
echo "WARNING: Ensure to wait for the upgraded server to finish healing before proceeding."
|
|
|
233933 |
echo "WARNING: Refer upgrade section of install guide for more details"
|
|
|
233933 |
echo "Please run # service glusterd stop; pkill glusterfs; pkill glusterfsd; pkill gsyncd.py;"
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans api -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans api-devel -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans cli -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans client-xlators -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans fuse -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
233933 |
%pretrans geo-replication -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans libs -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
233933 |
%pretrans rdma -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%if ( 0%{!?_without_ocf:1} )
|
|
|
233933 |
%pretrans resource-agents -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
|
|
|
233933 |
%pretrans server -p <lua>
|
|
|
233933 |
if not posix.access("/bin/bash", "x") then
|
|
|
233933 |
-- initial installation, no shell, no running glusterfsd
|
|
|
233933 |
return 0
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
-- TODO: move this completely to a lua script
|
|
|
233933 |
-- For now, we write a temporary bash script and execute that.
|
|
|
233933 |
|
|
|
233933 |
script = [[#!/bin/sh
|
|
|
233933 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
pushd . > /dev/null 2>&1
|
|
|
233933 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
233933 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
233933 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
done
|
|
|
233933 |
|
|
|
233933 |
popd > /dev/null 2>&1
|
|
|
233933 |
exit 1;
|
|
|
233933 |
fi
|
|
|
233933 |
]]
|
|
|
233933 |
|
|
|
233933 |
ok, how, val = os.execute(script)
|
|
|
233933 |
if not (ok == 0) then
|
|
|
233933 |
error("Detected running glusterfs processes", ok)
|
|
|
233933 |
end
|
|
|
233933 |
|
|
|
233933 |
%posttrans server
|
|
|
233933 |
pidof -c -o %PPID -x glusterd &> /dev/null
|
|
|
233933 |
if [ $? -eq 0 ]; then
|
|
|
233933 |
kill -9 `pgrep -f gsyncd.py` &> /dev/null
|
|
|
233933 |
|
|
|
233933 |
killall --wait -SIGTERM glusterd &> /dev/null
|
|
|
233933 |
|
|
|
233933 |
if [ "$?" != "0" ]; then
|
|
|
233933 |
echo "killall failed while killing glusterd"
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
glusterd --xlator-option *.upgrade=on -N
|
|
|
233933 |
|
|
|
233933 |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
233933 |
#rpm_script_t context.
|
|
|
233933 |
rm -rf /var/run/glusterd.socket
|
|
|
233933 |
|
|
|
233933 |
# glusterd _was_ running, we killed it, it exited after *.upgrade=on,
|
|
|
233933 |
# so start it again
|
|
|
233933 |
%service_start glusterd
|
|
|
233933 |
else
|
|
|
233933 |
glusterd --xlator-option *.upgrade=on -N
|
|
|
233933 |
|
|
|
233933 |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
233933 |
#rpm_script_t context.
|
|
|
233933 |
rm -rf /var/run/glusterd.socket
|
|
|
233933 |
fi
|
|
|
233933 |
|
|
|
233933 |
%endif
|
|
|
233933 |
|
|
|
233933 |
%changelog
|
|
|
583780 |
* Tue Oct 29 2019 CentOS Sources <bugs@centos.org> - 6.0-12.el7.centos
|
|
|
583780 |
- remove vendor and/or packager lines
|
|
|
583780 |
|
|
|
233933 |
* Fri Aug 09 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-12
|
|
|
233933 |
- fixes bugs bz#1730914 bz#1731448 bz#1732770 bz#1732792 bz#1733531
|
|
|
233933 |
bz#1734305 bz#1734534 bz#1734734 bz#1735514 bz#1737705 bz#1732774
|
|
|
233933 |
bz#1732793
|
|
|
233933 |
|
|
|
233933 |
* Tue Aug 06 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-11
|
|
|
233933 |
- fixes bugs bz#1733520 bz#1734423
|
|
|
233933 |
|
|
|
233933 |
* Fri Aug 02 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-10
|
|
|
233933 |
- fixes bugs bz#1713890
|
|
|
233933 |
|
|
|
233933 |
* Tue Jul 23 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-9
|
|
|
233933 |
- fixes bugs bz#1708064 bz#1708180 bz#1715422 bz#1720992 bz#1722757
|
|
|
233933 |
|
|
|
233933 |
* Tue Jul 16 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-8
|
|
|
233933 |
- fixes bugs bz#1698435 bz#1712591 bz#1715447 bz#1720488 bz#1722209
|
|
|
233933 |
bz#1722512 bz#1724089 bz#1726991 bz#1727785 bz#1729108
|
|
|
233933 |
|
|
|
233933 |
* Fri Jun 28 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-7
|
|
|
233933 |
- fixes bugs bz#1573077 bz#1600918 bz#1703423 bz#1704207 bz#1708064
|
|
|
233933 |
bz#1709301 bz#1713664 bz#1716760 bz#1717784 bz#1720163 bz#1720192
|
|
|
233933 |
bz#1720551 bz#1721351 bz#1721357 bz#1721477 bz#1722131 bz#1722331
|
|
|
233933 |
bz#1722509 bz#1722801 bz#1720248
|
|
|
233933 |
|
|
|
233933 |
* Fri Jun 14 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-6
|
|
|
233933 |
- fixes bugs bz#1668001 bz#1708043 bz#1708183 bz#1710701
|
|
|
233933 |
bz#1719640 bz#1720079 bz#1720248 bz#1720318 bz#1720461
|
|
|
233933 |
|
|
|
233933 |
* Tue Jun 11 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-5
|
|
|
233933 |
- fixes bugs bz#1573077 bz#1694595 bz#1703434 bz#1714536 bz#1714588
|
|
|
233933 |
bz#1715407 bz#1715438 bz#1705018
|
|
|
233933 |
|
|
|
233933 |
* Fri Jun 07 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-4
|
|
|
233933 |
- fixes bugs bz#1480907 bz#1702298 bz#1703455 bz#1704181 bz#1707246
|
|
|
233933 |
bz#1708067 bz#1708116 bz#1708121 bz#1709087 bz#1711249 bz#1711296
|
|
|
233933 |
bz#1714078 bz#1714124 bz#1716385 bz#1716626 bz#1716821 bz#1716865 bz#1717927
|
|
|
233933 |
|
|
|
233933 |
* Tue May 14 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-3
|
|
|
233933 |
- fixes bugs bz#1583585 bz#1671862 bz#1702686 bz#1703434 bz#1703753
|
|
|
233933 |
bz#1703897 bz#1704562 bz#1704769 bz#1704851 bz#1706683 bz#1706776 bz#1706893
|
|
|
233933 |
|
|
|
233933 |
* Thu Apr 25 2019 Milind Changire <mchangir@redhat.com> - 6.0-2
|
|
|
233933 |
- fixes bugs bz#1471742 bz#1652461 bz#1671862 bz#1676495 bz#1691620
|
|
|
233933 |
bz#1696334 bz#1696903 bz#1697820 bz#1698436 bz#1698728 bz#1699709 bz#1699835
|
|
|
233933 |
bz#1702240
|
|
|
233933 |
|
|
|
233933 |
* Mon Apr 08 2019 Milind Changire <mchangir@redhat.com> - 6.0-1
|
|
|
233933 |
- rebase to upstream glusterfs at v6.0
|
|
|
233933 |
- fixes bugs bz#1493284 bz#1578703 bz#1600918 bz#1670415 bz#1691620
|
|
|
233933 |
bz#1693935 bz#1695057
|
|
|
233933 |
|