|
|
7f4c2a |
%global _hardened_build 1
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%global _for_fedora_koji_builds 0
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# uncomment and add '%' to use the prereltag for pre-releases
|
|
|
7f4c2a |
# %%global prereltag qa3
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All argument definitions should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm with cmocka unit testing...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --with cmocka
|
|
|
7f4c2a |
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without rdma support, compile like this...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without rdma
|
|
|
7f4c2a |
%{?_without_rdma:%global _without_rdma --disable-ibverbs}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# No RDMA Support on s390(x)
|
|
|
7f4c2a |
%ifarch s390 s390x
|
|
|
7f4c2a |
%global _without_rdma --disable-ibverbs
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without epoll...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without epoll
|
|
|
7f4c2a |
%{?_without_epoll:%global _without_epoll --disable-epoll}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without fusermount...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without fusermount
|
|
|
7f4c2a |
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without geo-replication support, compile like this...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without georeplication
|
|
|
7f4c2a |
%{?_without_georeplication:%global _without_georeplication --disable-georeplication}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Disable geo-replication on EL5, as its default Python is too old
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
%global _without_georeplication --disable-georeplication
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without the OCF resource agents...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without ocf
|
|
|
7f4c2a |
%{?_without_ocf:%global _without_ocf --without-ocf}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to build rpms without syslog logging, compile like this
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without syslog
|
|
|
7f4c2a |
%{?_without_syslog:%global _without_syslog --disable-syslog}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
|
|
|
7f4c2a |
# Fedora deprecated syslog, see
|
|
|
7f4c2a |
# https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
|
|
|
7f4c2a |
# (And what about RHEL7?)
|
|
|
7f4c2a |
%global _without_syslog --disable-syslog
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without the BD map support...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without bd
|
|
|
7f4c2a |
%{?_without_bd:%global _without_bd --disable-bd-xlator}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} )
|
|
|
7f4c2a |
%define _without_bd --disable-bd-xlator
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish to compile an rpm without the qemu-block support...
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without qemu-block
|
|
|
7f4c2a |
%{?_without_qemu_block:%global _without_qemu_block --disable-qemu-block}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
# xlators/features/qemu-block fails to build on RHEL5, disable it
|
|
|
7f4c2a |
%define _without_qemu_block --disable-qemu-block
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# if you wish not to build server rpms, compile like this.
|
|
|
7f4c2a |
# rpmbuild -ta glusterfs-3.7.1.tar.gz --without server
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%global _build_server 1
|
|
|
7f4c2a |
%if "%{?_without_server}"
|
|
|
7f4c2a |
%global _build_server 0
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( "%{?dist}" == ".el6rhs" ) || ( "%{?dist}" == ".el7rhs" ) || ( "%{?dist}" == ".el7rhgs" )
|
|
|
7f4c2a |
%global _build_server 1
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%global _build_server 0
|
|
|
7f4c2a |
%global _without_georeplication --disable-georeplication
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%global _without_extra_xlators 1
|
|
|
7f4c2a |
%global _without_regression_tests 1
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Disable data-tiering on EL5, sqlite is too old
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
%global _without_tiering --disable-tiering
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All %global definitions should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
7f4c2a |
%global _with_systemd true
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
7f4c2a |
%global _with_firewalld --enable-firewalld
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if 0%{?_tmpfilesdir:1}
|
|
|
7f4c2a |
%define _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%define _with_tmpfilesdir --without-tmpfilesdir
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# there is no systemtap support! Perhaps some day there will be
|
|
|
7f4c2a |
%global _without_systemtap --enable-systemtap=no
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# From https://fedoraproject.org/wiki/Packaging:Python#Macros
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
7f4c2a |
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
|
7f4c2a |
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_with_systemd:1} )
|
|
|
7f4c2a |
%define _init_enable() /bin/systemctl enable %1.service ;
|
|
|
7f4c2a |
%define _init_disable() /bin/systemctl disable %1.service ;
|
|
|
7f4c2a |
%define _init_restart() /bin/systemctl try-restart %1.service ;
|
|
|
7f4c2a |
%define _init_start() /bin/systemctl start %1.service ;
|
|
|
7f4c2a |
%define _init_stop() /bin/systemctl stop %1.service ;
|
|
|
7f4c2a |
%define _init_install() install -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;
|
|
|
7f4c2a |
# can't seem to make a generic macro that works
|
|
|
7f4c2a |
%define _init_glusterd %{_unitdir}/glusterd.service
|
|
|
7f4c2a |
%define _init_glusterfsd %{_unitdir}/glusterfsd.service
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%define _init_enable() /sbin/chkconfig --add %1 ;
|
|
|
7f4c2a |
%define _init_disable() /sbin/chkconfig --del %1 ;
|
|
|
7f4c2a |
%define _init_restart() /sbin/service %1 condrestart &>/dev/null ;
|
|
|
7f4c2a |
%define _init_start() /sbin/service %1 start &>/dev/null ;
|
|
|
7f4c2a |
%define _init_stop() /sbin/service %1 stop &>/dev/null ;
|
|
|
7f4c2a |
%define _init_install() install -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;
|
|
|
7f4c2a |
# can't seem to make a generic macro that works
|
|
|
7f4c2a |
%define _init_glusterd %{_sysconfdir}/init.d/glusterd
|
|
|
7f4c2a |
%define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%if ( 0%{?_with_systemd:1} )
|
|
|
7f4c2a |
%global glusterfsd_service glusterfsd.service
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%global glusterfsd_service glusterfsd.init
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
# _sharedstatedir is not provided by RHEL5
|
|
|
7f4c2a |
%define _sharedstatedir /var/lib
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# We do not want to generate useless provides and requires for xlator
|
|
|
7f4c2a |
# .so files to be set for glusterfs packages.
|
|
|
7f4c2a |
# Filter all generated:
|
|
|
7f4c2a |
#
|
|
|
7f4c2a |
# TODO: RHEL5 does not have a convenient solution
|
|
|
7f4c2a |
%if ( 0%{?rhel} == 6 )
|
|
|
7f4c2a |
# filter_setup exists in RHEL6 only
|
|
|
7f4c2a |
%filter_provides_in %{_libdir}/glusterfs/%{version}/
|
|
|
7f4c2a |
%global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
|
|
|
7f4c2a |
%filter_setup
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
# modern rpm and current Fedora do not generate requires when the
|
|
|
7f4c2a |
# provides are filtered
|
|
|
7f4c2a |
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All package definitions should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
Summary: Distributed File System
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
Name: glusterfs
|
|
|
7f4c2a |
Version: 3.5.0
|
|
|
7f4c2a |
Release: 1.atomic.1%{?prereltag:.%{prereltag}}%{?dist}
|
|
|
39a3ce |
#Vendor removed
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
Name: glusterfs
|
|
|
7f4c2a |
Version: 3.7.1
|
|
|
7f4c2a |
Release: 17.atomic.1%{?dist}
|
|
|
7f4c2a |
ExclusiveArch: x86_64 aarch64
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
License: GPLv2 or LGPLv3+
|
|
|
7f4c2a |
Group: System Environment/Base
|
|
|
7f4c2a |
URL: http://www.gluster.org/docs/index.php/GlusterFS
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
|
|
|
7f4c2a |
Source1: glusterd.sysconfig
|
|
|
7f4c2a |
Source2: glusterfsd.sysconfig
|
|
|
7f4c2a |
Source6: rhel5-load-fuse-modules
|
|
|
7f4c2a |
Source7: glusterfsd.service
|
|
|
7f4c2a |
Source8: glusterfsd.init
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
Source0: glusterfs-3.7.1.tar.gz
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
7f4c2a |
BuildRequires: python-simplejson
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?_with_systemd:1} )
|
|
|
7f4c2a |
BuildRequires: systemd-units
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
Requires: %{name}-libs = %{version}-%{release}
|
|
|
7f4c2a |
BuildRequires: bison flex
|
|
|
7f4c2a |
BuildRequires: gcc make automake libtool
|
|
|
7f4c2a |
BuildRequires: ncurses-devel readline-devel
|
|
|
7f4c2a |
BuildRequires: libxml2-devel openssl-devel
|
|
|
7f4c2a |
BuildRequires: libaio-devel libacl-devel
|
|
|
7f4c2a |
BuildRequires: python-devel
|
|
|
7f4c2a |
BuildRequires: python-ctypes
|
|
|
7f4c2a |
BuildRequires: userspace-rcu-devel >= 0.7
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
7f4c2a |
BuildRequires: e2fsprogs-devel
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
BuildRequires: libuuid-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?_with_cmocka:1} )
|
|
|
7f4c2a |
BuildRequires: libcmocka-devel >= 1.0.1
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
BuildRequires: sqlite-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_systemtap:1} )
|
|
|
7f4c2a |
BuildRequires: systemtap-sdt-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_bd:1} )
|
|
|
7f4c2a |
BuildRequires: lvm2-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_qemu_block:1} )
|
|
|
7f4c2a |
BuildRequires: glib2-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
BuildRequires: libattr-devel
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if (0%{?_with_firewalld:1})
|
|
|
7f4c2a |
BuildRequires: firewalld
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
Obsoletes: hekafs
|
|
|
7f4c2a |
Obsoletes: %{name}-common < %{version}-%{release}
|
|
|
7f4c2a |
Obsoletes: %{name}-core < %{version}-%{release}
|
|
|
7f4c2a |
Obsoletes: %{name}-ufo
|
|
|
7f4c2a |
Provides: %{name}-common = %{version}-%{release}
|
|
|
7f4c2a |
Provides: %{name}-core = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Patch0001: 0001-Update-rfc.sh-to-rhgs-3.1.patch
|
|
|
7f4c2a |
Patch0002: 0002-features-quota-Do-unwind-if-postbuf-is-NULL.patch
|
|
|
7f4c2a |
Patch0003: 0003-features-quota-Make-quota-deem-statfs-option-on-by-d.patch
|
|
|
7f4c2a |
Patch0004: 0004-features-quota-prevent-statfs-frame-loss-when-an-err.patch
|
|
|
7f4c2a |
Patch0005: 0005-quota-retry-connecting-to-quotad-on-ENOTCONN-error.patch
|
|
|
7f4c2a |
Patch0006: 0006-snapshot-scheduler-Return-proper-error-code-in-case-.patch
|
|
|
7f4c2a |
Patch0007: 0007-glusterd-do-not-show-pid-of-brick-in-volume-status-i.patch
|
|
|
7f4c2a |
Patch0008: 0008-glusterd-Buffer-overflow-causing-crash-for-glusterd.patch
|
|
|
7f4c2a |
Patch0009: 0009-glusterd-shared_storage-Provide-a-volume-set-option-.patch
|
|
|
7f4c2a |
Patch0010: 0010-dht-rebalance-Fixed-rebalance-failure.patch
|
|
|
7f4c2a |
Patch0011: 0011-cluster-dht-Fix-dht_setxattr-to-follow-files-under-m.patch
|
|
|
7f4c2a |
Patch0012: 0012-cluster-dht-Don-t-rely-on-linkto-xattr-to-find-desti.patch
|
|
|
7f4c2a |
Patch0013: 0013-afr-honour-selfheal-enable-disable-volume-set-option.patch
|
|
|
7f4c2a |
Patch0014: 0014-cluster-ec-EC_XATTR_DIRTY-doesn-t-come-in-response.patch
|
|
|
7f4c2a |
Patch0015: 0015-glusterd-Bump-op-version-and-max-op-version-for-3.7..patch
|
|
|
7f4c2a |
Patch0016: 0016-build-remove-ghost-directory-entries.patch
|
|
|
7f4c2a |
Patch0017: 0017-build-add-RHGS-specific-changes.patch
|
|
|
7f4c2a |
Patch0018: 0018-secalert-remove-setuid-bit-for-fusermount-glusterfs.patch
|
|
|
7f4c2a |
Patch0019: 0019-dht-Add-lookup-optimize-configuration-option-for-DHT.patch
|
|
|
7f4c2a |
Patch0020: 0020-features-quota-Fix-ref-leak.patch
|
|
|
7f4c2a |
Patch0021: 0021-worm-Let-lock-zero-xattrop-calls-succeed.patch
|
|
|
7f4c2a |
Patch0022: 0022-glusterd-snapshot-Return-correct-errno-in-events-of-.patch
|
|
|
7f4c2a |
Patch0023: 0023-snapshot-Fix-finding-brick-mount-path-logic.patch
|
|
|
7f4c2a |
Patch0024: 0024-bitrot-glusterd-scrub-option-should-be-disabled-once.patch
|
|
|
7f4c2a |
Patch0025: 0025-glusterd-fix-repeated-connection-to-nfssvc-failed-ms.patch
|
|
|
7f4c2a |
Patch0026: 0026-rpc-call-transport_unref-only-on-non-NULL-transport.patch
|
|
|
7f4c2a |
Patch0027: 0027-socket-throttle-only-connected-transport.patch
|
|
|
7f4c2a |
Patch0028: 0028-cluster-dht-pass-a-destination-subvol-to-fop2-varian.patch
|
|
|
7f4c2a |
Patch0029: 0029-cluster-ec-Prevent-double-unwind.patch
|
|
|
7f4c2a |
Patch0030: 0030-Upcall-cache-invalidation-Ignore-fops-with-frame-roo.patch
|
|
|
7f4c2a |
Patch0031: 0031-cli-Fix-incorrect-parse-logic-for-volume-heal-comman.patch
|
|
|
7f4c2a |
Patch0032: 0032-nfs-allocate-and-return-the-hashkey-for-the-auth_cac.patch
|
|
|
7f4c2a |
Patch0033: 0033-features-marker-Cleanup-loc-in-case-of-errors.patch
|
|
|
7f4c2a |
Patch0034: 0034-ec-Changing-log-level-to-DEBUG-in-case-of-ENOENT.patch
|
|
|
7f4c2a |
Patch0035: 0035-protocol-server-Changing-log-level-from-Warning-to-D.patch
|
|
|
7f4c2a |
Patch0036: 0036-glusterd-Stop-tcp-ip-listeners-during-glusterd-exit.patch
|
|
|
7f4c2a |
Patch0037: 0037-libglusterfs-Enabling-the-fini-in-cleanup_and_exit.patch
|
|
|
7f4c2a |
Patch0038: 0038-glusterd-disable-ping-timer.patch
|
|
|
7f4c2a |
Patch0039: 0039-cluster-ec-Wind-unlock-fops-at-all-cost.patch
|
|
|
7f4c2a |
Patch0040: 0040-build-fix-compiling-on-older-distributions.patch
|
|
|
7f4c2a |
Patch0041: 0041-rpm-correct-date-and-order-of-entries-in-the-changel.patch
|
|
|
7f4c2a |
Patch0042: 0042-nfs-ganesha-HA-fix-race-between-setting-grace-and-vi.patch
|
|
|
7f4c2a |
Patch0043: 0043-logging-log-Stale-filehandle-on-the-client-as-Debug.patch
|
|
|
7f4c2a |
Patch0044: 0044-snapshot-scheduler-Handle-OSError-in-os.-callbacks.patch
|
|
|
7f4c2a |
Patch0045: 0045-snapshot-scheduler-Check-if-GCRON_TASKS-exists-befor.patch
|
|
|
7f4c2a |
Patch0046: 0046-storage-posix-Handle-MAKE_INODE_HANDLE-failures.patch
|
|
|
7f4c2a |
Patch0047: 0047-snapshot-scheduler-Reload-etc-cron.d-glusterfs_snap_.patch
|
|
|
7f4c2a |
Patch0048: 0048-build-packaging-corrections-for-RHEL-5.patch
|
|
|
7f4c2a |
Patch0049: 0049-features-marker-Pass-along-xdata-to-lower-translator.patch
|
|
|
7f4c2a |
Patch0050: 0050-cluster-dht-fix-incorrect-dst-subvol-info-in-inode_c.patch
|
|
|
7f4c2a |
Patch0051: 0051-build-introduce-security-hardening-flags-in-gluster.patch
|
|
|
7f4c2a |
Patch0052: 0052-glusterd-Display-status-of-Self-Heal-Daemon-for-disp.patch
|
|
|
7f4c2a |
Patch0053: 0053-cluster-dht-maintain-start-state-of-rebalance-daemon.patch
|
|
|
7f4c2a |
Patch0054: 0054-cluster-tier-account-for-reordered-layouts.patch
|
|
|
7f4c2a |
Patch0055: 0055-cluster-tier-make-attach-detach-work-with-new-rebala.patch
|
|
|
7f4c2a |
Patch0056: 0056-tier-dht-Fixing-non-atomic-promotion-demotion-w.r.t-.patch
|
|
|
7f4c2a |
Patch0057: 0057-cluster-ec-Prevent-Null-dereference-in-dht-rename.patch
|
|
|
7f4c2a |
Patch0058: 0058-features-changelog-Avoid-setattr-fop-logging-during-.patch
|
|
|
7f4c2a |
Patch0059: 0059-tools-glusterfind-verifying-volume-presence.patch
|
|
|
7f4c2a |
Patch0060: 0060-geo-rep-ignore-symlink-and-harlink-errors-in-geo-rep.patch
|
|
|
7f4c2a |
Patch0061: 0061-spec-fix-add-pre-transaction-scripts-for-geo-rep-and.patch
|
|
|
7f4c2a |
Patch0062: 0062-tools-glusterfind-Fix-GFID-to-Path-conversion-for-di.patch
|
|
|
7f4c2a |
Patch0063: 0063-tools-glusterfind-Cleanup-glusterfind-dir-after-a-vo.patch
|
|
|
7f4c2a |
Patch0064: 0064-geo-rep-Validate-use_meta_volume-option.patch
|
|
|
7f4c2a |
Patch0065: 0065-tools-glusterfind-Cleanup-session-dir-after-delete.patch
|
|
|
7f4c2a |
Patch0066: 0066-tools-glusterfind-verifying-volume-is-online.patch
|
|
|
7f4c2a |
Patch0067: 0067-features-changelog-Do-htime-setxattr-without-XATTR_R.patch
|
|
|
7f4c2a |
Patch0068: 0068-snapshot-scheduler-Modified-main-function-to-take-ar.patch
|
|
|
7f4c2a |
Patch0069: 0069-glusterd-fix-op-versions-for-RHS-backwards-compatabi.patch
|
|
|
7f4c2a |
Patch0070: 0070-tools-glusterfind-ignoring-deleted-files.patch
|
|
|
7f4c2a |
Patch0071: 0071-spec-geo-rep-Add-rsync-as-dependency-for-georeplicat.patch
|
|
|
7f4c2a |
Patch0072: 0072-tools-glusterfind-print-message-for-good-cases.patch
|
|
|
7f4c2a |
Patch0073: 0073-common-ha-handle-long-node-names-and-node-names-with.patch
|
|
|
7f4c2a |
Patch0074: 0074-common-ha-Clean-up-persistent-cib-state.patch
|
|
|
7f4c2a |
Patch0075: 0075-glusterd-subvol_count-value-for-replicate-volume-sho.patch
|
|
|
7f4c2a |
Patch0076: 0076-upcall-prevent-busy-loop-in-reaper-thread.patch
|
|
|
7f4c2a |
Patch0077: 0077-common-ha-Clean-up-cib-state-completely.patch
|
|
|
7f4c2a |
Patch0078: 0078-NFS-Ganesha-Return-corect-return-value.patch
|
|
|
7f4c2a |
Patch0079: 0079-contrib-timer-wheel-fix-deadlock-in-del_timer.patch
|
|
|
7f4c2a |
Patch0080: 0080-libglusterfs-update-glfs-messages-header-for-reserve.patch
|
|
|
7f4c2a |
Patch0081: 0081-protocol-client-porting-log-messages-to-new-framewor.patch
|
|
|
7f4c2a |
Patch0082: 0082-protocol-server-port-log-messages-to-new-framework.patch
|
|
|
7f4c2a |
Patch0083: 0083-common-ha-cluster-HA-setup-sometimes-fails.patch
|
|
|
7f4c2a |
Patch0084: 0084-ec-Display-correct-message-after-successful-heal-sta.patch
|
|
|
7f4c2a |
Patch0085: 0085-cluster-ec-Prevent-races-in-ec_unlock-for-rename.patch
|
|
|
7f4c2a |
Patch0086: 0086-glusterd-Porting-messages-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0087: 0087-sm-glusterd-Porting-messages-to-new-logging-framewor.patch
|
|
|
7f4c2a |
Patch0088: 0088-rebalance-store-glusterd-glusterd-porting-to-new-log.patch
|
|
|
7f4c2a |
Patch0089: 0089-handler-messages-glusterd-Porting-to-new-logging-fra.patch
|
|
|
7f4c2a |
Patch0090: 0090-handshake-locks-mountbroker-syncop-glusterd-New-logg.patch
|
|
|
7f4c2a |
Patch0091: 0091-utils-glusterd-Porting-to-new-logging-framwork.patch
|
|
|
7f4c2a |
Patch0092: 0092-quota-glusterd-porting-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0093: 0093-snapshot-Fix-terminating-slash-in-brick-mount-path.patch
|
|
|
7f4c2a |
Patch0094: 0094-rpm-glusterfs-devel-for-client-builds-should-not-dep.patch
|
|
|
7f4c2a |
Patch0095: 0095-snapshot-man-page-modifications.patch
|
|
|
7f4c2a |
Patch0096: 0096-ops-glusterd-Porting-messages-to-new-logging-framewo.patch
|
|
|
7f4c2a |
Patch0097: 0097-glusterd-uss-snapshot-Intialise-snapdsvc-after-volfi.patch
|
|
|
7f4c2a |
Patch0098: 0098-build-add-pretrans-check.patch
|
|
|
7f4c2a |
Patch0099: 0099-glusterd-geo-rep-porting-log-messages-to-a-new-frame.patch
|
|
|
7f4c2a |
Patch0100: 0100-glusterd-Fixing-the-compilation-failures.patch
|
|
|
7f4c2a |
Patch0101: 0101-cluster-afr-Do-not-attempt-entry-self-heal-if-the-la.patch
|
|
|
7f4c2a |
Patch0102: 0102-common-ha-cluster-HA-setup-sometimes-fails.patch
|
|
|
7f4c2a |
Patch0103: 0103-glusterd-Fix-snapshot-of-a-volume-with-geo-rep.patch
|
|
|
7f4c2a |
Patch0104: 0104-quota-fix-double-accounting-with-rename-operation.patch
|
|
|
7f4c2a |
Patch0105: 0105-gluster-shared_storage-Add-Remove-shared-storage-fro.patch
|
|
|
7f4c2a |
Patch0106: 0106-glusterd-mgmt_v3-Print-the-node-info-with-failure-me.patch
|
|
|
7f4c2a |
Patch0107: 0107-build-exclude-libgfdb.pc-conditionally.patch
|
|
|
7f4c2a |
Patch0108: 0108-libgfchangelog-Fix-crash-in-gf_changelog_process.patch
|
|
|
7f4c2a |
Patch0109: 0109-Porting-new-log-messages-for-posix.patch
|
|
|
7f4c2a |
Patch0110: 0110-rdma-porting-rdma-to-a-new-message-id-logging-format.patch
|
|
|
7f4c2a |
Patch0111: 0111-glusterd-afr-set-afr-pending-xattrs-on-replace-brick.patch
|
|
|
7f4c2a |
Patch0112: 0112-libglusterfs-allocate-a-segment-for-quota-logging.patch
|
|
|
7f4c2a |
Patch0113: 0113-libgfapi-port-gfapi-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0114: 0114-cluster-afr-set-pending-xattrs-for-replaced-brick.patch
|
|
|
7f4c2a |
Patch0115: 0115-common-ha-cluster-setup-issues-on-RHEL7.patch
|
|
|
7f4c2a |
Patch0116: 0116-NFS-Ganesha-Automatically-export-vol-that-was-export.patch
|
|
|
7f4c2a |
Patch0117: 0117-features-bitrot-tuanble-object-signing-waiting-time-.patch
|
|
|
7f4c2a |
Patch0118: 0118-features-bitrot-fix-fd-leak-in-truncate-stub.patch
|
|
|
7f4c2a |
Patch0119: 0119-tier-volume-set-Validate-volume-set-option-for-tier.patch
|
|
|
7f4c2a |
Patch0120: 0120-glusterd-tier-glusterd-crashed-with-detach-tier-comm.patch
|
|
|
7f4c2a |
Patch0121: 0121-glusterd-shared_storage-Added-help-description-for-e.patch
|
|
|
7f4c2a |
Patch0122: 0122-cluster-dht-Prevent-use-after-free-bug.patch
|
|
|
7f4c2a |
Patch0123: 0123-afr-complete-conservative-merge-even-in-case-of-gfid.patch
|
|
|
7f4c2a |
Patch0124: 0124-dht-Error-value-check-before-performing-rebalance-co.patch
|
|
|
7f4c2a |
Patch0125: 0125-common-ha-Fixing-add-node-operation.patch
|
|
|
7f4c2a |
Patch0126: 0126-quota-allow-writes-when-with-ENOENT-ESTALE-on-active.patch
|
|
|
7f4c2a |
Patch0127: 0127-tier-glusterd-Add-description-for-volume-set-options.patch
|
|
|
7f4c2a |
Patch0128: 0128-cluster-ec-Avoid-parallel-executions-of-the-same-sta.patch
|
|
|
7f4c2a |
Patch0129: 0129-nfs.c-nfs3.c-port-log-messages-to-a-new-framework.patch
|
|
|
7f4c2a |
Patch0130: 0130-features-quota-port-QUOTA-messages-to-new-logging-fr.patch
|
|
|
7f4c2a |
Patch0131: 0131-NFS-Ganesha-Implement-refresh-config.patch
|
|
|
7f4c2a |
Patch0132: 0132-glusterd-use-mkdir_p-for-creating-rundir.patch
|
|
|
7f4c2a |
Patch0133: 0133-glusterd-Store-peerinfo-after-updating-hostnames.patch
|
|
|
7f4c2a |
Patch0134: 0134-tools-glusterfind-Fail-glusterfind-creation-if-volum.patch
|
|
|
7f4c2a |
Patch0135: 0135-geo-rep-Fix-geo-rep-fanout-setup-with-meta-volume.patch
|
|
|
7f4c2a |
Patch0136: 0136-geo-rep-Fix-toggling-of-use_meta_volume-config.patch
|
|
|
7f4c2a |
Patch0137: 0137-geo-rep-Fix-glusterd-working-directory.patch
|
|
|
7f4c2a |
Patch0138: 0138-geo-rep-Fix-ssh-issue-in-geo-rep.patch
|
|
|
7f4c2a |
Patch0139: 0139-cluster-ec-wind-fops-on-good-subvols-for-access-read.patch
|
|
|
7f4c2a |
Patch0140: 0140-cluster-afr-Pick-gfid-from-poststat-during-fresh-loo.patch
|
|
|
7f4c2a |
Patch0141: 0141-protocol-client-removing-duplicate-printing-in-gf_ms.patch
|
|
|
7f4c2a |
Patch0142: 0142-EC-While-Healing-a-file-set-the-config-xattr.patch
|
|
|
7f4c2a |
Patch0143: 0143-libglusterfs-Introducing-new-logging-message.patch
|
|
|
7f4c2a |
Patch0144: 0144-core-add-gf_ref_t-for-common-refcounting-structures.patch
|
|
|
7f4c2a |
Patch0145: 0145-quota-marker-fix-mem-leak-in-marker.patch
|
|
|
7f4c2a |
Patch0146: 0146-cluster-afr-set-pending-xattrs-for-replaced-brick.patch
|
|
|
7f4c2a |
Patch0147: 0147-common-utils-libglusterfs-Porting-to-a-new-logging-f.patch
|
|
|
7f4c2a |
Patch0148: 0148-afr-Block-fops-when-file-is-in-split-brain.patch
|
|
|
7f4c2a |
Patch0149: 0149-quota-marker-accounting-goes-bad-with-rename-while-w.patch
|
|
|
7f4c2a |
Patch0150: 0150-dht-Adding-log-messages-to-the-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0151: 0151-gfdb-libglusterfs-Porting-to-a-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0152: 0152-changetimerecorder-Porting-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0153: 0153-features-bitrot-log-scrub-frequency-throttle-values.patch
|
|
|
7f4c2a |
Patch0154: 0154-tests-bitrot-Scrub-state-change-tests.patch
|
|
|
7f4c2a |
Patch0155: 0155-common-ha-fix-delete-node.patch
|
|
|
7f4c2a |
Patch0156: 0156-features-bit-rot-check-for-both-inmemory-and-ondisk-.patch
|
|
|
7f4c2a |
Patch0157: 0157-bit-rot-New-logging-framework-for-bit-rot-log-messag.patch
|
|
|
7f4c2a |
Patch0158: 0158-features-bitrot-cleanup-v1.patch
|
|
|
7f4c2a |
Patch0159: 0159-features-bitrot-cleanup-v2.patch
|
|
|
7f4c2a |
Patch0160: 0160-features-bitrot-handle-scrub-states-via-state-machin.patch
|
|
|
7f4c2a |
Patch0161: 0161-geo-rep-Fix-add-user-in-mountbroker-user-management.patch
|
|
|
7f4c2a |
Patch0162: 0162-features-bitrot-convert-pending-gf_log-to-gf_msg.patch
|
|
|
7f4c2a |
Patch0163: 0163-geo-rep-ignore-ESTALE-as-ENOENT.patch
|
|
|
7f4c2a |
Patch0164: 0164-fd-inode-libglusterfs-porting-to-a-new-logging-frame.patch
|
|
|
7f4c2a |
Patch0165: 0165-call-stub-circ-buff-client_t-compat-dict-libglusterf.patch
|
|
|
7f4c2a |
Patch0166: 0166-graph-libglusterfs-porting-to-a-new-logging-framewor.patch
|
|
|
7f4c2a |
Patch0167: 0167-defaults-globals-iobuf-latency-logging-options-xlato.patch
|
|
|
7f4c2a |
Patch0168: 0168-event-parse-utils-quota-common-utils-rbthash-libglus.patch
|
|
|
7f4c2a |
Patch0169: 0169-cluster-afr-truncate-all-sinks-files.patch
|
|
|
7f4c2a |
Patch0170: 0170-features-changelog-Always-log-directory-rename-opera.patch
|
|
|
7f4c2a |
Patch0171: 0171-cluster-ec-Fix-incorrect-check-for-iatt-differences.patch
|
|
|
7f4c2a |
Patch0172: 0172-ec-Porting-messages-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0173: 0173-glusterd-Porting-left-out-log-messages-to-new-framew.patch
|
|
|
7f4c2a |
Patch0174: 0174-ganesha-volinfo-is-not-persisted-after-modifying-opt.patch
|
|
|
7f4c2a |
Patch0175: 0175-common-utils-libglusterfs-removing-strerror-to-avoid.patch
|
|
|
7f4c2a |
Patch0176: 0176-NFS-Ganesha-Automatically-export-volume-after-volume.patch
|
|
|
7f4c2a |
Patch0177: 0177-storage-posix-Check-xdata-for-NULL-before-dict_get.patch
|
|
|
7f4c2a |
Patch0178: 0178-protocol-server-Include-a-check-to-validate-xprt-cli.patch
|
|
|
7f4c2a |
Patch0179: 0179-Upcall-Fix-an-issue-with-invalidating-parent-entries.patch
|
|
|
7f4c2a |
Patch0180: 0180-mem-pool-stack-store-syncop-timer-libglusterfs-Porti.patch
|
|
|
7f4c2a |
Patch0181: 0181-quota-Fix-statfs-values-in-EC-when-quota_deem_statfs.patch
|
|
|
7f4c2a |
Patch0182: 0182-Logging-Porting-the-performance-translator.patch
|
|
|
7f4c2a |
Patch0183: 0183-afr-Porting-messages-to-new-logging-framework.patch
|
|
|
7f4c2a |
Patch0184: 0184-features-performace-Updating-the-glfs-components.patch
|
|
|
7f4c2a |
Patch0185: 0185-features-bit-rot-stub-deny-access-to-bad-objects.patch
|
|
|
7f4c2a |
Patch0186: 0186-features-bit-rot-stub-do-not-allow-setxattr-and-remo.patch
|
|
|
7f4c2a |
Patch0187: 0187-tier-ctr-Ignore-creation-of-T-file-and-Ctr-Lookup-he.patch
|
|
|
7f4c2a |
Patch0188: 0188-glusterd-Correction-in-Error-message-for-disperse-vo.patch
|
|
|
7f4c2a |
Patch0189: 0189-gfapi-symlink-resolution-for-glfs_object.patch
|
|
|
7f4c2a |
Patch0190: 0190-feature-performace-Fix-broken-build.patch
|
|
|
7f4c2a |
Patch0191: 0191-rdma-removing-duplicate-printing-of-error-string-in-.patch
|
|
|
7f4c2a |
Patch0192: 0192-NFS-Ganesha-Exporting-volume-fails.patch
|
|
|
7f4c2a |
Patch0193: 0193-common-ha-Fix-var-lib-nfs-statd-state-path-creation.patch
|
|
|
7f4c2a |
Patch0194: 0194-cluster-ec-Add-throttling-in-background-healing.patch
|
|
|
7f4c2a |
Patch0195: 0195-cluster-ec-Remove-dead-code.patch
|
|
|
7f4c2a |
Patch0196: 0196-protocol-server-Correctly-reconfigure-auth.ssl-allow.patch
|
|
|
7f4c2a |
Patch0197: 0197-cluster-dht-use-refcount-to-manage-memory-used-to-st.patch
|
|
|
7f4c2a |
Patch0198: 0198-protocol-server-fail-setvolume-if-any-of-xlators-is-.patch
|
|
|
7f4c2a |
Patch0199: 0199-NFS-Ganesha-Unexport-fails-after-S31ganesha-start-sc.patch
|
|
|
7f4c2a |
Patch0200: 0200-cluster-ec-Make-background-healing-optional-behavior.patch
|
|
|
7f4c2a |
Patch0201: 0201-access-control-validating-context-of-access-control-.patch
|
|
|
7f4c2a |
Patch0202: 0202-tools-glusterfind-RENAME-and-MODIFY-issues.patch
|
|
|
7f4c2a |
Patch0203: 0203-cluster-afr-expunge-first-impunge-next-in-entry-self.patch
|
|
|
7f4c2a |
Patch0204: 0204-glusterd-shared_storage-Use-var-lib-glusterd-ss_bric.patch
|
|
|
7f4c2a |
Patch0205: 0205-cluster-ec-Don-t-read-from-bad-subvols.patch
|
|
|
7f4c2a |
Patch0206: 0206-cluster-ec-Remove-failed-subvols-from-source-sink-co.patch
|
|
|
7f4c2a |
Patch0207: 0207-protocol-server-Add-null-check-to-gf_client_put.patch
|
|
|
7f4c2a |
Patch0208: 0208-quota-fix-mem-leak-in-quota-enforcer.patch
|
|
|
7f4c2a |
Patch0209: 0209-posix-fix-mem-leak-in-posix_get_ancestry-error-path.patch
|
|
|
7f4c2a |
Patch0210: 0210-quota-marker-fix-mem-leak-in-marker.patch
|
|
|
7f4c2a |
Patch0211: 0211-glusterd-Removing-sync-lock-and-unlock-inside-rcu-re.patch
|
|
|
7f4c2a |
Patch0212: 0212-cluster-ec-Fix-use-after-free-bug.patch
|
|
|
7f4c2a |
Patch0213: 0213-glusterd-geo-rep-Fix-failure-of-geo-rep-pause.patch
|
|
|
7f4c2a |
Patch0214: 0214-glusterd-Get-the-local-txn_info-based-on-trans_id-in.patch
|
|
|
7f4c2a |
Patch0215: 0215-snapshot-scheduler-Use-var-run-gluster-shared_storag.patch
|
|
|
7f4c2a |
Patch0216: 0216-glusterd-correct-replace-brick-flow.patch
|
|
|
7f4c2a |
Patch0217: 0217-glusterd-snapd-Stop-snapd-daemon-when-glusterd-is-re.patch
|
|
|
7f4c2a |
Patch0218: 0218-quotad-create-sock-listener-only-after-graph-init-is.patch
|
|
|
7f4c2a |
Patch0219: 0219-common-ha-ganesha-ha.sh-status-tries-to-read-ganesha.patch
|
|
|
7f4c2a |
Patch0220: 0220-quota-marker-fix-mem-leak-in-marker.patch
|
|
|
7f4c2a |
Patch0221: 0221-quota-marker-use-smaller-stacksize-in-synctask-for-m.patch
|
|
|
7f4c2a |
Patch0222: 0222-quota-marker-set-lk_owner-when-taking-lock-on-parent.patch
|
|
|
7f4c2a |
Patch0223: 0223-quota-marker-fix-spurious-failure-afr-quota-xattr-md.patch
|
|
|
7f4c2a |
Patch0224: 0224-gfapi-Update-loc-inode-accordingly-in-glfs_loc_link.patch
|
|
|
7f4c2a |
Patch0225: 0225-glusterd-Fix-management-encryption-issues-with-Glust.patch
|
|
|
7f4c2a |
Patch0226: 0226-NFS-Ganesha-Export-fails-on-RHEL-7.1.patch
|
|
|
7f4c2a |
Patch0227: 0227-libgfdb-sql-Fixing-broken-query-of-find_unchanged.patch
|
|
|
7f4c2a |
Patch0228: 0228-glusterd-use-a-real-host-name-instead-of-numeric-whe.patch
|
|
|
7f4c2a |
Patch0229: 0229-glusterd-Send-friend-update-even-for-EVENT_RCVD_ACC.patch
|
|
|
7f4c2a |
Patch0230: 0230-logging-Fixed-incorrect-buffer-size.patch
|
|
|
7f4c2a |
Patch0231: 0231-quota-marker-inspect-file-dir-invoked-without-having.patch
|
|
|
7f4c2a |
Patch0232: 0232-NFS-Ganesha-Add-node-does-not-copy-exports-directory.patch
|
|
|
7f4c2a |
Patch0233: 0233-access_control-avoid-double-unrefing-of-acl-variable.patch
|
|
|
7f4c2a |
Patch0234: 0234-features-posix-Avoid-double-free-of-a-variable-in-po.patch
|
|
|
7f4c2a |
Patch0235: 0235-cluster-ec-Propogate-correct-errno-in-case-of-failur.patch
|
|
|
7f4c2a |
Patch0236: 0236-cluster-ec-Prevent-data-corruptions.patch
|
|
|
7f4c2a |
Patch0237: 0237-rpc-transport-socket_poller-fixes-for-proper-working.patch
|
|
|
7f4c2a |
Patch0238: 0238-glusterd-Fix-failure-in-replace-brick-when-src-brick.patch
|
|
|
7f4c2a |
Patch0239: 0239-quota-marker-fix-mem-leak-in-marker.patch
|
|
|
7f4c2a |
Patch0240: 0240-features-bitrot-move-inode-state-just-at-the-last-mo.patch
|
|
|
7f4c2a |
Patch0241: 0241-features-bitrot-throttle-signer.patch
|
|
|
7f4c2a |
Patch0242: 0242-extras-hooks-Fix-parsing-of-args-in-S30samba-set.sh.patch
|
|
|
7f4c2a |
Patch0243: 0243-timer-fix-race-between-gf_timer_call_cancel-and-gf_t.patch
|
|
|
7f4c2a |
Patch0244: 0244-cluster-ec-Handle-race-between-unlock-timer-new-lock.patch
|
|
|
7f4c2a |
Patch0245: 0245-Revert-timer-fix-race-between-gf_timer_call_cancel-a.patch
|
|
|
7f4c2a |
Patch0246: 0246-glusterd-Porting-the-left-out-gf_log_callingfns-to-n.patch
|
|
|
7f4c2a |
Patch0247: 0247-glusterd-Pass-NULL-in-glusterd_svc_manager-in-gluste.patch
|
|
|
7f4c2a |
Patch0248: 0248-glusterd-Do-not-log-failure-if-glusterd_get_txn_opin.patch
|
|
|
7f4c2a |
Patch0249: 0249-cluster-afr-Fix-incorrect-logging-in-read-transactio.patch
|
|
|
7f4c2a |
Patch0250: 0250-heal-Do-not-invoke-glfs_fini-for-glfs-heal-commands.patch
|
|
|
7f4c2a |
Patch0251: 0251-dht-send-lookup-even-for-fd-based-operations-during-.patch
|
|
|
7f4c2a |
Patch0252: 0252-geo-rep-Fix-fd-referenced-before-assignment.patch
|
|
|
7f4c2a |
Patch0253: 0253-geo-rep-Fix-history-failure.patch
|
|
|
7f4c2a |
Patch0254: 0254-geo-rep-Do-not-crash-worker-on-ESTALE.patch
|
|
|
7f4c2a |
Patch0255: 0255-glusterd-getting-txn_id-from-frame-cookie-in-op_sm-c.patch
|
|
|
7f4c2a |
Patch0256: 0256-client-rpc-make-ping-timeout-configurable-for-gluste.patch
|
|
|
7f4c2a |
Patch0257: 0257-quota-marker-contribution-with-list_del-can-cause-me.patch
|
|
|
7f4c2a |
Patch0258: 0258-quota-Fix-crash-in-quota-enforcer.patch
|
|
|
7f4c2a |
Patch0259: 0259-quota-don-t-log-error-when-disk-quota-exceeded.patch
|
|
|
7f4c2a |
Patch0260: 0260-posix-posix_make_ancestryfromgfid-shouldn-t-log-ENOE.patch
|
|
|
7f4c2a |
Patch0261: 0261-quota-validating-soft-limit-percentage.patch
|
|
|
7f4c2a |
Patch0262: 0262-quota-marker-set-log-level-to-debug-for-ESTALE-ENOEN.patch
|
|
|
7f4c2a |
Patch0263: 0263-quota-fix-parents-caching-during-build-ancestry.patch
|
|
|
7f4c2a |
Patch0264: 0264-posix-fix-mem-leak-in-posix-xattrop.patch
|
|
|
7f4c2a |
Patch0265: 0265-rpc-server-glusterd-Init-transport-list-for-accepted.patch
|
|
|
7f4c2a |
Patch0266: 0266-uss-Take-ref-on-root-inode.patch
|
|
|
7f4c2a |
Patch0267: 0267-glusterd-initialize-the-daemon-services-on-demand.patch
|
|
|
7f4c2a |
Patch0268: 0268-glusterd-Stop-restart-notify-to-daemons-svcs-during-.patch
|
|
|
7f4c2a |
Patch0269: 0269-snapview-client-Allocate-memory-using-GF_CALLOC.patch
|
|
|
7f4c2a |
Patch0270: 0270-rpc-add-owner-xlator-argument-to-rpc_clnt_new.patch
|
|
|
7f4c2a |
Patch0271: 0271-rebalance-glusterd-Refactor-rebalance-volfile.patch
|
|
|
7f4c2a |
Patch0272: 0272-glusterd-log-improvement-in-glusterd_peer_rpc_notify.patch
|
|
|
7f4c2a |
Patch0273: 0273-glusterd-rebalance-trusted-rebalance-volfile.patch
|
|
|
7f4c2a |
Patch0274: 0274-quota-checking-for-absolute-path-in-quota-command.patch
|
|
|
7f4c2a |
Patch0275: 0275-quota-volume-reset-shouldn-t-remove-quota-deem-statf.patch
|
|
|
7f4c2a |
Patch0276: 0276-libglusterfs-write-error-handling-when-filesystem-ha.patch
|
|
|
7f4c2a |
Patch0277: 0277-xml-output-Fix-non-uniform-opErrstr-xml-output.patch
|
|
|
7f4c2a |
Patch0278: 0278-Set-nfs.disable-to-on-when-global-NFS-Ganesha-key-is.patch
|
|
|
7f4c2a |
Patch0279: 0279-logging-Stop-using-global-xlator-for-log_buf-allocat.patch
|
|
|
7f4c2a |
Patch0280: 0280-quota-marker-fix-inode-quota-with-rename.patch
|
|
|
7f4c2a |
Patch0281: 0281-bitrot-glusterd-gluster-volume-set-command-for-bitro.patch
|
|
|
7f4c2a |
Patch0282: 0282-features-bit-rot-stub-handle-REOPEN_WAIT-on-forgotte.patch
|
|
|
7f4c2a |
Patch0283: 0283-features-bit-rot-stub-fail-the-fop-if-inode-context-.patch
|
|
|
7f4c2a |
Patch0284: 0284-bitrot-Scrubber-log-should-mark-bad-file-as-a-ALERT-.patch
|
|
|
7f4c2a |
Patch0285: 0285-protocol-server-use-different-dict-for-resolving.patch
|
|
|
7f4c2a |
Patch0286: 0286-tests-set-inode-lru-limit-to-1-and-check-if-bit-rot-.patch
|
|
|
7f4c2a |
Patch0287: 0287-protocol-server-forget-the-inodes-which-got-ENOENT-i.patch
|
|
|
7f4c2a |
Patch0288: 0288-afr-launch-index-heal-on-local-subvols-up-on-a-child.patch
|
|
|
7f4c2a |
Patch0289: 0289-snapshot-scheduler-Output-correction-of-initialisati.patch
|
|
|
7f4c2a |
Patch0290: 0290-snapshot-Log-deletion-of-snapshot-during-auto-delete.patch
|
|
|
7f4c2a |
Patch0291: 0291-snapshot-scheduler-Check-if-volume-exists-before-add.patch
|
|
|
7f4c2a |
Patch0292: 0292-dht-block-handle-create-op-falling-to-decommissioned.patch
|
|
|
7f4c2a |
Patch0293: 0293-cluster-dht-avoid-mknod-on-decommissioned-brick.patch
|
|
|
7f4c2a |
Patch0294: 0294-afr-modify-afr_txn_nothing_failed.patch
|
|
|
7f4c2a |
Patch0295: 0295-heal-Add-check-for-healing-directories-in-split-brai.patch
|
|
|
7f4c2a |
Patch0296: 0296-cluster-afr-Examine-data-metadata-readable-for-read-.patch
|
|
|
7f4c2a |
Patch0297: 0297-common-ha-concise-output-for-HA-status.patch
|
|
|
7f4c2a |
Patch0298: 0298-snapshot-Make-fops-static-for-correct-resolution-of-.patch
|
|
|
7f4c2a |
Patch0299: 0299-glusterd-stop-all-the-daemons-services-on-peer-detac.patch
|
|
|
7f4c2a |
Patch0300: 0300-glusterd-Don-t-allow-remove-brick-start-commit-if-gl.patch
|
|
|
7f4c2a |
Patch0301: 0301-libgfapi-Gracefully-exit-when-glfd-is-invalid.patch
|
|
|
7f4c2a |
Patch0302: 0302-snapshot-cleanup-snaps-during-unprobe.patch
|
|
|
7f4c2a |
Patch0303: 0303-libgfapi-adding-follow-flag-to-glfs_h_lookupat.patch
|
|
|
7f4c2a |
Patch0304: 0304-libgfapi-non-default-symbol-version-macros-are-incor.patch
|
|
|
7f4c2a |
Patch0305: 0305-tools-glusterfind-Do-not-show-session-corrupted-if-n.patch
|
|
|
7f4c2a |
Patch0306: 0306-tools-glusterfind-Prepend-prefix-in-case-of-delete.patch
|
|
|
7f4c2a |
Patch0307: 0307-tools-glusterfind-password-prompts-for-peer-nodes-on.patch
|
|
|
7f4c2a |
Patch0308: 0308-marker-fix-log-when-loc.parent-and-inode-gfid-is-NUL.patch
|
|
|
7f4c2a |
Patch0309: 0309-posix-xattrop-GF_XATTROP_GET_AND_SET-implementation.patch
|
|
|
7f4c2a |
Patch0310: 0310-cli-on-error-invoke-cli_cmd_broadcast_response-funct.patch
|
|
|
7f4c2a |
Patch0311: 0311-dht-lock-on-subvols-to-prevent-lookup-vs-rmdir-race.patch
|
|
|
7f4c2a |
Patch0312: 0312-glusterd-use-2-epoll-worker-threads-by-default.patch
|
|
|
7f4c2a |
Patch0313: 0313-glusterd-Re-enable-ping-timer-between-glusterds.patch
|
|
|
7f4c2a |
Patch0314: 0314-event-epoll-Use-pollers-to-check-if-event_pool_dispa.patch
|
|
|
7f4c2a |
Patch0315: 0315-ec-trusted.ec.version-xattr-of-all-root-directories-.patch
|
|
|
7f4c2a |
Patch0316: 0316-gluster-cli-snapshot-delete-all-does-not-work-with-x.patch
|
|
|
7f4c2a |
Patch0317: 0317-marker-preserve-previous-dirty-flag-during-update-tx.patch
|
|
|
7f4c2a |
Patch0318: 0318-cluster-ec-Fix-write-size-in-self-heal.patch
|
|
|
7f4c2a |
Patch0319: 0319-cluster-dht-Don-t-set-posix-acls-on-linkto-files.patch
|
|
|
7f4c2a |
Patch0320: 0320-dht-lock-on-all-subvols-to-prevent-rmdir-vs-lookup-s.patch
|
|
|
7f4c2a |
Patch0321: 0321-CommonHA-Fix-the-path-of-systemctl-cmd.patch
|
|
|
7f4c2a |
Patch0322: 0322-uss-handle-buf-variable-properly-in-svs_glfs_readdir.patch
|
|
|
7f4c2a |
Patch0323: 0323-features-snap-cleanup-the-root-loc-in-statfs.patch
|
|
|
7f4c2a |
Patch0324: 0324-dht-NULL-dereferencing-causes-crash.patch
|
|
|
7f4c2a |
Patch0325: 0325-dht-remove-brick-Avoid-data-loss-for-hard-link-migra.patch
|
|
|
7f4c2a |
Patch0326: 0326-firewall-spec-Create-glusterfs-firewall-service-if-f.patch
|
|
|
7f4c2a |
Patch0327: 0327-glusterd-disable-ping-timer-b-w-glusterd-and-make-ep.patch
|
|
|
7f4c2a |
Patch0328: 0328-dht-cluster-Avoid-crash-if-local-is-NULL.patch
|
|
|
7f4c2a |
Patch0329: 0329-afr-get-split-brain-status-in-a-synctask.patch
|
|
|
7f4c2a |
Patch0330: 0330-afr-perform-replace-brick-in-a-synctask.patch
|
|
|
7f4c2a |
Patch0331: 0331-dht-cluster-Avoid-double-unlock-in-dht_refresh_layou.patch
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package includes the glusterfs binary, the glusterfsd daemon and the
|
|
|
7f4c2a |
libglusterfs and glusterfs translator modules common to both GlusterFS server
|
|
|
7f4c2a |
and client framework.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package api
|
|
|
7f4c2a |
Summary: GlusterFS api library
|
|
|
7f4c2a |
Group: System Environment/Daemons
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-client-xlators = %{version}-%{release}
|
|
|
7f4c2a |
# we provide the Python package/namespace 'gluster'
|
|
|
7f4c2a |
#Provides: python-gluster = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description api
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the glusterfs libgfapi library.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package api-devel
|
|
|
7f4c2a |
Summary: Development Libraries
|
|
|
7f4c2a |
Group: Development/Libraries
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-devel = %{version}-%{release}
|
|
|
7f4c2a |
Requires: libacl-devel
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description api-devel
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the api include files.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package cli
|
|
|
7f4c2a |
Summary: GlusterFS CLI
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
Requires: %{name}-libs = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description cli
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the GlusterFS CLI application and its man page
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package devel
|
|
|
7f4c2a |
Summary: Development Libraries
|
|
|
7f4c2a |
Group: Development/Libraries
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
# Needed for the Glupy examples to work
|
|
|
7f4c2a |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
7f4c2a |
Requires: %{name}-extra-xlators = %{version}-%{release}
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description devel
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the development libraries and include files.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
7f4c2a |
%package extra-xlators
|
|
|
7f4c2a |
Summary: Extra Gluster filesystem Translators
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
# We need python-gluster rpm for gluster module's __init__.py in Python
|
|
|
7f4c2a |
# site-packages area
|
|
|
7f4c2a |
Requires: python-gluster = %{version}-%{release}
|
|
|
7f4c2a |
Requires: python python-ctypes
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description extra-xlators
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides extra filesystem Translators, such as Glupy,
|
|
|
7f4c2a |
for GlusterFS.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package fuse
|
|
|
7f4c2a |
Summary: Fuse client
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
BuildRequires: fuse-devel
|
|
|
7f4c2a |
Requires: attr
|
|
|
7f4c2a |
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-client-xlators = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
Obsoletes: %{name}-client < %{version}-%{release}
|
|
|
7f4c2a |
Provides: %{name}-client = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description fuse
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides support to FUSE based clients and inlcudes the
|
|
|
7f4c2a |
glusterfs(d) binary.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%package ganesha
|
|
|
7f4c2a |
Summary: NFS-Ganesha configuration
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
|
|
|
7f4c2a |
Requires: %{name}-server = %{version}-%{release}
|
|
|
7f4c2a |
Requires: nfs-ganesha-gluster
|
|
|
7f4c2a |
Requires: pcs
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description ganesha
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the configuration and related files for using
|
|
|
7f4c2a |
NFS-Ganesha as the NFS server using GlusterFS
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
%package geo-replication
|
|
|
7f4c2a |
Summary: GlusterFS Geo-replication
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-server = %{version}-%{release}
|
|
|
7f4c2a |
Requires: python python-ctypes
|
|
|
7f4c2a |
Requires: rsync
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description geo-replication
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
peta-bytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file system in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in userspace and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides support to geo-replication.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package libs
|
|
|
7f4c2a |
Summary: GlusterFS common libraries
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
%if ( 0%{!?_without_syslog:1} )
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
7f4c2a |
Requires: rsyslog-mmjsonparse
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
7f4c2a |
Requires: rsyslog-mmcount
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description libs
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the base GlusterFS libraries
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package -n python-gluster
|
|
|
7f4c2a |
Summary: GlusterFS python library
|
|
|
7f4c2a |
Group: Development/Tools
|
|
|
7f4c2a |
Requires: python
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description -n python-gluster
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package contains the python modules of GlusterFS and own gluster
|
|
|
7f4c2a |
namespace.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_rdma:1} )
|
|
|
7f4c2a |
%package rdma
|
|
|
7f4c2a |
Summary: GlusterFS rdma support for ib-verbs
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
BuildRequires: libibverbs-devel
|
|
|
7f4c2a |
BuildRequires: librdmacm-devel >= 1.0.15
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description rdma
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides support to ib-verbs library.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
7f4c2a |
%package regression-tests
|
|
|
7f4c2a |
Summary: Development Tools
|
|
|
7f4c2a |
Group: Development/Tools
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-fuse = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-server = %{version}-%{release}
|
|
|
7f4c2a |
## thin provisioning support
|
|
|
7f4c2a |
Requires: lvm2 >= 2.02.89
|
|
|
7f4c2a |
Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng
|
|
|
7f4c2a |
Requires: python attr dbench file git libacl-devel net-tools
|
|
|
7f4c2a |
Requires: nfs-utils xfsprogs yajl
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description regression-tests
|
|
|
7f4c2a |
The Gluster Test Framework, is a suite of scripts used for
|
|
|
7f4c2a |
regression testing of Gluster.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_ocf:1} )
|
|
|
7f4c2a |
%package resource-agents
|
|
|
7f4c2a |
Summary: OCF Resource Agents for GlusterFS
|
|
|
7f4c2a |
License: GPLv3+
|
|
|
7f4c2a |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) )
|
|
|
7f4c2a |
# EL5 does not support noarch sub-packages
|
|
|
7f4c2a |
BuildArch: noarch
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
# this Group handling comes from the Fedora resource-agents package
|
|
|
7f4c2a |
%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} )
|
|
|
7f4c2a |
Group: System Environment/Base
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
Group: Productivity/Clustering/HA
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
# for glusterd
|
|
|
7f4c2a |
Requires: %{name}-server
|
|
|
7f4c2a |
# depending on the distribution, we need pacemaker or resource-agents
|
|
|
7f4c2a |
Requires: %{_prefix}/lib/ocf/resource.d
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description resource-agents
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the resource agents which plug glusterd into
|
|
|
7f4c2a |
Open Cluster Framework (OCF) compliant cluster resource managers,
|
|
|
7f4c2a |
like Pacemaker.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%package server
|
|
|
7f4c2a |
Summary: Clustered file-system server
|
|
|
7f4c2a |
Group: System Environment/Daemons
|
|
|
7f4c2a |
Requires: %{name} = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-libs = %{version}-%{release}
|
|
|
7f4c2a |
Requires: %{name}-cli = %{version}-%{release}
|
|
|
7f4c2a |
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
|
|
|
7f4c2a |
Requires: %{name}-fuse = %{version}-%{release}
|
|
|
7f4c2a |
# self-heal daemon, rebalance, nfs-server etc. are actually clients
|
|
|
7f4c2a |
Requires: %{name}-client-xlators = %{version}-%{release}
|
|
|
7f4c2a |
# psmisc for killall, lvm2 for snapshot, and nfs-utils and
|
|
|
7f4c2a |
# rpcbind/portmap for gnfs server
|
|
|
7f4c2a |
Requires: psmisc
|
|
|
7f4c2a |
Requires: lvm2
|
|
|
7f4c2a |
Requires: nfs-utils
|
|
|
7f4c2a |
%if ( 0%{?_with_systemd:1} )
|
|
|
7f4c2a |
Requires(post): systemd-units
|
|
|
7f4c2a |
Requires(preun): systemd-units
|
|
|
7f4c2a |
Requires(postun): systemd-units
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
Requires(post): /sbin/chkconfig
|
|
|
7f4c2a |
Requires(preun): /sbin/service
|
|
|
7f4c2a |
Requires(preun): /sbin/chkconfig
|
|
|
7f4c2a |
Requires(postun): /sbin/service
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
Requires: rpcbind
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
Requires: portmap
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
Obsoletes: %{name}-geo-replication = %{version}-%{release}
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
7f4c2a |
Requires: python-argparse
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
Requires: pyxattr
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description server
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the glusterfs server daemon.
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%package client-xlators
|
|
|
7f4c2a |
Summary: GlusterFS client-side translators
|
|
|
7f4c2a |
Group: Applications/File
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%description client-xlators
|
|
|
7f4c2a |
GlusterFS is a distributed file-system capable of scaling to several
|
|
|
7f4c2a |
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
|
|
7f4c2a |
or TCP/IP interconnect into one large parallel network file
|
|
|
7f4c2a |
system. GlusterFS is one of the most sophisticated file systems in
|
|
|
7f4c2a |
terms of features and extensibility. It borrows a powerful concept
|
|
|
7f4c2a |
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
|
|
7f4c2a |
is in user space and easily manageable.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
This package provides the translators needed on any GlusterFS client.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%prep
|
|
|
7f4c2a |
%setup -q -n %{name}-%{version}%{?prereltag}
|
|
|
7f4c2a |
# %patch0001 -p1
|
|
|
7f4c2a |
%patch0002 -p1
|
|
|
7f4c2a |
%patch0003 -p1
|
|
|
7f4c2a |
%patch0004 -p1
|
|
|
7f4c2a |
%patch0005 -p1
|
|
|
7f4c2a |
%patch0006 -p1
|
|
|
7f4c2a |
%patch0007 -p1
|
|
|
7f4c2a |
%patch0008 -p1
|
|
|
7f4c2a |
%patch0009 -p1
|
|
|
7f4c2a |
%patch0010 -p1
|
|
|
7f4c2a |
%patch0011 -p1
|
|
|
7f4c2a |
%patch0012 -p1
|
|
|
7f4c2a |
%patch0013 -p1
|
|
|
7f4c2a |
%patch0014 -p1
|
|
|
7f4c2a |
%patch0015 -p1
|
|
|
7f4c2a |
%patch0016 -p1
|
|
|
7f4c2a |
%patch0017 -p1
|
|
|
7f4c2a |
%patch0018 -p1
|
|
|
7f4c2a |
%patch0019 -p1
|
|
|
7f4c2a |
%patch0020 -p1
|
|
|
7f4c2a |
%patch0021 -p1
|
|
|
7f4c2a |
%patch0022 -p1
|
|
|
7f4c2a |
%patch0023 -p1
|
|
|
7f4c2a |
%patch0024 -p1
|
|
|
7f4c2a |
%patch0025 -p1
|
|
|
7f4c2a |
%patch0026 -p1
|
|
|
7f4c2a |
%patch0027 -p1
|
|
|
7f4c2a |
%patch0028 -p1
|
|
|
7f4c2a |
%patch0029 -p1
|
|
|
7f4c2a |
%patch0030 -p1
|
|
|
7f4c2a |
%patch0031 -p1
|
|
|
7f4c2a |
%patch0032 -p1
|
|
|
7f4c2a |
%patch0033 -p1
|
|
|
7f4c2a |
%patch0034 -p1
|
|
|
7f4c2a |
%patch0035 -p1
|
|
|
7f4c2a |
%patch0036 -p1
|
|
|
7f4c2a |
%patch0037 -p1
|
|
|
7f4c2a |
%patch0038 -p1
|
|
|
7f4c2a |
%patch0039 -p1
|
|
|
7f4c2a |
%patch0040 -p1
|
|
|
7f4c2a |
%patch0041 -p1
|
|
|
7f4c2a |
%patch0042 -p1
|
|
|
7f4c2a |
%patch0043 -p1
|
|
|
7f4c2a |
%patch0044 -p1
|
|
|
7f4c2a |
%patch0045 -p1
|
|
|
7f4c2a |
%patch0046 -p1
|
|
|
7f4c2a |
%patch0047 -p1
|
|
|
7f4c2a |
%patch0048 -p1
|
|
|
7f4c2a |
%patch0049 -p1
|
|
|
7f4c2a |
%patch0050 -p1
|
|
|
7f4c2a |
%patch0051 -p1
|
|
|
7f4c2a |
%patch0052 -p1
|
|
|
7f4c2a |
%patch0053 -p1
|
|
|
7f4c2a |
%patch0054 -p1
|
|
|
7f4c2a |
%patch0055 -p1
|
|
|
7f4c2a |
%patch0056 -p1
|
|
|
7f4c2a |
%patch0057 -p1
|
|
|
7f4c2a |
%patch0058 -p1
|
|
|
7f4c2a |
%patch0059 -p1
|
|
|
7f4c2a |
%patch0060 -p1
|
|
|
7f4c2a |
%patch0061 -p1
|
|
|
7f4c2a |
%patch0062 -p1
|
|
|
7f4c2a |
%patch0063 -p1
|
|
|
7f4c2a |
%patch0064 -p1
|
|
|
7f4c2a |
%patch0065 -p1
|
|
|
7f4c2a |
%patch0066 -p1
|
|
|
7f4c2a |
%patch0067 -p1
|
|
|
7f4c2a |
%patch0068 -p1
|
|
|
7f4c2a |
%patch0069 -p1
|
|
|
7f4c2a |
%patch0070 -p1
|
|
|
7f4c2a |
%patch0071 -p1
|
|
|
7f4c2a |
%patch0072 -p1
|
|
|
7f4c2a |
%patch0073 -p1
|
|
|
7f4c2a |
%patch0074 -p1
|
|
|
7f4c2a |
%patch0075 -p1
|
|
|
7f4c2a |
%patch0076 -p1
|
|
|
7f4c2a |
%patch0077 -p1
|
|
|
7f4c2a |
%patch0078 -p1
|
|
|
7f4c2a |
%patch0079 -p1
|
|
|
7f4c2a |
%patch0080 -p1
|
|
|
7f4c2a |
%patch0081 -p1
|
|
|
7f4c2a |
%patch0082 -p1
|
|
|
7f4c2a |
%patch0083 -p1
|
|
|
7f4c2a |
%patch0084 -p1
|
|
|
7f4c2a |
%patch0085 -p1
|
|
|
7f4c2a |
%patch0086 -p1
|
|
|
7f4c2a |
%patch0087 -p1
|
|
|
7f4c2a |
%patch0088 -p1
|
|
|
7f4c2a |
%patch0089 -p1
|
|
|
7f4c2a |
%patch0090 -p1
|
|
|
7f4c2a |
%patch0091 -p1
|
|
|
7f4c2a |
%patch0092 -p1
|
|
|
7f4c2a |
%patch0093 -p1
|
|
|
7f4c2a |
%patch0094 -p1
|
|
|
7f4c2a |
%patch0095 -p1
|
|
|
7f4c2a |
%patch0096 -p1
|
|
|
7f4c2a |
%patch0097 -p1
|
|
|
7f4c2a |
%patch0098 -p1
|
|
|
7f4c2a |
%patch0099 -p1
|
|
|
7f4c2a |
%patch0100 -p1
|
|
|
7f4c2a |
%patch0101 -p1
|
|
|
7f4c2a |
%patch0102 -p1
|
|
|
7f4c2a |
%patch0103 -p1
|
|
|
7f4c2a |
%patch0104 -p1
|
|
|
7f4c2a |
%patch0105 -p1
|
|
|
7f4c2a |
%patch0106 -p1
|
|
|
7f4c2a |
%patch0107 -p1
|
|
|
7f4c2a |
%patch0108 -p1
|
|
|
7f4c2a |
%patch0109 -p1
|
|
|
7f4c2a |
%patch0110 -p1
|
|
|
7f4c2a |
%patch0111 -p1
|
|
|
7f4c2a |
%patch0112 -p1
|
|
|
7f4c2a |
%patch0113 -p1
|
|
|
7f4c2a |
%patch0114 -p1
|
|
|
7f4c2a |
%patch0115 -p1
|
|
|
7f4c2a |
%patch0116 -p1
|
|
|
7f4c2a |
%patch0117 -p1
|
|
|
7f4c2a |
%patch0118 -p1
|
|
|
7f4c2a |
%patch0119 -p1
|
|
|
7f4c2a |
%patch0120 -p1
|
|
|
7f4c2a |
%patch0121 -p1
|
|
|
7f4c2a |
%patch0122 -p1
|
|
|
7f4c2a |
%patch0123 -p1
|
|
|
7f4c2a |
%patch0124 -p1
|
|
|
7f4c2a |
%patch0125 -p1
|
|
|
7f4c2a |
%patch0126 -p1
|
|
|
7f4c2a |
%patch0127 -p1
|
|
|
7f4c2a |
%patch0128 -p1
|
|
|
7f4c2a |
%patch0129 -p1
|
|
|
7f4c2a |
%patch0130 -p1
|
|
|
7f4c2a |
%patch0131 -p1
|
|
|
7f4c2a |
%patch0132 -p1
|
|
|
7f4c2a |
%patch0133 -p1
|
|
|
7f4c2a |
%patch0134 -p1
|
|
|
7f4c2a |
%patch0135 -p1
|
|
|
7f4c2a |
%patch0136 -p1
|
|
|
7f4c2a |
%patch0137 -p1
|
|
|
7f4c2a |
%patch0138 -p1
|
|
|
7f4c2a |
%patch0139 -p1
|
|
|
7f4c2a |
%patch0140 -p1
|
|
|
7f4c2a |
%patch0141 -p1
|
|
|
7f4c2a |
%patch0142 -p1
|
|
|
7f4c2a |
%patch0143 -p1
|
|
|
7f4c2a |
%patch0144 -p1
|
|
|
7f4c2a |
%patch0145 -p1
|
|
|
7f4c2a |
%patch0146 -p1
|
|
|
7f4c2a |
%patch0147 -p1
|
|
|
7f4c2a |
%patch0148 -p1
|
|
|
7f4c2a |
%patch0149 -p1
|
|
|
7f4c2a |
%patch0150 -p1
|
|
|
7f4c2a |
%patch0151 -p1
|
|
|
7f4c2a |
%patch0152 -p1
|
|
|
7f4c2a |
%patch0153 -p1
|
|
|
7f4c2a |
%patch0154 -p1
|
|
|
7f4c2a |
%patch0155 -p1
|
|
|
7f4c2a |
%patch0156 -p1
|
|
|
7f4c2a |
%patch0157 -p1
|
|
|
7f4c2a |
%patch0158 -p1
|
|
|
7f4c2a |
%patch0159 -p1
|
|
|
7f4c2a |
%patch0160 -p1
|
|
|
7f4c2a |
%patch0161 -p1
|
|
|
7f4c2a |
%patch0162 -p1
|
|
|
7f4c2a |
%patch0163 -p1
|
|
|
7f4c2a |
%patch0164 -p1
|
|
|
7f4c2a |
%patch0165 -p1
|
|
|
7f4c2a |
%patch0166 -p1
|
|
|
7f4c2a |
%patch0167 -p1
|
|
|
7f4c2a |
%patch0168 -p1
|
|
|
7f4c2a |
%patch0169 -p1
|
|
|
7f4c2a |
%patch0170 -p1
|
|
|
7f4c2a |
%patch0171 -p1
|
|
|
7f4c2a |
%patch0172 -p1
|
|
|
7f4c2a |
%patch0173 -p1
|
|
|
7f4c2a |
%patch0174 -p1
|
|
|
7f4c2a |
%patch0175 -p1
|
|
|
7f4c2a |
%patch0176 -p1
|
|
|
7f4c2a |
%patch0177 -p1
|
|
|
7f4c2a |
%patch0178 -p1
|
|
|
7f4c2a |
%patch0179 -p1
|
|
|
7f4c2a |
%patch0180 -p1
|
|
|
7f4c2a |
%patch0181 -p1
|
|
|
7f4c2a |
%patch0182 -p1
|
|
|
7f4c2a |
%patch0183 -p1
|
|
|
7f4c2a |
%patch0184 -p1
|
|
|
7f4c2a |
%patch0185 -p1
|
|
|
7f4c2a |
%patch0186 -p1
|
|
|
7f4c2a |
%patch0187 -p1
|
|
|
7f4c2a |
%patch0188 -p1
|
|
|
7f4c2a |
%patch0189 -p1
|
|
|
7f4c2a |
%patch0190 -p1
|
|
|
7f4c2a |
%patch0191 -p1
|
|
|
7f4c2a |
%patch0192 -p1
|
|
|
7f4c2a |
%patch0193 -p1
|
|
|
7f4c2a |
%patch0194 -p1
|
|
|
7f4c2a |
%patch0195 -p1
|
|
|
7f4c2a |
%patch0196 -p1
|
|
|
7f4c2a |
%patch0197 -p1
|
|
|
7f4c2a |
%patch0198 -p1
|
|
|
7f4c2a |
%patch0199 -p1
|
|
|
7f4c2a |
%patch0200 -p1
|
|
|
7f4c2a |
%patch0201 -p1
|
|
|
7f4c2a |
%patch0202 -p1
|
|
|
7f4c2a |
%patch0203 -p1
|
|
|
7f4c2a |
%patch0204 -p1
|
|
|
7f4c2a |
%patch0205 -p1
|
|
|
7f4c2a |
%patch0206 -p1
|
|
|
7f4c2a |
%patch0207 -p1
|
|
|
7f4c2a |
%patch0208 -p1
|
|
|
7f4c2a |
%patch0209 -p1
|
|
|
7f4c2a |
%patch0210 -p1
|
|
|
7f4c2a |
%patch0211 -p1
|
|
|
7f4c2a |
%patch0212 -p1
|
|
|
7f4c2a |
%patch0213 -p1
|
|
|
7f4c2a |
%patch0214 -p1
|
|
|
7f4c2a |
%patch0215 -p1
|
|
|
7f4c2a |
%patch0216 -p1
|
|
|
7f4c2a |
%patch0217 -p1
|
|
|
7f4c2a |
%patch0218 -p1
|
|
|
7f4c2a |
%patch0219 -p1
|
|
|
7f4c2a |
%patch0220 -p1
|
|
|
7f4c2a |
%patch0221 -p1
|
|
|
7f4c2a |
%patch0222 -p1
|
|
|
7f4c2a |
%patch0223 -p1
|
|
|
7f4c2a |
%patch0224 -p1
|
|
|
7f4c2a |
%patch0225 -p1
|
|
|
7f4c2a |
%patch0226 -p1
|
|
|
7f4c2a |
%patch0227 -p1
|
|
|
7f4c2a |
%patch0228 -p1
|
|
|
7f4c2a |
%patch0229 -p1
|
|
|
7f4c2a |
%patch0230 -p1
|
|
|
7f4c2a |
%patch0231 -p1
|
|
|
7f4c2a |
%patch0232 -p1
|
|
|
7f4c2a |
%patch0233 -p1
|
|
|
7f4c2a |
%patch0234 -p1
|
|
|
7f4c2a |
%patch0235 -p1
|
|
|
7f4c2a |
%patch0236 -p1
|
|
|
7f4c2a |
%patch0237 -p1
|
|
|
7f4c2a |
%patch0238 -p1
|
|
|
7f4c2a |
%patch0239 -p1
|
|
|
7f4c2a |
%patch0240 -p1
|
|
|
7f4c2a |
%patch0241 -p1
|
|
|
7f4c2a |
%patch0242 -p1
|
|
|
7f4c2a |
%patch0243 -p1
|
|
|
7f4c2a |
%patch0244 -p1
|
|
|
7f4c2a |
%patch0245 -p1
|
|
|
7f4c2a |
%patch0246 -p1
|
|
|
7f4c2a |
%patch0247 -p1
|
|
|
7f4c2a |
%patch0248 -p1
|
|
|
7f4c2a |
%patch0249 -p1
|
|
|
7f4c2a |
%patch0250 -p1
|
|
|
7f4c2a |
%patch0251 -p1
|
|
|
7f4c2a |
%patch0252 -p1
|
|
|
7f4c2a |
%patch0253 -p1
|
|
|
7f4c2a |
%patch0254 -p1
|
|
|
7f4c2a |
%patch0255 -p1
|
|
|
7f4c2a |
%patch0256 -p1
|
|
|
7f4c2a |
%patch0257 -p1
|
|
|
7f4c2a |
%patch0258 -p1
|
|
|
7f4c2a |
%patch0259 -p1
|
|
|
7f4c2a |
%patch0260 -p1
|
|
|
7f4c2a |
%patch0261 -p1
|
|
|
7f4c2a |
%patch0262 -p1
|
|
|
7f4c2a |
%patch0263 -p1
|
|
|
7f4c2a |
%patch0264 -p1
|
|
|
7f4c2a |
%patch0265 -p1
|
|
|
7f4c2a |
%patch0266 -p1
|
|
|
7f4c2a |
%patch0267 -p1
|
|
|
7f4c2a |
%patch0268 -p1
|
|
|
7f4c2a |
%patch0269 -p1
|
|
|
7f4c2a |
%patch0270 -p1
|
|
|
7f4c2a |
%patch0271 -p1
|
|
|
7f4c2a |
%patch0272 -p1
|
|
|
7f4c2a |
%patch0273 -p1
|
|
|
7f4c2a |
%patch0274 -p1
|
|
|
7f4c2a |
%patch0275 -p1
|
|
|
7f4c2a |
%patch0276 -p1
|
|
|
7f4c2a |
%patch0277 -p1
|
|
|
7f4c2a |
%patch0278 -p1
|
|
|
7f4c2a |
%patch0279 -p1
|
|
|
7f4c2a |
%patch0280 -p1
|
|
|
7f4c2a |
%patch0281 -p1
|
|
|
7f4c2a |
%patch0282 -p1
|
|
|
7f4c2a |
%patch0283 -p1
|
|
|
7f4c2a |
%patch0284 -p1
|
|
|
7f4c2a |
%patch0285 -p1
|
|
|
7f4c2a |
%patch0286 -p1
|
|
|
7f4c2a |
%patch0287 -p1
|
|
|
7f4c2a |
%patch0288 -p1
|
|
|
7f4c2a |
%patch0289 -p1
|
|
|
7f4c2a |
%patch0290 -p1
|
|
|
7f4c2a |
%patch0291 -p1
|
|
|
7f4c2a |
%patch0292 -p1
|
|
|
7f4c2a |
%patch0293 -p1
|
|
|
7f4c2a |
%patch0294 -p1
|
|
|
7f4c2a |
%patch0295 -p1
|
|
|
7f4c2a |
%patch0296 -p1
|
|
|
7f4c2a |
%patch0297 -p1
|
|
|
7f4c2a |
%patch0298 -p1
|
|
|
7f4c2a |
%patch0299 -p1
|
|
|
7f4c2a |
%patch0300 -p1
|
|
|
7f4c2a |
%patch0301 -p1
|
|
|
7f4c2a |
%patch0302 -p1
|
|
|
7f4c2a |
%patch0303 -p1
|
|
|
7f4c2a |
%patch0304 -p1
|
|
|
7f4c2a |
%patch0305 -p1
|
|
|
7f4c2a |
%patch0306 -p1
|
|
|
7f4c2a |
%patch0307 -p1
|
|
|
7f4c2a |
%patch0308 -p1
|
|
|
7f4c2a |
%patch0309 -p1
|
|
|
7f4c2a |
%patch0310 -p1
|
|
|
7f4c2a |
%patch0311 -p1
|
|
|
7f4c2a |
%patch0312 -p1
|
|
|
7f4c2a |
%patch0313 -p1
|
|
|
7f4c2a |
%patch0314 -p1
|
|
|
7f4c2a |
%patch0315 -p1
|
|
|
7f4c2a |
%patch0316 -p1
|
|
|
7f4c2a |
%patch0317 -p1
|
|
|
7f4c2a |
%patch0318 -p1
|
|
|
7f4c2a |
%patch0319 -p1
|
|
|
7f4c2a |
%patch0320 -p1
|
|
|
7f4c2a |
%patch0321 -p1
|
|
|
7f4c2a |
%patch0322 -p1
|
|
|
7f4c2a |
%patch0323 -p1
|
|
|
7f4c2a |
%patch0324 -p1
|
|
|
7f4c2a |
%patch0325 -p1
|
|
|
7f4c2a |
%patch0326 -p1
|
|
|
7f4c2a |
%patch0327 -p1
|
|
|
7f4c2a |
%patch0328 -p1
|
|
|
7f4c2a |
%patch0329 -p1
|
|
|
7f4c2a |
%patch0330 -p1
|
|
|
7f4c2a |
%patch0331 -p1
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%build
|
|
|
7f4c2a |
# In RHEL7 few hardening flags are available by default, however the RELRO
|
|
|
7f4c2a |
# default behaviour is partial, convert to full
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
7f4c2a |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
7f4c2a |
export LDFLAGS
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
7f4c2a |
CFLAGS="$RPM_OPT_FLAGS -fPIE -DPIE"
|
|
|
7f4c2a |
LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro,-z,now"
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
#It appears that with gcc-4.1.2 in RHEL5 there is an issue using both -fPIC and
|
|
|
7f4c2a |
# -fPIE that makes -z relro not work; -fPIE seems to undo what -fPIC does
|
|
|
7f4c2a |
CFLAGS="$RPM_OPT_FLAGS"
|
|
|
7f4c2a |
LDFLAGS="$RPM_LD_FLAGS -Wl,-z,relro,-z,now"
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
export CFLAGS
|
|
|
7f4c2a |
export LDFLAGS
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
./autogen.sh && %configure \
|
|
|
7f4c2a |
%{?_with_cmocka} \
|
|
|
7f4c2a |
%{?_with_tmpfilesdir} \
|
|
|
7f4c2a |
%{?_without_bd} \
|
|
|
7f4c2a |
%{?_without_epoll} \
|
|
|
7f4c2a |
%{?_without_fusermount} \
|
|
|
7f4c2a |
%{?_without_georeplication} \
|
|
|
7f4c2a |
%{?_with_firewalld} \
|
|
|
7f4c2a |
%{?_without_ocf} \
|
|
|
7f4c2a |
%{?_without_qemu_block} \
|
|
|
7f4c2a |
%{?_without_rdma} \
|
|
|
7f4c2a |
%{?_without_syslog} \
|
|
|
7f4c2a |
%{?_without_systemtap} \
|
|
|
7f4c2a |
%{?_without_tiering}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# fix hardening and remove rpath in shlibs
|
|
|
7f4c2a |
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
7f4c2a |
sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
|
|
|
7f4c2a |
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
|
|
|
7f4c2a |
|
|
|
7f4c2a |
make %{?_smp_mflags}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Build Glupy
|
|
|
7f4c2a |
pushd xlators/features/glupy/src
|
|
|
7f4c2a |
FLAGS="$RPM_OPT_FLAGS" python setup.py build
|
|
|
7f4c2a |
popd
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%check
|
|
|
7f4c2a |
make check
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%install
|
|
|
7f4c2a |
rm -rf %{buildroot}
|
|
|
7f4c2a |
make install DESTDIR=%{buildroot}
|
|
|
7f4c2a |
# install the Glupy Python library in /usr/lib/python*/site-packages
|
|
|
7f4c2a |
pushd xlators/features/glupy/src
|
|
|
7f4c2a |
python setup.py install --skip-build --verbose --root %{buildroot}
|
|
|
7f4c2a |
popd
|
|
|
7f4c2a |
# Install include directory
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_includedir}/glusterfs
|
|
|
7f4c2a |
install -p -m 0644 libglusterfs/src/*.h \
|
|
|
7f4c2a |
%{buildroot}%{_includedir}/glusterfs/
|
|
|
7f4c2a |
install -p -m 0644 contrib/uuid/*.h \
|
|
|
7f4c2a |
%{buildroot}%{_includedir}/glusterfs/
|
|
|
7f4c2a |
# Following needed by hekafs multi-tenant translator
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_includedir}/glusterfs/rpc
|
|
|
7f4c2a |
install -p -m 0644 rpc/rpc-lib/src/*.h \
|
|
|
7f4c2a |
%{buildroot}%{_includedir}/glusterfs/rpc/
|
|
|
7f4c2a |
install -p -m 0644 rpc/xdr/src/*.h \
|
|
|
7f4c2a |
%{buildroot}%{_includedir}/glusterfs/rpc/
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_includedir}/glusterfs/server
|
|
|
7f4c2a |
install -p -m 0644 xlators/protocol/server/src/*.h \
|
|
|
7f4c2a |
%{buildroot}%{_includedir}/glusterfs/server/
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
install -D -p -m 0644 %{SOURCE1} \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
7f4c2a |
install -D -p -m 0644 %{SOURCE2} \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
install -D -p -m 0644 extras/glusterd-sysconfig \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
7f4c2a |
install -D -p -m 0755 %{SOURCE6} \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_localstatedir}/run/gluster
|
|
|
7f4c2a |
touch %{buildroot}%{python_sitelib}/gluster/__init__.py
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Remove unwanted files from all the shared libraries
|
|
|
7f4c2a |
find %{buildroot}%{_libdir} -name '*.a' -delete
|
|
|
7f4c2a |
find %{buildroot}%{_libdir} -name '*.la' -delete
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Remove installed docs, the ones we want are included by %%doc, in
|
|
|
7f4c2a |
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
|
|
|
7f4c2a |
# on the distribution
|
|
|
7f4c2a |
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
7f4c2a |
rm -rf %{buildroot}%{_pkgdocdir}/*
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_pkgdocdir}
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog
|
|
|
7f4c2a |
cat << EOM >> ChangeLog
|
|
|
7f4c2a |
|
|
|
7f4c2a |
More commit messages for this ChangeLog can be found at
|
|
|
7f4c2a |
https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prereltag}
|
|
|
7f4c2a |
EOM
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Remove benchmarking and other unpackaged files
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
|
|
|
7f4c2a |
rm -rf %{buildroot}/benchmarking
|
|
|
7f4c2a |
rm -f %{buildroot}/glusterfs-mode.el
|
|
|
7f4c2a |
rm -f %{buildroot}/glusterfs.vim
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
# make install always puts these in %%{_defaultdocdir}/%%{name} so don't
|
|
|
7f4c2a |
# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions
|
|
|
7f4c2a |
rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking
|
|
|
7f4c2a |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el
|
|
|
7f4c2a |
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Create working directory
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Update configuration file to /var/lib working directory
|
|
|
7f4c2a |
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Install glusterfsd .service or init.d file
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%_init_install %{glusterfsd_service} glusterfsd
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
install -D -p -m 0644 extras/glusterfs-logrotate \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
|
|
|
7f4c2a |
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
7f4c2a |
install -D -p -m 0644 extras/glusterfs-georep-logrotate \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_syslog:1} )
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
7f4c2a |
install -D -p -m 0644 extras/gluster-rsyslog-7.2.conf \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
|
|
|
7f4c2a |
install -D -p -m 0644 extras/gluster-rsyslog-5.8.conf \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
install -D -p -m 0644 extras/logger.conf.example \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/glusterfs/logger.conf.example
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
|
|
|
7f4c2a |
touch %{buildroot}%{_sharedstatedir}/glusterd/options
|
|
|
7f4c2a |
subdirs=("add-brick" "create" "copy-file" "delete" "gsync-create" "remove-brick" "reset" "set" "start" "stop")
|
|
|
7f4c2a |
for dir in ${subdirs[@]}
|
|
|
7f4c2a |
do
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
|
|
|
7f4c2a |
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
|
|
|
7f4c2a |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
7f4c2a |
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/start/post/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/set/post/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/add-brick/post/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/add-brick/pre/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
|
7f4c2a |
%{__install} -p -m 0744 extras/hook-scripts/reset/post/*.sh \
|
|
|
7f4c2a |
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/reset/post
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
|
|
|
7f4c2a |
|
|
|
7f4c2a |
## Install bash completion for cli
|
|
|
7f4c2a |
install -p -m 0744 -D extras/command-completion/gluster.bash \
|
|
|
7f4c2a |
%{buildroot}%{_sysconfdir}/bash_completion.d/gluster
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%clean
|
|
|
7f4c2a |
rm -rf %{buildroot}
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All %post should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
%post
|
|
|
7f4c2a |
%if ( 0%{!?_without_syslog:1} )
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
%_init_restart rsyslog
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%post api
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%post fuse
|
|
|
7f4c2a |
%if ( 0%{?rhel} == 5 )
|
|
|
7f4c2a |
modprobe fuse
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
%post geo-replication
|
|
|
7f4c2a |
#restart glusterd.
|
|
|
7f4c2a |
if [ $1 -ge 1 ]; then
|
|
|
7f4c2a |
%_init_restart glusterd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%post libs
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%post server
|
|
|
7f4c2a |
# Legacy server
|
|
|
7f4c2a |
%_init_enable glusterd
|
|
|
7f4c2a |
# fix bz#1110715
|
|
|
7f4c2a |
if [ -f %_init_glusterfsd ]; then
|
|
|
7f4c2a |
%_init_enable glusterfsd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
|
|
|
7f4c2a |
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
|
|
|
7f4c2a |
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
|
|
|
7f4c2a |
# "cmd_history.log" to retain cli command history contents.
|
|
|
7f4c2a |
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
|
|
|
7f4c2a |
mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
|
|
|
7f4c2a |
%{_localstatedir}/log/glusterfs/cmd_history.log
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
|
|
|
7f4c2a |
# there are any files in /etc from a prior gluster.org install, move them
|
|
|
7f4c2a |
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
|
|
|
7f4c2a |
# in gluster.org RPMs.) Be careful to copy them on the off chance that
|
|
|
7f4c2a |
# /etc and /var/lib are on separate file systems
|
|
|
7f4c2a |
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
|
|
|
7f4c2a |
mkdir -p %{_sharedstatedir}/glusterd
|
|
|
7f4c2a |
cp -a /etc/glusterd %{_sharedstatedir}/glusterd
|
|
|
7f4c2a |
rm -rf /etc/glusterd
|
|
|
7f4c2a |
ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Rename old volfiles in an RPM-standard way. These aren't actually
|
|
|
7f4c2a |
# considered package config files, so %%config doesn't work for them.
|
|
|
7f4c2a |
if [ -d %{_sharedstatedir}/glusterd/vols ]; then
|
|
|
7f4c2a |
for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
|
|
|
7f4c2a |
newfile=${file}.rpmsave
|
|
|
7f4c2a |
echo "warning: ${file} saved as ${newfile}"
|
|
|
7f4c2a |
cp ${file} ${newfile}
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# add marker translator
|
|
|
7f4c2a |
# but first make certain that there are no old libs around to bite us
|
|
|
7f4c2a |
# BZ 834847
|
|
|
7f4c2a |
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
|
|
|
7f4c2a |
rm -f /etc/ld.so.conf.d/glusterfs.conf
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if (0%{?_with_firewalld:1})
|
|
|
7f4c2a |
#reload service files if firewalld running
|
|
|
7f4c2a |
if $(systemctl is-active firewalld 1>/dev/null 2>&1;; then
|
|
|
7f4c2a |
#firewalld-filesystem is not available for rhel7, so command used for reload.
|
|
|
7f4c2a |
firewall-cmd --reload
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterd &> /dev/null
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
kill -9 `pgrep -f gsyncd.py` &> /dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
killall --wait glusterd &> /dev/null
|
|
|
7f4c2a |
glusterd --xlator-option *.upgrade=on -N
|
|
|
7f4c2a |
|
|
|
7f4c2a |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
7f4c2a |
#rpm_script_t context.
|
|
|
7f4c2a |
rm -rf /var/run/glusterd.socket
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# glusterd _was_ running, we killed it, it exited after *.upgrade=on,
|
|
|
7f4c2a |
# so start it again
|
|
|
7f4c2a |
%_init_start glusterd
|
|
|
7f4c2a |
else
|
|
|
7f4c2a |
glusterd --xlator-option *.upgrade=on -N
|
|
|
7f4c2a |
|
|
|
7f4c2a |
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
7f4c2a |
#rpm_script_t context.
|
|
|
7f4c2a |
rm -rf /var/run/glusterd.socket
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All %preun should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%preun server
|
|
|
7f4c2a |
if [ $1 -eq 0 ]; then
|
|
|
7f4c2a |
if [ -f %_init_glusterfsd ]; then
|
|
|
7f4c2a |
%_init_stop glusterfsd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%_init_stop glusterd
|
|
|
7f4c2a |
if [ -f %_init_glusterfsd ]; then
|
|
|
7f4c2a |
%_init_disable glusterfsd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%_init_disable glusterd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
if [ $1 -ge 1 ]; then
|
|
|
7f4c2a |
if [ -f %_init_glusterfsd ]; then
|
|
|
7f4c2a |
%_init_restart glusterfsd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%_init_restart glusterd
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All %postun should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
%postun
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
%if ( 0%{!?_without_syslog:1} )
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
%_init_restart rsyslog
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%postun api
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%postun server
|
|
|
7f4c2a |
%if (0%{?_with_firewalld:1})
|
|
|
7f4c2a |
#reload service files if firewalld running
|
|
|
7f4c2a |
if $(systemctl is-active firewalld 1>/dev/null 2>&1;; then
|
|
|
7f4c2a |
firewall-cmd --reload
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%postun libs
|
|
|
7f4c2a |
/sbin/ldconfig
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All files should be placed here and keep them grouped
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
%files
|
|
|
7f4c2a |
# exclude extra-xlators files
|
|
|
7f4c2a |
%if ( ! 0%{!?_without_extra_xlators:1} )
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_client.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_dht.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_server.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so
|
|
|
7f4c2a |
%exclude %{python_sitelib}/*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
# exclude regression-tests files
|
|
|
7f4c2a |
%if ( ! 0%{!?_without_regression_tests:1} )
|
|
|
7f4c2a |
%exclude %{_prefix}/share/glusterfs/run-tests.sh
|
|
|
7f4c2a |
%exclude %{_prefix}/share/glusterfs/tests/*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( ! 0%{?_build_server} )
|
|
|
7f4c2a |
# exclude ganesha files
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/ganesha/*
|
|
|
7f4c2a |
%exclude %{_libexecdir}/ganesha/*
|
|
|
7f4c2a |
%exclude %{_prefix}/lib/ocf/*
|
|
|
7f4c2a |
# exclude incrementalapi
|
|
|
7f4c2a |
%exclude %{_libexecdir}/glusterfs/*
|
|
|
7f4c2a |
%exclude %{_sbindir}/gfind_missing_files
|
|
|
7f4c2a |
%exclude %{_libexecdir}/glusterfs/glusterfind
|
|
|
7f4c2a |
%exclude %{_bindir}/glusterfind
|
|
|
7f4c2a |
%exclude %{_libexecdir}/glusterfs/peer_add_secret_pub
|
|
|
7f4c2a |
%{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post.py
|
|
|
7f4c2a |
%exclude %{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post.pyc
|
|
|
7f4c2a |
%exclude %{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post.pyo
|
|
|
7f4c2a |
# exclude server files
|
|
|
7f4c2a |
%exclude %{_sharedstatedir}/glusterd/*
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/glusterd.vol
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/glusterfs-georep-logrotate
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/glusterfs-logrotate
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/gluster-rsyslog-5.8.conf
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/gluster-rsyslog-7.2.conf
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/group-virt.example
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/glusterfs/logger.conf.example
|
|
|
7f4c2a |
%exclude %_init_glusterd
|
|
|
7f4c2a |
%exclude %{_sysconfdir}/sysconfig/glusterd
|
|
|
7f4c2a |
%exclude %{_bindir}/glusterfind
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfdb.so.*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%exclude %{_sbindir}/gcron.py
|
|
|
7f4c2a |
%exclude %{_sbindir}/glfsheal
|
|
|
7f4c2a |
%exclude %{_sbindir}/glusterd
|
|
|
7f4c2a |
%exclude %{_sbindir}/snap_scheduler.py
|
|
|
7f4c2a |
%exclude %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
7f4c2a |
#/usr/share/doc/glusterfs-server-3.7.0beta2/clear_xattrs.sh
|
|
|
7f4c2a |
%exclude %{_localstatedir}/run/gluster
|
|
|
7f4c2a |
%if 0%{?_tmpfilesdir:1}
|
|
|
7f4c2a |
%exclude %{_tmpfilesdir}/gluster.conf
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS
|
|
|
7f4c2a |
%if ( 0%{!?_without_syslog:1} )
|
|
|
7f4c2a |
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
%{_sysconfdir}/rsyslog.d/gluster.conf.example
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_mandir}/man8/*gluster*.8*
|
|
|
7f4c2a |
%exclude %{_mandir}/man8/gluster.8*
|
|
|
7f4c2a |
%dir %{_localstatedir}/log/glusterfs
|
|
|
7f4c2a |
%if ( 0%{!?_without_rdma:1} )
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%dir %{_datadir}/glusterfs/scripts
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
|
|
|
7f4c2a |
# xlators that are needed on the client- and on the server-side
|
|
|
7f4c2a |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/auth
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/addr.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/auth/login.so
|
|
|
7f4c2a |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/socket.so
|
|
|
7f4c2a |
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so
|
|
|
7f4c2a |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) )
|
|
|
7f4c2a |
# RHEL-5 based distributions have a too old openssl
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cdc.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changelog.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/gfid-access.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/read-only.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/shard.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-client.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/worm.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/meta.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-cache.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-threads.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/md-cache.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/open-behind.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/quick-read.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/read-ahead.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/readdir-ahead.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/stat-prefetch.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/write-behind.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files api
|
|
|
7f4c2a |
%exclude %{_libdir}/*.so
|
|
|
7f4c2a |
# libgfapi files
|
|
|
7f4c2a |
%{_libdir}/libgfapi.*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files api-devel
|
|
|
7f4c2a |
%{_libdir}/pkgconfig/glusterfs-api.pc
|
|
|
7f4c2a |
%{_libdir}/libgfapi.so
|
|
|
7f4c2a |
%{_includedir}/glusterfs/api/*
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files cli
|
|
|
7f4c2a |
%{_sbindir}/gluster
|
|
|
7f4c2a |
%{_mandir}/man8/gluster.8*
|
|
|
7f4c2a |
%{_sysconfdir}/bash_completion.d/gluster
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files devel
|
|
|
7f4c2a |
%{_includedir}/glusterfs
|
|
|
7f4c2a |
%exclude %{_includedir}/glusterfs/y.tab.h
|
|
|
7f4c2a |
%exclude %{_includedir}/glusterfs/api
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfapi.so
|
|
|
7f4c2a |
%if ( ! 0%{?_build_server} )
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfchangelog.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} && ! 0%{?_build_server})
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfdb.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_libdir}/*.so
|
|
|
7f4c2a |
# Glupy Translator examples
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/debug-trace.*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.*
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%exclude %{_libdir}/pkgconfig/libgfchangelog.pc
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} && 0%{?_build_server})
|
|
|
7f4c2a |
%{_libdir}/pkgconfig/libgfdb.pc
|
|
|
7f4c2a |
%else
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
7f4c2a |
%exclude %{_libdir}/pkgconfig/libgfdb.pc
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files client-xlators
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so
|
|
|
7f4c2a |
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/ganesha.so
|
|
|
7f4c2a |
%if ( 0%{!?_without_qemu_block:1} )
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/qemu-block.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_extra_xlators:1} )
|
|
|
7f4c2a |
%files extra-xlators
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_client.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_dht.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_server.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so
|
|
|
7f4c2a |
# Glupy Python files
|
|
|
7f4c2a |
%{python_sitelib}/gluster/glupy/*
|
|
|
7f4c2a |
# Don't expect a .egg-info file on EL5
|
|
|
7f4c2a |
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) )
|
|
|
7f4c2a |
%{python_sitelib}/glusterfs_glupy*.egg-info
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files fuse
|
|
|
7f4c2a |
# glusterfs is a symlink to glusterfsd, -server depends on -fuse.
|
|
|
7f4c2a |
%{_sbindir}/glusterfs
|
|
|
7f4c2a |
%{_sbindir}/glusterfsd
|
|
|
7f4c2a |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so
|
|
|
7f4c2a |
/sbin/mount.glusterfs
|
|
|
7f4c2a |
%if ( 0%{!?_without_fusermount:1} )
|
|
|
7f4c2a |
%{_bindir}/fusermount-glusterfs
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
|
|
|
7f4c2a |
%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%files ganesha
|
|
|
7f4c2a |
%{_sysconfdir}/ganesha/*
|
|
|
7f4c2a |
%attr(0755,-,-) %{_libexecdir}/ganesha/*
|
|
|
7f4c2a |
%attr(0755,-,-) %{_prefix}/lib/ocf/resource.d/heartbeat/*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
%files geo-replication
|
|
|
7f4c2a |
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/gsyncd
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/gverify.sh
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/peer_gsec_create
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/peer_mountbroker
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
|
|
|
7f4c2a |
%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/get-gfid.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/slave-upgrade.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/gsync-sync-gfid
|
|
|
7f4c2a |
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/gfind_missing_files
|
|
|
7f4c2a |
%{_sbindir}/gfind_missing_files
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files libs
|
|
|
7f4c2a |
%{_libdir}/*.so.*
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfapi.*
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
# libgfdb is only needed server-side
|
|
|
7f4c2a |
%exclude %{_libdir}/libgfdb.*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%files -n python-gluster
|
|
|
7f4c2a |
# introducing glusterfs module in site packages.
|
|
|
7f4c2a |
# so that all other gluster submodules can reside in the same namespace.
|
|
|
7f4c2a |
%{python_sitelib}/gluster/__init__.*
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_rdma:1} )
|
|
|
7f4c2a |
%files rdma
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_regression_tests:1} )
|
|
|
7f4c2a |
%files regression-tests
|
|
|
7f4c2a |
%{_prefix}/share/glusterfs/run-tests.sh
|
|
|
7f4c2a |
%{_prefix}/share/glusterfs/tests
|
|
|
7f4c2a |
%exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%if ( 0%{!?_without_ocf:1} )
|
|
|
7f4c2a |
%files resource-agents
|
|
|
7f4c2a |
# /usr/lib is the standard for OCF, also on x86_64
|
|
|
7f4c2a |
%{_prefix}/lib/ocf/resource.d/glusterfs
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_build_server} )
|
|
|
7f4c2a |
%files server
|
|
|
7f4c2a |
%exclude %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
|
|
|
7f4c2a |
%doc extras/clear_xattrs.sh
|
|
|
7f4c2a |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
|
|
7f4c2a |
%config(noreplace) %{_sysconfdir}/glusterfs
|
|
|
7f4c2a |
%dir %{_localstatedir}/run/gluster
|
|
|
7f4c2a |
%if 0%{?_tmpfilesdir:1}
|
|
|
7f4c2a |
%{_tmpfilesdir}/gluster.conf
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%dir %{_sharedstatedir}/glusterd
|
|
|
7f4c2a |
%{_sharedstatedir}/glusterd/*
|
|
|
7f4c2a |
%dir %{_sharedstatedir}/glusterd/groups
|
|
|
7f4c2a |
%config(noreplace) %{_sharedstatedir}/glusterd/groups/virt
|
|
|
7f4c2a |
# Legacy configs
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/start/post/S30samba-start.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S30samba-stop.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
|
|
|
7f4c2a |
%config %{_sharedstatedir}/glusterd/hooks/1/reset/post/S31ganesha-reset.sh
|
|
|
7f4c2a |
# init files
|
|
|
7f4c2a |
%_init_glusterd
|
|
|
7f4c2a |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
7f4c2a |
%_init_glusterfsd
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
# binaries
|
|
|
7f4c2a |
%{_sbindir}/glusterd
|
|
|
7f4c2a |
%{_sbindir}/glfsheal
|
|
|
7f4c2a |
# {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a
|
|
|
7f4c2a |
# symlink. The binary itself (and symlink) are part of the glusterfs-fuse
|
|
|
7f4c2a |
# package, because glusterfs-server depends on that anyway.
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
|
|
|
7f4c2a |
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
|
|
|
7f4c2a |
%if ( 0%{!?_without_tiering:1} )
|
|
|
7f4c2a |
%{_libdir}/libgfdb.so.*
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
#snap_scheduler
|
|
|
7f4c2a |
%{_sbindir}/snap_scheduler.py
|
|
|
7f4c2a |
%{_sbindir}/gcron.py
|
|
|
7f4c2a |
|
|
|
7f4c2a |
#hookscripts
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
|
|
|
7f4c2a |
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
|
|
|
7f4c2a |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options
|
|
|
7f4c2a |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
7f4c2a |
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Extra utility script
|
|
|
7f4c2a |
%{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
7f4c2a |
|
|
|
7f4c2a |
# Incrementalapi
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/glusterfind
|
|
|
7f4c2a |
%{_bindir}/glusterfind
|
|
|
7f4c2a |
%{_libexecdir}/glusterfs/peer_add_secret_pub
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{?_with_firewalld:1} )
|
|
|
7f4c2a |
/usr/lib/firewalld/services/glusterfs.xml
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
##-----------------------------------------------------------------------------
|
|
|
7f4c2a |
## All %pretrans should be placed here and keep them sorted
|
|
|
7f4c2a |
##
|
|
|
7f4c2a |
%if 0%{?_build_server}
|
|
|
7f4c2a |
%pretrans -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
echo "ERROR: Distribute volumes detected. In-service rolling upgrade requires distribute volume(s) to be stopped."
|
|
|
7f4c2a |
echo "ERROR: Please stop distribute volume(s) before proceeding... exiting!"
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
echo "WARNING: Updating glusterfs requires its processes to be killed. This action does NOT incur downtime."
|
|
|
7f4c2a |
echo "WARNING: Ensure to wait for the upgraded server to finish healing before proceeding."
|
|
|
7f4c2a |
echo "WARNING: Refer upgrade section of install guide for more details"
|
|
|
7f4c2a |
echo "Please run # service glusterd stop; pkill glusterfs; pkill glusterfsd; pkill gsyncd.py;"
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans api -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-api_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans api-devel -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-api-devel_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans cli -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-cli_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans client-xlators -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-client-xlators_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans devel -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-devel_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans fuse -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-fuse_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans ganesha -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-ganesha_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_georeplication:1} )
|
|
|
7f4c2a |
%pretrans geo-replication -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-geo-replication_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans libs -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-libs_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans -n python-gluster -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/python-gluster_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_rdma:1} )
|
|
|
7f4c2a |
%pretrans rdma -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-rdma_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%if ( 0%{!?_without_ocf:1} )
|
|
|
7f4c2a |
%pretrans resource-agents -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-resource-agents_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%pretrans server -p <lua>
|
|
|
7f4c2a |
if not posix.access("/bin/bash", "x") then
|
|
|
7f4c2a |
-- initial installation, no shell, no running glusterfsd
|
|
|
7f4c2a |
return 0
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- TODO: move this completely to a lua script
|
|
|
7f4c2a |
-- For now, we write a temporary bash script and execute that.
|
|
|
7f4c2a |
|
|
|
7f4c2a |
script = [[#!/bin/sh
|
|
|
7f4c2a |
pidof -c -o %PPID -x glusterfsd &>/dev/null
|
|
|
7f4c2a |
|
|
|
7f4c2a |
if [ $? -eq 0 ]; then
|
|
|
7f4c2a |
pushd . > /dev/null 2>&1
|
|
|
7f4c2a |
for volume in /var/lib/glusterd/vols/*; do cd $volume;
|
|
|
7f4c2a |
vol_type=`grep '^type=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
volume_started=`grep '^status=' info | awk -F'=' '{print $2}'`
|
|
|
7f4c2a |
if [ $vol_type -eq 0 ] && [ $volume_started -eq 1 ] ; then
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
done
|
|
|
7f4c2a |
|
|
|
7f4c2a |
popd > /dev/null 2>&1
|
|
|
7f4c2a |
exit 1;
|
|
|
7f4c2a |
fi
|
|
|
7f4c2a |
]]
|
|
|
7f4c2a |
|
|
|
7f4c2a |
-- rpm in RHEL5 does not have os.tmpname()
|
|
|
7f4c2a |
-- io.tmpfile() can not be resolved to a filename to pass to bash :-/
|
|
|
7f4c2a |
tmpname = "/tmp/glusterfs-server_pretrans_" .. os.date("%s")
|
|
|
7f4c2a |
tmpfile = io.open(tmpname, "w")
|
|
|
7f4c2a |
tmpfile:write(script)
|
|
|
7f4c2a |
tmpfile:close()
|
|
|
7f4c2a |
ok, how, val = os.execute("/bin/bash " .. tmpname)
|
|
|
7f4c2a |
os.remove(tmpname)
|
|
|
7f4c2a |
if not (ok == 0) then
|
|
|
7f4c2a |
error("Detected running glusterfs processes", ok)
|
|
|
7f4c2a |
end
|
|
|
7f4c2a |
%endif
|
|
|
7f4c2a |
|
|
|
7f4c2a |
%changelog
|
|
|
39a3ce |
* Thu Nov 19 2015 CentOS Sources <bugs@centos.org> - 3.7.1-17.atomic.1.el7.centos
|
|
|
39a3ce |
- remove vendor and/or packager lines
|
|
|
39a3ce |
|
|
|
7f4c2a |
* Mon Sep 21 2015 Milind Changire <mchangir@redhat.com> - 3.7.1-16
|
|
|
7f4c2a |
- fixes bugs 1263653 bz#1263653
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Mon Sep 21 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-16
|
|
|
7f4c2a |
- fixes bugs bz#1263653
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Tue Sep 15 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-15
|
|
|
7f4c2a |
- fixes bugs bz#1253774 bz#1257509 bz#1259221 bz#1259750 bz#1260086
|
|
|
7f4c2a |
bz#1260512 bz#1262236 bz#1262291
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Tue Sep 01 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-14
|
|
|
7f4c2a |
- fixes bugs bz#1115367 bz#1232569 bz#1234213 bz#1234610 bz#1241336
|
|
|
7f4c2a |
bz#1241385 bz#1241862 bz#1242803 bz#1245077 bz#1251457
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Thu Aug 27 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-13
|
|
|
7f4c2a |
- fixes bugs bz#1224184 bz#1225452 bz#1227759 bz#1228135 bz#1231080
|
|
|
7f4c2a |
bz#1234399 bz#1235971 bz#1236038 bz#1238070 bz#1238111 bz#1238171 bz#1238398
|
|
|
7f4c2a |
bz#1238977 bz#1239021 bz#1240918 bz#1245165 bz#1245636 bz#1245924 bz#1251409
|
|
|
7f4c2a |
bz#1255471 bz#1257007 bz#1247349
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Wed Aug 19 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-12
|
|
|
7f4c2a |
- fixes bugs bz#1027723 bz#1064265 bz#1065651 bz#1134288 bz#1213893
|
|
|
7f4c2a |
bz#1226665 bz#1226817 bz#1229606 bz#1229621 bz#1230532 bz#1232216 bz#1235571
|
|
|
7f4c2a |
bz#1236546 bz#1236672 bz#1236990 bz#1238049 bz#1238071 bz#1239075 bz#1240657
|
|
|
7f4c2a |
bz#1241649 bz#1241761 bz#1243542 bz#1243722 bz#1243886 bz#1244527 bz#1245448
|
|
|
7f4c2a |
bz#1245536 bz#1245542 bz#1245897 bz#1245915 bz#1245919 bz#1246946 bz#1252359
|
|
|
7f4c2a |
bz#1253549
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Sun Jul 19 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-11
|
|
|
7f4c2a |
- fixes bugs bz#1244187
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Wed Jul 15 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-10
|
|
|
7f4c2a |
- fixes bugs bz#1224177 bz#1230513 bz#1240617 bz#1242367 bz#1242423
|
|
|
7f4c2a |
bz#1242543 bz#1242585 bz#1242767
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Mon Jul 13 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-9
|
|
|
7f4c2a |
- fixes bugs bz#1224177 bz#1224610 bz#1230525 bz#1231647 bz#1234725
|
|
|
7f4c2a |
bz#1235121 bz#1239057 bz#1239108 bz#1239317 bz#1240196 bz#1240338 bz#1240925
|
|
|
7f4c2a |
bz#1241048 bz#1241150 bz#1241366 bz#1241830 bz#1241839 bz#1241904 bz#1242046
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Wed Jul 08 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-8
|
|
|
7f4c2a |
- fixes bugs bz#1223205 bz#1224177 bz#1228247 bz#1229567 bz#1230513
|
|
|
7f4c2a |
bz#1231635 bz#1231732 bz#1239280 bz#1240168 bz#1240245
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Fri Jul 03 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-7
|
|
|
7f4c2a |
- fixes bugs bz#1227197 bz#1228127 bz#1230612 bz#1231782 bz#1235735
|
|
|
7f4c2a |
bz#1236556 bz#1237053 bz#1237165 bz#1238167
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Sun Jun 28 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-6
|
|
|
7f4c2a |
- fixes bugs bz#1140649 bz#1222856 bz#1223225 bz#1223677 bz#1223738
|
|
|
7f4c2a |
bz#1223757 bz#1224177 bz#1224199 bz#1224227 bz#1224619 bz#1225747 bz#1226149
|
|
|
7f4c2a |
bz#1226863 bz#1227869 bz#1228525 bz#1228598 bz#1231771 bz#1231773 bz#1231775
|
|
|
7f4c2a |
bz#1231779 bz#1231784 bz#1231792 bz#1231796 bz#1231797 bz#1232307 bz#1232309
|
|
|
7f4c2a |
bz#1232625 bz#1233033 bz#1233575 bz#1233694 bz#1234419 bz#1234720 bz#1234725
|
|
|
7f4c2a |
bz#1234869 bz#1235147 bz#1235182 bz#1235225 bz#1235236 bz#1235244 bz#1235540
|
|
|
7f4c2a |
bz#1235544 bz#1235628 bz#1235940
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Wed Jun 24 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-5
|
|
|
7f4c2a |
- fixes bugs bz#1121560 bz#1140649 bz#1178130 bz#1224115 bz#1226863
|
|
|
7f4c2a |
bz#1227311 bz#1227900 bz#1228626 bz#1229260 bz#1229601 bz#1230513 bz#1230517
|
|
|
7f4c2a |
bz#1230646 bz#1231223 bz#1231778 bz#1231780 bz#1231782 bz#1231788 bz#1231792
|
|
|
7f4c2a |
bz#1232609 bz#1232624 bz#1233046 bz#1233486
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Thu Jun 18 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-4
|
|
|
7f4c2a |
- fixes bugs bz#1130998 bz#1224137 bz#1225010 bz#1227029 bz#1227311
|
|
|
7f4c2a |
bz#1227709 bz#1230101 bz#1230635 bz#1231026 bz#1231166 bz#1231651 bz#1231771
|
|
|
7f4c2a |
bz#1231775 bz#1231776 bz#1231792 bz#1232428 bz#1232641 bz#1233144
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Mon Jun 15 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-3
|
|
|
7f4c2a |
- fixes bugs bz#1211839 bz#1224046 bz#1224236 bz#1224662 bz#1224880
|
|
|
7f4c2a |
bz#1225507 bz#1226889 bz#1227618 bz#1228017 bz#1228495 bz#1228597 bz#1229623
|
|
|
7f4c2a |
bz#1229674 bz#1230607 bz#1230764 bz#1231078
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Fri Jun 12 2015 Bala.FA <barumuga@redhat.com> - 3.7.1-2
|
|
|
7f4c2a |
- fixes bugs bz#1140506 bz#1186216 bz#1200815 bz#1203901 bz#1222053
|
|
|
7f4c2a |
bz#1222785 bz#1223205 bz#1223746 bz#1224123 bz#1224136 bz#1224160 bz#1224161
|
|
|
7f4c2a |
bz#1224175 bz#1224177 bz#1224183 bz#1224195 bz#1224215 bz#1224249 bz#1224618
|
|
|
7f4c2a |
bz#1227172 bz#1227179 bz#1227469 bz#1227918 bz#1228164 bz#1228173 bz#1228496
|
|
|
7f4c2a |
bz#1228529 bz#1228643 bz#1229268 bz#1229612 bz#1230114 bz#1230186 bz#1230195
|
|
|
7f4c2a |
bz#1230522
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Tue Jun 09 2015 Bala FA <barumuga@redhat.com> - 3.7.1-1
|
|
|
7f4c2a |
- rebase to 3.7.1
|
|
|
7f4c2a |
- fixes bugs bz#1027710 bz#1039674 bz#1047481 bz#1140506 bz#1223201
|
|
|
7f4c2a |
bz#1223206 bz#1223715 bz#1224225 bz#1226162 bz#1227262 bz#1227317
|
|
|
7f4c2a |
bz#1227649 bz#1228266 bz#1228518 bz#1228541
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Tue Jun 02 2015 Bala FA <barumuga@redhat.com> - 3.7.0-3.1
|
|
|
7f4c2a |
- fix glusterfs server build in rhel-7 due to change in dist tag
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Mon Jun 01 2015 Bala FA <barumuga@redhat.com> - 3.7.0-3
|
|
|
7f4c2a |
- Resolves bz#1134690 bz#1110715
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Fri May 15 2015 Bala FA <barumuga@redhat.com> - 3.7.0-2
|
|
|
7f4c2a |
- Resolves bz#1221743: glusterd not starting after a fresh install of
|
|
|
7f4c2a |
3.7.0-1.el6rhs build
|
|
|
7f4c2a |
|
|
|
7f4c2a |
* Thu May 14 2015 Bala FA <barumuga@redhat.com> - 3.7.0-1
|
|
|
7f4c2a |
- rebased to 3.7.0
|