17b94a
%global _hardened_build 1
17b94a
17b94a
%global _for_fedora_koji_builds 0
17b94a
17b94a
# uncomment and add '%' to use the prereltag for pre-releases
17b94a
# %%global prereltag qa3
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All argument definitions should be placed here and keep them sorted
17b94a
##
17b94a
17b94a
# asan
17b94a
# if you wish to compile an rpm with address sanitizer...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with asan
17b94a
%{?_with_asan:%global _with_asan --enable-asan}
17b94a
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
%global _with_asan %{nil}
17b94a
%endif
17b94a
17b94a
# bd
17b94a
# if you wish to compile an rpm without the BD map support...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without bd
17b94a
%{?_without_bd:%global _without_bd --disable-bd-xlator}
17b94a
17b94a
%if ( 0%{?rhel} && 0%{?rhel} > 7 )
17b94a
%global _without_bd --without-bd
17b94a
%endif
17b94a
17b94a
# cmocka
17b94a
# if you wish to compile an rpm with cmocka unit testing...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with cmocka
17b94a
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
17b94a
17b94a
# debug
17b94a
# if you wish to compile an rpm with debugging...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with debug
17b94a
%{?_with_debug:%global _with_debug --enable-debug}
17b94a
17b94a
# epoll
17b94a
# if you wish to compile an rpm without epoll...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without epoll
17b94a
%{?_without_epoll:%global _without_epoll --disable-epoll}
17b94a
17b94a
# fusermount
17b94a
# if you wish to compile an rpm without fusermount...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without fusermount
17b94a
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
17b94a
17b94a
# geo-rep
17b94a
# if you wish to compile an rpm without geo-replication support, compile like this...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without georeplication
17b94a
%{?_without_georeplication:%global _without_georeplication --disable-georeplication}
17b94a
17b94a
# ipv6default
17b94a
# if you wish to compile an rpm with IPv6 default...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with ipv6default
17b94a
%{?_with_ipv6default:%global _with_ipv6default --with-ipv6-default}
17b94a
17b94a
# libtirpc
17b94a
# if you wish to compile an rpm without TIRPC (i.e. use legacy glibc rpc)
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without libtirpc
17b94a
%{?_without_libtirpc:%global _without_libtirpc --without-libtirpc}
17b94a
17b94a
# Do not use libtirpc on EL6, it does not have xdr_uint64_t() and xdr_uint32_t
17b94a
# Do not use libtirpc on EL7, it does not have xdr_sizeof()
17b94a
%if ( 0%{?rhel} && 0%{?rhel} <= 7 )
17b94a
%global _without_libtirpc --without-libtirpc
17b94a
%endif
17b94a
17b94a
17b94a
# ocf
17b94a
# if you wish to compile an rpm without the OCF resource agents...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without ocf
17b94a
%{?_without_ocf:%global _without_ocf --without-ocf}
17b94a
17b94a
# rdma
17b94a
# if you wish to compile an rpm without rdma support, compile like this...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without rdma
17b94a
%{?_without_rdma:%global _without_rdma --disable-ibverbs}
17b94a
17b94a
# No RDMA Support on 32-bit ARM
17b94a
%ifarch armv7hl
17b94a
%global _without_rdma --disable-ibverbs
17b94a
%endif
17b94a
17b94a
# server
17b94a
# if you wish to build rpms without server components, compile like this
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without server
17b94a
%{?_without_server:%global _without_server --without-server}
17b94a
17b94a
# disable server components forcefully as rhel <= 6
17b94a
%if ( 0%{?rhel} )
17b94a
%if (!(( "%{?dist}" == ".el6rhs" ) || ( "%{?dist}" == ".el7rhs" ) || ( "%{?dist}" == ".el7rhgs" ) || ( "%{?dist}" == ".el8rhgs" )))
17b94a
%global _without_server --without-server
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%global _without_extra_xlators 1
17b94a
%global _without_regression_tests 1
17b94a
17b94a
# syslog
17b94a
# if you wish to build rpms without syslog logging, compile like this
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --without syslog
17b94a
%{?_without_syslog:%global _without_syslog --disable-syslog}
17b94a
17b94a
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
17b94a
# Fedora deprecated syslog, see
17b94a
#  https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
17b94a
# (And what about RHEL7?)
17b94a
%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 )
17b94a
%global _without_syslog --disable-syslog
17b94a
%endif
17b94a
17b94a
# tsan
17b94a
# if you wish to compile an rpm with thread sanitizer...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with tsan
17b94a
%{?_with_tsan:%global _with_tsan --enable-tsan}
17b94a
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
%global _with_tsan %{nil}
17b94a
%endif
17b94a
17b94a
# valgrind
17b94a
# if you wish to compile an rpm to run all processes under valgrind...
17b94a
# rpmbuild -ta glusterfs-6.0.tar.gz --with valgrind
17b94a
%{?_with_valgrind:%global _with_valgrind --enable-valgrind}
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%global definitions should be placed here and keep them sorted
17b94a
##
17b94a
17b94a
# selinux booleans whose defalut value needs modification
17b94a
# these booleans will be consumed by "%%selinux_set_booleans" macro.
17b94a
%if ( 0%{?rhel} && 0%{?rhel} >= 8 )
17b94a
%global selinuxbooleans rsync_full_access=1 rsync_client=1
17b94a
%endif
17b94a
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
17b94a
%global _with_systemd true
17b94a
%endif
17b94a
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 7 )
17b94a
%global _with_firewalld --enable-firewalld
17b94a
%endif
17b94a
17b94a
%if 0%{?_tmpfilesdir:1}
17b94a
%global _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
17b94a
%else
17b94a
%global _with_tmpfilesdir --without-tmpfilesdir
17b94a
%endif
17b94a
17b94a
# without server should also disable some server-only components
17b94a
%if 0%{?_without_server:1}
17b94a
%global _without_events --disable-events
17b94a
%global _without_georeplication --disable-georeplication
17b94a
%global _without_tiering --disable-tiering
17b94a
%global _without_ocf --without-ocf
17b94a
%endif
17b94a
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
17b94a
%global _usepython3 1
17b94a
%global _pythonver 3
17b94a
%else
17b94a
%global _usepython3 0
17b94a
%global _pythonver 2
17b94a
%endif
17b94a
17b94a
# From https://fedoraproject.org/wiki/Packaging:Python#Macros
17b94a
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
17b94a
%{!?python2_sitelib: %global python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
17b94a
%{!?python2_sitearch: %global python2_sitearch %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
17b94a
%global _rundir %{_localstatedir}/run
17b94a
%endif
17b94a
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%global service_enable()   /bin/systemctl --quiet enable %1.service || : \
17b94a
%{nil}
17b94a
%global service_start()   /bin/systemctl --quiet start %1.service || : \
17b94a
%{nil}
17b94a
%global service_stop()    /bin/systemctl --quiet stop %1.service || :\
17b94a
%{nil}
17b94a
%global service_install() install -D -p -m 0644 %1.service %{buildroot}%2 \
17b94a
%{nil}
17b94a
# can't seem to make a generic macro that works
17b94a
%global glusterd_svcfile   %{_unitdir}/glusterd.service
17b94a
%global glusterfsd_svcfile %{_unitdir}/glusterfsd.service
17b94a
%global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service
17b94a
%global glustereventsd_svcfile %{_unitdir}/glustereventsd.service
17b94a
%global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service
17b94a
%else
17b94a
%global service_enable()  /sbin/chkconfig --add %1 >/dev/null 2>&1 || : \
17b94a
%{nil}
17b94a
%global systemd_preun() /sbin/chkconfig --del %1 >/dev/null 2>&1 || : \
17b94a
%{nil}
17b94a
%global systemd_postun_with_restart() /sbin/service %1 condrestart >/dev/null 2>&1 || : \
17b94a
%{nil}
17b94a
%global service_start()   /sbin/service %1 start >/dev/null 2>&1 || : \
17b94a
%{nil}
17b94a
%global service_stop()    /sbin/service %1 stop >/dev/null 2>&1 || : \
17b94a
%{nil}
17b94a
%global service_install() install -D -p -m 0755 %1.init %{buildroot}%2 \
17b94a
%{nil}
17b94a
# can't seem to make a generic macro that works
17b94a
%global glusterd_svcfile   %{_sysconfdir}/init.d/glusterd
17b94a
%global glusterfsd_svcfile %{_sysconfdir}/init.d/glusterfsd
17b94a
%global glustereventsd_svcfile %{_sysconfdir}/init.d/glustereventsd
17b94a
%endif
17b94a
17b94a
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
17b94a
17b94a
# We do not want to generate useless provides and requires for xlator
17b94a
# .so files to be set for glusterfs packages.
17b94a
# Filter all generated:
17b94a
#
17b94a
# TODO: RHEL5 does not have a convenient solution
17b94a
%if ( 0%{?rhel} == 6 )
17b94a
# filter_setup exists in RHEL6 only
17b94a
%filter_provides_in %{_libdir}/glusterfs/%{version}/
17b94a
%global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
17b94a
%filter_setup
17b94a
%else
17b94a
# modern rpm and current Fedora do not generate requires when the
17b94a
# provides are filtered
17b94a
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
17b94a
%endif
17b94a
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All package definitions should be placed here in alphabetical order
17b94a
##
17b94a
Summary:          Distributed File System
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
Name:             glusterfs
17b94a
Version:          3.8.0
17b94a
Release:          0.2%{?prereltag:.%{prereltag}}%{?dist}
17b94a
%else
17b94a
Name:             glusterfs
17b94a
Version:          6.0
17b94a
Release:          57.4%{?dist}
17b94a
ExcludeArch:      i686
17b94a
%endif
17b94a
License:          GPLv2 or LGPLv3+
17b94a
URL:              http://docs.gluster.org/
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
Source0:          http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
17b94a
Source1:          glusterd.sysconfig
17b94a
Source2:          glusterfsd.sysconfig
17b94a
Source7:          glusterfsd.service
17b94a
Source8:          glusterfsd.init
17b94a
%else
17b94a
Source0:          glusterfs-6.0.tar.gz
17b94a
%endif
17b94a
17b94a
Requires(pre):    shadow-utils
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
BuildRequires:    systemd
17b94a
%endif
17b94a
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%{?systemd_requires}
17b94a
%endif
17b94a
%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
BuildRequires:    libasan
17b94a
%endif
17b94a
%if 0%{?_with_tsan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
BuildRequires:    libtsan
17b94a
%endif
17b94a
BuildRequires:    git
17b94a
BuildRequires:    bison flex
17b94a
BuildRequires:    gcc make libtool
17b94a
BuildRequires:    ncurses-devel readline-devel
17b94a
BuildRequires:    libxml2-devel openssl-devel
17b94a
BuildRequires:    libaio-devel libacl-devel
17b94a
BuildRequires:    python%{_pythonver}-devel
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
17b94a
BuildRequires:    python-ctypes
17b94a
%endif
17b94a
%if ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} ) || ( 0%{?rhel} && ( 0%{?rhel} >= 8 ) )
17b94a
BuildRequires:    libtirpc-devel
17b94a
%endif
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
17b94a
BuildRequires:    rpcgen
17b94a
%endif
17b94a
BuildRequires:    userspace-rcu-devel >= 0.7
17b94a
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
17b94a
BuildRequires:    automake
17b94a
%endif
17b94a
BuildRequires:    libuuid-devel
17b94a
%if ( 0%{?_with_cmocka:1} )
17b94a
BuildRequires:    libcmocka-devel >= 1.0.1
17b94a
%endif
17b94a
%if ( 0%{!?_without_tiering:1} )
17b94a
BuildRequires:    sqlite-devel
17b94a
%endif
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
BuildRequires:    libattr-devel
17b94a
%endif
17b94a
17b94a
%if (0%{?_with_firewalld:1})
17b94a
BuildRequires:    firewalld
17b94a
%endif
17b94a
17b94a
Obsoletes:        hekafs
17b94a
Obsoletes:        %{name}-common < %{version}-%{release}
17b94a
Obsoletes:        %{name}-core < %{version}-%{release}
17b94a
Obsoletes:        %{name}-ufo
17b94a
%if ( 0%{!?_with_gnfs:1} )
17b94a
Obsoletes:        %{name}-gnfs
17b94a
%endif
17b94a
%if ( 0%{?rhel} < 7 )
17b94a
Obsoletes:        %{name}-ganesha
17b94a
%endif
17b94a
Provides:         %{name}-common = %{version}-%{release}
17b94a
Provides:         %{name}-core = %{version}-%{release}
17b94a
17b94a
# Patch0001: 0001-Update-rfc.sh-to-rhgs-3.5.0.patch
17b94a
Patch0002: 0002-glusterd-fix-op-versions-for-RHS-backwards-compatabi.patch
17b94a
Patch0003: 0003-rpc-set-bind-insecure-to-off-by-default.patch
17b94a
Patch0004: 0004-glusterd-spec-fixing-autogen-issue.patch
17b94a
Patch0005: 0005-libglusterfs-glusterd-Fix-compilation-errors.patch
17b94a
Patch0006: 0006-build-remove-ghost-directory-entries.patch
17b94a
Patch0007: 0007-build-add-RHGS-specific-changes.patch
17b94a
Patch0008: 0008-secalert-remove-setuid-bit-for-fusermount-glusterfs.patch
17b94a
Patch0009: 0009-build-introduce-security-hardening-flags-in-gluster.patch
17b94a
Patch0010: 0010-spec-fix-add-pre-transaction-scripts-for-geo-rep-and.patch
17b94a
Patch0011: 0011-rpm-glusterfs-devel-for-client-builds-should-not-dep.patch
17b94a
Patch0012: 0012-build-add-pretrans-check.patch
17b94a
Patch0013: 0013-glusterd-fix-info-file-checksum-mismatch-during-upgr.patch
17b94a
Patch0014: 0014-build-spec-file-conflict-resolution.patch
17b94a
Patch0015: 0015-build-randomize-temp-file-names-in-pretrans-scriptle.patch
17b94a
Patch0016: 0016-glusterd-parallel-readdir-Change-the-op-version-of-p.patch
17b94a
Patch0017: 0017-glusterd-Revert-op-version-for-cluster.max-brick-per.patch
17b94a
Patch0018: 0018-cli-Add-message-for-user-before-modifying-brick-mult.patch
17b94a
Patch0019: 0019-build-launch-glusterd-upgrade-after-all-new-bits-are.patch
17b94a
Patch0020: 0020-spec-unpackaged-files-found-for-RHEL-7-client-build.patch
17b94a
Patch0021: 0021-cli-glusterfsd-remove-copyright-information.patch
17b94a
Patch0022: 0022-cli-Remove-upstream-doc-reference.patch
17b94a
Patch0023: 0023-hooks-remove-selinux-hooks.patch
17b94a
Patch0024: 0024-glusterd-Make-localtime-logging-option-invisible-in-.patch
17b94a
Patch0025: 0025-build-make-RHGS-version-available-for-server.patch
17b94a
Patch0026: 0026-glusterd-Introduce-daemon-log-level-cluster-wide-opt.patch
17b94a
Patch0027: 0027-glusterd-change-op-version-of-fips-mode-rchecksum.patch
17b94a
Patch0028: 0028-glusterd-Reset-op-version-for-features.shard-deletio.patch
17b94a
Patch0029: 0029-glusterd-Reset-op-version-for-features.shard-lru-lim.patch
17b94a
Patch0030: 0030-selinux-glusterd-add-features.selinux-to-glusterd-vo.patch
17b94a
Patch0031: 0031-glusterd-turn-off-selinux-feature-in-downstream.patch
17b94a
Patch0032: 0032-glusterd-update-gd-op-version-to-3_7_0.patch
17b94a
Patch0033: 0033-build-add-missing-explicit-package-dependencies.patch
17b94a
Patch0034: 0034-glusterd-introduce-a-new-op-version-for-rhgs-3.4.3.patch
17b94a
Patch0035: 0035-glusterd-tag-rebalance-mgmt_v3-command-to-op-version.patch
17b94a
Patch0036: 0036-build-add-conditional-dependency-on-server-for-devel.patch
17b94a
Patch0037: 0037-cli-change-the-warning-message.patch
17b94a
Patch0038: 0038-spec-avoid-creation-of-temp-file-in-lua-script.patch
17b94a
Patch0039: 0039-cli-fix-query-to-user-during-brick-mux-selection.patch
17b94a
Patch0040: 0040-build-Remove-unsupported-test-cases-failing-consiste.patch
17b94a
Patch0041: 0041-tests-geo-rep-Build-failed-in-Jenkins-for-test-bug-1.patch
17b94a
Patch0042: 0042-spec-client-server-Builds-are-failing-on-rhel-6.patch
17b94a
Patch0043: 0043-inode-don-t-dump-the-whole-table-to-CLI.patch
17b94a
Patch0044: 0044-cluster-ec-Don-t-enqueue-an-entry-if-it-is-already-h.patch
17b94a
Patch0045: 0045-glusterd-fix-txn-id-mem-leak.patch
17b94a
Patch0046: 0046-protocol-client-Do-not-fallback-to-anon-fd-if-fd-is-.patch
17b94a
Patch0047: 0047-client-rpc-Fix-the-payload-being-sent-on-the-wire.patch
17b94a
Patch0048: 0048-gfapi-Unblock-epoll-thread-for-upcall-processing.patch
17b94a
Patch0049: 0049-transport-socket-log-shutdown-msg-occasionally.patch
17b94a
Patch0050: 0050-geo-rep-Fix-syncing-multiple-rename-of-symlink.patch
17b94a
Patch0051: 0051-spec-update-rpm-install-condition.patch
17b94a
Patch0052: 0052-geo-rep-IPv6-support.patch
17b94a
Patch0053: 0053-Revert-packaging-ganesha-remove-glusterfs-ganesha-su.patch
17b94a
Patch0054: 0054-Revert-glusterd-storhaug-remove-ganesha.patch
17b94a
Patch0055: 0055-Revert-storhaug-HA-first-step-remove-resource-agents.patch
17b94a
Patch0056: 0056-common-ha-fixes-for-Debian-based-systems.patch
17b94a
Patch0057: 0057-ganesha-scripts-Remove-export-entries-from-ganesha.c.patch
17b94a
Patch0058: 0058-glusterd-ganesha-During-volume-delete-remove-the-gan.patch
17b94a
Patch0059: 0059-glusterd-ganesha-throw-proper-error-for-gluster-nfs-.patch
17b94a
Patch0060: 0060-ganesha-scripts-Stop-ganesha-process-on-all-nodes-if.patch
17b94a
Patch0061: 0061-ganesha-allow-refresh-config-and-volume-export-unexp.patch
17b94a
Patch0062: 0062-glusterd-ganesha-perform-removal-of-ganesha.conf-on-.patch
17b94a
Patch0063: 0063-glusterd-ganesha-update-cache-invalidation-properly-.patch
17b94a
Patch0064: 0064-glusterd-ganesha-return-proper-value-in-pre_setup.patch
17b94a
Patch0065: 0065-ganesha-scripts-remove-dependency-over-export-config.patch
17b94a
Patch0066: 0066-glusterd-ganesha-add-proper-NULL-check-in-manage_exp.patch
17b94a
Patch0067: 0067-ganesha-minor-improvments-for-commit-e91cdf4-17081.patch
17b94a
Patch0068: 0068-common-ha-surviving-ganesha.nfsd-not-put-in-grace-on.patch
17b94a
Patch0069: 0069-common-ha-enable-and-disable-selinux-ganesha_use_fus.patch
17b94a
Patch0070: 0070-packaging-glusterfs-ganesha-update-sometimes-fails-s.patch
17b94a
Patch0071: 0071-common-ha-enable-and-disable-selinux-gluster_use_exe.patch
17b94a
Patch0072: 0072-ganesha-ha-don-t-set-SELinux-booleans-if-SELinux-is-.patch
17b94a
Patch0073: 0073-build-remove-ganesha-dependency-on-selinux-policy.patch
17b94a
Patch0074: 0074-common-ha-enable-pacemaker-at-end-of-setup.patch
17b94a
Patch0075: 0075-common-ha-Fix-an-incorrect-syntax-during-setup.patch
17b94a
Patch0076: 0076-glusterd-ganesha-change-voltype-for-ganesha.enable-i.patch
17b94a
Patch0077: 0077-glusterd-ganesha-create-remove-export-file-only-from.patch
17b94a
Patch0078: 0078-common-ha-scripts-pass-the-list-of-servers-properly-.patch
17b94a
Patch0079: 0079-common-ha-All-statd-related-files-need-to-be-owned-b.patch
17b94a
Patch0080: 0080-glusterd-ganesha-Skip-non-ganesha-nodes-properly-for.patch
17b94a
Patch0081: 0081-ganesha-ha-ensure-pacemaker-is-enabled-after-setup.patch
17b94a
Patch0082: 0082-build-Add-dependency-on-netstat-for-glusterfs-ganesh.patch
17b94a
Patch0083: 0083-common-ha-enable-and-disable-selinux-ganesha_use_fus.patch
17b94a
Patch0084: 0084-glusterd-Fix-duplicate-client_op_version-in-info-fil.patch
17b94a
Patch0085: 0085-Revert-all-remove-code-which-is-not-being-considered.patch
17b94a
Patch0086: 0086-Revert-tiering-remove-the-translator-from-build-and-.patch
17b94a
Patch0087: 0087-ganesha-fixing-minor-issues-after-the-backport-from-.patch
17b94a
Patch0088: 0088-tier-fix-failures-noticed-during-tier-start-and-tier.patch
17b94a
Patch0089: 0089-glusterd-gNFS-On-post-upgrade-to-3.2-disable-gNFS-fo.patch
17b94a
Patch0090: 0090-Revert-build-conditionally-build-legacy-gNFS-server-.patch
17b94a
Patch0091: 0091-glusterd-gNFS-explicitly-set-nfs.disable-to-off-afte.patch
17b94a
Patch0092: 0092-logging-Fix-GF_LOG_OCCASSIONALLY-API.patch
17b94a
Patch0093: 0093-glusterd-Change-op-version-of-cache-invalidation-in-.patch
17b94a
Patch0094: 0094-glusterd-load-ctime-in-the-client-graph-only-if-it-s.patch
17b94a
Patch0095: 0095-cluster-afr-Remove-local-from-owners_list-on-failure.patch
17b94a
Patch0096: 0096-core-Brick-is-not-able-to-detach-successfully-in-bri.patch
17b94a
Patch0097: 0097-glusterd-tier-while-doing-an-attach-tier-the-self-he.patch
17b94a
Patch0098: 0098-mgmt-shd-Implement-multiplexing-in-self-heal-daemon.patch
17b94a
Patch0099: 0099-client-fini-return-fini-after-rpc-cleanup.patch
17b94a
Patch0100: 0100-clnt-rpc-ref-leak-during-disconnect.patch
17b94a
Patch0101: 0101-shd-mux-Fix-coverity-issues-introduced-by-shd-mux-pa.patch
17b94a
Patch0102: 0102-rpc-transport-Missing-a-ref-on-dict-while-creating-t.patch
17b94a
Patch0103: 0103-dht-NULL-check-before-setting-error-flag.patch
17b94a
Patch0104: 0104-afr-shd-Cleanup-self-heal-daemon-resources-during-af.patch
17b94a
Patch0105: 0105-core-Log-level-changes-do-not-effect-on-running-clie.patch
17b94a
Patch0106: 0106-libgfchangelog-use-find_library-to-locate-shared-lib.patch
17b94a
Patch0107: 0107-gfapi-add-function-to-set-client-pid.patch
17b94a
Patch0108: 0108-afr-add-client-pid-to-all-gf_event-calls.patch
17b94a
Patch0109: 0109-glusterd-Optimize-glusterd-handshaking-code-path.patch
17b94a
Patch0110: 0110-tier-shd-glusterd-with-shd-mux-the-shd-volfile-path-.patch
17b94a
Patch0111: 0111-glusterd-fix-loading-ctime-in-client-graph-logic.patch
17b94a
Patch0112: 0112-geo-rep-fix-incorrectly-formatted-authorized_keys.patch
17b94a
Patch0113: 0113-spec-Glusterd-did-not-start-by-default-after-node-re.patch
17b94a
Patch0114: 0114-core-fix-hang-issue-in-__gf_free.patch
17b94a
Patch0115: 0115-core-only-log-seek-errors-if-SEEK_HOLE-SEEK_DATA-is-.patch
17b94a
Patch0116: 0116-cluster-ec-fix-fd-reopen.patch
17b94a
Patch0117: 0117-spec-Remove-thin-arbiter-package.patch
17b94a
Patch0118: 0118-tests-mark-thin-arbiter-test-ta.t-as-bad.patch
17b94a
Patch0119: 0119-glusterd-provide-a-way-to-detach-failed-node.patch
17b94a
Patch0120: 0120-glusterd-shd-Keep-a-ref-on-volinfo-until-attach-rpc-.patch
17b94a
Patch0121: 0121-spec-glusterfs-devel-for-client-build-should-not-dep.patch
17b94a
Patch0122: 0122-posix-ctime-Fix-stat-time-attributes-inconsistency-d.patch
17b94a
Patch0123: 0123-ctime-Fix-log-repeated-logging-during-open.patch
17b94a
Patch0124: 0124-spec-remove-duplicate-references-to-files.patch
17b94a
Patch0125: 0125-glusterd-define-dumpops-in-the-xlator_api-of-gluster.patch
17b94a
Patch0126: 0126-cluster-dht-refactor-dht-lookup-functions.patch
17b94a
Patch0127: 0127-cluster-dht-Refactor-dht-lookup-functions.patch
17b94a
Patch0128: 0128-glusterd-Fix-bulkvoldict-thread-logic-in-brick-multi.patch
17b94a
Patch0129: 0129-core-handle-memory-accounting-correctly.patch
17b94a
Patch0130: 0130-tier-test-new-tier-cmds.t-fails-after-a-glusterd-res.patch
17b94a
Patch0131: 0131-tests-dht-Test-that-lookups-are-sent-post-brick-up.patch
17b94a
Patch0132: 0132-glusterd-remove-duplicate-occurrence-of-features.sel.patch
17b94a
Patch0133: 0133-glusterd-enable-fips-mode-rchecksum-for-new-volumes.patch
17b94a
Patch0134: 0134-performance-write-behind-remove-request-from-wip-lis.patch
17b94a
Patch0135: 0135-geo-rep-fix-incorrectly-formatted-authorized_keys.patch
17b94a
Patch0136: 0136-glusterd-fix-inconsistent-global-option-output-in-vo.patch
17b94a
Patch0137: 0137-shd-glusterd-Serialize-shd-manager-to-prevent-race-c.patch
17b94a
Patch0138: 0138-glusterd-Add-gluster-volume-stop-operation-to-gluste.patch
17b94a
Patch0139: 0139-ec-shd-Cleanup-self-heal-daemon-resources-during-ec-.patch
17b94a
Patch0140: 0140-cluster-ec-Reopen-shouldn-t-happen-with-O_TRUNC.patch
17b94a
Patch0141: 0141-socket-ssl-fix-crl-handling.patch
17b94a
Patch0142: 0142-lock-check-null-value-of-dict-to-avoid-log-flooding.patch
17b94a
Patch0143: 0143-packaging-Change-the-dependency-on-nfs-ganesha-to-2..patch
17b94a
Patch0144: 0144-cluster-ec-honor-contention-notifications-for-partia.patch
17b94a
Patch0145: 0145-core-Capture-process-memory-usage-at-the-time-of-cal.patch
17b94a
Patch0146: 0146-dht-Custom-xattrs-are-not-healed-in-case-of-add-bric.patch
17b94a
Patch0147: 0147-glusterd-bulkvoldict-thread-is-not-handling-all-volu.patch
17b94a
Patch0148: 0148-cluster-dht-Lookup-all-files-when-processing-directo.patch
17b94a
Patch0149: 0149-glusterd-Optimize-code-to-copy-dictionary-in-handsha.patch
17b94a
Patch0150: 0150-libglusterfs-define-macros-needed-for-cloudsync.patch
17b94a
Patch0151: 0151-mgmt-glusterd-Make-changes-related-to-cloudsync-xlat.patch
17b94a
Patch0152: 0152-storage-posix-changes-with-respect-to-cloudsync.patch
17b94a
Patch0153: 0153-features-cloudsync-Added-some-new-functions.patch
17b94a
Patch0154: 0154-cloudsync-cvlt-Cloudsync-plugin-for-commvault-store.patch
17b94a
Patch0155: 0155-cloudsync-Make-readdirp-return-stat-info-of-all-the-.patch
17b94a
Patch0156: 0156-cloudsync-Fix-bug-in-cloudsync-fops-c.py.patch
17b94a
Patch0157: 0157-afr-frame-Destroy-frame-after-afr_selfheal_entry_gra.patch
17b94a
Patch0158: 0158-glusterfsd-cleanup-Protect-graph-object-under-a-lock.patch
17b94a
Patch0159: 0159-glusterd-add-an-op-version-check.patch
17b94a
Patch0160: 0160-geo-rep-Geo-rep-help-text-issue.patch
17b94a
Patch0161: 0161-geo-rep-Fix-rename-with-existing-destination-with-sa.patch
17b94a
Patch0162: 0162-geo-rep-Fix-sync-method-config.patch
17b94a
Patch0163: 0163-geo-rep-Fix-sync-hang-with-tarssh.patch
17b94a
Patch0164: 0164-cluster-ec-Fix-handling-of-heal-info-cases-without-l.patch
17b94a
Patch0165: 0165-tests-shd-Add-test-coverage-for-shd-mux.patch
17b94a
Patch0166: 0166-glusterd-svc-glusterd_svcs_stop-should-call-individu.patch
17b94a
Patch0167: 0167-glusterd-shd-Optimize-the-glustershd-manager-to-send.patch
17b94a
Patch0168: 0168-cluster-dht-Fix-directory-perms-during-selfheal.patch
17b94a
Patch0169: 0169-Build-Fix-spec-to-enable-rhel8-client-build.patch
17b94a
Patch0170: 0170-geo-rep-Convert-gfid-conflict-resolutiong-logs-into-.patch
17b94a
Patch0171: 0171-posix-add-storage.reserve-size-option.patch
17b94a
Patch0172: 0172-ec-fini-Fix-race-with-ec_fini-and-ec_notify.patch
17b94a
Patch0173: 0173-glusterd-store-fips-mode-rchecksum-option-in-the-inf.patch
17b94a
Patch0174: 0174-xlator-log-Add-more-logging-in-xlator_is_cleanup_sta.patch
17b94a
Patch0175: 0175-ec-fini-Fix-race-between-xlator-cleanup-and-on-going.patch
17b94a
Patch0176: 0176-features-shard-Fix-crash-during-background-shard-del.patch
17b94a
Patch0177: 0177-features-shard-Fix-extra-unref-when-inode-object-is-.patch
17b94a
Patch0178: 0178-Cluster-afr-Don-t-treat-all-bricks-having-metadata-p.patch
17b94a
Patch0179: 0179-tests-Fix-split-brain-favorite-child-policy.t-failur.patch
17b94a
Patch0180: 0180-ganesha-scripts-Make-generate-epoch.py-python3-compa.patch
17b94a
Patch0181: 0181-afr-log-before-attempting-data-self-heal.patch
17b94a
Patch0182: 0182-geo-rep-fix-mountbroker-setup.patch
17b94a
Patch0183: 0183-glusterd-svc-Stop-stale-process-using-the-glusterd_p.patch
17b94a
Patch0184: 0184-tests-Add-gating-configuration-file-for-rhel8.patch
17b94a
Patch0185: 0185-gfapi-provide-an-api-for-setting-statedump-path.patch
17b94a
Patch0186: 0186-cli-Remove-brick-warning-seems-unnecessary.patch
17b94a
Patch0187: 0187-gfapi-statedump_path-add-proper-version-number.patch
17b94a
Patch0188: 0188-features-shard-Fix-integer-overflow-in-block-count-a.patch
17b94a
Patch0189: 0189-features-shard-Fix-block-count-accounting-upon-trunc.patch
17b94a
Patch0190: 0190-Build-removing-the-hardcoded-usage-of-python3.patch
17b94a
Patch0191: 0191-Build-Update-python-shebangs-based-on-version.patch
17b94a
Patch0192: 0192-build-Ensure-gluster-cli-package-is-built-as-part-of.patch
17b94a
Patch0193: 0193-spec-fixed-python-dependency-for-rhel6.patch
17b94a
Patch0194: 0194-stack-Make-sure-to-have-unique-call-stacks-in-all-ca.patch
17b94a
Patch0195: 0195-build-package-glusterfs-ganesha-for-rhel7-and-above.patch
17b94a
Patch0196: 0196-posix-ctime-Fix-ctime-upgrade-issue.patch
17b94a
Patch0197: 0197-posix-fix-crash-in-posix_cs_set_state.patch
17b94a
Patch0198: 0198-cluster-ec-Prevent-double-pre-op-xattrops.patch
17b94a
Patch0199: 0199-upcall-Avoid-sending-notifications-for-invalid-inode.patch
17b94a
Patch0200: 0200-gfapi-fix-incorrect-initialization-of-upcall-syncop-.patch
17b94a
Patch0201: 0201-geo-rep-Fix-permissions-for-GEOREP_DIR-in-non-root-s.patch
17b94a
Patch0202: 0202-shd-mux-Fix-race-between-mux_proc-unlink-and-stop.patch
17b94a
Patch0203: 0203-glusterd-shd-Change-shd-logfile-to-a-unique-name.patch
17b94a
Patch0204: 0204-glusterd-conditionally-clear-txn_opinfo-in-stage-op.patch
17b94a
Patch0205: 0205-glusterd-Can-t-run-rebalance-due-to-long-unix-socket.patch
17b94a
Patch0206: 0206-glusterd-ignore-user.-options-from-compatibility-che.patch
17b94a
Patch0207: 0207-glusterd-fix-use-after-free-of-a-dict_t.patch
17b94a
Patch0208: 0208-mem-pool-remove-dead-code.patch
17b94a
Patch0209: 0209-core-avoid-dynamic-TLS-allocation-when-possible.patch
17b94a
Patch0210: 0210-mem-pool.-c-h-minor-changes.patch
17b94a
Patch0211: 0211-libglusterfs-Fix-compilation-when-disable-mempool-is.patch
17b94a
Patch0212: 0212-core-fix-memory-allocation-issues.patch
17b94a
Patch0213: 0213-cluster-dht-Strip-out-dht-xattrs.patch
17b94a
Patch0214: 0214-geo-rep-Upgrading-config-file-to-new-version.patch
17b94a
Patch0215: 0215-posix-modify-storage.reserve-option-to-take-size-and.patch
17b94a
Patch0216: 0216-Test-case-fixe-for-downstream-3.5.0.patch
17b94a
Patch0217: 0217-uss-Fix-tar-issue-with-ctime-and-uss-enabled.patch
17b94a
Patch0218: 0218-graph-shd-Use-glusterfs_graph_deactivate-to-free-the.patch
17b94a
Patch0219: 0219-posix-add-posix_set_ctime-in-posix_ftruncate.patch
17b94a
Patch0220: 0220-graph-shd-Use-top-down-approach-while-cleaning-xlato.patch
17b94a
Patch0221: 0221-protocol-client-propagte-GF_EVENT_CHILD_PING-only-fo.patch
17b94a
Patch0222: 0222-cluster-dht-Fixed-a-memleak-in-dht_rename_cbk.patch
17b94a
Patch0223: 0223-change-get_real_filename-implementation-to-use-ENOAT.patch
17b94a
Patch0224: 0224-core-replace-inet_addr-with-inet_pton.patch
17b94a
Patch0225: 0225-tests-utils-Fix-py2-py3-util-python-scripts.patch
17b94a
Patch0226: 0226-geo-rep-fix-gluster-command-path-for-non-root-sessio.patch
17b94a
Patch0227: 0227-glusterd-svc-update-pid-of-mux-volumes-from-the-shd-.patch
17b94a
Patch0228: 0228-locks-enable-notify-contention-by-default.patch
17b94a
Patch0229: 0229-glusterd-Show-the-correct-brick-status-in-get-state.patch
17b94a
Patch0230: 0230-Revert-glusterd-svc-update-pid-of-mux-volumes-from-t.patch
17b94a
Patch0231: 0231-Revert-graph-shd-Use-top-down-approach-while-cleanin.patch
17b94a
Patch0232: 0232-cluster-afr-Fix-incorrect-reporting-of-gfid-type-mis.patch
17b94a
Patch0233: 0233-Revert-graph-shd-Use-glusterfs_graph_deactivate-to-f.patch
17b94a
Patch0234: 0234-Revert-glusterd-shd-Change-shd-logfile-to-a-unique-n.patch
17b94a
Patch0235: 0235-Revert-glusterd-svc-Stop-stale-process-using-the-glu.patch
17b94a
Patch0236: 0236-Revert-shd-mux-Fix-race-between-mux_proc-unlink-and-.patch
17b94a
Patch0237: 0237-Revert-ec-fini-Fix-race-between-xlator-cleanup-and-o.patch
17b94a
Patch0238: 0238-Revert-xlator-log-Add-more-logging-in-xlator_is_clea.patch
17b94a
Patch0239: 0239-Revert-ec-fini-Fix-race-with-ec_fini-and-ec_notify.patch
17b94a
Patch0240: 0240-Revert-glusterd-shd-Optimize-the-glustershd-manager-.patch
17b94a
Patch0241: 0241-Revert-glusterd-svc-glusterd_svcs_stop-should-call-i.patch
17b94a
Patch0242: 0242-Revert-tests-shd-Add-test-coverage-for-shd-mux.patch
17b94a
Patch0243: 0243-Revert-glusterfsd-cleanup-Protect-graph-object-under.patch
17b94a
Patch0244: 0244-Revert-ec-shd-Cleanup-self-heal-daemon-resources-dur.patch
17b94a
Patch0245: 0245-Revert-shd-glusterd-Serialize-shd-manager-to-prevent.patch
17b94a
Patch0246: 0246-Revert-glusterd-shd-Keep-a-ref-on-volinfo-until-atta.patch
17b94a
Patch0247: 0247-Revert-afr-shd-Cleanup-self-heal-daemon-resources-du.patch
17b94a
Patch0248: 0248-Revert-shd-mux-Fix-coverity-issues-introduced-by-shd.patch
17b94a
Patch0249: 0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch
17b94a
Patch0250: 0250-Revert-mgmt-shd-Implement-multiplexing-in-self-heal-.patch
17b94a
Patch0251: 0251-tests-Fix-bug-1717819-metadata-split-brain-detection.patch
17b94a
Patch0252: 0252-glusterd-do-not-mark-skip_locking-as-true-for-geo-re.patch
17b94a
Patch0253: 0253-core-fix-deadlock-between-statedump-and-fd_anonymous.patch
17b94a
Patch0254: 0254-Detach-iot_worker-to-release-its-resources.patch
17b94a
Patch0255: 0255-Revert-tier-shd-glusterd-with-shd-mux-the-shd-volfil.patch
17b94a
Patch0256: 0256-features-snapview-server-use-the-same-volfile-server.patch
17b94a
Patch0257: 0257-geo-rep-Test-case-for-upgrading-config-file.patch
17b94a
Patch0258: 0258-geo-rep-Fix-mount-broker-setup-issue.patch
17b94a
Patch0259: 0259-gluster-block-tuning-perf-options.patch
17b94a
Patch0260: 0260-ctime-Set-mdata-xattr-on-legacy-files.patch
17b94a
Patch0261: 0261-features-utime-Fix-mem_put-crash.patch
17b94a
Patch0262: 0262-glusterd-ctime-Disable-ctime-by-default.patch
17b94a
Patch0263: 0263-tests-fix-ctime-related-tests.patch
17b94a
Patch0264: 0264-gfapi-Fix-deadlock-while-processing-upcall.patch
17b94a
Patch0265: 0265-fuse-add-missing-GF_FREE-to-fuse_interrupt.patch
17b94a
Patch0266: 0266-geo-rep-Fix-mount-broker-setup-issue.patch
17b94a
Patch0267: 0267-posix-ctime-Fix-race-during-lookup-ctime-xattr-heal.patch
17b94a
Patch0268: 0268-rpc-transport-have-default-listen-port.patch
17b94a
Patch0269: 0269-ec-fix-truncate-lock-to-cover-the-write-in-tuncate-c.patch
17b94a
Patch0270: 0270-cluster-ec-inherit-healing-from-lock-when-it-has-inf.patch
17b94a
Patch0271: 0271-cluster-ec-fix-EIO-error-for-concurrent-writes-on-sp.patch
17b94a
Patch0272: 0272-cluster-ec-Always-read-from-good-mask.patch
17b94a
Patch0273: 0273-cluster-ec-Fix-reopen-flags-to-avoid-misbehavior.patch
17b94a
Patch0274: 0274-cluster-ec-Update-lock-good_mask-on-parent-fop-failu.patch
17b94a
Patch0275: 0275-cluster-ec-Create-heal-task-with-heal-process-id.patch
17b94a
Patch0276: 0276-features-utime-always-update-ctime-at-setattr.patch
17b94a
Patch0277: 0277-geo-rep-Fix-Config-Get-Race.patch
17b94a
Patch0278: 0278-geo-rep-Fix-worker-connection-issue.patch
17b94a
Patch0279: 0279-posix-In-brick_mux-brick-is-crashed-while-start-stop.patch
17b94a
Patch0280: 0280-performance-md-cache-Do-not-skip-caching-of-null-cha.patch
17b94a
Patch0281: 0281-ctime-Fix-incorrect-realtime-passed-to-frame-root-ct.patch
17b94a
Patch0282: 0282-geo-rep-Fix-the-name-of-changelog-archive-file.patch
17b94a
Patch0283: 0283-ctime-Fix-ctime-issue-with-utime-family-of-syscalls.patch
17b94a
Patch0284: 0284-posix-log-aio_error-return-codes-in-posix_fs_health_.patch
17b94a
Patch0285: 0285-glusterd-glusterd-service-is-getting-timed-out-on-sc.patch
17b94a
Patch0286: 0286-glusterfs.spec.in-added-script-files-for-machine-com.patch
17b94a
Patch0287: 0287-cluster-ec-Fail-fsync-flush-for-files-on-update-size.patch
17b94a
Patch0288: 0288-cluster-ec-Fix-coverity-issues.patch
17b94a
Patch0289: 0289-cluster-ec-quorum-count-implementation.patch
17b94a
Patch0290: 0290-glusterd-tag-disperse.quorum-count-for-31306.patch
17b94a
Patch0291: 0291-cluster-ec-Mark-release-only-when-it-is-acquired.patch
17b94a
Patch0292: 0292-rpc-Update-address-family-if-it-is-not-provide-in-cm.patch
17b94a
Patch0293: 0293-glusterd-IPV6-hostname-address-is-not-parsed-correct.patch
17b94a
Patch0294: 0294-eventsapi-Set-IPv4-IPv6-family-based-on-input-IP.patch
17b94a
Patch0295: 0295-ctime-rebalance-Heal-ctime-xattr-on-directory-during.patch
17b94a
Patch0296: 0296-glusterfind-pre-command-failure-on-a-modify.patch
17b94a
Patch0297: 0297-rpmbuild-fixing-the-build-errors-with-2a905a8ae.patch
17b94a
Patch0298: 0298-geo-rep-fix-sub-command-during-worker-connection.patch
17b94a
Patch0299: 0299-geo-rep-performance-improvement-while-syncing-rename.patch
17b94a
Patch0300: 0300-cli-remove-the-warning-displayed-when-remove-brick-s.patch
17b94a
Patch0301: 0301-posix-Brick-is-going-down-unexpectedly.patch
17b94a
Patch0302: 0302-cluster-ec-prevent-filling-shd-log-with-table-not-fo.patch
17b94a
Patch0303: 0303-posix-heketidbstorage-bricks-go-down-during-PVC-crea.patch
17b94a
Patch0304: 0304-cluster-dht-Correct-fd-processing-loop.patch
17b94a
Patch0305: 0305-glusterd-rebalance-start-should-fail-when-quorum-is-.patch
17b94a
Patch0306: 0306-cli-fix-distCount-value.patch
17b94a
Patch0307: 0307-ssl-fix-RHEL8-regression-failure.patch
17b94a
Patch0308: 0308-dht-Rebalance-causing-IO-Error-File-descriptor-in-ba.patch
17b94a
Patch0309: 0309-geo-rep-Fix-config-upgrade-on-non-participating-node.patch
17b94a
Patch0310: 0310-tests-test-case-for-non-root-geo-rep-setup.patch
17b94a
Patch0311: 0311-geo-rep-Fix-Permission-denied-traceback-on-non-root-.patch
17b94a
Patch0312: 0312-Scripts-quota_fsck-script-KeyError-contri_size.patch
17b94a
Patch0313: 0313-extras-Cgroup-CPU-Mem-restriction-are-not-working-on.patch
17b94a
Patch0314: 0314-glusterd-tier-is_tier_enabled-inserted-causing-check.patch
17b94a
Patch0315: 0315-geo-rep-Fix-py2-py3-compatibility-in-repce.patch
17b94a
Patch0316: 0316-spec-fixed-python-prettytable-dependency-for-rhel6.patch
17b94a
Patch0317: 0317-Update-rfc.sh-to-rhgs-3.5.1.patch
17b94a
Patch0318: 0318-Update-rfc.sh-to-rhgs-3.5.1.patch
17b94a
Patch0319: 0319-features-snapview-server-obtain-the-list-of-snapshot.patch
17b94a
Patch0320: 0320-gf-event-Handle-unix-volfile-servers.patch
17b94a
Patch0321: 0321-Adding-white-spaces-to-description-of-set-group.patch
17b94a
Patch0322: 0322-glusterd-display-correct-rebalance-data-size-after-g.patch
17b94a
Patch0323: 0323-cli-display-detailed-rebalance-info.patch
17b94a
Patch0324: 0324-extras-hooks-Add-SELinux-label-on-new-bricks-during-.patch
17b94a
Patch0325: 0325-extras-hooks-Install-and-package-newly-added-post-ad.patch
17b94a
Patch0326: 0326-tests-subdir-mount.t-is-failing-for-brick_mux-regrss.patch
17b94a
Patch0327: 0327-glusterfind-integrate-with-gfid2path.patch
17b94a
Patch0328: 0328-glusterd-Add-warning-and-abort-in-case-of-failures-i.patch
17b94a
Patch0329: 0329-cluster-afr-Heal-entries-when-there-is-a-source-no-h.patch
17b94a
Patch0330: 0330-mount.glusterfs-change-the-error-message.patch
17b94a
Patch0331: 0331-features-locks-Do-special-handling-for-op-version-3..patch
17b94a
Patch0332: 0332-Removing-one-top-command-from-gluster-v-help.patch
17b94a
Patch0333: 0333-rpc-Synchronize-slot-allocation-code.patch
17b94a
Patch0334: 0334-dht-log-getxattr-failure-for-node-uuid-at-DEBUG.patch
17b94a
Patch0335: 0335-tests-RHEL8-test-failure-fixes-for-RHGS.patch
17b94a
Patch0336: 0336-spec-check-and-return-exit-code-in-rpm-scripts.patch
17b94a
Patch0337: 0337-fuse-Set-limit-on-invalidate-queue-size.patch
17b94a
Patch0338: 0338-glusterfs-fuse-Reduce-the-default-lru-limit-value.patch
17b94a
Patch0339: 0339-geo-rep-fix-integer-config-validation.patch
17b94a
Patch0340: 0340-rpc-event_slot_alloc-converted-infinite-loop-after-r.patch
17b94a
Patch0341: 0341-socket-fix-error-handling.patch
17b94a
Patch0342: 0342-Revert-hooks-remove-selinux-hooks.patch
17b94a
Patch0343: 0343-extras-hooks-syntactical-errors-in-SELinux-hooks-sci.patch
17b94a
Patch0344: 0344-Revert-all-fixes-to-include-SELinux-hook-scripts.patch
17b94a
Patch0345: 0345-read-ahead-io-cache-turn-off-by-default.patch
17b94a
Patch0346: 0346-fuse-degrade-logging-of-write-failure-to-fuse-device.patch
17b94a
Patch0347: 0347-tools-glusterfind-handle-offline-bricks.patch
17b94a
Patch0348: 0348-glusterfind-Fix-py2-py3-issues.patch
17b94a
Patch0349: 0349-glusterfind-python3-compatibility.patch
17b94a
Patch0350: 0350-tools-glusterfind-Remove-an-extra-argument.patch
17b94a
Patch0351: 0351-server-Mount-fails-after-reboot-1-3-gluster-nodes.patch
17b94a
Patch0352: 0352-spec-fixed-missing-dependencies-for-glusterfs-clouds.patch
17b94a
Patch0353: 0353-build-glusterfs-ganesha-pkg-requires-python3-policyc.patch
17b94a
Patch0354: 0354-core-fix-memory-pool-management-races.patch
17b94a
Patch0355: 0355-core-Prevent-crash-on-process-termination.patch
17b94a
Patch0356: 0356-Update-rfc.sh-to-rhgs-3.5.1-rhel-8.patch
17b94a
Patch0357: 0357-ganesha-ha-updates-for-pcs-0.10.x-i.e.-in-Fedora-29-.patch
17b94a
Patch0358: 0358-inode-fix-wrong-loop-count-in-__inode_ctx_free.patch
17b94a
Patch0359: 0359-dht-gf_defrag_process_dir-is-called-even-if-gf_defra.patch
17b94a
Patch0360: 0360-rpc-Make-ssl-log-more-useful.patch
17b94a
Patch0361: 0361-snap_scheduler-python3-compatibility-and-new-test-ca.patch
17b94a
Patch0362: 0362-write-behind-fix-data-corruption.patch
17b94a
Patch0363: 0363-common-ha-cluster-status-shows-FAILOVER-when-actuall.patch
17b94a
Patch0364: 0364-dht-fixing-rebalance-failures-for-files-with-holes.patch
17b94a
Patch0365: 0365-build-geo-rep-requires-relevant-selinux-permission-f.patch
17b94a
Patch0366: 0366-snapshot-fix-python3-issue-in-gcron.patch
17b94a
Patch0367: 0367-dht-Handle-setxattr-and-rm-race-for-directory-in-reb.patch
17b94a
Patch0368: 0368-Update-rfc.sh-to-rhgs-3.5.2.patch
17b94a
Patch0369: 0369-cluster-ec-Return-correct-error-code-and-log-message.patch
17b94a
Patch0370: 0370-dht-Do-opendir-selectively-in-gf_defrag_process_dir.patch
17b94a
Patch0371: 0371-common-ha-cluster-status-shows-FAILOVER-when-actuall.patch
17b94a
Patch0372: 0372-posix-fix-seek-functionality.patch
17b94a
Patch0373: 0373-build-geo-rep-sub-pkg-requires-policycoreutils-pytho.patch
17b94a
Patch0374: 0374-open-behind-fix-missing-fd-reference.patch
17b94a
Patch0375: 0375-features-shard-Send-correct-size-when-reads-are-sent.patch
17b94a
Patch0376: 0376-features-shard-Fix-crash-during-shards-cleanup-in-er.patch
17b94a
Patch0377: 0377-syncop-improve-scaling-and-implement-more-tools.patch
17b94a
Patch0378: 0378-Revert-open-behind-fix-missing-fd-reference.patch
17b94a
Patch0379: 0379-glusterd-add-missing-synccond_broadcast.patch
17b94a
Patch0380: 0380-features-shard-Aggregate-size-block-count-in-iatt-be.patch
17b94a
Patch0381: 0381-dht-add-null-check-in-gf_defrag_free_dir_dfmeta.patch
17b94a
Patch0382: 0382-features-shard-Aggregate-file-size-block-count-befor.patch
17b94a
Patch0383: 0383-common-ha-ganesha-ha.sh-bad-test-for-rhel-centos-for.patch
17b94a
Patch0384: 0384-Update-rfc.sh-to-rhgs-3.5.3.patch
17b94a
Patch0385: 0385-glusterd-start-glusterd-automatically-on-abnormal-sh.patch
17b94a
Patch0386: 0386-glusterd-increase-the-StartLimitBurst.patch
17b94a
Patch0387: 0387-To-fix-readdir-ahead-memory-leak.patch
17b94a
Patch0388: 0388-rpc-Cleanup-SSL-specific-data-at-the-time-of-freeing.patch
17b94a
Patch0389: 0389-posix-Avoid-diskpace-error-in-case-of-overwriting-th.patch
17b94a
Patch0390: 0390-glusterd-deafult-options-after-volume-reset.patch
17b94a
Patch0391: 0391-glusterd-unlink-the-file-after-killing-the-process.patch
17b94a
Patch0392: 0392-glusterd-Brick-process-fails-to-come-up-with-brickmu.patch
17b94a
Patch0393: 0393-afr-restore-timestamp-of-files-during-metadata-heal.patch
17b94a
Patch0394: 0394-man-gluster-Add-volume-top-command-to-gluster-man-pa.patch
17b94a
Patch0395: 0395-Cli-Removing-old-log-rotate-command.patch
17b94a
Patch0396: 0396-Updating-gluster-manual.patch
17b94a
Patch0397: 0397-mgmt-brick-mux-Avoid-sending-two-response-when-attac.patch
17b94a
Patch0398: 0398-ec-change-error-message-for-heal-commands-for-disper.patch
17b94a
Patch0399: 0399-glusterd-coverity-fixes.patch
17b94a
Patch0400: 0400-cli-throw-a-warning-if-replica-count-greater-than-3.patch
17b94a
Patch0401: 0401-cli-change-the-warning-message.patch
17b94a
Patch0402: 0402-afr-wake-up-index-healer-threads.patch
17b94a
Patch0403: 0403-Fix-spurious-failure-in-bug-1744548-heal-timeout.t.patch
17b94a
Patch0404: 0404-tests-Fix-spurious-failure.patch
17b94a
Patch0405: 0405-core-fix-return-of-local-in-__nlc_inode_ctx_get.patch
17b94a
Patch0406: 0406-afr-support-split-brain-CLI-for-replica-3.patch
17b94a
Patch0407: 0407-geo-rep-Improving-help-message-in-schedule_georep.py.patch
17b94a
Patch0408: 0408-geo-rep-Fix-ssh-port-validation.patch
17b94a
Patch0409: 0409-system-posix-acl-update-ctx-only-if-iatt-is-non-NULL.patch
17b94a
Patch0410: 0410-afr-prevent-spurious-entry-heals-leading-to-gfid-spl.patch
17b94a
Patch0411: 0411-tools-glusterfind-validate-session-name.patch
17b94a
Patch0412: 0412-gluster-smb-add-smb-parameter-when-access-gluster-by.patch
17b94a
Patch0413: 0413-extras-hooks-Remove-smb.conf-parameter-allowing-gues.patch
17b94a
Patch0414: 0414-cluster-syncop-avoid-duplicate-unlock-of-inodelk-ent.patch
17b94a
Patch0415: 0415-dht-Fix-stale-layout-and-create-issue.patch
17b94a
Patch0416: 0416-tests-fix-spurious-failure-of-bug-1402841.t-mt-dir-s.patch
17b94a
Patch0417: 0417-events-fix-IPv6-memory-corruption.patch
17b94a
Patch0418: 0418-md-cache-avoid-clearing-cache-when-not-necessary.patch
17b94a
Patch0419: 0419-cluster-afr-fix-race-when-bricks-come-up.patch
17b94a
Patch0420: 0420-scripts-quota_fsck-script-TypeError-d-format-not-dic.patch
17b94a
Patch0421: 0421-Improve-logging-in-EC-client-and-lock-translator.patch
17b94a
Patch0422: 0422-cluster-afr-Prioritize-ENOSPC-over-other-errors.patch
17b94a
Patch0423: 0423-ctime-Fix-ctime-inconsisteny-with-utimensat.patch
17b94a
Patch0424: 0424-afr-make-heal-info-lockless.patch
17b94a
Patch0425: 0425-tests-Fix-spurious-self-heald.t-failure.patch
17b94a
Patch0426: 0426-geo-rep-Fix-for-Transport-End-Point-not-connected-is.patch
17b94a
Patch0427: 0427-storage-posix-Fixing-a-coverity-issue.patch
17b94a
Patch0428: 0428-glusterd-ganesha-fixing-resource-leak-in-tear_down_c.patch
17b94a
Patch0429: 0429-dht-rebalance-fixing-failure-occurace-due-to-rebalan.patch
17b94a
Patch0430: 0430-Fix-some-Null-pointer-dereference-coverity-issues.patch
17b94a
Patch0431: 0431-glusterd-check-for-same-node-while-adding-bricks-in-.patch
17b94a
Patch0432: 0432-glusterd-Fix-coverity-defects-put-coverity-annotatio.patch
17b94a
Patch0433: 0433-socket-Resolve-ssl_ctx-leak-for-a-brick-while-only-m.patch
17b94a
Patch0434: 0434-glusterd-ganesha-fix-Coverity-CID-1405785.patch
17b94a
Patch0435: 0435-glusterd-coverity-fix.patch
17b94a
Patch0436: 0436-glusterd-coverity-fixes.patch
17b94a
Patch0437: 0437-glusterd-prevent-use-after-free-in-glusterd_op_ac_se.patch
17b94a
Patch0438: 0438-dht-sparse-files-rebalance-enhancements.patch
17b94a
Patch0439: 0439-cluster-afr-Delay-post-op-for-fsync.patch
17b94a
Patch0440: 0440-glusterd-snapshot-Improve-log-message-during-snapsho.patch
17b94a
Patch0441: 0441-fuse-occasional-logging-for-fuse-device-weird-write-.patch
17b94a
Patch0442: 0442-fuse-correctly-handle-setxattr-values.patch
17b94a
Patch0443: 0443-fuse-fix-high-sev-coverity-issue.patch
17b94a
Patch0444: 0444-mount-fuse-Fixing-a-coverity-issue.patch
17b94a
Patch0445: 0445-feature-changelog-Avoid-thread-creation-if-xlator-is.patch
17b94a
Patch0446: 0446-bitrot-Make-number-of-signer-threads-configurable.patch
17b94a
Patch0447: 0447-core-brick_mux-brick-crashed-when-creating-and-delet.patch
17b94a
Patch0448: 0448-Posix-Use-simple-approach-to-close-fd.patch
17b94a
Patch0449: 0449-test-Test-case-brick-mux-validation-in-cluster.t-is-.patch
17b94a
Patch0450: 0450-tests-basic-ctime-enable-ctime-before-testing.patch
17b94a
Patch0451: 0451-extras-Modify-group-virt-to-include-network-related-.patch
17b94a
Patch0452: 0452-Tier-DHT-Handle-the-pause-case-missed-out.patch
17b94a
Patch0453: 0453-glusterd-add-brick-command-failure.patch
17b94a
Patch0454: 0454-features-locks-avoid-use-after-freed-of-frame-for-bl.patch
17b94a
Patch0455: 0455-locks-prevent-deletion-of-locked-entries.patch
17b94a
Patch0456: 0456-add-clean-local-after-grant-lock.patch
17b94a
Patch0457: 0457-cluster-ec-Improve-detection-of-new-heals.patch
17b94a
Patch0458: 0458-features-bit-rot-stub-clean-the-mutex-after-cancelli.patch
17b94a
Patch0459: 0459-features-bit-rot-Unconditionally-sign-the-files-duri.patch
17b94a
Patch0460: 0460-cluster-ec-Remove-stale-entries-from-indices-xattrop.patch
17b94a
Patch0461: 0461-geo-replication-Fix-IPv6-parsing.patch
17b94a
Patch0462: 0462-Issue-with-gf_fill_iatt_for_dirent.patch
17b94a
Patch0463: 0463-cluster-ec-Change-handling-of-heal-failure-to-avoid-.patch
17b94a
Patch0464: 0464-storage-posix-Remove-nr_files-usage.patch
17b94a
Patch0465: 0465-posix-Implement-a-janitor-thread-to-close-fd.patch
17b94a
Patch0466: 0466-cluster-ec-Change-stale-index-handling.patch
17b94a
Patch0467: 0467-build-Added-dependency-for-glusterfs-selinux.patch
17b94a
Patch0468: 0468-build-Update-the-glusterfs-selinux-version.patch
17b94a
Patch0469: 0469-cluster-ec-Don-t-trigger-heal-for-stale-index.patch
17b94a
Patch0470: 0470-extras-snap_scheduler-changes-in-gluster-shared-stor.patch
17b94a
Patch0471: 0471-nfs-ganesha-gluster_shared_storage-fails-to-automoun.patch
17b94a
Patch0472: 0472-geo-rep-gluster_shared_storage-fails-to-automount-on.patch
17b94a
Patch0473: 0473-glusterd-Fix-Add-brick-with-increasing-replica-count.patch
17b94a
Patch0474: 0474-features-locks-posixlk-clear-lock-should-set-error-a.patch
17b94a
Patch0475: 0475-fuse-lock-interrupt-fix-flock_interrupt.t.patch
17b94a
Patch0476: 0476-mount-fuse-use-cookies-to-get-fuse-interrupt-record-.patch
17b94a
Patch0477: 0477-glusterd-snapshot-Snapshot-prevalidation-failure-not.patch
17b94a
Patch0478: 0478-DHT-Fixing-rebalance-failure-on-issuing-stop-command.patch
17b94a
Patch0479: 0479-ganesha-ha-revised-regex-exprs-for-status.patch
17b94a
Patch0480: 0480-DHT-Rebalance-Ensure-Rebalance-reports-status-only-o.patch
17b94a
Patch0481: 0481-RHGS-3.5.3-rebuild-to-ship-with-RHEL.patch
17b94a
Patch0482: 0482-logger-Always-print-errors-in-english.patch
17b94a
Patch0483: 0483-afr-more-quorum-checks-in-lookup-and-new-entry-marki.patch
17b94a
Patch0484: 0484-glusterd-rebalance-status-displays-stats-as-0-after-.patch
17b94a
Patch0485: 0485-cli-rpc-conditional-init-of-global-quota-rpc-1578.patch
17b94a
Patch0486: 0486-glusterd-brick-sock-file-deleted-log-error-1560.patch
17b94a
Patch0487: 0487-Events-Log-file-not-re-opened-after-logrotate.patch
17b94a
Patch0488: 0488-glusterd-afr-enable-granular-entry-heal-by-default.patch
17b94a
Patch0489: 0489-glusterd-fix-bug-in-enabling-granular-entry-heal.patch
17b94a
Patch0490: 0490-Segmentation-fault-occurs-during-truncate.patch
17b94a
Patch0491: 0491-glusterd-mount-directory-getting-truncated-on-mounti.patch
17b94a
Patch0492: 0492-afr-lookup-Pass-xattr_req-in-while-doing-a-selfheal-.patch
17b94a
Patch0493: 0493-geo-rep-Note-section-is-required-for-ignore_deletes.patch
17b94a
Patch0494: 0494-glusterd-start-the-brick-on-a-different-port.patch
17b94a
Patch0495: 0495-geo-rep-descriptive-message-when-worker-crashes-due-.patch
17b94a
Patch0496: 0496-posix-Use-MALLOC-instead-of-alloca-to-allocate-memor.patch
17b94a
Patch0497: 0497-socket-Use-AES128-cipher-in-SSL-if-AES-is-supported-.patch
17b94a
Patch0498: 0498-geo-rep-Fix-corner-case-in-rename-on-mkdir-during-hy.patch
17b94a
Patch0499: 0499-gfapi-give-appropriate-error-when-size-exceeds.patch
17b94a
Patch0500: 0500-features-shard-Convert-shard-block-indices-to-uint64.patch
17b94a
Patch0501: 0501-Cli-Removing-old-syntax-of-tier-cmds-from-help-menu.patch
17b94a
Patch0502: 0502-dht-fixing-a-permission-update-issue.patch
17b94a
Patch0503: 0503-gfapi-Suspend-synctasks-instead-of-blocking-them.patch
17b94a
Patch0504: 0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch
17b94a
Patch0505: 0505-trash-Create-inode_table-only-while-feature-is-enabl.patch
17b94a
Patch0506: 0506-posix-Attach-a-posix_spawn_disk_thread-with-glusterf.patch
17b94a
Patch0507: 0507-inode-make-critical-section-smaller.patch
17b94a
Patch0508: 0508-fuse-fetch-arbitrary-number-of-groups-from-proc-pid-.patch
17b94a
Patch0509: 0509-core-configure-optimum-inode-table-hash_size-for-shd.patch
17b94a
Patch0510: 0510-glusterd-brick_mux-Optimize-friend-handshake-code-to.patch
17b94a
Patch0511: 0511-features-shard-Missing-format-specifier.patch
17b94a
Patch0512: 0512-glusterd-shared-storage-mount-fails-in-ipv6-environm.patch
17b94a
Patch0513: 0513-afr-mark-pending-xattrs-as-a-part-of-metadata-heal.patch
17b94a
Patch0514: 0514-afr-event-gen-changes.patch
17b94a
Patch0515: 0515-cluster-afr-Heal-directory-rename-without-rmdir-mkdi.patch
17b94a
Patch0516: 0516-afr-return-EIO-for-gfid-split-brains.patch
17b94a
Patch0517: 0517-gfapi-glfs_h_creat_open-new-API-to-create-handle-and.patch
17b94a
Patch0518: 0518-glusterd-Fix-for-shared-storage-in-ipv6-env.patch
17b94a
Patch0519: 0519-glusterfs-events-Fix-incorrect-attribute-access-2002.patch
17b94a
Patch0520: 0520-performance-open-behind-seek-fop-should-open_and_res.patch
17b94a
Patch0521: 0521-open-behind-fix-missing-fd-reference.patch
17b94a
Patch0522: 0522-lcov-improve-line-coverage.patch
17b94a
Patch0523: 0523-open-behind-rewrite-of-internal-logic.patch
17b94a
Patch0524: 0524-open-behind-fix-call_frame-leak.patch
17b94a
Patch0525: 0525-open-behind-implement-create-fop.patch
17b94a
Patch0526: 0526-Quota-quota_fsck.py-converting-byte-string-to-string.patch
17b94a
Patch0527: 0527-Events-Socket-creation-after-getaddrinfo-and-IPv4-an.patch
17b94a
Patch0528: 0528-Extras-Removing-xattr_analysis-script.patch
17b94a
Patch0529: 0529-geo-rep-prompt-should-work-for-ignore_deletes.patch
17b94a
Patch0530: 0530-gfapi-avoid-crash-while-logging-message.patch
17b94a
Patch0531: 0531-Glustereventsd-Default-port-change-2091.patch
17b94a
Patch0532: 0532-glusterd-fix-for-starting-brick-on-new-port.patch
17b94a
Patch0533: 0533-glusterd-Rebalance-cli-is-not-showing-correct-status.patch
17b94a
Patch0534: 0534-glusterd-Resolve-use-after-free-bug-2181.patch
17b94a
Patch0535: 0535-multiple-files-use-dict_allocate_and_serialize-where.patch
17b94a
Patch0536: 0536-dht-Ongoing-IO-is-failed-during-volume-shrink-operat.patch
17b94a
Patch0537: 0537-cluster-afr-Fix-race-in-lockinfo-f-getxattr.patch
17b94a
Patch0538: 0538-afr-fix-coverity-issue-introduced-by-90cefde.patch
17b94a
Patch0539: 0539-extras-disable-lookup-optimize-in-virt-and-block-gro.patch
17b94a
Patch0540: 0540-extras-Disable-write-behind-for-group-samba.patch
17b94a
Patch0541: 0541-glusterd-volgen-Add-functionality-to-accept-any-cust.patch
17b94a
Patch0542: 0542-xlaotrs-mgmt-Fixing-coverity-issue-1445996.patch
17b94a
Patch0543: 0543-glusterd-handle-custom-xlator-failure-cases.patch
17b94a
Patch0900: 0900-rhel-9.0-beta-build-fixing-gcc-10-and-LTO-errors.patch
17b94a
Patch0901: 0901-contrib-remove-contrib-sunrpc-xdr_sizeof.c.patch
17b94a
17b94a
%description
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package includes the glusterfs binary, the glusterfsd daemon and the
17b94a
libglusterfs and glusterfs translator modules common to both GlusterFS server
17b94a
and client framework.
17b94a
17b94a
%package api
17b94a
Summary:          GlusterFS api library
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-client-xlators%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description api
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the glusterfs libgfapi library.
17b94a
17b94a
%package api-devel
17b94a
Summary:          Development Libraries
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-devel%{?_isa} = %{version}-%{release}
17b94a
Requires:         libacl-devel
17b94a
Requires:         %{name}-api%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description api-devel
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the api include files.
17b94a
17b94a
%package cli
17b94a
Summary:          GlusterFS CLI
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description cli
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the GlusterFS CLI application and its man page
17b94a
17b94a
%package cloudsync-plugins
17b94a
Summary:          Cloudsync Plugins
17b94a
BuildRequires:    libcurl-devel
17b94a
Requires:         glusterfs-libs = %{version}-%{release}
17b94a
17b94a
%description cloudsync-plugins
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides cloudsync plugins for archival feature.
17b94a
17b94a
%package devel
17b94a
Summary:          Development Libraries
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
# Needed for the Glupy examples to work
17b94a
%if ( 0%{!?_without_extra_xlators:1} )
17b94a
Requires:         %{name}-extra-xlators%{?_isa} = %{version}-%{release}
17b94a
%endif
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
17b94a
%endif
17b94a
17b94a
%description devel
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the development libraries and include files.
17b94a
17b94a
%if ( 0%{!?_without_extra_xlators:1} )
17b94a
%package extra-xlators
17b94a
Summary:          Extra Gluster filesystem Translators
17b94a
# We need python-gluster rpm for gluster module's __init__.py in Python
17b94a
# site-packages area
17b94a
Requires:         python%{_pythonver}-gluster = %{version}-%{release}
17b94a
Requires:         python%{_pythonver}
17b94a
17b94a
%description extra-xlators
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides extra filesystem Translators, such as Glupy,
17b94a
for GlusterFS.
17b94a
%endif
17b94a
17b94a
%package fuse
17b94a
Summary:          Fuse client
17b94a
BuildRequires:    fuse-devel
17b94a
Requires:         attr
17b94a
Requires:         psmisc
17b94a
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-client-xlators%{?_isa} = %{version}-%{release}
17b94a
17b94a
Obsoletes:        %{name}-client < %{version}-%{release}
17b94a
Provides:         %{name}-client = %{version}-%{release}
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description fuse
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides support to FUSE based clients and inlcudes the
17b94a
glusterfs(d) binary.
17b94a
17b94a
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
17b94a
%package ganesha
17b94a
Summary:          NFS-Ganesha configuration
17b94a
Group:            Applications/File
17b94a
17b94a
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
17b94a
Requires:         nfs-ganesha-selinux >= 2.7.3
17b94a
Requires:         nfs-ganesha-gluster >= 2.7.3
17b94a
Requires:         pcs, dbus
17b94a
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
17b94a
Requires:         cman, pacemaker, corosync
17b94a
%endif
17b94a
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 5 )
17b94a
# we need portblock resource-agent in 3.9.5 and later.
17b94a
Requires:         resource-agents >= 3.9.5
17b94a
Requires:         net-tools
17b94a
%endif
17b94a
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 25  || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
17b94a
Requires: selinux-policy >= 3.13.1-160
17b94a
Requires(post):   policycoreutils-python
17b94a
Requires(postun): policycoreutils-python
17b94a
%else
17b94a
Requires(post):   policycoreutils-python-utils
17b94a
Requires(postun): policycoreutils-python-utils
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%description ganesha
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the configuration and related files for using
17b94a
NFS-Ganesha as the NFS server using GlusterFS
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
%package geo-replication
17b94a
Summary:          GlusterFS Geo-replication
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
17b94a
Requires:         python%{_pythonver}
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
Requires:         python-prettytable
17b94a
%else
17b94a
Requires:         python%{_pythonver}-prettytable
17b94a
%endif
17b94a
Requires:         python%{_pythonver}-gluster = %{version}-%{release}
17b94a
17b94a
Requires:         rsync
17b94a
Requires:         util-linux
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
# required for setting selinux bools
17b94a
%if ( 0%{?rhel} && 0%{?rhel} >= 8 )
17b94a
Requires(post):      policycoreutils-python-utils
17b94a
Requires(postun):    policycoreutils-python-utils
17b94a
Requires:            selinux-policy-targeted
17b94a
Requires(post):      selinux-policy-targeted
17b94a
BuildRequires:       selinux-policy-devel
17b94a
%endif
17b94a
17b94a
%description geo-replication
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
peta-bytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file system in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in userspace and easily manageable.
17b94a
17b94a
This package provides support to geo-replication.
17b94a
%endif
17b94a
17b94a
%package libs
17b94a
Summary:          GlusterFS common libraries
17b94a
17b94a
%description libs
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the base GlusterFS libraries
17b94a
17b94a
%package -n python%{_pythonver}-gluster
17b94a
Summary:          GlusterFS python library
17b94a
Requires:         python%{_pythonver}
17b94a
%if ( ! %{_usepython3} )
17b94a
%{?python_provide:%python_provide python-gluster}
17b94a
Provides:         python-gluster = %{version}-%{release}
17b94a
Obsoletes:        python-gluster < 3.10
17b94a
%endif
17b94a
17b94a
%description -n python%{_pythonver}-gluster
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package contains the python modules of GlusterFS and own gluster
17b94a
namespace.
17b94a
17b94a
%if ( 0%{!?_without_rdma:1} )
17b94a
%package rdma
17b94a
Summary:          GlusterFS rdma support for ib-verbs
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 26 )
17b94a
BuildRequires:    rdma-core-devel
17b94a
%else
17b94a
BuildRequires:    libibverbs-devel
17b94a
BuildRequires:    librdmacm-devel >= 1.0.15
17b94a
%endif
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description rdma
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides support to ib-verbs library.
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_regression_tests:1} )
17b94a
%package regression-tests
17b94a
Summary:          Development Tools
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-fuse%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
17b94a
## thin provisioning support
17b94a
Requires:         lvm2 >= 2.02.89
17b94a
Requires:         perl(App::Prove) perl(Test::Harness) gcc util-linux-ng
17b94a
Requires:         python%{_pythonver}
17b94a
Requires:         attr dbench file git libacl-devel net-tools
17b94a
Requires:         nfs-utils xfsprogs yajl psmisc bc
17b94a
17b94a
%description regression-tests
17b94a
The Gluster Test Framework, is a suite of scripts used for
17b94a
regression testing of Gluster.
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_ocf:1} )
17b94a
%package resource-agents
17b94a
Summary:          OCF Resource Agents for GlusterFS
17b94a
License:          GPLv3+
17b94a
BuildArch:        noarch
17b94a
# this Group handling comes from the Fedora resource-agents package
17b94a
# for glusterd
17b94a
Requires:         %{name}-server = %{version}-%{release}
17b94a
# depending on the distribution, we need pacemaker or resource-agents
17b94a
Requires:         %{_prefix}/lib/ocf/resource.d
17b94a
17b94a
%description resource-agents
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the resource agents which plug glusterd into
17b94a
Open Cluster Framework (OCF) compliant cluster resource managers,
17b94a
like Pacemaker.
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%package server
17b94a
Summary:          Clustered file-system server
17b94a
Requires:         %{name}%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-cli%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
%if ( 0%{?fedora} && 0%{?fedora} >= 30  || ( 0%{?rhel} && 0%{?rhel} >= 8 ) )
17b94a
Requires:         glusterfs-selinux >= 1.0-1
17b94a
%endif
17b94a
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
17b94a
Requires:         %{name}-fuse%{?_isa} = %{version}-%{release}
17b94a
# self-heal daemon, rebalance, nfs-server etc. are actually clients
17b94a
Requires:         %{name}-api%{?_isa} = %{version}-%{release}
17b94a
Requires:         %{name}-client-xlators%{?_isa} = %{version}-%{release}
17b94a
# lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server
17b94a
Requires:         lvm2
17b94a
Requires:         nfs-utils
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%{?systemd_requires}
17b94a
%else
17b94a
Requires(post):   /sbin/chkconfig
17b94a
Requires(preun):  /sbin/service
17b94a
Requires(preun):  /sbin/chkconfig
17b94a
Requires(postun): /sbin/service
17b94a
%endif
17b94a
%if (0%{?_with_firewalld:1})
17b94a
# we install firewalld rules, so we need to have the directory owned
17b94a
%if ( 0%{!?rhel} )
17b94a
# not on RHEL because firewalld-filesystem appeared in 7.3
17b94a
# when EL7 rpm gets weak dependencies we can add a Suggests:
17b94a
Requires:         firewalld-filesystem
17b94a
%endif
17b94a
%endif
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
17b94a
Requires:         rpcbind
17b94a
%else
17b94a
Requires:         portmap
17b94a
%endif
17b94a
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
17b94a
Requires:         python-argparse
17b94a
%endif
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
17b94a
Requires:         python%{_pythonver}-pyxattr
17b94a
%else
17b94a
Requires:         pyxattr
17b94a
%endif
17b94a
%if (0%{?_with_valgrind:1})
17b94a
Requires:         valgrind
17b94a
%endif
17b94a
17b94a
%description server
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the glusterfs server daemon.
17b94a
%endif
17b94a
17b94a
%package client-xlators
17b94a
Summary:          GlusterFS client-side translators
17b94a
Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
17b94a
17b94a
%description client-xlators
17b94a
GlusterFS is a distributed file-system capable of scaling to several
17b94a
petabytes. It aggregates various storage bricks over Infiniband RDMA
17b94a
or TCP/IP interconnect into one large parallel network file
17b94a
system. GlusterFS is one of the most sophisticated file systems in
17b94a
terms of features and extensibility.  It borrows a powerful concept
17b94a
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
17b94a
is in user space and easily manageable.
17b94a
17b94a
This package provides the translators needed on any GlusterFS client.
17b94a
17b94a
%if ( 0%{!?_without_events:1} )
17b94a
%package events
17b94a
Summary:          GlusterFS Events
17b94a
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
17b94a
Requires:         python%{_pythonver}
17b94a
Requires:         python%{_pythonver}-gluster = %{version}-%{release}
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
17b94a
Requires:         python-requests
17b94a
%else
17b94a
Requires:         python%{_pythonver}-requests
17b94a
%endif
17b94a
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
17b94a
Requires:         python-prettytable
17b94a
Requires:         python-argparse
17b94a
%else
17b94a
Requires:         python%{_pythonver}-prettytable
17b94a
%endif
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%{?systemd_requires}
17b94a
%endif
17b94a
17b94a
%description events
17b94a
GlusterFS Events
17b94a
17b94a
%endif
17b94a
17b94a
%prep
17b94a
%setup -q -n %{name}-%{version}%{?prereltag}
17b94a
17b94a
# sanitization scriptlet for patches with file renames
17b94a
ls %{_topdir}/SOURCES/*.patch | sort | \
17b94a
while read p
17b94a
do
17b94a
    # if the destination file exists, its most probably stale
17b94a
    # so we must remove it
17b94a
    rename_to=( $(grep -i 'rename to' $p | cut -f 3 -d ' ') )
17b94a
    if [ ${#rename_to[*]} -gt 0 ]; then
17b94a
        for f in ${rename_to[*]}
17b94a
        do
17b94a
            if [ -f $f ]; then
17b94a
                rm -f $f
17b94a
            elif [ -d $f ]; then
17b94a
                rm -rf $f
17b94a
            fi
17b94a
        done
17b94a
    fi
17b94a
17b94a
    SOURCE_FILES=( $(egrep '^\-\-\- a/' $p | cut -f 2- -d '/') )
17b94a
    DEST_FILES=( $(egrep '^\+\+\+ b/' $p | cut -f 2- -d '/') )
17b94a
    EXCLUDE_DOCS=()
17b94a
    for idx in ${!SOURCE_FILES[@]}; do
17b94a
        # skip the doc
17b94a
        source_file=${SOURCE_FILES[$idx]}
17b94a
        dest_file=${DEST_FILES[$idx]}
17b94a
        if [[ "$dest_file" =~ ^doc/.+ ]]; then
17b94a
            if [ "$source_file" != "dev/null" ] && [ ! -f "$dest_file" ]; then
17b94a
                # if patch is being applied to a doc file and if the doc file
17b94a
                # hasn't been added so far then we need to exclude it
17b94a
                EXCLUDE_DOCS=( ${EXCLUDE_DOCS[*]} "$dest_file" )
17b94a
            fi
17b94a
        fi
17b94a
    done
17b94a
    EXCLUDE_DOCS_OPT=""
17b94a
    for doc in ${EXCLUDE_DOCS}; do
17b94a
        EXCLUDE_DOCS_OPT="--exclude=$doc $EXCLUDE_DOCS_OPT"
17b94a
    done
17b94a
17b94a
    # HACK to fix build
17b94a
    bn=$(basename $p)
17b94a
    if [ "$bn" == "0085-Revert-all-remove-code-which-is-not-being-considered.patch" ]; then
17b94a
        (patch -p1 -u -F3 < $p || :)
17b94a
        if [ -f libglusterfs/Makefile.am.rej ]; then
17b94a
            sed -i -e 's/^SUBDIRS = src/SUBDIRS = src src\/gfdb/g;s/^CLEANFILES = /CLEANFILES =/g' libglusterfs/Makefile.am
17b94a
        fi
17b94a
    elif [ "$bn" == "0053-Revert-packaging-ganesha-remove-glusterfs-ganesha-su.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    elif [ "$bn" == "0055-Revert-storhaug-HA-first-step-remove-resource-agents.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    elif [ "$bn" == "0090-Revert-build-conditionally-build-legacy-gNFS-server-.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    elif [ "$bn" == "0117-spec-Remove-thin-arbiter-package.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    elif [ "$bn" == "0023-hooks-remove-selinux-hooks.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    elif [ "$bn" == "0042-spec-client-server-Builds-are-failing-on-rhel-6.patch" ]; then
17b94a
        (patch -p1 < $p || :)
17b94a
    else
17b94a
        # apply the patch with 'git apply'
17b94a
        git apply -p1 --exclude=rfc.sh \
17b94a
                      --exclude=.gitignore \
17b94a
                      --exclude=.testignore \
17b94a
                      --exclude=MAINTAINERS \
17b94a
                      --exclude=extras/checkpatch.pl \
17b94a
                      --exclude=build-aux/checkpatch.pl \
17b94a
                      --exclude='tests/*' \
17b94a
                      ${EXCLUDE_DOCS_OPT} \
17b94a
                      $p
17b94a
    fi
17b94a
17b94a
done
17b94a
17b94a
echo "fixing python shebangs..."
17b94a
%if ( %{_usepython3} )
17b94a
    for i in `find . -type f -exec bash -c "if file {} | grep 'Python script, ASCII text executable' >/dev/null; then echo {}; fi" ';'`; do
17b94a
        sed -i -e 's|^#!/usr/bin/python.*|#!%{__python3}|' -e 's|^#!/usr/bin/env python.*|#!%{__python3}|' $i
17b94a
    done
17b94a
%else
17b94a
    for f in api events extras geo-replication libglusterfs tools xlators; do
17b94a
        find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \;
17b94a
    done
17b94a
%endif
17b94a
17b94a
%build
17b94a
17b94a
# In RHEL7 few hardening flags are available by default, however the RELRO
17b94a
# default behaviour is partial, convert to full
17b94a
%if ( 0%{?rhel} && 0%{?rhel} >= 7 )
17b94a
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
17b94a
export LDFLAGS
17b94a
%else
17b94a
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
17b94a
CFLAGS="$RPM_OPT_FLAGS -fPIE -DPIE"
17b94a
LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro,-z,now"
17b94a
%else
17b94a
#It appears that with gcc-4.1.2 in RHEL5 there is an issue using both -fPIC and
17b94a
 # -fPIE that makes -z relro not work; -fPIE seems to undo what -fPIC does
17b94a
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
17b94a
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
17b94a
%endif
17b94a
export CFLAGS
17b94a
export LDFLAGS
17b94a
%endif
17b94a
17b94a
./autogen.sh && %configure \
17b94a
        %{?_with_asan} \
17b94a
        %{?_with_cmocka} \
17b94a
        %{?_with_debug} \
17b94a
        %{?_with_firewalld} \
17b94a
        %{?_with_tmpfilesdir} \
17b94a
        %{?_with_tsan} \
17b94a
        %{?_with_valgrind} \
17b94a
        %{?_without_epoll} \
17b94a
        %{?_without_events} \
17b94a
        %{?_without_fusermount} \
17b94a
        %{?_without_georeplication} \
17b94a
        %{?_without_ocf} \
17b94a
        %{?_without_rdma} \
17b94a
        %{?_without_server} \
17b94a
        %{?_without_syslog} \
17b94a
        %{?_without_tiering} \
17b94a
        %{?_with_ipv6default} \
17b94a
        %{?_without_libtirpc}
17b94a
17b94a
# fix hardening and remove rpath in shlibs
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
17b94a
sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
17b94a
%endif
17b94a
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
17b94a
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
17b94a
17b94a
make %{?_smp_mflags}
17b94a
17b94a
%check
17b94a
make check
17b94a
17b94a
%install
17b94a
rm -rf %{buildroot}
17b94a
make install DESTDIR=%{buildroot}
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
install -D -p -m 0644 %{SOURCE1} \
17b94a
    %{buildroot}%{_sysconfdir}/sysconfig/glusterd
17b94a
install -D -p -m 0644 %{SOURCE2} \
17b94a
    %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
17b94a
%else
17b94a
install -D -p -m 0644 extras/glusterd-sysconfig \
17b94a
    %{buildroot}%{_sysconfdir}/sysconfig/glusterd
17b94a
%endif
17b94a
%endif
17b94a
17b94a
mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
17b94a
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
17b94a
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
17b94a
mkdir -p %{buildroot}%{_rundir}/gluster
17b94a
17b94a
# Remove unwanted files from all the shared libraries
17b94a
find %{buildroot}%{_libdir} -name '*.a' -delete
17b94a
find %{buildroot}%{_libdir} -name '*.la' -delete
17b94a
17b94a
# Remove installed docs, the ones we want are included by %%doc, in
17b94a
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
17b94a
# on the distribution
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
17b94a
rm -rf %{buildroot}%{_pkgdocdir}/*
17b94a
%else
17b94a
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
17b94a
mkdir -p %{buildroot}%{_pkgdocdir}
17b94a
%endif
17b94a
head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog
17b94a
cat << EOM >> ChangeLog
17b94a
17b94a
More commit messages for this ChangeLog can be found at
17b94a
https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prereltag}
17b94a
EOM
17b94a
17b94a
# Remove benchmarking and other unpackaged files
17b94a
# make install always puts these in %%{_defaultdocdir}/%%{name} so don't
17b94a
# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions
17b94a
rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking
17b94a
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el
17b94a
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
# Create working directory
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
17b94a
17b94a
# Update configuration file to /var/lib working directory
17b94a
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
17b94a
    %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
17b94a
%endif
17b94a
17b94a
# Install glusterfsd .service or init.d file
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
%service_install glusterfsd %{glusterfsd_svcfile}
17b94a
%endif
17b94a
%endif
17b94a
17b94a
install -D -p -m 0644 extras/glusterfs-logrotate \
17b94a
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
17b94a
17b94a
# ganesha ghosts
17b94a
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
17b94a
mkdir -p %{buildroot}%{_sysconfdir}/ganesha
17b94a
touch %{buildroot}%{_sysconfdir}/ganesha/ganesha-ha.conf
17b94a
mkdir -p %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/
17b94a
touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
17b94a
touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
17b94a
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
17b94a
install -D -p -m 0644 extras/glusterfs-georep-logrotate \
17b94a
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
17b94a
touch %{buildroot}%{_sharedstatedir}/glusterd/options
17b94a
subdirs=(add-brick create copy-file delete gsync-create remove-brick reset set start stop)
17b94a
for dir in ${subdirs[@]}; do
17b94a
    mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
17b94a
done
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/bitd
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/quotad
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/scrub
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/snaps
17b94a
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/ss_brick
17b94a
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
17b94a
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
17b94a
%endif
17b94a
17b94a
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
17b94a
17b94a
## Install bash completion for cli
17b94a
install -p -m 0744 -D extras/command-completion/gluster.bash \
17b94a
    %{buildroot}%{_sysconfdir}/bash_completion.d/gluster
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
echo "RHGS 3.5" > %{buildroot}%{_datadir}/glusterfs/release
17b94a
%endif
17b94a
17b94a
%clean
17b94a
rm -rf %{buildroot}
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%post should be placed here and keep them sorted
17b94a
##
17b94a
%post
17b94a
/sbin/ldconfig
17b94a
%if ( 0%{!?_without_syslog:1} )
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
17b94a
%systemd_postun_with_restart rsyslog
17b94a
%endif
17b94a
%endif
17b94a
exit 0
17b94a
17b94a
%post api
17b94a
/sbin/ldconfig
17b94a
17b94a
%if ( 0%{!?_without_events:1} )
17b94a
%post events
17b94a
%service_enable glustereventsd
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
17b94a
%post ganesha
17b94a
semanage boolean -m ganesha_use_fusefs --on
17b94a
exit 0
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
%post geo-replication
17b94a
%if ( 0%{?rhel} && 0%{?rhel} >= 8 )
17b94a
%selinux_set_booleans %{selinuxbooleans}
17b94a
%endif
17b94a
if [ $1 -ge 1 ]; then
17b94a
    %systemd_postun_with_restart glusterd
17b94a
fi
17b94a
exit 0
17b94a
%endif
17b94a
17b94a
%post libs
17b94a
/sbin/ldconfig
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%post server
17b94a
# Legacy server
17b94a
%service_enable glusterd
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
%service_enable glusterfsd
17b94a
%endif
17b94a
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
17b94a
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
17b94a
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
17b94a
# "cmd_history.log" to retain cli command history contents.
17b94a
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
17b94a
    mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
17b94a
       %{_localstatedir}/log/glusterfs/cmd_history.log
17b94a
fi
17b94a
17b94a
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
17b94a
# there are any files in /etc from a prior gluster.org install, move them
17b94a
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
17b94a
# in gluster.org RPMs.) Be careful to copy them on the off chance that
17b94a
# /etc and /var/lib are on separate file systems
17b94a
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
17b94a
    mkdir -p %{_sharedstatedir}/glusterd
17b94a
    cp -a /etc/glusterd %{_sharedstatedir}/glusterd
17b94a
    rm -rf /etc/glusterd
17b94a
    ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
17b94a
fi
17b94a
17b94a
# Rename old volfiles in an RPM-standard way.  These aren't actually
17b94a
# considered package config files, so %%config doesn't work for them.
17b94a
if [ -d %{_sharedstatedir}/glusterd/vols ]; then
17b94a
    for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
17b94a
        newfile=${file}.rpmsave
17b94a
        echo "warning: ${file} saved as ${newfile}"
17b94a
        cp ${file} ${newfile}
17b94a
    done
17b94a
fi
17b94a
17b94a
# add marker translator
17b94a
# but first make certain that there are no old libs around to bite us
17b94a
# BZ 834847
17b94a
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
17b94a
    rm -f /etc/ld.so.conf.d/glusterfs.conf
17b94a
    /sbin/ldconfig
17b94a
fi
17b94a
17b94a
%if (0%{?_with_firewalld:1})
17b94a
    %firewalld_reload
17b94a
%endif
17b94a
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%pre should be placed here and keep them sorted
17b94a
##
17b94a
%pre
17b94a
getent group gluster > /dev/null || groupadd -r gluster
17b94a
getent passwd gluster > /dev/null || useradd -r -g gluster -d %{_rundir}/gluster -s /sbin/nologin -c "GlusterFS daemons" gluster
17b94a
exit 0
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%preun should be placed here and keep them sorted
17b94a
##
17b94a
%if ( 0%{!?_without_events:1} )
17b94a
%preun events
17b94a
if [ $1 -eq 0 ]; then
17b94a
    if [ -f %glustereventsd_svcfile ]; then
17b94a
        %service_stop glustereventsd
17b94a
        %systemd_preun glustereventsd
17b94a
    fi
17b94a
fi
17b94a
exit 0
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%preun server
17b94a
if [ $1 -eq 0 ]; then
17b94a
    if [ -f %glusterfsd_svcfile ]; then
17b94a
        %service_stop glusterfsd
17b94a
    fi
17b94a
    %service_stop glusterd
17b94a
    if [ -f %glusterfsd_svcfile ]; then
17b94a
        %systemd_preun glusterfsd
17b94a
    fi
17b94a
    %systemd_preun glusterd
17b94a
fi
17b94a
if [ $1 -ge 1 ]; then
17b94a
    if [ -f %glusterfsd_svcfile ]; then
17b94a
        %systemd_postun_with_restart glusterfsd
17b94a
    fi
17b94a
    %systemd_postun_with_restart glusterd
17b94a
fi
17b94a
exit 0
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%postun should be placed here and keep them sorted
17b94a
##
17b94a
%postun
17b94a
%if ( 0%{!?_without_syslog:1} )
17b94a
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
17b94a
%systemd_postun_with_restart rsyslog
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%postun server
17b94a
%if (0%{?_with_firewalld:1})
17b94a
    %firewalld_reload
17b94a
%endif
17b94a
exit 0
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 25  || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
17b94a
%postun ganesha
17b94a
semanage boolean -m ganesha_use_fusefs --off
17b94a
exit 0
17b94a
%endif
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%trigger should be placed here and keep them sorted
17b94a
##
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 25  || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
17b94a
%trigger ganesha -- selinux-policy-targeted
17b94a
semanage boolean -m ganesha_use_fusefs --on
17b94a
exit 0
17b94a
%endif
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%triggerun should be placed here and keep them sorted
17b94a
##
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%if ( 0%{?fedora} && 0%{?fedora} > 25  || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
17b94a
%triggerun ganesha -- selinux-policy-targeted
17b94a
semanage boolean -m ganesha_use_fusefs --off
17b94a
exit 0
17b94a
%endif
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %%files should be placed here and keep them grouped
17b94a
##
17b94a
%files
17b94a
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS COMMITMENT
17b94a
%{_mandir}/man8/*gluster*.8*
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%exclude %{_mandir}/man8/gluster.8*
17b94a
%endif
17b94a
%dir %{_localstatedir}/log/glusterfs
17b94a
%if ( 0%{!?_without_rdma:1} )
17b94a
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
17b94a
%endif
17b94a
%if 0%{?!_without_server:1}
17b94a
%dir %{_datadir}/glusterfs
17b94a
%dir %{_datadir}/glusterfs/scripts
17b94a
     %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
17b94a
     %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
17b94a
%endif
17b94a
%{_datadir}/glusterfs/scripts/identify-hangs.sh
17b94a
%{_datadir}/glusterfs/scripts/collect-system-stats.sh
17b94a
%{_datadir}/glusterfs/scripts/log_accounting.sh
17b94a
# xlators that are needed on the client- and on the server-side
17b94a
%dir %{_libdir}/glusterfs
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/auth
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/auth/addr.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/auth/login.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/socket.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/delay-gen.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/sink.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cdc.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changelog.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/utime.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/gfid-access.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/namespace.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/read-only.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/shard.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-client.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/worm.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cloudsync.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/meta.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-cache.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-threads.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/md-cache.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/open-behind.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/quick-read.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/read-ahead.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/readdir-ahead.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/stat-prefetch.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/write-behind.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/nl-cache.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so
17b94a
%dir %attr(0775,gluster,gluster) %{_rundir}/gluster
17b94a
%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1}
17b94a
%{_tmpfilesdir}/gluster.conf
17b94a
%endif
17b94a
%if ( 0%{?_without_extra_xlators:1} )
17b94a
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
17b94a
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so
17b94a
%endif
17b94a
%if ( 0%{?_without_regression_tests:1} )
17b94a
%exclude %{_datadir}/glusterfs/run-tests.sh
17b94a
%exclude %{_datadir}/glusterfs/tests
17b94a
%endif
17b94a
%if 0%{?_without_server:1}
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%exclude %{_datadir}/glusterfs/scripts/control-cpu-load.sh
17b94a
%exclude %{_datadir}/glusterfs/scripts/control-mem.sh
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%if ( 0%{?_without_server:1} || 0%{?rhel} < 7 )
17b94a
#exclude ganesha related files for rhel 6 and client builds
17b94a
%exclude %{_sysconfdir}/ganesha/ganesha-ha.conf.sample
17b94a
%exclude %{_libexecdir}/ganesha/*
17b94a
%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%exclude %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
17b94a
17b94a
%if ( 0%{?_without_server:1} )
17b94a
%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol
17b94a
%endif
17b94a
17b94a
%files api
17b94a
%exclude %{_libdir}/*.so
17b94a
# libgfapi files
17b94a
%{_libdir}/libgfapi.*
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so
17b94a
17b94a
%files api-devel
17b94a
%{_libdir}/pkgconfig/glusterfs-api.pc
17b94a
%{_libdir}/libgfapi.so
17b94a
%dir %{_includedir}/glusterfs
17b94a
%dir %{_includedir}/glusterfs/api
17b94a
     %{_includedir}/glusterfs/api/*
17b94a
17b94a
%files cli
17b94a
%{_sbindir}/gluster
17b94a
%{_mandir}/man8/gluster.8*
17b94a
%{_sysconfdir}/bash_completion.d/gluster
17b94a
17b94a
%files cloudsync-plugins
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsynccvlt.so
17b94a
17b94a
%files devel
17b94a
%dir %{_includedir}/glusterfs
17b94a
     %{_includedir}/glusterfs/*
17b94a
%exclude %{_includedir}/glusterfs/api
17b94a
%exclude %{_libdir}/libgfapi.so
17b94a
%{_libdir}/*.so
17b94a
%if ( 0%{?_without_server:1} )
17b94a
%exclude %{_libdir}/pkgconfig/libgfchangelog.pc
17b94a
%exclude %{_libdir}/libgfchangelog.so
17b94a
%if ( 0%{!?_without_tiering:1} )
17b94a
%exclude %{_libdir}/pkgconfig/libgfdb.pc
17b94a
%endif
17b94a
%else
17b94a
%{_libdir}/pkgconfig/libgfchangelog.pc
17b94a
%if ( 0%{!?_without_tiering:1} )
17b94a
%{_libdir}/pkgconfig/libgfdb.pc
17b94a
%endif
17b94a
%endif
17b94a
17b94a
%files client-xlators
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so
17b94a
17b94a
%if ( 0%{!?_without_extra_xlators:1} )
17b94a
%files extra-xlators
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so
17b94a
%endif
17b94a
17b94a
%files fuse
17b94a
# glusterfs is a symlink to glusterfsd, -server depends on -fuse.
17b94a
%{_sbindir}/glusterfs
17b94a
%{_sbindir}/glusterfsd
17b94a
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so
17b94a
/sbin/mount.glusterfs
17b94a
%if ( 0%{!?_without_fusermount:1} )
17b94a
%{_bindir}/fusermount-glusterfs
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
%files geo-replication
17b94a
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
17b94a
17b94a
%{_sbindir}/gfind_missing_files
17b94a
%{_sbindir}/gluster-mountbroker
17b94a
%dir %{_libexecdir}/glusterfs
17b94a
%dir %{_libexecdir}/glusterfs/python
17b94a
%dir %{_libexecdir}/glusterfs/python/syncdaemon
17b94a
     %{_libexecdir}/glusterfs/gsyncd
17b94a
     %{_libexecdir}/glusterfs/python/syncdaemon/*
17b94a
     %{_libexecdir}/glusterfs/gverify.sh
17b94a
     %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
17b94a
     %{_libexecdir}/glusterfs/peer_gsec_create
17b94a
     %{_libexecdir}/glusterfs/peer_mountbroker
17b94a
     %{_libexecdir}/glusterfs/peer_mountbroker.py*
17b94a
     %{_libexecdir}/glusterfs/gfind_missing_files
17b94a
     %{_libexecdir}/glusterfs/peer_georep-sshkey.py*
17b94a
%{_sbindir}/gluster-georep-sshkey
17b94a
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
17b94a
%ghost      %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
17b94a
17b94a
%dir %{_datadir}/glusterfs
17b94a
%dir %{_datadir}/glusterfs/scripts
17b94a
     %{_datadir}/glusterfs/scripts/get-gfid.sh
17b94a
     %{_datadir}/glusterfs/scripts/slave-upgrade.sh
17b94a
     %{_datadir}/glusterfs/scripts/gsync-upgrade.sh
17b94a
     %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
17b94a
     %{_datadir}/glusterfs/scripts/gsync-sync-gfid
17b94a
     %{_datadir}/glusterfs/scripts/schedule_georep.py*
17b94a
%endif
17b94a
17b94a
%files libs
17b94a
%{_libdir}/*.so.*
17b94a
%exclude %{_libdir}/libgfapi.*
17b94a
%if ( 0%{!?_without_tiering:1} )
17b94a
# libgfdb is only needed server-side
17b94a
%exclude %{_libdir}/libgfdb.*
17b94a
%endif
17b94a
17b94a
%files -n python%{_pythonver}-gluster
17b94a
# introducing glusterfs module in site packages.
17b94a
# so that all other gluster submodules can reside in the same namespace.
17b94a
%if ( %{_usepython3} )
17b94a
%dir %{python3_sitelib}/gluster
17b94a
     %{python3_sitelib}/gluster/__init__.*
17b94a
     %{python3_sitelib}/gluster/__pycache__
17b94a
     %{python3_sitelib}/gluster/cliutils
17b94a
%else
17b94a
%dir %{python2_sitelib}/gluster
17b94a
     %{python2_sitelib}/gluster/__init__.*
17b94a
     %{python2_sitelib}/gluster/cliutils
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_rdma:1} )
17b94a
%files rdma
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_regression_tests:1} )
17b94a
%files regression-tests
17b94a
%dir %{_datadir}/glusterfs
17b94a
     %{_datadir}/glusterfs/run-tests.sh
17b94a
     %{_datadir}/glusterfs/tests
17b94a
%exclude %{_datadir}/glusterfs/tests/vagrant
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} && 0%{?rhel} > 6 )
17b94a
%files ganesha
17b94a
%dir %{_libexecdir}/ganesha
17b94a
%{_sysconfdir}/ganesha/ganesha-ha.conf.sample
17b94a
%{_libexecdir}/ganesha/*
17b94a
%{_prefix}/lib/ocf/resource.d/heartbeat/*
17b94a
%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
17b94a
%ghost      %attr(0644,-,-) %config(noreplace) %{_sysconfdir}/ganesha/ganesha-ha.conf
17b94a
%ghost %dir %attr(0755,-,-) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha
17b94a
%ghost      %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
17b94a
%ghost      %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_ocf:1} )
17b94a
%files resource-agents
17b94a
# /usr/lib is the standard for OCF, also on x86_64
17b94a
%{_prefix}/lib/ocf/resource.d/glusterfs
17b94a
%endif
17b94a
17b94a
%if ( 0%{!?_without_server:1} )
17b94a
%files server
17b94a
%doc extras/clear_xattrs.sh
17b94a
%{_datadir}/glusterfs/scripts/xattr_analysis.py*
17b94a
%{_datadir}/glusterfs/scripts/quota_fsck.py*
17b94a
# sysconf
17b94a
%config(noreplace) %{_sysconfdir}/glusterfs
17b94a
%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol
17b94a
%exclude %{_sysconfdir}/glusterfs/eventsconfig.json
17b94a
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
17b94a
%endif
17b94a
17b94a
# init files
17b94a
%glusterd_svcfile
17b94a
%if ( 0%{_for_fedora_koji_builds} )
17b94a
%glusterfsd_svcfile
17b94a
%endif
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%glusterfssharedstorage_svcfile
17b94a
%endif
17b94a
17b94a
# binaries
17b94a
%{_sbindir}/glusterd
17b94a
%{_sbindir}/glfsheal
17b94a
%{_sbindir}/gf_attach
17b94a
%{_sbindir}/gluster-setgfid2path
17b94a
# {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a
17b94a
# symlink. The binary itself (and symlink) are part of the glusterfs-fuse
17b94a
# package, because glusterfs-server depends on that anyway.
17b94a
17b94a
# Manpages
17b94a
%{_mandir}/man8/gluster-setgfid2path.8*
17b94a
17b94a
# xlators
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so
17b94a
%if ( 0%{!?_without_tiering:1} )
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
17b94a
     %{_libdir}/libgfdb.so.*
17b94a
%endif
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/selinux.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/leases.so
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt/glusterd.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/posix.so
17b94a
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance
17b94a
     %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so
17b94a
17b94a
# snap_scheduler
17b94a
%{_sbindir}/snap_scheduler.py
17b94a
%{_sbindir}/gcron.py
17b94a
%{_sbindir}/conf.py
17b94a
17b94a
# /var/lib/glusterd, e.g. hookscripts, etc.
17b94a
%ghost      %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
17b94a
%ghost      %attr(0600,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/options
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/bitd
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/virt
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/gluster-block
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt
17b94a
            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/post
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
17b94a
                            %{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/post
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/pre
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S30samba-start.sh
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
17b94a
       %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S30samba-stop.sh
17b94a
            %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
17b94a
%ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
17b94a
%ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/quotad
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/scrub
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/snaps
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/ss_brick
17b94a
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
17b94a
17b94a
# Extra utility script
17b94a
%dir %{_libexecdir}/glusterfs
17b94a
     %{_datadir}/glusterfs/release
17b94a
%dir %{_datadir}/glusterfs/scripts
17b94a
     %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
     %{_libexecdir}/glusterfs/mount-shared-storage.sh
17b94a
     %{_datadir}/glusterfs/scripts/control-cpu-load.sh
17b94a
     %{_datadir}/glusterfs/scripts/control-mem.sh
17b94a
%endif
17b94a
17b94a
# Incrementalapi
17b94a
     %{_libexecdir}/glusterfs/glusterfind
17b94a
%{_bindir}/glusterfind
17b94a
     %{_libexecdir}/glusterfs/peer_add_secret_pub
17b94a
17b94a
%if ( 0%{?_with_firewalld:1} )
17b94a
%{_prefix}/lib/firewalld/services/glusterfs.xml
17b94a
%endif
17b94a
# end of server files
17b94a
%endif
17b94a
17b94a
# Events
17b94a
%if ( 0%{!?_without_events:1} )
17b94a
%files events
17b94a
%config(noreplace) %{_sysconfdir}/glusterfs/eventsconfig.json
17b94a
%dir %{_sharedstatedir}/glusterd
17b94a
%dir %{_sharedstatedir}/glusterd/events
17b94a
%dir %{_libexecdir}/glusterfs
17b94a
     %{_libexecdir}/glusterfs/gfevents
17b94a
     %{_libexecdir}/glusterfs/peer_eventsapi.py*
17b94a
%{_sbindir}/glustereventsd
17b94a
%{_sbindir}/gluster-eventsapi
17b94a
%{_datadir}/glusterfs/scripts/eventsdash.py*
17b94a
%if ( 0%{?_with_systemd:1} )
17b94a
%{_unitdir}/glustereventsd.service
17b94a
%else
17b94a
%{_sysconfdir}/init.d/glustereventsd
17b94a
%endif
17b94a
%endif
17b94a
17b94a
##-----------------------------------------------------------------------------
17b94a
## All %pretrans should be placed here and keep them sorted
17b94a
##
17b94a
%if 0%{!?_without_server:1}
17b94a
%pretrans -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          echo "ERROR: Distribute volumes detected. In-service rolling upgrade requires distribute volume(s) to be stopped."
17b94a
          echo "ERROR: Please stop distribute volume(s) before proceeding... exiting!"
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   echo "WARNING: Updating glusterfs requires its processes to be killed. This action does NOT incur downtime."
17b94a
   echo "WARNING: Ensure to wait for the upgraded server to finish healing before proceeding."
17b94a
   echo "WARNING: Refer upgrade section of install guide for more details"
17b94a
   echo "Please run # service glusterd stop; pkill glusterfs; pkill glusterfsd; pkill gsyncd.py;"
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
17b94a
%pretrans api -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
17b94a
%pretrans api-devel -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
17b94a
%pretrans cli -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
%pretrans client-xlators -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
%pretrans fuse -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
17b94a
%if ( 0%{!?_without_georeplication:1} )
17b94a
%pretrans geo-replication -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
%endif
17b94a
17b94a
17b94a
17b94a
%pretrans libs -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
17b94a
17b94a
%if ( 0%{!?_without_rdma:1} )
17b94a
%pretrans rdma -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
%endif
17b94a
17b94a
17b94a
17b94a
%if ( 0%{!?_without_ocf:1} )
17b94a
%pretrans resource-agents -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
%endif
17b94a
17b94a
17b94a
17b94a
%pretrans server -p <lua>
17b94a
if not posix.access("/bin/bash", "x") then
17b94a
    -- initial installation, no shell, no running glusterfsd
17b94a
    return 0
17b94a
end
17b94a
17b94a
-- TODO: move this completely to a lua script
17b94a
-- For now, we write a temporary bash script and execute that.
17b94a
17b94a
script = [[#!/bin/sh
17b94a
pidof -c -o %PPID -x glusterfsd &>/dev/null
17b94a
17b94a
if [ $? -eq 0 ]; then
17b94a
   pushd . > /dev/null 2>&1
17b94a
   for volume in /var/lib/glusterd/vols/*; do cd $volume;
17b94a
       vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
17b94a
       volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
17b94a
       if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
17b94a
          exit 1;
17b94a
       fi
17b94a
   done
17b94a
17b94a
   popd > /dev/null 2>&1
17b94a
   exit 1;
17b94a
fi
17b94a
]]
17b94a
17b94a
ok, how, val = os.execute(script)
17b94a
rc = val or ok
17b94a
if not (rc == 0) then
17b94a
   error("Detected running glusterfs processes", rc)
17b94a
end
17b94a
17b94a
%posttrans server
17b94a
pidof -c -o %PPID -x glusterd &> /dev/null
17b94a
if [ $? -eq 0 ]; then
17b94a
    kill -9 `pgrep -f gsyncd.py` &> /dev/null
17b94a
17b94a
    killall --wait -SIGTERM glusterd &> /dev/null
17b94a
17b94a
    if [ "$?" != "0" ]; then
17b94a
        echo "killall failed while killing glusterd"
17b94a
    fi
17b94a
17b94a
    glusterd --xlator-option *.upgrade=on -N
17b94a
17b94a
    #Cleaning leftover glusterd socket file which is created by glusterd in
17b94a
    #rpm_script_t context.
17b94a
    rm -rf /var/run/glusterd.socket
17b94a
17b94a
    # glusterd _was_ running, we killed it, it exited after *.upgrade=on,
17b94a
    # so start it again
17b94a
    %service_start glusterd
17b94a
else
17b94a
    glusterd --xlator-option *.upgrade=on -N
17b94a
17b94a
    #Cleaning leftover glusterd socket file which is created by glusterd in
17b94a
    #rpm_script_t context.
17b94a
    rm -rf /var/run/glusterd.socket
17b94a
fi
17b94a
17b94a
%endif
17b94a
17b94a
%changelog
ebdb65
* Wed Nov 03 2021 CentOS Sources <bugs@centos.org> - 6.0-57.4.el9.centos
ebdb65
- remove vendor and/or packager lines
ebdb65
17b94a
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 6.0-57.4
17b94a
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
17b94a
  Related: rhbz#1991688
17b94a
17b94a
* Sun Aug 1 2021 Tamar Shacked <tshacked@redhat.com> - 6.0-56.4
17b94a
- remove unneeded file with ambiguous licence
17b94a
- fixes bug bz#1939340
17b94a
17b94a
* Mon Jul 26 2021 Tamar Shacked <tshacked@redhat.com> - 6.0-56.3
17b94a
- Rebase with latest RHGS-3.5.4
17b94a
- Fix changlog chronological order by removing unneeded changelogs
17b94a
- fixes bug bz#1939340
17b94a
17b94a
* Thu May 06 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-56.2
17b94a
- fixes bugs bz#1953901
17b94a
17b94a
* Thu Apr 22 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-56.1
17b94a
- fixes bugs bz#1927235
17b94a
17b94a
* Wed Apr 14 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-56
17b94a
- fixes bugs bz#1948547
17b94a
17b94a
* Fri Mar 19 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-55
17b94a
- fixes bugs bz#1939372
17b94a
17b94a
* Wed Mar 03 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-54
17b94a
- fixes bugs bz#1832306 bz#1911292 bz#1924044
17b94a
17b94a
* Thu Feb 11 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-53
17b94a
- fixes bugs bz#1224906 bz#1691320 bz#1719171 bz#1814744 bz#1865796
17b94a
17b94a
* Thu Jan 28 2021 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-52
17b94a
- fixes bugs bz#1600459 bz#1719171 bz#1830713 bz#1856574
17b94a
17b94a
* Mon Dec 28 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-51
17b94a
- fixes bugs bz#1640148 bz#1856574 bz#1910119
17b94a
17b94a
* Tue Dec 15 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-50
17b94a
- fixes bugs bz#1224906 bz#1412494 bz#1612973 bz#1663821 bz#1691320 
17b94a
  bz#1726673 bz#1749304 bz#1752739 bz#1779238 bz#1813866 bz#1814744 bz#1821599 
17b94a
  bz#1832306 bz#1835229 bz#1842449 bz#1865796 bz#1878077 bz#1882923 bz#1885966 
17b94a
  bz#1890506 bz#1896425 bz#1898776 bz#1898777 bz#1898778 bz#1898781 bz#1898784 
17b94a
  bz#1903468
17b94a
17b94a
* Wed Nov 25 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-49
17b94a
- fixes bugs bz#1286171
17b94a
17b94a
* Tue Nov 10 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-48
17b94a
- fixes bugs bz#1895301
17b94a
17b94a
* Thu Nov 05 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-47
17b94a
- fixes bugs bz#1286171 bz#1821743 bz#1837926
17b94a
17b94a
* Wed Oct 21 2020 Gluster Jenkins <dkhandel+glusterjenkins@redhat.com> - 6.0-46
17b94a
- fixes bugs bz#1873469 bz#1881823
17b94a
17b94a
* Wed Sep 09 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-45
17b94a
- fixes bugs bz#1785714
17b94a
17b94a
* Thu Sep 03 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-44
17b94a
- fixes bugs bz#1460657
17b94a
17b94a
* Thu Sep 03 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-43
17b94a
- fixes bugs bz#1460657
17b94a
17b94a
* Wed Sep 02 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-42
17b94a
- fixes bugs bz#1785714
17b94a
17b94a
* Tue Aug 25 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-41
17b94a
- fixes bugs bz#1785714 bz#1851424 bz#1851989 bz#1852736 bz#1853189 bz#1855966
17b94a
17b94a
* Tue Jul 21 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-40
17b94a
- fixes bugs bz#1812789 bz#1844359 bz#1847081 bz#1854165
17b94a
17b94a
* Wed Jun 17 2020 Deepshikha Khandelwal <dkhandel@redhat.com> - 6.0-39
17b94a
- fixes bugs bz#1844359 bz#1845064
17b94a
17b94a
* Wed Jun 10 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-38
17b94a
- fixes bugs bz#1234220 bz#1286171 bz#1487177 bz#1524457 bz#1640573 
17b94a
  bz#1663557 bz#1667954 bz#1683602 bz#1686897 bz#1721355 bz#1748865 bz#1750211 
17b94a
  bz#1754391 bz#1759875 bz#1761531 bz#1761932 bz#1763124 bz#1763129 bz#1764091 
17b94a
  bz#1775637 bz#1776901 bz#1781550 bz#1781649 bz#1781710 bz#1783232 bz#1784211 
17b94a
  bz#1784415 bz#1786516 bz#1786681 bz#1787294 bz#1787310 bz#1787331 bz#1787994 
17b94a
  bz#1790336 bz#1792873 bz#1794663 bz#1796814 bz#1804164 bz#1810924 bz#1815434 
17b94a
  bz#1836099 bz#1837467 bz#1837926 bz#1838479 bz#1839137 bz#1844359
17b94a
17b94a
* Fri May 29 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-37
17b94a
- fixes bugs bz#1840794
17b94a
17b94a
* Wed May 27 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-36
17b94a
- fixes bugs bz#1812789 bz#1823423
17b94a
17b94a
* Fri May 22 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-35
17b94a
- fixes bugs bz#1810516 bz#1830713 bz#1836233
17b94a
17b94a
* Sun May 17 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-34
17b94a
- fixes bugs bz#1802013 bz#1823706 bz#1825177 bz#1830713 bz#1831403 bz#1833017
17b94a
17b94a
* Wed Apr 29 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-33
17b94a
- fixes bugs bz#1812789 bz#1813917 bz#1823703 bz#1823706 bz#1825195
17b94a
17b94a
* Sat Apr 04 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-32
17b94a
- fixes bugs bz#1781543 bz#1812789 bz#1812824 bz#1817369 bz#1819059
17b94a
17b94a
* Tue Mar 17 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-31
17b94a
- fixes bugs bz#1802727
17b94a
17b94a
* Thu Feb 20 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-30.1
17b94a
- fixes bugs bz#1800703
17b94a
17b94a
* Sat Feb 01 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-30
17b94a
- fixes bugs bz#1775564 bz#1794153
17b94a
17b94a
* Thu Jan 23 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-29
17b94a
- fixes bugs bz#1793035
17b94a
17b94a
* Tue Jan 14 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-28
17b94a
- fixes bugs bz#1789447
17b94a
17b94a
* Mon Jan 13 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-27
17b94a
- fixes bugs bz#1789447
17b94a
17b94a
* Fri Jan 10 2020 Rinku Kothiya <rkothiya@redhat.com> - 6.0-26
17b94a
- fixes bugs bz#1763208 bz#1788656
17b94a
17b94a
* Mon Dec 23 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-25
17b94a
- fixes bugs bz#1686800 bz#1763208 bz#1779696 bz#1781444 bz#1782162
17b94a
17b94a
* Thu Nov 28 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-24
17b94a
- fixes bugs bz#1768786
17b94a
17b94a
* Thu Nov 21 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-23
17b94a
- fixes bugs bz#1344758 bz#1599802 bz#1685406 bz#1686800 bz#1724021 
17b94a
  bz#1726058 bz#1727755 bz#1731513 bz#1741193 bz#1758923 bz#1761326 bz#1761486 
17b94a
  bz#1762180 bz#1764095 bz#1766640
17b94a
17b94a
* Thu Nov 14 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-22
17b94a
- fixes bugs bz#1771524 bz#1771614
17b94a
17b94a
* Fri Oct 25 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-21
17b94a
- fixes bugs bz#1765555
17b94a
17b94a
* Wed Oct 23 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-20
17b94a
- fixes bugs bz#1719171 bz#1763412 bz#1764202
17b94a
17b94a
* Thu Oct 17 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-19
17b94a
- fixes bugs bz#1760939
17b94a
17b94a
* Wed Oct 16 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-18
17b94a
- fixes bugs bz#1758432
17b94a
17b94a
* Fri Oct 11 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-17
17b94a
- fixes bugs bz#1704562 bz#1758618 bz#1760261
17b94a
17b94a
* Wed Oct 09 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-16
17b94a
- fixes bugs bz#1752713 bz#1756325
17b94a
17b94a
* Fri Sep 27 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-15
17b94a
- fixes bugs bz#1726000 bz#1731826 bz#1754407 bz#1754790 bz#1755227
17b94a
17b94a
* Fri Sep 20 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-14
17b94a
- fixes bugs bz#1719171 bz#1728673 bz#1731896 bz#1732443 bz#1733970 
17b94a
  bz#1745107 bz#1746027 bz#1748688 bz#1750241 bz#1572163
17b94a
17b94a
* Fri Aug 23 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-13
17b94a
- fixes bugs bz#1729915 bz#1732376 bz#1743611 bz#1743627 bz#1743634 bz#1744518
17b94a
17b94a
* Fri Aug 09 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-12
17b94a
- fixes bugs bz#1730914 bz#1731448 bz#1732770 bz#1732792 bz#1733531 
17b94a
  bz#1734305 bz#1734534 bz#1734734 bz#1735514 bz#1737705 bz#1732774
17b94a
  bz#1732793
17b94a
17b94a
* Tue Aug 06 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-11
17b94a
- fixes bugs bz#1733520 bz#1734423
17b94a
17b94a
* Fri Aug 02 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-10
17b94a
- fixes bugs bz#1713890
17b94a
17b94a
* Tue Jul 23 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-9
17b94a
- fixes bugs bz#1708064 bz#1708180 bz#1715422 bz#1720992 bz#1722757
17b94a
17b94a
* Tue Jul 16 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-8
17b94a
- fixes bugs bz#1698435 bz#1712591 bz#1715447 bz#1720488 bz#1722209
17b94a
  bz#1722512 bz#1724089 bz#1726991 bz#1727785 bz#1729108
17b94a
17b94a
* Fri Jun 28 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-7
17b94a
- fixes bugs bz#1573077 bz#1600918 bz#1703423 bz#1704207 bz#1708064
17b94a
  bz#1709301 bz#1713664 bz#1716760 bz#1717784 bz#1720163 bz#1720192
17b94a
  bz#1720551 bz#1721351 bz#1721357 bz#1721477 bz#1722131 bz#1722331
17b94a
  bz#1722509 bz#1722801 bz#1720248
17b94a
17b94a
* Fri Jun 14 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-6
17b94a
- fixes bugs bz#1668001 bz#1708043 bz#1708183 bz#1710701 
17b94a
  bz#1719640 bz#1720079 bz#1720248 bz#1720318 bz#1720461
17b94a
17b94a
* Tue Jun 11 2019 Sunil Kumar Acharya <sheggodu@redhat.com> - 6.0-5
17b94a
- fixes bugs bz#1573077 bz#1694595 bz#1703434 bz#1714536 bz#1714588 
17b94a
  bz#1715407 bz#1715438 bz#1705018
17b94a
17b94a
* Fri Jun 07 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-4
17b94a
- fixes bugs bz#1480907 bz#1702298 bz#1703455 bz#1704181 bz#1707246
17b94a
  bz#1708067 bz#1708116 bz#1708121 bz#1709087 bz#1711249 bz#1711296 
17b94a
  bz#1714078 bz#1714124 bz#1716385 bz#1716626 bz#1716821 bz#1716865 bz#1717927
17b94a
17b94a
* Tue May 14 2019 Rinku Kothiya <rkothiya@redhat.com> - 6.0-3
17b94a
- fixes bugs bz#1583585 bz#1671862 bz#1702686 bz#1703434 bz#1703753 
17b94a
  bz#1703897 bz#1704562 bz#1704769 bz#1704851 bz#1706683 bz#1706776 bz#1706893
17b94a
17b94a
* Thu Apr 25 2019 Milind Changire <mchangir@redhat.com> - 6.0-2
17b94a
- fixes bugs bz#1471742 bz#1652461 bz#1671862 bz#1676495 bz#1691620 
17b94a
  bz#1696334 bz#1696903 bz#1697820 bz#1698436 bz#1698728 bz#1699709 bz#1699835 
17b94a
  bz#1702240
17b94a
17b94a
* Mon Apr 08 2019 Milind Changire <mchangir@redhat.com> - 6.0-1
17b94a
- rebase to upstream glusterfs at v6.0
17b94a
- fixes bugs bz#1493284 bz#1578703 bz#1600918 bz#1670415 bz#1691620 
17b94a
  bz#1693935 bz#1695057
17b94a