|
|
e1d1f9 |
%global _hardened_build 1
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%global _for_fedora_koji_builds 0
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# uncomment and add '%' to use the prereltag for pre-releases
|
|
|
473043 |
# %%global prereltag qa3
|
|
|
473043 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
473043 |
## All argument definitions should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
e1d1f9 |
|
|
|
3604df |
# if you wish to compile an rpm with debugging...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --with debug
|
|
|
3604df |
%{?_with_debug:%global _with_debug --enable-debug}
|
|
|
3604df |
|
|
|
cb8e9e |
# if you wish to compile an rpm with cmocka unit testing...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --with cmocka
|
|
|
cb8e9e |
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
|
|
|
cb8e9e |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without rdma support, compile like this...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without rdma
|
|
|
e1d1f9 |
%{?_without_rdma:%global _without_rdma --disable-ibverbs}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# No RDMA Support on s390(x)
|
|
|
e1d1f9 |
%ifarch s390 s390x
|
|
|
e1d1f9 |
%global _without_rdma --disable-ibverbs
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without epoll...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without epoll
|
|
|
e1d1f9 |
%{?_without_epoll:%global _without_epoll --disable-epoll}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without fusermount...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without fusermount
|
|
|
e1d1f9 |
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without geo-replication support, compile like this...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without georeplication
|
|
|
473043 |
%{?_without_georeplication:%global _without_georeplication --disable-georeplication}
|
|
|
473043 |
|
|
|
473043 |
# Disable geo-replication on EL5, as its default Python is too old
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
473043 |
%global _without_georeplication --disable-georeplication
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without the OCF resource agents...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without ocf
|
|
|
e1d1f9 |
%{?_without_ocf:%global _without_ocf --without-ocf}
|
|
|
e1d1f9 |
|
|
|
473043 |
# if you wish to build rpms without syslog logging, compile like this
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without syslog
|
|
|
473043 |
%{?_without_syslog:%global _without_syslog --disable-syslog}
|
|
|
473043 |
|
|
|
473043 |
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
|
|
|
12a457 |
# Fedora deprecated syslog, see
|
|
|
cb8e9e |
# https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
|
|
|
cb8e9e |
# (And what about RHEL7?)
|
|
|
cb8e9e |
%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
473043 |
%global _without_syslog --disable-syslog
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# if you wish to compile an rpm without the BD map support...
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without bd
|
|
|
e1d1f9 |
%{?_without_bd:%global _without_bd --disable-bd-xlator}
|
|
|
e1d1f9 |
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} )
|
|
|
3604df |
%global _without_bd --disable-bd-xlator
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
12a457 |
# Disable data-tiering on EL5, sqlite is too old
|
|
|
12a457 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
12a457 |
%global _without_tiering --disable-tiering
|
|
|
12a457 |
%endif
|
|
|
12a457 |
|
|
|
473043 |
# if you wish not to build server rpms, compile like this.
|
|
|
3604df |
# rpmbuild -ta glusterfs-3.8.4.tar.gz --without server
|
|
|
e1d1f9 |
|
|
|
473043 |
%global _build_server 1
|
|
|
473043 |
%if "%{?_without_server}"
|
|
|
473043 |
%global _build_server 0
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%if ( "%{?dist}" == ".el6rhs" ) || ( "%{?dist}" == ".el7rhs" ) || ( "%{?dist}" == ".el7rhgs" )
|
|
|
473043 |
%global _build_server 1
|
|
|
473043 |
%else
|
|
|
473043 |
%global _build_server 0
|
|
|
cb8e9e |
%global _without_georeplication --disable-georeplication
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
%global _without_extra_xlators 1
|
|
|
473043 |
%global _without_regression_tests 1
|
|
|
473043 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
12a457 |
## All %%global definitions should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
473043 |
|
|
|
e1d1f9 |
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
473043 |
%global _with_systemd true
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
cb8e9e |
%global _with_firewalld --enable-firewalld
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%if 0%{?_tmpfilesdir:1}
|
|
|
3604df |
%global _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
|
|
|
cb8e9e |
%else
|
|
|
3604df |
%global _with_tmpfilesdir --without-tmpfilesdir
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
3604df |
# Eventing
|
|
|
3604df |
%if 0%{?_build_server}
|
|
|
3604df |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
3604df |
%global _without_events --disable-events
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
473043 |
|
|
|
79e268 |
# From https://fedoraproject.org/wiki/Packaging:Python#Macros
|
|
|
79e268 |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
473043 |
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
|
473043 |
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%global _init_enable() /bin/systemctl enable %1.service ;
|
|
|
3604df |
%global _init_disable() /bin/systemctl disable %1.service ;
|
|
|
3604df |
%global _init_restart() /bin/systemctl try-restart %1.service ;
|
|
|
3604df |
%global _init_start() /bin/systemctl start %1.service ;
|
|
|
3604df |
%global _init_stop() /bin/systemctl stop %1.service ;
|
|
|
3604df |
%global _init_install() install -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;
|
|
|
473043 |
# can't seem to make a generic macro that works
|
|
|
3604df |
%global _init_glusterd %{_unitdir}/glusterd.service
|
|
|
3604df |
%global _init_glusterfsd %{_unitdir}/glusterfsd.service
|
|
|
3604df |
%global _init_glustereventsd %{_unitdir}/glustereventsd.service
|
|
|
473043 |
%else
|
|
|
3604df |
%global _init_enable() /sbin/chkconfig --add %1 ;
|
|
|
3604df |
%global _init_disable() /sbin/chkconfig --del %1 ;
|
|
|
3604df |
%global _init_restart() /sbin/service %1 condrestart &>/dev/null ;
|
|
|
3604df |
%global _init_start() /sbin/service %1 start &>/dev/null ;
|
|
|
3604df |
%global _init_stop() /sbin/service %1 stop &>/dev/null ;
|
|
|
3604df |
%global _init_install() install -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;
|
|
|
473043 |
# can't seem to make a generic macro that works
|
|
|
3604df |
%global _init_glusterd %{_sysconfdir}/init.d/glusterd
|
|
|
3604df |
%global _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
|
|
|
3604df |
%global _init_glustereventsd %{_sysconfdir}/init.d/glustereventsd
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
%if ( 0%{?_with_systemd:1} )
|
|
|
473043 |
%global glusterfsd_service glusterfsd.service
|
|
|
473043 |
%else
|
|
|
473043 |
%global glusterfsd_service glusterfsd.init
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
3604df |
# _sharedstatedir is not provided by RHEL5
|
|
|
3604df |
%global _sharedstatedir /var/lib
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
# We do not want to generate useless provides and requires for xlator
|
|
|
473043 |
# .so files to be set for glusterfs packages.
|
|
|
473043 |
# Filter all generated:
|
|
|
473043 |
#
|
|
|
473043 |
# TODO: RHEL5 does not have a convenient solution
|
|
|
473043 |
%if ( 0%{?rhel} == 6 )
|
|
|
3604df |
# filter_setup exists in RHEL6 only
|
|
|
3604df |
%filter_provides_in %{_libdir}/glusterfs/%{version}/
|
|
|
3604df |
%global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
|
|
|
3604df |
%filter_setup
|
|
|
473043 |
%else
|
|
|
3604df |
# modern rpm and current Fedora do not generate requires when the
|
|
|
3604df |
# provides are filtered
|
|
|
3604df |
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
|
|
|
79e268 |
%endif
|
|
|
79e268 |
|
|
|
473043 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
12a457 |
## All package definitions should be placed here in alphabetical order
|
|
|
473043 |
##
|
|
|
cb8e9e |
Summary: Distributed File System
|
|
|
e1d1f9 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
e1d1f9 |
Name: glusterfs
|
|
|
3604df |
Version: 3.8.0
|
|
|
473043 |
Release: 0.1%{?prereltag:.%{prereltag}}%{?dist}
|
|
|
3604df |
Vendor: Fedora Project
|
|
|
e1d1f9 |
%else
|
|
|
e1d1f9 |
Name: glusterfs
|
|
|
3604df |
Version: 3.8.4
|
|
|
3604df |
Release: 18.4%{?dist}
|
|
|
e1d1f9 |
ExclusiveArch: x86_64 aarch64
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
License: GPLv2 or LGPLv3+
|
|
|
e1d1f9 |
Group: System Environment/Base
|
|
|
e1d1f9 |
URL: http://www.gluster.org/docs/index.php/GlusterFS
|
|
|
473043 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
|
|
|
473043 |
Source1: glusterd.sysconfig
|
|
|
473043 |
Source2: glusterfsd.sysconfig
|
|
|
473043 |
Source6: rhel5-load-fuse-modules
|
|
|
473043 |
Source7: glusterfsd.service
|
|
|
473043 |
Source8: glusterfsd.init
|
|
|
473043 |
%else
|
|
|
3604df |
Source0: glusterfs-3.8.4.tar.gz
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
|
e1d1f9 |
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
473043 |
BuildRequires: python-simplejson
|
|
|
e1d1f9 |
%endif
|
|
|
473043 |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
BuildRequires: systemd
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
12a457 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
3604df |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%{?systemd_requires}
|
|
|
3604df |
%endif
|
|
|
3604df |
BuildRequires: git
|
|
|
e1d1f9 |
BuildRequires: bison flex
|
|
|
3604df |
BuildRequires: gcc make libtool
|
|
|
e1d1f9 |
BuildRequires: ncurses-devel readline-devel
|
|
|
e1d1f9 |
BuildRequires: libxml2-devel openssl-devel
|
|
|
cb8e9e |
BuildRequires: libaio-devel libacl-devel
|
|
|
e1d1f9 |
BuildRequires: python-devel
|
|
|
e1d1f9 |
BuildRequires: python-ctypes
|
|
|
cb8e9e |
BuildRequires: userspace-rcu-devel >= 0.7
|
|
|
3604df |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
3604df |
BuildRequires: automake
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
cb8e9e |
BuildRequires: e2fsprogs-devel
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
BuildRequires: libuuid-devel
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%if ( 0%{?_with_cmocka:1} )
|
|
|
cb8e9e |
BuildRequires: libcmocka-devel >= 1.0.1
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} )
|
|
|
cb8e9e |
BuildRequires: sqlite-devel
|
|
|
cb8e9e |
%endif
|
|
|
e1d1f9 |
%if ( 0%{!?_without_bd:1} )
|
|
|
e1d1f9 |
BuildRequires: lvm2-devel
|
|
|
e1d1f9 |
%endif
|
|
|
473043 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
473043 |
BuildRequires: libattr-devel
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%if (0%{?_with_firewalld:1})
|
|
|
cb8e9e |
BuildRequires: firewalld
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
473043 |
Obsoletes: hekafs
|
|
|
e1d1f9 |
Obsoletes: %{name}-common < %{version}-%{release}
|
|
|
e1d1f9 |
Obsoletes: %{name}-core < %{version}-%{release}
|
|
|
473043 |
Obsoletes: %{name}-ufo
|
|
|
e1d1f9 |
Provides: %{name}-common = %{version}-%{release}
|
|
|
e1d1f9 |
Provides: %{name}-core = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
3604df |
# Patch0001: 0001-Update-rfc.sh-to-rhgs-3.2.0.patch
|
|
|
12a457 |
Patch0002: 0002-glusterd-fix-op-versions-for-RHS-backwards-compatabi.patch
|
|
|
3604df |
Patch0003: 0003-tier-ctr-sql-Dafault-values-for-sql-cache-and-wal-si.patch
|
|
|
3604df |
Patch0004: 0004-rpc-set-bind-insecure-to-off-by-default.patch
|
|
|
3604df |
Patch0005: 0005-glusterd-spec-fixing-autogen-issue.patch
|
|
|
3604df |
Patch0006: 0006-libglusterfs-glusterd-Fix-compilation-errors.patch
|
|
|
3604df |
Patch0007: 0007-build-remove-ghost-directory-entries.patch
|
|
|
3604df |
Patch0008: 0008-build-add-RHGS-specific-changes.patch
|
|
|
3604df |
Patch0009: 0009-secalert-remove-setuid-bit-for-fusermount-glusterfs.patch
|
|
|
3604df |
Patch0010: 0010-build-packaging-corrections-for-RHEL-5.patch
|
|
|
3604df |
Patch0011: 0011-build-introduce-security-hardening-flags-in-gluster.patch
|
|
|
3604df |
Patch0012: 0012-spec-fix-add-pre-transaction-scripts-for-geo-rep-and.patch
|
|
|
3604df |
Patch0013: 0013-rpm-glusterfs-devel-for-client-builds-should-not-dep.patch
|
|
|
3604df |
Patch0014: 0014-build-add-pretrans-check.patch
|
|
|
3604df |
Patch0015: 0015-build-exclude-libgfdb.pc-conditionally.patch
|
|
|
3604df |
Patch0016: 0016-build-exclude-glusterfs.xml-on-rhel-7-client-build.patch
|
|
|
3604df |
Patch0017: 0017-glusterd-fix-info-file-checksum-mismatch-during-upgr.patch
|
|
|
3604df |
Patch0018: 0018-build-spec-file-conflict-resolution.patch
|
|
|
3604df |
Patch0019: 0019-build-dependency-error-during-upgrade.patch
|
|
|
3604df |
Patch0020: 0020-Revert-gfapi-upcall-Use-GF_CALLOC-while-allocating-v.patch
|
|
|
3604df |
Patch0021: 0021-logging-Change-log-file-name-for-glusterd.patch
|
|
|
3604df |
Patch0022: 0022-glusterd-search-for-free-port-from-base_port.patch
|
|
|
3604df |
Patch0023: 0023-glusterd-clean-up-old-port-and-allocate-new-one-on-e.patch
|
|
|
3604df |
Patch0024: 0024-glusterd-Improve-mountbroker-logs.patch
|
|
|
3604df |
Patch0025: 0025-glusterd-Fix-msgid-in-mountbroker-logs.patch
|
|
|
3604df |
Patch0026: 0026-mgmt-glusterd-Enable-client-io-threads-by-default.patch
|
|
|
3604df |
Patch0027: 0027-feature-bitrot-Ondemand-scrub-option-for-bitrot.patch
|
|
|
3604df |
Patch0028: 0028-glusterd-cli-cli-to-get-local-state-representation-f.patch
|
|
|
3604df |
Patch0029: 0029-eventsapi-Gluster-Eventing-Feature-implementation.patch
|
|
|
3604df |
Patch0030: 0030-eventsapi-Fix-make-install-issue-second-time.patch
|
|
|
3604df |
Patch0031: 0031-eventsapi-Volume-Set-and-Reset-Events.patch
|
|
|
3604df |
Patch0032: 0032-eventsapi-Auto-generate-header-files-during-make.patch
|
|
|
3604df |
Patch0033: 0033-eventsapi-Geo-replication-User-driven-events.patch
|
|
|
3604df |
Patch0034: 0034-eventsapi-Python-library-for-gf_event.patch
|
|
|
3604df |
Patch0035: 0035-events-move-conditional-macro-check-USE_EVENTS-insid.patch
|
|
|
3604df |
Patch0036: 0036-eventsapi-Fix-disable-events-issue.patch
|
|
|
3604df |
Patch0037: 0037-extras-kill-processes-gracefully.patch
|
|
|
3604df |
Patch0038: 0038-extras-kill-gsyncd-before-glusterfsd.patch
|
|
|
3604df |
Patch0039: 0039-build-fix-eventtypes.h-generation.patch
|
|
|
3604df |
Patch0040: 0040-packaging-eventsapi-Make-Python-site-packages-variab.patch
|
|
|
3604df |
Patch0041: 0041-eventsapi-Add-support-for-Client-side-Events.patch
|
|
|
3604df |
Patch0042: 0042-eventsapi-Fix-Volume-Stop-and-delete-prompt-issue.patch
|
|
|
3604df |
Patch0043: 0043-features-ganesha-remove-ganesha-xlator-from-client-g.patch
|
|
|
3604df |
Patch0044: 0044-eventsapi-Add-Init-scripts-for-different-distributio.patch
|
|
|
3604df |
Patch0045: 0045-eventsapi-Add-conditional-import-for-requests-librar.patch
|
|
|
3604df |
Patch0046: 0046-eventsapi-packaging-Fix-conflict-during-rpm-install.patch
|
|
|
3604df |
Patch0047: 0047-eventsapi-Bitrot-events.patch
|
|
|
3604df |
Patch0048: 0048-glusterd-Add-async-events.patch
|
|
|
3604df |
Patch0049: 0049-glusterd-add-async-events-part-2.patch
|
|
|
3604df |
Patch0050: 0050-quota-cli-add-user-driven-quota-events.patch
|
|
|
3604df |
Patch0051: 0051-quota-add-quota-events.patch
|
|
|
3604df |
Patch0052: 0052-eventsapi-declare-all-the-identified-events-at-one-g.patch
|
|
|
3604df |
Patch0053: 0053-protocol-server-generate-events.patch
|
|
|
3604df |
Patch0054: 0054-extras-cliutils-Utils-for-creating-CLI-tools-for-Glu.patch
|
|
|
3604df |
Patch0055: 0055-glusterd-ganesha-Move-ganesha-ha.conf-and-ganesha.co.patch
|
|
|
3604df |
Patch0056: 0056-ganesha-scripts-remove-HA_VOL_SERVER-from-the-code.patch
|
|
|
3604df |
Patch0057: 0057-afr-add-replication-events.patch
|
|
|
3604df |
Patch0058: 0058-glusterd-Introduce-reset-brick.patch
|
|
|
3604df |
Patch0059: 0059-Revert-glusterd-ganesha-copy-ganesha-export-configur.patch
|
|
|
3604df |
Patch0060: 0060-ganesha-scripts-Modifying-ganesha-ha.sh-for-share-st.patch
|
|
|
3604df |
Patch0061: 0061-glusterd-ganesha-create-export-configuration-file-in.patch
|
|
|
3604df |
Patch0062: 0062-event-fix-gf_event-messages-for-replace-reset-brick-.patch
|
|
|
3604df |
Patch0063: 0063-cluster-ec-Add-events-for-EC-translator.patch
|
|
|
3604df |
Patch0064: 0064-storage-posix-Integrate-important-events-with-gf_eve.patch
|
|
|
3604df |
Patch0065: 0065-cluster-tier-add-tiering-events.patch
|
|
|
3604df |
Patch0066: 0066-xlators-ganesha-Remove-the-ganesha-xlator-code-entir.patch
|
|
|
3604df |
Patch0067: 0067-snapshot-eventsapi-Integrate-snapshot-events-with-ev.patch
|
|
|
3604df |
Patch0068: 0068-ganesha-glusterd-Correct-the-path-for-ganesha-conf-d.patch
|
|
|
3604df |
Patch0069: 0069-events-dht-dht-cli-events.patch
|
|
|
3604df |
Patch0070: 0070-dht-events-Added-rebalance-events.patch
|
|
|
3604df |
Patch0071: 0071-geo-rep-Use-configured-log_level-for-libgfchangelog-.patch
|
|
|
3604df |
Patch0072: 0072-cluster-dht-heal-root-permission-post-add-brick.patch
|
|
|
3604df |
Patch0073: 0073-geo-rep-add-geo-rep-events-for-server-side-changes.patch
|
|
|
3604df |
Patch0074: 0074-cluster-dht-Skip-layout-overlap-maximization-on-weig.patch
|
|
|
3604df |
Patch0075: 0075-geo-rep-Simplify-Non-root-user-mountbroker-Setup.patch
|
|
|
3604df |
Patch0076: 0076-protocol-client-fix-coding-style-violations.patch
|
|
|
3604df |
# Patch0077: 0077-infra-remove-anti-typedef-check.patch
|
|
|
3604df |
Patch0078: 0078-compound-fops-Some-fixes-to-compound-fops-framework.patch
|
|
|
3604df |
Patch0079: 0079-afr-Consume-compound-fops-in-afr-transaction.patch
|
|
|
3604df |
Patch0080: 0080-geo-rep-Defunct-tar-process-after-sync.patch
|
|
|
3604df |
Patch0081: 0081-geo-rep-Fix-Geo-rep-status-if-monitor.pid-file-not-e.patch
|
|
|
3604df |
Patch0082: 0082-geo-rep-Fix-logging-sync-failures.patch
|
|
|
3604df |
Patch0083: 0083-eventsapi-Fix-eventtypes.h-header-generation-with-Py.patch
|
|
|
3604df |
Patch0084: 0084-build-linux-oom.h-fix-for-RHEL-5.patch
|
|
|
3604df |
Patch0085: 0085-syscall-remove-preadv-and-pwritev-sys-wrappers.patch
|
|
|
3604df |
Patch0086: 0086-build-ignore-sbindir-conf.py-for-RHEL-5.patch
|
|
|
3604df |
Patch0087: 0087-socket-pollerr-event-shouldn-t-trigger-socket_connne.patch
|
|
|
3604df |
Patch0088: 0088-afr-Modifications-to-afr-events.patch
|
|
|
3604df |
Patch0089: 0089-build-add-systemd-dependency.patch
|
|
|
3604df |
Patch0090: 0090-glusterfsd-explicitly-turn-on-encryption-for-volfile.patch
|
|
|
3604df |
Patch0091: 0091-glusterd-fix-return-val-in-glusterd_op_volume_dict_u.patch
|
|
|
3604df |
Patch0092: 0092-afr-Ignore-gluster-internal-virtual-xattrs-in-metada.patch
|
|
|
3604df |
Patch0093: 0093-dht-udpate-stbuf-from-servers-those-have-layout.patch
|
|
|
3604df |
Patch0094: 0094-eventsapi-geo-rep-Geo-rep-will-not-work-without-even.patch
|
|
|
3604df |
Patch0095: 0095-gfapi-Fix-few-fd-ref-leaks.patch
|
|
|
3604df |
Patch0096: 0096-socket-log-the-client-identifier-in-ssl-connect.patch
|
|
|
3604df |
Patch0097: 0097-performance-open-behind-Pass-O_DIRECT-flags-for-anon.patch
|
|
|
3604df |
Patch0098: 0098-cluster-ec-set-unset-dirty-flag-for-data-metadata-up.patch
|
|
|
3604df |
Patch0099: 0099-cluster-ec-Implement-heal-info-with-lock.patch
|
|
|
3604df |
Patch0100: 0100-cluster-ec-Use-locks-for-opendir.patch
|
|
|
3604df |
Patch0101: 0101-system-posix-acl-Unwind-with-NULL-xdata-on-error.patch
|
|
|
3604df |
Patch0102: 0102-afr-Take-full-locks-in-arbiter-only-for-data-transac.patch
|
|
|
3604df |
Patch0103: 0103-rpc-socket.c-Modify-gf_log-message-in-socket_poller-.patch
|
|
|
3604df |
Patch0104: 0104-build-randomize-temp-file-names-in-pretrans-scriptle.patch
|
|
|
3604df |
Patch0105: 0105-cluster-afr-Prevent-dict_set-on-NULL-dict.patch
|
|
|
3604df |
Patch0106: 0106-glusterd-enable-default-configurations-post-upgrade-.patch
|
|
|
3604df |
Patch0107: 0107-cluster-ec-Do-multi-threaded-self-heal.patch
|
|
|
3604df |
Patch0108: 0108-geo-rep-eventsapi-Additional-Events.patch
|
|
|
3604df |
Patch0109: 0109-storage-posix-Fix-race-in-posix_pstat.patch
|
|
|
3604df |
Patch0110: 0110-glusterd-set-the-brickinfo-port-before-spawning-the-.patch
|
|
|
3604df |
Patch0111: 0111-upcall-Add-support-to-invalidate-xattrs.patch
|
|
|
3604df |
Patch0112: 0112-upcall-pass-dict-with-xattrs-on-xattr-invalidation.patch
|
|
|
3604df |
Patch0113: 0113-md-cache-Cache-gluster-samba-metadata.patch
|
|
|
3604df |
Patch0114: 0114-upcall-Invalidation-for-xattr-should-also-carry-a-va.patch
|
|
|
3604df |
Patch0115: 0115-md-cache-Enable-caching-of-stat-fetched-from-readdir.patch
|
|
|
3604df |
Patch0116: 0116-md-cache-Add-cache-invalidation-support-for-metadata.patch
|
|
|
3604df |
Patch0117: 0117-md-cache-fix-indention-to-silence-Coverity.patch
|
|
|
3604df |
Patch0118: 0118-md-cache-upcall-In-case-of-mode-bit-change-invalidat.patch
|
|
|
3604df |
Patch0119: 0119-md-cache-Add-logging-to-increase-debuggability.patch
|
|
|
3604df |
Patch0120: 0120-md-cache-Add-cache-hit-and-miss-counters.patch
|
|
|
3604df |
Patch0121: 0121-md-cache-Do-not-use-features.cache-invalidation-for-.patch
|
|
|
3604df |
Patch0122: 0122-md-cache-Fix-wrong-cache-time-update-for-xattrs.patch
|
|
|
3604df |
Patch0123: 0123-dht-define-GF_IPC_TARGET_UPCALL.patch
|
|
|
3604df |
Patch0124: 0124-dht-Implement-ipc-fop.patch
|
|
|
3604df |
Patch0125: 0125-io-stats-Add-ipc-fop-for-display-in-the-profile-info.patch
|
|
|
3604df |
Patch0126: 0126-upcall-Add-permission-change-flag-to-iatt-flag.patch
|
|
|
3604df |
Patch0127: 0127-md-cache-Register-the-list-of-xattrs-with-cache-inva.patch
|
|
|
3604df |
Patch0128: 0128-dht-md-cache-upcall-Add-invalidation-of-IATT-when-th.patch
|
|
|
3604df |
Patch0129: 0129-md-cache-Process-all-the-cache-invalidation-flags.patch
|
|
|
3604df |
Patch0130: 0130-upcall-Mark-the-clients-as-accessed-on-readdirp-entr.patch
|
|
|
3604df |
Patch0131: 0131-io-stats-Add-stats-for-upcall-notifications.patch
|
|
|
3604df |
Patch0132: 0132-ec-Implement-ipc-fop.patch
|
|
|
3604df |
Patch0133: 0133-afr-Implement-IPC-fop.patch
|
|
|
3604df |
Patch0134: 0134-md-cache-afr-Reduce-the-window-of-stale-read.patch
|
|
|
3604df |
Patch0135: 0135-cli-glusterd-Address-issues-in-get-state-cli-output.patch
|
|
|
3604df |
Patch0136: 0136-rpc-socket-Close-pipe-on-disconnection.patch
|
|
|
3604df |
Patch0137: 0137-ganesha-scripts-modify-start-hook-script-for-shared-.patch
|
|
|
3604df |
Patch0138: 0138-performance-io-threads-Exit-all-threads-on-PARENT_DO.patch
|
|
|
3604df |
Patch0139: 0139-glusterd-conditionally-pass-uuid-for-EVENT_PEER_CONN.patch
|
|
|
3604df |
Patch0140: 0140-eventsapi-packaging-Fix-wrong-usage-of-post.patch
|
|
|
3604df |
Patch0141: 0141-compound-fops-Fix-file-corruption-issue.patch
|
|
|
3604df |
Patch0142: 0142-rpc-Fix-the-race-between-notification-and-reconnecti.patch
|
|
|
3604df |
Patch0143: 0143-cluster-dht-Incorrect-volname-in-rebalance-events.patch
|
|
|
3604df |
Patch0144: 0144-events-add-TIER_START-and-TIER_START_FORCE-events.patch
|
|
|
3604df |
Patch0145: 0145-tools-glusterfind-kill-remote-processes-and-separate.patch
|
|
|
3604df |
Patch0146: 0146-afr-ec-Heal-device-files-with-correct-major-minor-nu.patch
|
|
|
3604df |
Patch0147: 0147-rpc-socket.c-Modify-socket_poller-code-in-case-of-EN.patch
|
|
|
3604df |
Patch0148: 0148-md-cache-Invalidate-cache-entry-for-open-with-O_TRUN.patch
|
|
|
3604df |
Patch0149: 0149-glusterd-shared-storage-Check-for-hook-script-at-sta.patch
|
|
|
3604df |
Patch0150: 0150-gfapi-async-fops-should-unref-in-callbacks.patch
|
|
|
3604df |
Patch0151: 0151-CLI-TIER-throw-warning-regarding-the-removal-of-the-.patch
|
|
|
3604df |
Patch0152: 0152-bitrot-cli-Add-ondemand-scrub-event.patch
|
|
|
3604df |
Patch0153: 0153-glusterd-use-GF_BRICK_STOPPING-as-intermediate-brick.patch
|
|
|
3604df |
Patch0154: 0154-features-shard-Fill-loc.pargfid-too-for-named-lookup.patch
|
|
|
3604df |
Patch0155: 0155-eventsapi-Fix-sending-event-during-volume-set-help.patch
|
|
|
3604df |
Patch0156: 0156-glusterd-quota-upgrade-quota.conf-file-during-an-upg.patch
|
|
|
3604df |
Patch0157: 0157-posix-acl-check-dictionary-before-using-it.patch
|
|
|
3604df |
Patch0158: 0158-Revert-rpc-Fix-the-race-between-notification-and-rec.patch
|
|
|
3604df |
Patch0159: 0159-performance-open-behind-Avoid-deadlock-in-statedump.patch
|
|
|
3604df |
Patch0160: 0160-commn-HA-Add-portblock-RA-to-tickle-packets-post-fai.patch
|
|
|
3604df |
Patch0161: 0161-build-incorrect-Requires-for-portblock-resource-agen.patch
|
|
|
3604df |
Patch0162: 0162-build-Update-version-check-for-resource-agents-on-RH.patch
|
|
|
3604df |
Patch0163: 0163-cluster-afr-When-failing-fop-due-to-lack-of-quorum-a.patch
|
|
|
3604df |
Patch0164: 0164-glusterfsd-Continuous-errors-are-getting-in-mount-lo.patch
|
|
|
3604df |
Patch0165: 0165-nfs-cli-add-warning-message-while-enabling-gluster-n.patch
|
|
|
3604df |
Patch0166: 0166-nfs-revalidate-lookup-converted-to-fresh-lookup.patch
|
|
|
3604df |
Patch0167: 0167-geo-rep-cli-Validate-Checkpoint-label.patch
|
|
|
3604df |
Patch0168: 0168-performance-write-behind-fix-flush-stuck-by-former-f.patch
|
|
|
3604df |
Patch0169: 0169-nfs-ganesha-common-ha-remove-etc-corosysnc-corosync..patch
|
|
|
3604df |
Patch0170: 0170-protocol-client-Fix-iobref-and-iobuf-leaks-in-COMPOU.patch
|
|
|
3604df |
Patch0171: 0171-nfs-ganesha-common-ha-grace-monitor-timed-out-unknow.patch
|
|
|
3604df |
Patch0172: 0172-cli-rebalance-remove-brick-status-is-incorrect.patch
|
|
|
3604df |
Patch0173: 0173-cluster-dht-Check-for-null-inode.patch
|
|
|
3604df |
Patch0174: 0174-cli-Print-to-screen-frequently.patch
|
|
|
3604df |
Patch0175: 0175-events-Add-FMT_WARN-for-gf_event.patch
|
|
|
3604df |
Patch0176: 0176-upcall-Fix-a-log-level.patch
|
|
|
3604df |
Patch0177: 0177-marker-Fix-inode-value-in-loc-in-setxattr-fop.patch
|
|
|
3604df |
Patch0178: 0178-snapshot-scheduler-Removing-dependency-of-scheduler-.patch
|
|
|
3604df |
Patch0179: 0179-glusterd-gNFS-On-post-upgrade-to-3.2-disable-gNFS-fo.patch
|
|
|
3604df |
Patch0180: 0180-build-Add-dependency-on-netstat-for-glusterfs-ganesh.patch
|
|
|
3604df |
Patch0181: 0181-afr-dht-ec-Replace-GF_EVENT_CHILD_MODIFIED-with-even.patch
|
|
|
3604df |
Patch0182: 0182-cluster-dht-Set-layout-after-mkdir-as-root.patch
|
|
|
3604df |
Patch0183: 0183-Undo-revert-gfapi-upcall-Use-GF_CALLOC-while-allocat.patch
|
|
|
3604df |
Patch0184: 0184-libglusterfs-add-gf_get_mem_type.patch
|
|
|
3604df |
Patch0185: 0185-gfapi-redesign-the-public-interface-for-upcall-consu.patch
|
|
|
3604df |
Patch0186: 0186-gfapi-add-glfs_free-to-glfs.h.patch
|
|
|
3604df |
Patch0187: 0187-gfapi-upcall-Fix-mismatch-in-few-upcall-API-SYMVER.patch
|
|
|
3604df |
Patch0188: 0188-glusterd-dump-volinfo-dict-in-gluster-get-state.patch
|
|
|
3604df |
Patch0189: 0189-libglusterfs-Now-mempool-is-added-to-ctx-pool-list-u.patch
|
|
|
3604df |
Patch0190: 0190-glusterd-fix-few-events-generation.patch
|
|
|
3604df |
Patch0191: 0191-performance-io-threads-Exit-threads-in-fini-as-well.patch
|
|
|
3604df |
Patch0192: 0192-ganesha-scripts-use-export-id-for-dbus-signals.patch
|
|
|
3604df |
Patch0193: 0193-cluster-afr-Fix-deadlock-due-to-compound-fops.patch
|
|
|
3604df |
Patch0194: 0194-cluster-afr-Handle-rpc-errors-xdr-failures-etc-with-.patch
|
|
|
3604df |
Patch0195: 0195-cluster-afr-Fix-bugs-in-f-inodelk-f-entrylk.patch
|
|
|
3604df |
Patch0196: 0196-afr-allow-I-O-when-favorite-child-policy-is-enabled.patch
|
|
|
3604df |
Patch0197: 0197-geo-rep-Upgrade-conf-file-only-if-it-is-session-conf.patch
|
|
|
3604df |
Patch0198: 0198-geo-rep-Handle-EISDIR-error-during-Unlink.patch
|
|
|
3604df |
Patch0199: 0199-geo-rep-Handle-ENOENT-during-unlink.patch
|
|
|
3604df |
Patch0200: 0200-features-index-Delete-granular-entry-indices-of-alre.patch
|
|
|
3604df |
Patch0201: 0201-cluster-afr-CLI-for-granular-entry-heal-enablement-d.patch
|
|
|
3604df |
Patch0202: 0202-afr-Fix-the-EIO-that-can-occur-in-afr_inode_refresh-.patch
|
|
|
3604df |
Patch0203: 0203-geo-rep-Fix-Last-synced-status-column-issue-during-H.patch
|
|
|
3604df |
Patch0204: 0204-eventsapi-Auto-reload-Webhooks-data-when-modified.patch
|
|
|
3604df |
Patch0205: 0205-libglusterfs-Fix-a-read-hang.patch
|
|
|
3604df |
Patch0206: 0206-cluster-dht-A-hard-link-is-lost-during-rebalance-loo.patch
|
|
|
3604df |
Patch0207: 0207-protocol-server-Fix-mem-leaks-in-compound-fops.patch
|
|
|
3604df |
Patch0208: 0208-gfapi-glfs_subvol_done-should-NOT-wait-for-graph-mig.patch
|
|
|
3604df |
Patch0209: 0209-uss-snapd-should-enable-SSL-if-SSL-is-enabled-on-vol.patch
|
|
|
3604df |
Patch0210: 0210-common-HA-Increase-timeout-for-portblock-RA-of-actio.patch
|
|
|
3604df |
Patch0211: 0211-glusterd-cli-Fix-volume-options-output-format-in-get.patch
|
|
|
3604df |
Patch0212: 0212-performance-write-behind-remove-the-request-from-lia.patch
|
|
|
3604df |
Patch0213: 0213-build-add-systemd-dependency-to-the-glusterfs-sub-pa.patch
|
|
|
3604df |
Patch0214: 0214-cluster-tier-handle-fast-demotions.patch
|
|
|
3604df |
Patch0215: 0215-selfheal-fix-memory-leak-on-client-side-healing-queu.patch
|
|
|
3604df |
Patch0216: 0216-geo-rep-eventsapi-Add-Master-node-information-in-Geo.patch
|
|
|
3604df |
Patch0217: 0217-eventsapi-JSON-output-and-different-error-codes.patch
|
|
|
3604df |
Patch0218: 0218-eventsapi-Push-Messages-to-Webhooks-in-parallel.patch
|
|
|
3604df |
Patch0219: 0219-cluster-ec-Check-xdata-to-avoid-memory-leak.patch
|
|
|
3604df |
Patch0220: 0220-dht-rename-Incase-of-failure-remove-linkto-file-prop.patch
|
|
|
3604df |
Patch0221: 0221-ganesha-scripts-avoid-incrementing-Export-Id-value-f.patch
|
|
|
3604df |
Patch0222: 0222-common-ha-IPaddr-RA-is-not-stopped-when-pacemaker-qu.patch
|
|
|
3604df |
Patch0223: 0223-common-ha-add-cluster-HA-status-to-status-output-for.patch
|
|
|
3604df |
Patch0224: 0224-dht-md-cache-Filter-invalidate-if-the-file-is-made-a.patch
|
|
|
3604df |
Patch0225: 0225-extras-Include-shard-and-full-data-heal-in-virt-grou.patch
|
|
|
3604df |
Patch0226: 0226-afr-client-More-mem-leak-fixes-in-COMPOUND-fop-cbk.patch
|
|
|
3604df |
Patch0227: 0227-rpc-fix-for-race-between-rpc-and-protocol-client.patch
|
|
|
3604df |
Patch0228: 0228-afr-fix-bug-in-passing-child-index-in-afr_inode_writ.patch
|
|
|
3604df |
Patch0229: 0229-cluster-afr-Serialize-conflicting-locks-on-all-subvo.patch
|
|
|
3604df |
Patch0230: 0230-glusterd-ganesha-handle-volume-reset-properly-for-ga.patch
|
|
|
3604df |
Patch0231: 0231-glusterfsd-fix-null-pointer-dereference-in-glusterfs.patch
|
|
|
3604df |
Patch0232: 0232-cluster-afr-Remove-backward-compatibility-for-locks-.patch
|
|
|
3604df |
Patch0233: 0233-glusterd-geo-rep-Fix-glusterd-crash.patch
|
|
|
3604df |
Patch0234: 0234-cluster-dht-Fix-memory-corruption-while-accessing-re.patch
|
|
|
3604df |
Patch0235: 0235-ganesha-scripts-find-export-id-for-already-exported-.patch
|
|
|
3604df |
Patch0236: 0236-syncop-fix-conditional-wait-bug-in-parallel-dir-scan.patch
|
|
|
3604df |
Patch0237: 0237-cluster-afr-Fix-per-txn-optimistic-changelog-initial.patch
|
|
|
3604df |
Patch0238: 0238-snapshot-ganesha-Copy-export.conf-only-if-ganesha.en.patch
|
|
|
3604df |
Patch0239: 0239-glusterd-Handle-volinfo-refcnt-properly-during-volum.patch
|
|
|
3604df |
Patch0240: 0240-common-ha-Create-portblock-RA-as-part-of-add-delete-.patch
|
|
|
3604df |
Patch0241: 0241-cluster-ec-Fix-lk-owner-set-race-in-ec_unlock.patch
|
|
|
3604df |
Patch0242: 0242-common-ha-explicitly-set-udpu-transport-for-corosync.patch
|
|
|
3604df |
Patch0243: 0243-glfsheal-Explicitly-enable-self-heal-xlator-options.patch
|
|
|
3604df |
Patch0244: 0244-common-ha-add-node-create-new-node-dirs-in-shared-st.patch
|
|
|
3604df |
Patch0245: 0245-glusterd-gNFS-explicitly-set-nfs.disable-to-off-afte.patch
|
|
|
3604df |
Patch0246: 0246-protocol-client-fix-op_errno-handling-was-unused-var.patch
|
|
|
3604df |
Patch0247: 0247-snapshot-Fix-restore-rollback-to-reassign-snap-volum.patch
|
|
|
3604df |
Patch0248: 0248-client-server-Free-xdr-allocated-compound-req-rsp-ar.patch
|
|
|
3604df |
Patch0249: 0249-socket-socket-disconnect-should-wait-for-poller-thre.patch
|
|
|
3604df |
Patch0250: 0250-afr-Ignore-event_generation-checks-post-inode-refres.patch
|
|
|
3604df |
Patch0251: 0251-storage-posix-Do-not-create-a-directory-which-alread.patch
|
|
|
3604df |
Patch0252: 0252-Fixes-GlusterFS-process-crashes-on-deep-directory-hi.patch
|
|
|
3604df |
Patch0253: 0253-ganesha-scripts-Prevent-removal-of-entries-in-ganesh.patch
|
|
|
3604df |
Patch0254: 0254-common-ha-Correct-the-VIP-assigned-to-the-new-node-a.patch
|
|
|
3604df |
Patch0255: 0255-performance-readdir-ahead-limit-cache-size.patch
|
|
|
3604df |
Patch0256: 0256-dht-rebalance-reverify-lookup-failures.patch
|
|
|
3604df |
Patch0257: 0257-performance-readdir-ahead-fix-compiler-error.patch
|
|
|
3604df |
Patch0258: 0258-afr-use-accused-matrix-instead-of-readable-matrix-fo.patch
|
|
|
3604df |
Patch0259: 0259-cluster-afr-Fix-missing-name-indices-due-to-EEXIST-e.patch
|
|
|
3604df |
Patch0260: 0260-performance-readdir-ahead-mark-two-options-as-NO_DOC.patch
|
|
|
3604df |
Patch0261: 0261-glusterd-spawn-nfs-daemon-in-op-version-bump-if-nfs..patch
|
|
|
3604df |
Patch0262: 0262-eventsapi-Use-getaddrinfo-instead-of-gethostbyname.patch
|
|
|
3604df |
Patch0263: 0263-ec-Invalidations-in-disperse-volume-should-not-updat.patch
|
|
|
3604df |
Patch0264: 0264-cluster-dht-Do-rename-cleanup-as-root.patch
|
|
|
3604df |
Patch0265: 0265-cluster-ec-Do-lookup-on-an-existing-file-in-link.patch
|
|
|
3604df |
Patch0266: 0266-glusterd-Fail-add-brick-on-replica-count-change-if-b.patch
|
|
|
3604df |
Patch0267: 0267-dht-rebalance-remove-errno-check-for-failure-detecti.patch
|
|
|
3604df |
Patch0268: 0268-cluster-dht-Incorrect-migration-checks-in-fsync.patch
|
|
|
3604df |
Patch0269: 0269-afr-Avoid-resetting-event_gen-when-brick-is-always-d.patch
|
|
|
3604df |
Patch0270: 0270-cluster-afr-Do-not-log-of-split-brain-when-there-isn.patch
|
|
|
3604df |
Patch0271: 0271-upcall-Resolve-dict-leak-from-up_-f-remove-set-xattr.patch
|
|
|
3604df |
Patch0272: 0272-Fixes-upgrade-issue-in-quota.conf.patch
|
|
|
3604df |
Patch0273: 0273-features-changelog-Fix-htime-xattr-during-brick-cras.patch
|
|
|
3604df |
Patch0274: 0274-cluster-ec-Do-not-start-heal-on-good-file-while-IO-i.patch
|
|
|
3604df |
Patch0275: 0275-cluster-disperse-Do-not-log-fop-failed-for-lockless-.patch
|
|
|
3604df |
Patch0276: 0276-common-ha-All-statd-related-files-need-to-be-owned-b.patch
|
|
|
3604df |
Patch0277: 0277-cluster-ec-Fix-cthon-failures-observed-with-ec-volum.patch
|
|
|
3604df |
Patch0278: 0278-tools-glusterfind-delete-temporary-folder.patch
|
|
|
3604df |
Patch0279: 0279-glusterd-regenerate-volfiles-on-op-version-bump-up.patch
|
|
|
3604df |
Patch0280: 0280-cluster-ec-Change-level-of-messages-to-DEBUG.patch
|
|
|
3604df |
Patch0281: 0281-rpc-socket.c-Bonnie-hangs-during-rewrites-in-ganesha.patch
|
|
|
3604df |
Patch0282: 0282-performance-write-behind-access-stub-only-if-availab.patch
|
|
|
3604df |
Patch0283: 0283-glusterd-do-not-load-io-threads-in-client-graph-for-.patch
|
|
|
3604df |
Patch0284: 0284-extras-Provide-group-set-for-md-cache-and-invalidati.patch
|
|
|
3604df |
Patch0285: 0285-socket-GF_REF_PUT-should-be-called-outside-lock.patch
|
|
|
3604df |
Patch0286: 0286-afr-all-children-of-AFR-must-be-up-to-resolve-s-brai.patch
|
|
|
3604df |
Patch0287: 0287-glusterd-ignore-return-code-of-glusterd_restart_bric.patch
|
|
|
3604df |
Patch0288: 0288-protocol-client-Fix-double-free-of-client-fdctx-dest.patch
|
|
|
3604df |
Patch0289: 0289-gNFS-Keep-the-mountdict-as-long-as-the-service-is-ac.patch
|
|
|
3604df |
Patch0290: 0290-geo-rep-Fix-xsync-crawl.patch
|
|
|
3604df |
Patch0291: 0291-rpcsvc-Add-rpchdr-and-proghdr-to-iobref-before-submi.patch
|
|
|
3604df |
Patch0292: 0292-cluster-afr-Perform-new-entry-mark-before-creating-n.patch
|
|
|
3604df |
Patch0293: 0293-extras-Add-more-options-to-group-virt.patch
|
|
|
3604df |
Patch0294: 0294-marker-Fix-inode-value-in-loc-in-setxattr-fop.patch
|
|
|
3604df |
Patch0295: 0295-common-ha-unable-to-start-HA-Connection-Error.patch
|
|
|
3604df |
Patch0296: 0296-features-shard-Put-onus-of-choosing-the-inode-to-res.patch
|
|
|
3604df |
Patch0297: 0297-features-shard-Fix-EIO-error-on-add-brick.patch
|
|
|
3604df |
Patch0298: 0298-ganesha-scripts-restart-pcs-cluster-during-add-node.patch
|
|
|
3604df |
Patch0299: 0299-cluster-ec-Don-t-trigger-data-metadata-heal-on-Looku.patch
|
|
|
3604df |
Patch0300: 0300-common-ha-setup-after-teardown-often-fails.patch
|
|
|
3604df |
Patch0301: 0301-rpc-clnt-remove-locks-while-notifying-CONNECT-DISCON.patch
|
|
|
3604df |
Patch0302: 0302-cluster-ec-Introduce-optimistic-changelog-in-EC.patch
|
|
|
3604df |
Patch0303: 0303-cluster-ec-Don-t-mark-dirty-on-entry-meta-ops-in-que.patch
|
|
|
3604df |
Patch0304: 0304-features-shard-Pass-the-correct-iatt-for-cache-inval.patch
|
|
|
3604df |
Patch0305: 0305-rpc-bump-up-conn-cleanup_gen-in-rpc_clnt_reconnect_c.patch
|
|
|
3604df |
Patch0306: 0306-glusterd-Fix-snapshot-failure-in-non-root-geo-rep-se.patch
|
|
|
3604df |
Patch0307: 0307-nfs-make-subdir-mounting-work-for-Solaris-10-clients.patch
|
|
|
3604df |
Patch0308: 0308-features-shard-Fix-vm-corruption-upon-fix-layout.patch
|
|
|
3604df |
Patch0309: 0309-features-shard-Initialize-local-fop-in-readv.patch
|
|
|
3604df |
Patch0310: 0310-glusterd-geo-rep-Fix-snapshot-create-in-geo-rep-setu.patch
|
|
|
3604df |
Patch0311: 0311-cluster-dht-rm-rf-fails-if-dir-has-stale-linkto-file.patch
|
|
|
3604df |
Patch0312: 0312-cluster-dht-Remove-redundant-logs-in-dht-rmdir.patch
|
|
|
3604df |
Patch0313: 0313-cluster-dht-Pass-the-req-dict-instead-of-NULL-in-dht.patch
|
|
|
3604df |
Patch0314: 0314-cluster-dht-Pass-the-correct-xdata-in-fremovexattr-f.patch
|
|
|
3604df |
Patch0315: 0315-cluster-dht-Fix-crash-in-dht-rmdir.patch
|
|
|
3604df |
Patch0316: 0316-Revert-nfs-make-subdir-mounting-work-for-Solaris-10-.patch
|
|
|
3604df |
Patch0317: 0317-libglusterfs-extract-some-functionality-to-functions.patch
|
|
|
3604df |
Patch0318: 0318-fuse-implement-oauto_unmount.patch
|
|
|
3604df |
Patch0319: 0319-cluster-dht-Fix-crash-in-dht_rmdir_cached_lookup_cbk.patch
|
|
|
cb8e9e |
|
|
|
e1d1f9 |
%description
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
This package includes the glusterfs binary, the glusterfsd daemon and the
|
|
|
cb8e9e |
libglusterfs and glusterfs translator modules common to both GlusterFS server
|
|
|
cb8e9e |
and client framework.
|
|
|
e1d1f9 |
|
|
|
473043 |
%package api
|
|
|
cb8e9e |
Summary: GlusterFS api library
|
|
|
473043 |
Group: System Environment/Daemons
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
473043 |
%description api
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides the glusterfs libgfapi library.
|
|
|
e1d1f9 |
|
|
|
473043 |
%package api-devel
|
|
|
473043 |
Summary: Development Libraries
|
|
|
473043 |
Group: Development/Libraries
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
|
cb8e9e |
Requires: libacl-devel
|
|
|
e1d1f9 |
|
|
|
473043 |
%description api-devel
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides the api include files.
|
|
|
e1d1f9 |
|
|
|
473043 |
%package cli
|
|
|
473043 |
Summary: GlusterFS CLI
|
|
|
e1d1f9 |
Group: Applications/File
|
|
|
12a457 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
473043 |
%description cli
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
473043 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
473043 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
473043 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides the GlusterFS CLI application and its man page
|
|
|
473043 |
|
|
|
473043 |
%package devel
|
|
|
473043 |
Summary: Development Libraries
|
|
|
473043 |
Group: Development/Libraries
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
473043 |
# Needed for the Glupy examples to work
|
|
|
473043 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
473043 |
Requires: %{name}-extra-xlators = %{version}-%{release}
|
|
|
e1d1f9 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%description devel
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
473043 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
473043 |
or TCP/IP interconnect into one large parallel network file
|
|
|
473043 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
473043 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
473043 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
473043 |
is in user space and easily manageable.
|
|
|
473043 |
|
|
|
473043 |
This package provides the development libraries and include files.
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
473043 |
%package extra-xlators
|
|
|
473043 |
Summary: Extra Gluster filesystem Translators
|
|
|
473043 |
Group: Applications/File
|
|
|
cb8e9e |
# We need python-gluster rpm for gluster module's __init__.py in Python
|
|
|
cb8e9e |
# site-packages area
|
|
|
cb8e9e |
Requires: python-gluster = %{version}-%{release}
|
|
|
473043 |
Requires: python python-ctypes
|
|
|
473043 |
|
|
|
473043 |
%description extra-xlators
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
473043 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
473043 |
or TCP/IP interconnect into one large parallel network file
|
|
|
473043 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
473043 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
473043 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
473043 |
is in user space and easily manageable.
|
|
|
473043 |
|
|
|
473043 |
This package provides extra filesystem Translators, such as Glupy,
|
|
|
473043 |
for GlusterFS.
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%package fuse
|
|
|
e1d1f9 |
Summary: Fuse client
|
|
|
e1d1f9 |
Group: Applications/File
|
|
|
e1d1f9 |
BuildRequires: fuse-devel
|
|
|
cb8e9e |
Requires: attr
|
|
|
3604df |
Requires: psmisc
|
|
|
e1d1f9 |
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
Obsoletes: %{name}-client < %{version}-%{release}
|
|
|
e1d1f9 |
Provides: %{name}-client = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%description fuse
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
This package provides support to FUSE based clients and inlcudes the
|
|
|
cb8e9e |
glusterfs(d) binary.
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
cb8e9e |
%package ganesha
|
|
|
cb8e9e |
Summary: NFS-Ganesha configuration
|
|
|
cb8e9e |
Group: Applications/File
|
|
|
cb8e9e |
|
|
|
12a457 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: nfs-ganesha-gluster, pcs, dbus
|
|
|
12a457 |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
12a457 |
Requires: cman, pacemaker, corosync
|
|
|
12a457 |
%endif
|
|
|
3604df |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 5 )
|
|
|
3604df |
# we need portblock resource-agent in 3.9.5 and later.
|
|
|
3604df |
Requires: resource-agents >= 3.9.5
|
|
|
3604df |
Requires: net-tools
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%description ganesha
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
cb8e9e |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
cb8e9e |
or TCP/IP interconnect into one large parallel network file
|
|
|
cb8e9e |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
cb8e9e |
terms of features and extensibility. It borrows a powerful concept
|
|
|
cb8e9e |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
cb8e9e |
is in user space and easily manageable.
|
|
|
cb8e9e |
|
|
|
cb8e9e |
This package provides the configuration and related files for using
|
|
|
cb8e9e |
NFS-Ganesha as the NFS server using GlusterFS
|
|
|
cb8e9e |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
473043 |
%package geo-replication
|
|
|
473043 |
Summary: GlusterFS Geo-replication
|
|
|
473043 |
Group: Applications/File
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
473043 |
Requires: python python-ctypes
|
|
|
cb8e9e |
Requires: rsync
|
|
|
473043 |
|
|
|
473043 |
%description geo-replication
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
473043 |
peta-bytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
473043 |
or TCP/IP interconnect into one large parallel network file
|
|
|
473043 |
system. GlusterFS is one of the most sophisticated file system in
|
|
|
473043 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
473043 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
473043 |
is in userspace and easily manageable.
|
|
|
473043 |
|
|
|
473043 |
This package provides support to geo-replication.
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
%package libs
|
|
|
473043 |
Summary: GlusterFS common libraries
|
|
|
473043 |
Group: Applications/File
|
|
|
473043 |
|
|
|
473043 |
%description libs
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides the base GlusterFS libraries
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%package -n python-gluster
|
|
|
cb8e9e |
Summary: GlusterFS python library
|
|
|
cb8e9e |
Group: Development/Tools
|
|
|
12a457 |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) )
|
|
|
12a457 |
# EL5 does not support noarch sub-packages
|
|
|
12a457 |
BuildArch: noarch
|
|
|
12a457 |
%endif
|
|
|
cb8e9e |
Requires: python
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%description -n python-gluster
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
cb8e9e |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
cb8e9e |
or TCP/IP interconnect into one large parallel network file
|
|
|
cb8e9e |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
cb8e9e |
terms of features and extensibility. It borrows a powerful concept
|
|
|
cb8e9e |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
cb8e9e |
is in user space and easily manageable.
|
|
|
cb8e9e |
|
|
|
cb8e9e |
This package contains the python modules of GlusterFS and own gluster
|
|
|
cb8e9e |
namespace.
|
|
|
cb8e9e |
|
|
|
cb8e9e |
|
|
|
473043 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
473043 |
%package rdma
|
|
|
473043 |
Summary: GlusterFS rdma support for ib-verbs
|
|
|
473043 |
Group: Applications/File
|
|
|
473043 |
BuildRequires: libibverbs-devel
|
|
|
cb8e9e |
BuildRequires: librdmacm-devel >= 1.0.15
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
e1d1f9 |
|
|
|
473043 |
%description rdma
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides support to ib-verbs library.
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
473043 |
%package regression-tests
|
|
|
473043 |
Summary: Development Tools
|
|
|
473043 |
Group: Development/Tools
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-fuse%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
cb8e9e |
## thin provisioning support
|
|
|
cb8e9e |
Requires: lvm2 >= 2.02.89
|
|
|
cb8e9e |
Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng
|
|
|
cb8e9e |
Requires: python attr dbench file git libacl-devel net-tools
|
|
|
cb8e9e |
Requires: nfs-utils xfsprogs yajl
|
|
|
473043 |
|
|
|
473043 |
%description regression-tests
|
|
|
473043 |
The Gluster Test Framework, is a suite of scripts used for
|
|
|
473043 |
regression testing of Gluster.
|
|
|
473043 |
%endif
|
|
|
cb8e9e |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
e1d1f9 |
%if ( 0%{!?_without_ocf:1} )
|
|
|
e1d1f9 |
%package resource-agents
|
|
|
e1d1f9 |
Summary: OCF Resource Agents for GlusterFS
|
|
|
e1d1f9 |
License: GPLv3+
|
|
|
473043 |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) )
|
|
|
e1d1f9 |
# EL5 does not support noarch sub-packages
|
|
|
e1d1f9 |
BuildArch: noarch
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
# this Group handling comes from the Fedora resource-agents package
|
|
|
e1d1f9 |
%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} )
|
|
|
e1d1f9 |
Group: System Environment/Base
|
|
|
e1d1f9 |
%else
|
|
|
e1d1f9 |
Group: Productivity/Clustering/HA
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
# for glusterd
|
|
|
3604df |
Requires: %{name}-server = %{version}-%{release}
|
|
|
e1d1f9 |
# depending on the distribution, we need pacemaker or resource-agents
|
|
|
e1d1f9 |
Requires: %{_prefix}/lib/ocf/resource.d
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%description resource-agents
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
This package provides the resource agents which plug glusterd into
|
|
|
e1d1f9 |
Open Cluster Framework (OCF) compliant cluster resource managers,
|
|
|
e1d1f9 |
like Pacemaker.
|
|
|
e1d1f9 |
%endif
|
|
|
cb8e9e |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%package server
|
|
|
473043 |
Summary: Clustered file-system server
|
|
|
473043 |
Group: System Environment/Daemons
|
|
|
12a457 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-cli%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
cb8e9e |
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
|
|
|
12a457 |
Requires: %{name}-fuse%{?_isa} = %{version}-%{release}
|
|
|
cb8e9e |
# self-heal daemon, rebalance, nfs-server etc. are actually clients
|
|
|
12a457 |
Requires: %{name}-api%{?_isa} = %{version}-%{release}
|
|
|
12a457 |
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
cb8e9e |
# psmisc for killall, lvm2 for snapshot, and nfs-utils and
|
|
|
cb8e9e |
# rpcbind/portmap for gnfs server
|
|
|
cb8e9e |
Requires: psmisc
|
|
|
cb8e9e |
Requires: lvm2
|
|
|
cb8e9e |
Requires: nfs-utils
|
|
|
cb8e9e |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%{?systemd_requires}
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
Requires(post): /sbin/chkconfig
|
|
|
cb8e9e |
Requires(preun): /sbin/service
|
|
|
cb8e9e |
Requires(preun): /sbin/chkconfig
|
|
|
cb8e9e |
Requires(postun): /sbin/service
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
473043 |
Requires: rpcbind
|
|
|
473043 |
%else
|
|
|
473043 |
Requires: portmap
|
|
|
473043 |
%endif
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
473043 |
Obsoletes: %{name}-geo-replication = %{version}-%{release}
|
|
|
473043 |
%endif
|
|
|
cb8e9e |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
cb8e9e |
Requires: python-argparse
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
Requires: pyxattr
|
|
|
e1d1f9 |
|
|
|
473043 |
%description server
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
e1d1f9 |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
e1d1f9 |
or TCP/IP interconnect into one large parallel network file
|
|
|
e1d1f9 |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
e1d1f9 |
terms of features and extensibility. It borrows a powerful concept
|
|
|
e1d1f9 |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
e1d1f9 |
is in user space and easily manageable.
|
|
|
e1d1f9 |
|
|
|
473043 |
This package provides the glusterfs server daemon.
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%package client-xlators
|
|
|
cb8e9e |
Summary: GlusterFS client-side translators
|
|
|
cb8e9e |
Group: Applications/File
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%description client-xlators
|
|
|
cb8e9e |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
cb8e9e |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
cb8e9e |
or TCP/IP interconnect into one large parallel network file
|
|
|
cb8e9e |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
cb8e9e |
terms of features and extensibility. It borrows a powerful concept
|
|
|
cb8e9e |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
cb8e9e |
is in user space and easily manageable.
|
|
|
cb8e9e |
|
|
|
cb8e9e |
This package provides the translators needed on any GlusterFS client.
|
|
|
cb8e9e |
|
|
|
3604df |
%if 0%{?_build_server}
|
|
|
3604df |
%if ( 0%{!?_without_events:1} )
|
|
|
3604df |
%package events
|
|
|
3604df |
Summary: GlusterFS Events
|
|
|
3604df |
Group: Applications/File
|
|
|
3604df |
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
3604df |
Requires: python python-requests python-prettytable
|
|
|
3604df |
Requires: python-gluster = %{version}-%{release}
|
|
|
3604df |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
3604df |
Requires: python-argparse
|
|
|
3604df |
%endif
|
|
|
3604df |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%{?systemd_requires}
|
|
|
3604df |
%endif
|
|
|
3604df |
|
|
|
3604df |
%description events
|
|
|
3604df |
GlusterFS Events
|
|
|
3604df |
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
3604df |
|
|
|
e1d1f9 |
%prep
|
|
|
e1d1f9 |
%setup -q -n %{name}-%{version}%{?prereltag}
|
|
|
3604df |
|
|
|
3604df |
# sanitization scriptlet for patches with file renames
|
|
|
3604df |
ls %{_topdir}/SOURCES/*.patch | sort | \
|
|
|
3604df |
while read p
|
|
|
3604df |
do
|
|
|
3604df |
# if the destination file exists, its most probably stale
|
|
|
3604df |
# so we must remove it
|
|
|
3604df |
rename_to=( $(grep -i 'rename to' $p | cut -f 3 -d ' ') )
|
|
|
3604df |
if [ ${#rename_to[*]} -gt 0 ]; then
|
|
|
3604df |
for f in ${rename_to[*]}
|
|
|
3604df |
do
|
|
|
3604df |
if [ -f $f ]; then
|
|
|
3604df |
rm -f $f
|
|
|
3604df |
elif [ -d $f ]; then
|
|
|
3604df |
rm -rf $f
|
|
|
3604df |
fi
|
|
|
3604df |
done
|
|
|
3604df |
fi
|
|
|
3604df |
# apply the patch with 'git apply'
|
|
|
3604df |
git apply -p1 --exclude=rfc.sh \
|
|
|
3604df |
--exclude=.gitignore \
|
|
|
3604df |
--exclude=MAINTAINERS \
|
|
|
3604df |
--exclude=extras/checkpatch.pl \
|
|
|
3604df |
--exclude=build-aux/checkpatch.pl \
|
|
|
3604df |
--exclude=tests \
|
|
|
3604df |
$p
|
|
|
3604df |
done
|
|
|
3604df |
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%build
|
|
|
12a457 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
12a457 |
CFLAGS=-DUSE_INSECURE_OPENSSL
|
|
|
12a457 |
export CFLAGS
|
|
|
12a457 |
%endif
|
|
|
cb8e9e |
# In RHEL7 few hardening flags are available by default, however the RELRO
|
|
|
cb8e9e |
# default behaviour is partial, convert to full
|
|
|
cb8e9e |
%if ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
cb8e9e |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
cb8e9e |
export LDFLAGS
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
cb8e9e |
CFLAGS="$RPM_OPT_FLAGS -fPIE -DPIE"
|
|
|
cb8e9e |
LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro,-z,now"
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
#It appears that with gcc-4.1.2 in RHEL5 there is an issue using both -fPIC and
|
|
|
cb8e9e |
# -fPIE that makes -z relro not work; -fPIE seems to undo what -fPIC does
|
|
|
12a457 |
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
|
|
|
cb8e9e |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
export CFLAGS
|
|
|
cb8e9e |
export LDFLAGS
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
./autogen.sh && %configure \
|
|
|
cb8e9e |
%{?_with_cmocka} \
|
|
|
3604df |
%{?_with_debug} \
|
|
|
cb8e9e |
%{?_with_tmpfilesdir} \
|
|
|
cb8e9e |
%{?_without_bd} \
|
|
|
473043 |
%{?_without_epoll} \
|
|
|
473043 |
%{?_without_fusermount} \
|
|
|
473043 |
%{?_without_georeplication} \
|
|
|
cb8e9e |
%{?_with_firewalld} \
|
|
|
473043 |
%{?_without_ocf} \
|
|
|
cb8e9e |
%{?_without_rdma} \
|
|
|
cb8e9e |
%{?_without_syslog} \
|
|
|
3604df |
%{?_without_tiering} \
|
|
|
3604df |
%{?_without_events}
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# fix hardening and remove rpath in shlibs
|
|
|
e1d1f9 |
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
473043 |
sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
|
|
|
e1d1f9 |
%endif
|
|
|
473043 |
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
|
|
|
473043 |
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
|
|
|
473043 |
|
|
|
473043 |
make %{?_smp_mflags}
|
|
|
473043 |
|
|
|
cb8e9e |
%check
|
|
|
cb8e9e |
make check
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%install
|
|
|
473043 |
rm -rf %{buildroot}
|
|
|
473043 |
make install DESTDIR=%{buildroot}
|
|
|
e1d1f9 |
# Install include directory
|
|
|
473043 |
install -p -m 0644 contrib/uuid/*.h \
|
|
|
e1d1f9 |
%{buildroot}%{_includedir}/glusterfs/
|
|
|
e1d1f9 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
install -D -p -m 0644 %{SOURCE1} \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
473043 |
install -D -p -m 0644 %{SOURCE2} \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
|
|
|
e1d1f9 |
%else
|
|
|
473043 |
install -D -p -m 0644 extras/glusterd-sysconfig \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
e1d1f9 |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
473043 |
install -D -p -m 0755 %{SOURCE6} \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
|
|
|
473043 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
|
|
|
473043 |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
|
|
|
473043 |
mkdir -p %{buildroot}%{_localstatedir}/run/gluster
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# Remove unwanted files from all the shared libraries
|
|
|
e1d1f9 |
find %{buildroot}%{_libdir} -name '*.a' -delete
|
|
|
e1d1f9 |
find %{buildroot}%{_libdir} -name '*.la' -delete
|
|
|
e1d1f9 |
|
|
|
473043 |
# Remove installed docs, the ones we want are included by %%doc, in
|
|
|
473043 |
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
|
|
|
473043 |
# on the distribution
|
|
|
473043 |
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
473043 |
rm -rf %{buildroot}%{_pkgdocdir}/*
|
|
|
473043 |
%else
|
|
|
473043 |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
|
|
|
473043 |
mkdir -p %{buildroot}%{_pkgdocdir}
|
|
|
473043 |
%endif
|
|
|
473043 |
head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog
|
|
|
473043 |
cat << EOM >> ChangeLog
|
|
|
473043 |
|
|
|
473043 |
More commit messages for this ChangeLog can be found at
|
|
|
473043 |
https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prereltag}
|
|
|
473043 |
EOM
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# Remove benchmarking and other unpackaged files
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
473043 |
rm -rf %{buildroot}/benchmarking
|
|
|
473043 |
rm -f %{buildroot}/glusterfs-mode.el
|
|
|
473043 |
rm -f %{buildroot}/glusterfs.vim
|
|
|
473043 |
%else
|
|
|
473043 |
# make install always puts these in %%{_defaultdocdir}/%%{name} so don't
|
|
|
473043 |
# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions
|
|
|
473043 |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking
|
|
|
473043 |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el
|
|
|
473043 |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# Create working directory
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# Update configuration file to /var/lib working directory
|
|
|
e1d1f9 |
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
# Install glusterfsd .service or init.d file
|
|
|
e1d1f9 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
e1d1f9 |
%_init_install %{glusterfsd_service} glusterfsd
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
install -D -p -m 0644 extras/glusterfs-logrotate \
|
|
|
e1d1f9 |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
|
|
|
79e268 |
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
473043 |
install -D -p -m 0644 extras/glusterfs-georep-logrotate \
|
|
|
473043 |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
|
|
|
cb8e9e |
touch %{buildroot}%{_sharedstatedir}/glusterd/options
|
|
|
12a457 |
subdirs=(add-brick create copy-file delete gsync-create remove-brick reset set start stop)
|
|
|
3604df |
for dir in ${subdirs[@]}; do
|
|
|
3604df |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
|
|
|
e1d1f9 |
done
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
|
|
|
473043 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
|
|
|
12a457 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/bitd
|
|
|
12a457 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/quotad
|
|
|
12a457 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/scrub
|
|
|
12a457 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/snaps
|
|
|
12a457 |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/ss_brick
|
|
|
473043 |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
473043 |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
473043 |
|
|
|
473043 |
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
|
|
|
cb8e9e |
|
|
|
cb8e9e |
## Install bash completion for cli
|
|
|
cb8e9e |
install -p -m 0744 -D extras/command-completion/gluster.bash \
|
|
|
cb8e9e |
%{buildroot}%{_sysconfdir}/bash_completion.d/gluster
|
|
|
cb8e9e |
|
|
|
473043 |
%clean
|
|
|
473043 |
rm -rf %{buildroot}
|
|
|
473043 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
12a457 |
## All %%post should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
473043 |
%post
|
|
|
12a457 |
/sbin/ldconfig
|
|
|
e1d1f9 |
%if ( 0%{!?_without_syslog:1} )
|
|
|
473043 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
473043 |
%_init_restart rsyslog
|
|
|
473043 |
%endif
|
|
|
e1d1f9 |
%endif
|
|
|
12a457 |
exit 0
|
|
|
e1d1f9 |
|
|
|
473043 |
%post api
|
|
|
473043 |
/sbin/ldconfig
|
|
|
473043 |
|
|
|
3604df |
%if ( 0%{?_build_server} )
|
|
|
3604df |
%if ( 0%{!?_without_events:1} )
|
|
|
3604df |
%post events
|
|
|
3604df |
%_init_restart glustereventsd
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
3604df |
|
|
|
cb8e9e |
%if ( 0%{?rhel} == 5 )
|
|
|
12a457 |
%post fuse
|
|
|
cb8e9e |
modprobe fuse
|
|
|
12a457 |
exit 0
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
473043 |
%post geo-replication
|
|
|
473043 |
if [ $1 -ge 1 ]; then
|
|
|
473043 |
%_init_restart glusterd
|
|
|
473043 |
fi
|
|
|
12a457 |
exit 0
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%post libs
|
|
|
473043 |
/sbin/ldconfig
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%post server
|
|
|
473043 |
# Legacy server
|
|
|
473043 |
%_init_enable glusterd
|
|
|
3604df |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
%_init_enable glusterfsd
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
|
|
|
cb8e9e |
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
|
|
|
cb8e9e |
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
|
|
|
cb8e9e |
# "cmd_history.log" to retain cli command history contents.
|
|
|
cb8e9e |
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
|
|
|
cb8e9e |
mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
|
|
|
cb8e9e |
%{_localstatedir}/log/glusterfs/cmd_history.log
|
|
|
cb8e9e |
fi
|
|
|
473043 |
|
|
|
473043 |
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
|
|
|
473043 |
# there are any files in /etc from a prior gluster.org install, move them
|
|
|
473043 |
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
|
|
|
473043 |
# in gluster.org RPMs.) Be careful to copy them on the off chance that
|
|
|
473043 |
# /etc and /var/lib are on separate file systems
|
|
|
473043 |
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
|
|
|
473043 |
mkdir -p %{_sharedstatedir}/glusterd
|
|
|
473043 |
cp -a /etc/glusterd %{_sharedstatedir}/glusterd
|
|
|
473043 |
rm -rf /etc/glusterd
|
|
|
473043 |
ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
|
|
|
473043 |
fi
|
|
|
473043 |
|
|
|
473043 |
# Rename old volfiles in an RPM-standard way. These aren't actually
|
|
|
473043 |
# considered package config files, so %%config doesn't work for them.
|
|
|
473043 |
if [ -d %{_sharedstatedir}/glusterd/vols ]; then
|
|
|
473043 |
for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
|
|
|
473043 |
newfile=${file}.rpmsave
|
|
|
473043 |
echo "warning: ${file} saved as ${newfile}"
|
|
|
473043 |
cp ${file} ${newfile}
|
|
|
473043 |
done
|
|
|
473043 |
fi
|
|
|
473043 |
|
|
|
473043 |
# add marker translator
|
|
|
473043 |
# but first make certain that there are no old libs around to bite us
|
|
|
473043 |
# BZ 834847
|
|
|
473043 |
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
|
|
|
473043 |
rm -f /etc/ld.so.conf.d/glusterfs.conf
|
|
|
473043 |
/sbin/ldconfig
|
|
|
473043 |
fi
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%if (0%{?_with_firewalld:1})
|
|
|
cb8e9e |
#reload service files if firewalld running
|
|
|
cb8e9e |
if $(systemctl is-active firewalld 1>/dev/null 2>&1;; then
|
|
|
cb8e9e |
#firewalld-filesystem is not available for rhel7, so command used for reload.
|
|
|
12a457 |
firewall-cmd --reload 1>/dev/null 2>&1
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
473043 |
pidof -c -o %PPID -x glusterd &> /dev/null
|
|
|
473043 |
if [ $? -eq 0 ]; then
|
|
|
473043 |
kill -9 `pgrep -f gsyncd.py` &> /dev/null
|
|
|
473043 |
|
|
|
cb8e9e |
killall --wait glusterd &> /dev/null
|
|
|
473043 |
glusterd --xlator-option *.upgrade=on -N
|
|
|
cb8e9e |
|
|
|
cb8e9e |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
cb8e9e |
#rpm_script_t context.
|
|
|
cb8e9e |
rm -rf /var/run/glusterd.socket
|
|
|
cb8e9e |
|
|
|
cb8e9e |
# glusterd _was_ running, we killed it, it exited after *.upgrade=on,
|
|
|
cb8e9e |
# so start it again
|
|
|
cb8e9e |
%_init_start glusterd
|
|
|
473043 |
else
|
|
|
473043 |
glusterd --xlator-option *.upgrade=on -N
|
|
|
cb8e9e |
|
|
|
cb8e9e |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
cb8e9e |
#rpm_script_t context.
|
|
|
cb8e9e |
rm -rf /var/run/glusterd.socket
|
|
|
473043 |
fi
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
12a457 |
## All %%preun should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
3604df |
%if ( 0%{!?_without_events:1} )
|
|
|
3604df |
%preun events
|
|
|
3604df |
if [ $1 -eq 0 ]; then
|
|
|
3604df |
if [ -f %_init_glustereventsd ]; then
|
|
|
3604df |
%_init_stop glustereventsd
|
|
|
3604df |
%_init_disable glustereventsd
|
|
|
3604df |
fi
|
|
|
3604df |
fi
|
|
|
3604df |
exit 0
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
3604df |
|
|
|
3604df |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%preun server
|
|
|
473043 |
if [ $1 -eq 0 ]; then
|
|
|
473043 |
if [ -f %_init_glusterfsd ]; then
|
|
|
473043 |
%_init_stop glusterfsd
|
|
|
473043 |
fi
|
|
|
473043 |
%_init_stop glusterd
|
|
|
473043 |
if [ -f %_init_glusterfsd ]; then
|
|
|
473043 |
%_init_disable glusterfsd
|
|
|
473043 |
fi
|
|
|
473043 |
%_init_disable glusterd
|
|
|
473043 |
fi
|
|
|
473043 |
if [ $1 -ge 1 ]; then
|
|
|
473043 |
if [ -f %_init_glusterfsd ]; then
|
|
|
473043 |
%_init_restart glusterfsd
|
|
|
473043 |
fi
|
|
|
473043 |
%_init_restart glusterd
|
|
|
473043 |
fi
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
3604df |
## All %%postun should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
473043 |
%postun
|
|
|
473043 |
/sbin/ldconfig
|
|
|
473043 |
%if ( 0%{!?_without_syslog:1} )
|
|
|
e1d1f9 |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
473043 |
%_init_restart rsyslog
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
%endif
|
|
|
e1d1f9 |
|
|
|
473043 |
%postun api
|
|
|
473043 |
/sbin/ldconfig
|
|
|
e1d1f9 |
|
|
|
3604df |
%postun libs
|
|
|
3604df |
/sbin/ldconfig
|
|
|
3604df |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
cb8e9e |
%postun server
|
|
|
12a457 |
/sbin/ldconfig
|
|
|
cb8e9e |
%if (0%{?_with_firewalld:1})
|
|
|
cb8e9e |
#reload service files if firewalld running
|
|
|
cb8e9e |
if $(systemctl is-active firewalld 1>/dev/null 2>&1;; then
|
|
|
cb8e9e |
firewall-cmd --reload
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
%endif
|
|
|
12a457 |
exit 0
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
12a457 |
## All %%files should be placed here and keep them grouped
|
|
|
473043 |
##
|
|
|
473043 |
%files
|
|
|
cb8e9e |
# exclude extra-xlators files
|
|
|
cb8e9e |
%if ( ! 0%{!?_without_extra_xlators:1} )
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_client.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_dht.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_server.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so
|
|
|
cb8e9e |
%exclude %{python_sitelib}/*
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
# exclude regression-tests files
|
|
|
cb8e9e |
%if ( ! 0%{!?_without_regression_tests:1} )
|
|
|
cb8e9e |
%exclude %{_prefix}/share/glusterfs/run-tests.sh
|
|
|
cb8e9e |
%exclude %{_prefix}/share/glusterfs/tests/*
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%if ( ! 0%{?_build_server} )
|
|
|
cb8e9e |
# exclude ganesha files
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/ganesha/*
|
|
|
cb8e9e |
%exclude %{_libexecdir}/ganesha/*
|
|
|
cb8e9e |
%exclude %{_prefix}/lib/ocf/*
|
|
|
cb8e9e |
# exclude incrementalapi
|
|
|
cb8e9e |
%exclude %{_libexecdir}/glusterfs/*
|
|
|
cb8e9e |
%exclude %{_sbindir}/gfind_missing_files
|
|
|
cb8e9e |
%exclude %{_libexecdir}/glusterfs/glusterfind
|
|
|
cb8e9e |
%exclude %{_bindir}/glusterfind
|
|
|
cb8e9e |
%exclude %{_libexecdir}/glusterfs/peer_add_secret_pub
|
|
|
3604df |
# exclude eventsapi files
|
|
|
3604df |
%exclude %{_sysconfdir}/glusterfs/eventsconfig.json
|
|
|
3604df |
%exclude %{_sharedstatedir}/glusterd/events
|
|
|
3604df |
%exclude %{_libexecdir}/glusterfs/events
|
|
|
3604df |
%exclude %{_libexecdir}/glusterfs/peer_eventsapi.py*
|
|
|
3604df |
%exclude %{_sbindir}/glustereventsd
|
|
|
3604df |
%exclude %{_sbindir}/gluster-eventsapi
|
|
|
3604df |
%exclude %{_datadir}/glusterfs/scripts/eventsdash.py*
|
|
|
3604df |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%exclude %{_unitdir}/glustereventsd.service
|
|
|
3604df |
%else
|
|
|
3604df |
%exclude %{_sysconfdir}/init.d/glustereventsd
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
# exclude server files
|
|
|
cb8e9e |
%exclude %{_sharedstatedir}/glusterd/*
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/glusterd.vol
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/glusterfs-georep-logrotate
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/glusterfs-logrotate
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/gluster-rsyslog-5.8.conf
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/gluster-rsyslog-7.2.conf
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/group-virt.example
|
|
|
3604df |
%exclude %{_sysconfdir}/glusterfs/group-metadata-cache
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/glusterfs/logger.conf.example
|
|
|
cb8e9e |
%exclude %_init_glusterd
|
|
|
cb8e9e |
%exclude %{_sysconfdir}/sysconfig/glusterd
|
|
|
cb8e9e |
%exclude %{_bindir}/glusterfind
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} )
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
|
|
|
3604df |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/leases.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
|
|
|
3604df |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
|
|
|
3604df |
%if ( 0%{!?_without_tiering:1} )
|
|
|
3604df |
%exclude %{_libdir}/libgfdb.so.*
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
%exclude %{_sbindir}/gcron.py
|
|
|
cb8e9e |
%exclude %{_sbindir}/glfsheal
|
|
|
cb8e9e |
%exclude %{_sbindir}/glusterd
|
|
|
cb8e9e |
%exclude %{_sbindir}/snap_scheduler.py
|
|
|
cb8e9e |
%exclude %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
3604df |
%exclude %{_sbindir}/conf.py*
|
|
|
cb8e9e |
%if 0%{?_tmpfilesdir:1}
|
|
|
cb8e9e |
%exclude %{_tmpfilesdir}/gluster.conf
|
|
|
cb8e9e |
%endif
|
|
|
12a457 |
%if ( 0%{?_with_firewalld:1} )
|
|
|
12a457 |
%exclude /usr/lib/firewalld/services/glusterfs.xml
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
12a457 |
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS
|
|
|
473043 |
%{_mandir}/man8/*gluster*.8*
|
|
|
473043 |
%exclude %{_mandir}/man8/gluster.8*
|
|
|
473043 |
%dir %{_localstatedir}/log/glusterfs
|
|
|
473043 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
473043 |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
473043 |
%endif
|
|
|
cb8e9e |
%dir %{_datadir}/glusterfs/scripts
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
|
|
|
cb8e9e |
# xlators that are needed on the client- and on the server-side
|
|
|
cb8e9e |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/auth
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/addr.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/login.so
|
|
|
cb8e9e |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/socket.so
|
|
|
cb8e9e |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so
|
|
|
cb8e9e |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) )
|
|
|
cb8e9e |
# RHEL-5 based distributions have a too old openssl
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cdc.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changelog.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/gfid-access.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/read-only.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/shard.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-client.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/worm.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/meta.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-cache.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-threads.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/md-cache.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/open-behind.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/quick-read.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/read-ahead.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/readdir-ahead.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/stat-prefetch.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/write-behind.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so
|
|
|
12a457 |
%dir %{_localstatedir}/run/gluster
|
|
|
12a457 |
%if 0%{?_tmpfilesdir:1}
|
|
|
12a457 |
%{_tmpfilesdir}/gluster.conf
|
|
|
12a457 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%files api
|
|
|
473043 |
%exclude %{_libdir}/*.so
|
|
|
473043 |
# libgfapi files
|
|
|
473043 |
%{_libdir}/libgfapi.*
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so
|
|
|
473043 |
|
|
|
473043 |
%files api-devel
|
|
|
473043 |
%{_libdir}/pkgconfig/glusterfs-api.pc
|
|
|
473043 |
%{_libdir}/libgfapi.so
|
|
|
473043 |
%{_includedir}/glusterfs/api/*
|
|
|
473043 |
|
|
|
473043 |
%files cli
|
|
|
473043 |
%{_sbindir}/gluster
|
|
|
473043 |
%{_mandir}/man8/gluster.8*
|
|
|
cb8e9e |
%{_sysconfdir}/bash_completion.d/gluster
|
|
|
e1d1f9 |
|
|
|
473043 |
%files devel
|
|
|
3604df |
%dir %{_includedir}/glusterfs
|
|
|
3604df |
%{_includedir}/glusterfs/*
|
|
|
473043 |
%exclude %{_includedir}/glusterfs/api
|
|
|
473043 |
%exclude %{_libdir}/libgfapi.so
|
|
|
3604df |
%if ( ! 0%{?_build_server} )
|
|
|
3604df |
%exclude %{_libdir}/libgfchangelog.so
|
|
|
3604df |
%endif
|
|
|
3604df |
%if ( 0%{!?_without_tiering:1} && ! 0%{?_build_server})
|
|
|
3604df |
%exclude %{_libdir}/libgfdb.so
|
|
|
3604df |
%endif
|
|
|
473043 |
%{_libdir}/*.so
|
|
|
473043 |
# Glupy Translator examples
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/debug-trace.*
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.*
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.*
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
cb8e9e |
%{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
%exclude %{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
12a457 |
%endif
|
|
|
12a457 |
%if ( 0%{!?_without_tiering:1} && ! 0%{?_build_server})
|
|
|
12a457 |
%exclude %{_libdir}/libgfdb.so
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} && 0%{?_build_server})
|
|
|
cb8e9e |
%{_libdir}/pkgconfig/libgfdb.pc
|
|
|
cb8e9e |
%else
|
|
|
cb8e9e |
%if ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
cb8e9e |
%exclude %{_libdir}/pkgconfig/libgfdb.pc
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%files client-xlators
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so
|
|
|
cb8e9e |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
473043 |
%files extra-xlators
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_client.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_dht.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_server.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so
|
|
|
473043 |
# Glupy Python files
|
|
|
cb8e9e |
%{python_sitelib}/gluster/glupy/*
|
|
|
473043 |
# Don't expect a .egg-info file on EL5
|
|
|
473043 |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) )
|
|
|
473043 |
%{python_sitelib}/glusterfs_glupy*.egg-info
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%files fuse
|
|
|
cb8e9e |
# glusterfs is a symlink to glusterfsd, -server depends on -fuse.
|
|
|
cb8e9e |
%{_sbindir}/glusterfs
|
|
|
cb8e9e |
%{_sbindir}/glusterfsd
|
|
|
cb8e9e |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so
|
|
|
473043 |
/sbin/mount.glusterfs
|
|
|
473043 |
%if ( 0%{!?_without_fusermount:1} )
|
|
|
473043 |
%{_bindir}/fusermount-glusterfs
|
|
|
473043 |
%endif
|
|
|
473043 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
473043 |
%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
cb8e9e |
%files ganesha
|
|
|
cb8e9e |
%{_sysconfdir}/ganesha/*
|
|
|
12a457 |
%{_libexecdir}/ganesha/*
|
|
|
12a457 |
%{_prefix}/lib/ocf/resource.d/heartbeat/*
|
|
|
12a457 |
%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
473043 |
%files geo-replication
|
|
|
cb8e9e |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
12a457 |
|
|
|
12a457 |
%{_sbindir}/gfind_missing_files
|
|
|
3604df |
%{_sbindir}/gluster-mountbroker
|
|
|
473043 |
%{_libexecdir}/glusterfs/gsyncd
|
|
|
473043 |
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
|
|
473043 |
%{_libexecdir}/glusterfs/gverify.sh
|
|
|
473043 |
%{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
|
|
|
473043 |
%{_libexecdir}/glusterfs/peer_gsec_create
|
|
|
cb8e9e |
%{_libexecdir}/glusterfs/peer_mountbroker
|
|
|
3604df |
%{_libexecdir}/glusterfs/peer_mountbroker.py*
|
|
|
12a457 |
%{_libexecdir}/glusterfs/gfind_missing_files
|
|
|
12a457 |
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
|
|
|
12a457 |
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
|
|
|
12a457 |
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/get-gfid.sh
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/slave-upgrade.sh
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
|
|
|
473043 |
%{_datadir}/glusterfs/scripts/gsync-sync-gfid
|
|
|
12a457 |
%{_datadir}/glusterfs/scripts/schedule_georep.py*
|
|
|
473043 |
%endif
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%files libs
|
|
|
473043 |
%{_libdir}/*.so.*
|
|
|
473043 |
%exclude %{_libdir}/libgfapi.*
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} )
|
|
|
cb8e9e |
# libgfdb is only needed server-side
|
|
|
cb8e9e |
%exclude %{_libdir}/libgfdb.*
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
cb8e9e |
%files -n python-gluster
|
|
|
cb8e9e |
# introducing glusterfs module in site packages.
|
|
|
cb8e9e |
# so that all other gluster submodules can reside in the same namespace.
|
|
|
cb8e9e |
%{python_sitelib}/gluster/__init__.*
|
|
|
3604df |
%{python_sitelib}/gluster/cliutils
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{!?_without_rdma:1} )
|
|
|
473043 |
%files rdma
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
473043 |
%endif
|
|
|
473043 |
|
|
|
473043 |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
473043 |
%files regression-tests
|
|
|
cb8e9e |
%{_prefix}/share/glusterfs/run-tests.sh
|
|
|
cb8e9e |
%{_prefix}/share/glusterfs/tests
|
|
|
473043 |
%exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t
|
|
|
3604df |
%exclude %{_prefix}/share/glusterfs/tests/vagrant
|
|
|
473043 |
%endif
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%if ( 0%{!?_without_ocf:1} )
|
|
|
473043 |
%files resource-agents
|
|
|
473043 |
# /usr/lib is the standard for OCF, also on x86_64
|
|
|
473043 |
%{_prefix}/lib/ocf/resource.d/glusterfs
|
|
|
473043 |
%endif
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{?_build_server} )
|
|
|
473043 |
%files server
|
|
|
3604df |
%exclude %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
|
|
|
473043 |
%doc extras/clear_xattrs.sh
|
|
|
12a457 |
# sysconf
|
|
|
473043 |
%config(noreplace) %{_sysconfdir}/glusterfs
|
|
|
3604df |
%exclude %{_sysconfdir}/glusterfs/eventsconfig.json
|
|
|
12a457 |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
|
|
3604df |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
3604df |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
|
|
3604df |
%endif
|
|
|
12a457 |
|
|
|
473043 |
# init files
|
|
|
473043 |
%_init_glusterd
|
|
|
473043 |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
473043 |
%_init_glusterfsd
|
|
|
473043 |
%endif
|
|
|
12a457 |
|
|
|
473043 |
# binaries
|
|
|
473043 |
%{_sbindir}/glusterd
|
|
|
473043 |
%{_sbindir}/glfsheal
|
|
|
cb8e9e |
# {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a
|
|
|
cb8e9e |
# symlink. The binary itself (and symlink) are part of the glusterfs-fuse
|
|
|
cb8e9e |
# package, because glusterfs-server depends on that anyway.
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} )
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
|
|
|
3604df |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/leases.so
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
|
|
|
473043 |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
|
|
|
cb8e9e |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
|
|
|
3604df |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so
|
|
|
cb8e9e |
%if ( 0%{!?_without_tiering:1} )
|
|
|
cb8e9e |
%{_libdir}/libgfdb.so.*
|
|
|
cb8e9e |
%endif
|
|
|
cb8e9e |
|
|
|
3604df |
# snap_scheduler
|
|
|
cb8e9e |
%{_sbindir}/snap_scheduler.py
|
|
|
cb8e9e |
%{_sbindir}/gcron.py
|
|
|
3604df |
%{_sbindir}/conf.py
|
|
|
cb8e9e |
|
|
|
12a457 |
# /var/lib/glusterd, e.g. hookscripts, etc.
|
|
|
12a457 |
%ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/bitd
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups
|
|
|
12a457 |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/virt
|
|
|
3604df |
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/post
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
|
|
|
3604df |
%{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/post
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/pre
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S30samba-start.sh
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
|
|
|
12a457 |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S30samba-stop.sh
|
|
|
12a457 |
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
|
|
|
12a457 |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
|
|
|
12a457 |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
12a457 |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/quotad
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/scrub
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/snaps
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/ss_brick
|
|
|
12a457 |
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
|
|
|
cb8e9e |
|
|
|
cb8e9e |
# Extra utility script
|
|
|
cb8e9e |
%{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
cb8e9e |
|
|
|
cb8e9e |
# Incrementalapi
|
|
|
cb8e9e |
%{_libexecdir}/glusterfs/glusterfind
|
|
|
cb8e9e |
%{_bindir}/glusterfind
|
|
|
cb8e9e |
%{_libexecdir}/glusterfs/peer_add_secret_pub
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{?_with_firewalld:1} )
|
|
|
3604df |
%{_prefix}/lib/firewalld/services/glusterfs.xml
|
|
|
cb8e9e |
%endif
|
|
|
12a457 |
%endif
|
|
|
cb8e9e |
|
|
|
3604df |
# Events
|
|
|
3604df |
%if 0%{?_build_server}
|
|
|
3604df |
%if ( 0%{!?_without_events:1} )
|
|
|
3604df |
%files events
|
|
|
3604df |
%config(noreplace) %{_sysconfdir}/glusterfs/eventsconfig.json
|
|
|
3604df |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/events
|
|
|
3604df |
%{_libexecdir}/glusterfs/events
|
|
|
3604df |
%{_libexecdir}/glusterfs/peer_eventsapi.py*
|
|
|
3604df |
%{_sbindir}/glustereventsd
|
|
|
3604df |
%{_sbindir}/gluster-eventsapi
|
|
|
3604df |
%{_datadir}/glusterfs/scripts/eventsdash.py*
|
|
|
3604df |
%if ( 0%{?_with_systemd:1} )
|
|
|
3604df |
%{_unitdir}/glustereventsd.service
|
|
|
3604df |
%else
|
|
|
3604df |
%{_sysconfdir}/init.d/glustereventsd
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
3604df |
%endif
|
|
|
cb8e9e |
|
|
|
473043 |
##-----------------------------------------------------------------------------
|
|
|
473043 |
## All %pretrans should be placed here and keep them sorted
|
|
|
473043 |
##
|
|
|
79e268 |
%if 0%{?_build_server}
|
|
|
79e268 |
%pretrans -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
echo "ERROR: Distribute volumes detected. In-service rolling upgrade requires distribute volume(s) to be stopped."
|
|
|
79e268 |
echo "ERROR: Please stop distribute volume(s) before proceeding... exiting!"
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
echo "WARNING: Updating glusterfs requires its processes to be killed. This action does NOT incur downtime."
|
|
|
79e268 |
echo "WARNING: Ensure to wait for the upgraded server to finish healing before proceeding."
|
|
|
79e268 |
echo "WARNING: Refer upgrade section of install guide for more details"
|
|
|
79e268 |
echo "Please run # service glusterd stop; pkill glusterfs; pkill glusterfsd; pkill gsyncd.py;"
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
473043 |
|
|
|
473043 |
%pretrans api -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
473043 |
%pretrans api-devel -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
e1d1f9 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
cb8e9e |
%pretrans cli -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
e1d1f9 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%pretrans client-xlators -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
79e268 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
79e268 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
473043 |
|
|
|
473043 |
|
|
|
cb8e9e |
%pretrans devel -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
473043 |
|
|
|
cb8e9e |
%pretrans fuse -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%pretrans ganesha -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
cb8e9e |
%pretrans geo-replication -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
e1d1f9 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
e1d1f9 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
e1d1f9 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
79e268 |
%endif
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
cb8e9e |
%pretrans libs -p <lua>
|
|
|
79e268 |
if not posix.access("/bin/bash", "x") then
|
|
|
79e268 |
-- initial installation, no shell, no running glusterfsd
|
|
|
79e268 |
return 0
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
79e268 |
-- TODO: move this completely to a lua script
|
|
|
79e268 |
-- For now, we write a temporary bash script and execute that.
|
|
|
79e268 |
|
|
|
79e268 |
script = [[#!/bin/sh
|
|
|
79e268 |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
79e268 |
|
|
|
79e268 |
if [ $? -eq 0 ]; then
|
|
|
79e268 |
pushd . > /dev/null 2>&1
|
|
|
79e268 |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
79e268 |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
79e268 |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
done
|
|
|
79e268 |
|
|
|
79e268 |
popd > /dev/null 2>&1
|
|
|
79e268 |
exit 1;
|
|
|
79e268 |
fi
|
|
|
79e268 |
]]
|
|
|
79e268 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
79e268 |
tmpfile = io.open(tmpname, "w")
|
|
|
79e268 |
tmpfile:write(script)
|
|
|
79e268 |
tmpfile:close()
|
|
|
79e268 |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
79e268 |
os.remove(tmpname)
|
|
|
79e268 |
if not (ok == 0) then
|
|
|
79e268 |
error("Detected running glusterfs processes", ok)
|
|
|
79e268 |
end
|
|
|
79e268 |
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
%pretrans -n python-gluster -p <lua>
|
|
|
cb8e9e |
if not posix.access("/bin/bash", "x") then
|
|
|
cb8e9e |
-- initial installation, no shell, no running glusterfsd
|
|
|
cb8e9e |
return 0
|
|
|
cb8e9e |
end
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
-- TODO: move this completely to a lua script
|
|
|
cb8e9e |
-- For now, we write a temporary bash script and execute that.
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
script = [[#!/bin/sh
|
|
|
cb8e9e |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
e1d1f9 |
|
|
|
cb8e9e |
if [ $? -eq 0 ]; then
|
|
|
cb8e9e |
pushd . > /dev/null 2>&1
|
|
|
cb8e9e |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
cb8e9e |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
done
|
|
|
cb8e9e |
|
|
|
cb8e9e |
popd > /dev/null 2>&1
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
]]
|
|
|
cb8e9e |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
cb8e9e |
tmpfile = io.open(tmpname, "w")
|
|
|
cb8e9e |
tmpfile:write(script)
|
|
|
cb8e9e |
tmpfile:close()
|
|
|
cb8e9e |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
cb8e9e |
os.remove(tmpname)
|
|
|
cb8e9e |
if not (ok == 0) then
|
|
|
cb8e9e |
error("Detected running glusterfs processes", ok)
|
|
|
cb8e9e |
end
|
|
|
e1d1f9 |
|
|
|
e1d1f9 |
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{!?_without_rdma:1} )
|
|
|
cb8e9e |
%pretrans rdma -p <lua>
|
|
|
cb8e9e |
if not posix.access("/bin/bash", "x") then
|
|
|
cb8e9e |
-- initial installation, no shell, no running glusterfsd
|
|
|
cb8e9e |
return 0
|
|
|
cb8e9e |
end
|
|
|
473043 |
|
|
|
cb8e9e |
-- TODO: move this completely to a lua script
|
|
|
cb8e9e |
-- For now, we write a temporary bash script and execute that.
|
|
|
473043 |
|
|
|
cb8e9e |
script = [[#!/bin/sh
|
|
|
cb8e9e |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
473043 |
|
|
|
cb8e9e |
if [ $? -eq 0 ]; then
|
|
|
cb8e9e |
pushd . > /dev/null 2>&1
|
|
|
cb8e9e |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
cb8e9e |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
done
|
|
|
473043 |
|
|
|
cb8e9e |
popd > /dev/null 2>&1
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
]]
|
|
|
473043 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
cb8e9e |
tmpfile = io.open(tmpname, "w")
|
|
|
cb8e9e |
tmpfile:write(script)
|
|
|
cb8e9e |
tmpfile:close()
|
|
|
cb8e9e |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
cb8e9e |
os.remove(tmpname)
|
|
|
cb8e9e |
if not (ok == 0) then
|
|
|
cb8e9e |
error("Detected running glusterfs processes", ok)
|
|
|
cb8e9e |
end
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
|
|
|
473043 |
|
|
|
473043 |
|
|
|
cb8e9e |
%if ( 0%{!?_without_ocf:1} )
|
|
|
cb8e9e |
%pretrans resource-agents -p <lua>
|
|
|
cb8e9e |
if not posix.access("/bin/bash", "x") then
|
|
|
cb8e9e |
-- initial installation, no shell, no running glusterfsd
|
|
|
cb8e9e |
return 0
|
|
|
cb8e9e |
end
|
|
|
473043 |
|
|
|
cb8e9e |
-- TODO: move this completely to a lua script
|
|
|
cb8e9e |
-- For now, we write a temporary bash script and execute that.
|
|
|
473043 |
|
|
|
cb8e9e |
script = [[#!/bin/sh
|
|
|
cb8e9e |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
473043 |
|
|
|
cb8e9e |
if [ $? -eq 0 ]; then
|
|
|
cb8e9e |
pushd . > /dev/null 2>&1
|
|
|
cb8e9e |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
cb8e9e |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
done
|
|
|
473043 |
|
|
|
cb8e9e |
popd > /dev/null 2>&1
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
]]
|
|
|
473043 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
cb8e9e |
tmpfile = io.open(tmpname, "w")
|
|
|
cb8e9e |
tmpfile:write(script)
|
|
|
cb8e9e |
tmpfile:close()
|
|
|
cb8e9e |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
cb8e9e |
os.remove(tmpname)
|
|
|
cb8e9e |
if not (ok == 0) then
|
|
|
cb8e9e |
error("Detected running glusterfs processes", ok)
|
|
|
cb8e9e |
end
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
|
|
|
473043 |
|
|
|
473043 |
|
|
|
cb8e9e |
%pretrans server -p <lua>
|
|
|
cb8e9e |
if not posix.access("/bin/bash", "x") then
|
|
|
cb8e9e |
-- initial installation, no shell, no running glusterfsd
|
|
|
cb8e9e |
return 0
|
|
|
cb8e9e |
end
|
|
|
473043 |
|
|
|
cb8e9e |
-- TODO: move this completely to a lua script
|
|
|
cb8e9e |
-- For now, we write a temporary bash script and execute that.
|
|
|
473043 |
|
|
|
cb8e9e |
script = [[#!/bin/sh
|
|
|
cb8e9e |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
473043 |
|
|
|
cb8e9e |
if [ $? -eq 0 ]; then
|
|
|
cb8e9e |
pushd . > /dev/null 2>&1
|
|
|
cb8e9e |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
cb8e9e |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
cb8e9e |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
done
|
|
|
473043 |
|
|
|
cb8e9e |
popd > /dev/null 2>&1
|
|
|
cb8e9e |
exit 1;
|
|
|
cb8e9e |
fi
|
|
|
cb8e9e |
]]
|
|
|
473043 |
|
|
|
3604df |
-- Since we run pretrans scripts only for RPMs built for a server build,
|
|
|
3604df |
-- we can now use os.tmpname() since it is available on RHEL6 and later
|
|
|
3604df |
-- platforms which are server platforms.
|
|
|
3604df |
tmpname = os.tmpname()
|
|
|
cb8e9e |
tmpfile = io.open(tmpname, "w")
|
|
|
cb8e9e |
tmpfile:write(script)
|
|
|
cb8e9e |
tmpfile:close()
|
|
|
cb8e9e |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
cb8e9e |
os.remove(tmpname)
|
|
|
cb8e9e |
if not (ok == 0) then
|
|
|
cb8e9e |
error("Detected running glusterfs processes", ok)
|
|
|
cb8e9e |
end
|
|
|
cb8e9e |
%endif
|
|
|
473043 |
|
|
|
cb8e9e |
%changelog
|
|
|
3604df |
* Tue May 30 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-18.4
|
|
|
3604df |
- fixes bugs bz#1456696
|
|
|
3604df |
|
|
|
3604df |
* Mon May 29 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-18.3
|
|
|
3604df |
- fixes bugs bz#1456420
|
|
|
3604df |
|
|
|
3604df |
* Thu May 18 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-18.2
|
|
|
3604df |
- fixes bugs bz#1439731 bz#1439753 bz#1440162 bz#1445591 bz#1445593
|
|
|
3604df |
bz#1447186 bz#1451200 bz#1451673
|
|
|
3604df |
|
|
|
3604df |
* Tue May 09 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-18.1
|
|
|
3604df |
- fixes bugs bz#1439731 bz#1439753 bz#1440162 bz#1445591 bz#1445593
|
|
|
3604df |
bz#1445594 bz#1447186
|
|
|
3604df |
|
|
|
3604df |
* Wed Mar 08 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-18
|
|
|
3604df |
- fixes bugs bz#1408655
|
|
|
3604df |
|
|
|
3604df |
* Sat Mar 04 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-17
|
|
|
3604df |
- fixes bugs bz#1408655 bz#1425740
|
|
|
3604df |
|
|
|
3604df |
* Thu Mar 02 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-16
|
|
|
3604df |
- fixes bugs bz#1412554 bz#1424944 bz#1425748 bz#1426324 bz#1426559
|
|
|
3604df |
|
|
|
3604df |
* Mon Feb 20 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-15
|
|
|
3604df |
- fixes bugs bz#1205162 bz#1315544 bz#1403180 bz#1409135 bz#1415101
|
|
|
3604df |
bz#1417177 bz#1418901 bz#1420635 bz#1422431
|
|
|
3604df |
|
|
|
3604df |
* Mon Feb 06 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-14
|
|
|
3604df |
- fixes bugs bz#1408576 bz#1408705 bz#1409563 bz#1411270 bz#1413513
|
|
|
3604df |
bz#1414247 bz#1414663 bz#1415583 bz#1417955 bz#1418011
|
|
|
3604df |
|
|
|
3604df |
* Tue Jan 24 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-13
|
|
|
3604df |
- fixes bugs bz#1406322 bz#1408639 bz#1411329 bz#1412883 bz#1412955
|
|
|
3604df |
|
|
|
3604df |
* Mon Jan 16 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-12
|
|
|
3604df |
- fixes bugs bz#1410025 bz#1410406 bz#1411617
|
|
|
3604df |
|
|
|
3604df |
* Fri Jan 06 2017 Milind Changire <mchangir@redhat.com> - 3.8.4-11
|
|
|
3604df |
- fixes bugs bz#1393316 bz#1404989 bz#1405000 bz#1408112 bz#1408413
|
|
|
3604df |
bz#1408426 bz#1408836 bz#1409472 bz#1409782 bz#1409808
|
|
|
3604df |
|
|
|
3604df |
* Thu Dec 22 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-10
|
|
|
3604df |
- fixes bugs bz#1393316 bz#1398311 bz#1398798 bz#1403672 bz#1404110
|
|
|
3604df |
bz#1404633 bz#1404982 bz#1405000 bz#1406025 bz#1406401
|
|
|
3604df |
|
|
|
3604df |
* Fri Dec 16 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-9
|
|
|
3604df |
- fixes bugs bz#1400057 bz#1400068 bz#1400093 bz#1400599 bz#1402774
|
|
|
3604df |
bz#1403120 bz#1403587 bz#1403770 bz#1403840 bz#1404996 bz#1405299
|
|
|
3604df |
|
|
|
3604df |
* Fri Dec 09 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-8
|
|
|
3604df |
- fixes bugs bz#1393694 bz#1397450 bz#1398188 bz#1399100 bz#1400365
|
|
|
3604df |
bz#1401380 bz#1401806 bz#1401817
|
|
|
3604df |
|
|
|
3604df |
* Mon Dec 05 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-7
|
|
|
3604df |
- fixes bugs bz#1361759 bz#1376464 bz#1377062 bz#1378131 bz#1381452
|
|
|
3604df |
bz#1384070 bz#1385605 bz#1388755 bz#1395539 bz#1395603 bz#1395613 bz#1396449
|
|
|
3604df |
bz#1397257 bz#1398257 bz#1398261 bz#1398315 bz#1399105 bz#1399598 bz#1399757
|
|
|
3604df |
bz#1400395
|
|
|
3604df |
|
|
|
3604df |
* Tue Nov 29 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-6
|
|
|
3604df |
- fixes bugs bz#1337565 bz#1376694 bz#1376695 bz#1380122 bz#1380419
|
|
|
3604df |
bz#1380655 bz#1382686 bz#1383898 bz#1384316 bz#1384993 bz#1385474 bz#1385589
|
|
|
3604df |
bz#1385606 bz#1386127 bz#1386635 bz#1387204 bz#1387501 bz#1387558 bz#1389422
|
|
|
3604df |
bz#1389661 bz#1390843 bz#1391808 bz#1392299 bz#1392837 bz#1392895 bz#1393526
|
|
|
3604df |
bz#1393694 bz#1393709 bz#1393758 bz#1394219 bz#1394752 bz#1395574 bz#1396166
|
|
|
3604df |
bz#1396361 bz#1397257 bz#1397286 bz#1397430 bz#1398331
|
|
|
3604df |
|
|
|
3604df |
* Fri Nov 11 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-5
|
|
|
3604df |
- fixes bugs bz#1278336 bz#1392899
|
|
|
3604df |
|
|
|
3604df |
* Thu Nov 10 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-4
|
|
|
3604df |
- fixes bugs bz#1367472 bz#1370350 bz#1379790 bz#1380742 bz#1384311
|
|
|
3604df |
bz#1385525 bz#1385605 bz#1386185 bz#1386366 bz#1386472 bz#1387152 bz#1387544
|
|
|
3604df |
bz#1388464 bz#1388734 bz#1389168 bz#1391093
|
|
|
3604df |
|
|
|
3604df |
* Mon Oct 24 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-3
|
|
|
3604df |
- fixes bugs bz#1284873 bz#1333885 bz#1336377 bz#1339765 bz#1347257
|
|
|
3604df |
bz#1361513 bz#1361519 bz#1362044 bz#1374568 bz#1375465 bz#1378677 bz#1379919
|
|
|
3604df |
bz#1379924 bz#1379966 bz#1380257 bz#1380276 bz#1380605 bz#1380619 bz#1380638
|
|
|
3604df |
bz#1380710 bz#1381822 bz#1382277 bz#1386172 bz#1386538
|
|
|
3604df |
|
|
|
3604df |
* Thu Sep 29 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-2
|
|
|
3604df |
- fixes bugs bz#1294035 bz#1377062 bz#1377387 bz#1378030 bz#1378300
|
|
|
3604df |
bz#1378484 bz#1378528 bz#1378867
|
|
|
3604df |
|
|
|
3604df |
* Tue Sep 20 2016 Milind Changire <mchangir@redhat.com> - 3.8.4-1
|
|
|
3604df |
- rebase to upstream glusterfs at v3.8.4
|
|
|
3604df |
- fixes bugs bz#1256524 bz#1257182 bz#1294035 bz#1294754 bz#1306120
|
|
|
3604df |
bz#1340756 bz#1344675 bz#1348949 bz#1348954 bz#1348962 bz#1351589 bz#1353427
|
|
|
3604df |
bz#1356058 bz#1359180 bz#1359588 bz#1359605 bz#1359607 bz#1360807 bz#1360978
|
|
|
3604df |
bz#1361066 bz#1361068 bz#1361078 bz#1361082 bz#1361084 bz#1361086 bz#1361118
|
|
|
3604df |
bz#1361170 bz#1361184 bz#1363729 bz#1367382 bz#1369384 bz#1373976
|
|
|
12a457 |
|