e1d1f9
# if you make changes, the it is advised to increment this number, and provide
e1d1f9
# a descriptive suffix to identify who owns or what the change represents
e1d1f9
# e.g. release_version 2.MSW
e1d1f9
%global release 2%{?dist}
e1d1f9
%global _sharedstatedir /var/lib
e1d1f9
e1d1f9
%global version 3.4.0.40rhs
e1d1f9
e1d1f9
e1d1f9
# if you wish to build the server rpms, compile like this...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --with server
e1d1f9
%if "%{?_with_server}"
e1d1f9
%define _build_server 1
e1d1f9
%else
e1d1f9
%if "%{dist}" == ".el6rhs"
e1d1f9
%define _build_server 1
e1d1f9
%else
e1d1f9
%define _build_server 0
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%global _hardened_build 1
e1d1f9
e1d1f9
%global _for_fedora_koji_builds 0
e1d1f9
e1d1f9
# uncomment and add '%' to use the prereltag for pre-releases
e1d1f9
# global prereltag beta2
e1d1f9
e1d1f9
# if you wish to compile an rpm without rdma support, compile like this...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without rdma
e1d1f9
%{?_without_rdma:%global _without_rdma --disable-ibverbs}
e1d1f9
e1d1f9
# No RDMA Support on s390(x)
e1d1f9
%ifarch s390 s390x
e1d1f9
%global _without_rdma --disable-ibverbs
e1d1f9
%endif
e1d1f9
e1d1f9
# if you wish to compile an rpm without epoll...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without epoll
e1d1f9
%{?_without_epoll:%global _without_epoll --disable-epoll}
e1d1f9
e1d1f9
# if you wish to compile an rpm without fusermount...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without fusermount
e1d1f9
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
e1d1f9
e1d1f9
%global _can_georeplicate 1
e1d1f9
e1d1f9
# if you wish to compile an rpm without geo-replication support, compile like this...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without georeplication
e1d1f9
%{?_without_georeplication:%global _without_georeplication --disable-geo-replication}
e1d1f9
e1d1f9
# if you wish to compile an rpm without the OCF resource agents...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without ocf
e1d1f9
%{?_without_ocf:%global _without_ocf --without-ocf}
e1d1f9
e1d1f9
# disable ocf as it is not required for rhs
e1d1f9
%global _without_ocf --without-ocf
e1d1f9
e1d1f9
# if you wish to compile an rpm without the BD map support...
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhs.tar.gz --without bd
e1d1f9
%{?_without_bd:%global _without_bd --disable-bd-xlator}
e1d1f9
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
e1d1f9
%define _without_bd true
e1d1f9
%endif
e1d1f9
e1d1f9
# if you wish to build rpms without syslog logging, compile like this
e1d1f9
# rpmbuild -ta glusterfs-3.4.0.30rhstar.gz --without syslog
e1d1f9
%{?_without_syslog:%global _without_syslog --disable-syslog}
e1d1f9
e1d1f9
# disable syslog if dist is not for RHS and rhel <= 6.  These
e1d1f9
# platoforms don't have either rsyslog-mmjsonparse or rsyslog-mmcount
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} <= 6 && "%{dist}" != ".el6rhs" )
e1d1f9
%global _without_syslog --disable-syslog
e1d1f9
%endif
e1d1f9
e1d1f9
# disable syslog forcefully as rhel < 6 doesn't have rsyslog
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
e1d1f9
%global _without_syslog --disable-syslog
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
e1d1f9
%global           _with_systemd true
e1d1f9
%endif
e1d1f9
e1d1f9
Summary:          Cluster File System
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
Name:             glusterfs
e1d1f9
Version:          3.4.0
e1d1f9
Release:          0.5%{?prereltag:.%{prereltag}}%{?dist}
e1d1f9
Vendor:           Fedora Project
e1d1f9
%else
e1d1f9
Name:             glusterfs
e1d1f9
Version:          %{version}
e1d1f9
Release:          %{release}
e1d1f9
Vendor:           Red Hat, Inc.
e1d1f9
Packager:         gluster-users@gluster.org
e1d1f9
ExclusiveArch:    x86_64 aarch64
e1d1f9
%endif
e1d1f9
License:          GPLv2 or LGPLv3+
e1d1f9
Group:            System Environment/Base
e1d1f9
URL:              http://www.gluster.org/docs/index.php/GlusterFS
e1d1f9
Source0:          glusterfs-%{version}.tar.gz
e1d1f9
e1d1f9
BuildRoot:        %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
e1d1f9
e1d1f9
%if ( 0%{?_with_systemd:1} )
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%global glusterfsd_service %{S:%{SOURCE11}}
e1d1f9
%endif
e1d1f9
BuildRequires:    systemd-units
e1d1f9
Requires(post):   systemd-units
e1d1f9
Requires(preun):  systemd-units
e1d1f9
Requires(postun): systemd-units
e1d1f9
%define _init_enable()  /bin/systemctl enable %1.service ;
e1d1f9
%define _init_disable() /bin/systemctl disable %1.service ;
e1d1f9
%define _init_restart() /bin/systemctl try-restart %1.service ;
e1d1f9
%define _init_stop()    /bin/systemctl stop %1.service ;
e1d1f9
%define _init_install() %{__install} -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;
e1d1f9
# can't seem to make a generic macro that works
e1d1f9
%define _init_glusterd   %{_unitdir}/glusterd.service
e1d1f9
%define _init_glusterfsd %{_unitdir}/glusterfsd.service
e1d1f9
%else
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%global glusterfsd_service %{S:%{SOURCE13}}
e1d1f9
%endif
e1d1f9
Requires(post):   /sbin/chkconfig
e1d1f9
Requires(preun):  /sbin/service
e1d1f9
Requires(preun):  /sbin/chkconfig
e1d1f9
Requires(postun): /sbin/service
e1d1f9
%define _init_enable()  /sbin/chkconfig --add %1 ;
e1d1f9
%define _init_disable() /sbin/chkconfig --del %1 ;
e1d1f9
%define _init_restart() /sbin/service %1 condrestart &>/dev/null ;
e1d1f9
%define _init_stop()    /sbin/service %1 stop &>/dev/null ;
e1d1f9
%define _init_install() %{__install} -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;
e1d1f9
# can't seem to make a generic macro that works
e1d1f9
%define _init_glusterd   %{_sysconfdir}/init.d/glusterd
e1d1f9
%define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
e1d1f9
%endif
e1d1f9
e1d1f9
BuildRequires:    bison flex
e1d1f9
BuildRequires:    gcc make automake libtool
e1d1f9
BuildRequires:    ncurses-devel readline-devel
e1d1f9
BuildRequires:    libxml2-devel openssl-devel
e1d1f9
BuildRequires:    libaio-devel
e1d1f9
BuildRequires:    systemtap-sdt-devel
e1d1f9
BuildRequires:    python-devel
e1d1f9
BuildRequires:    python-ctypes
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
%if ( 0%{!?_without_bd:1} )
e1d1f9
BuildRequires:    lvm2-devel
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
e1d1f9
BuildRequires:    python-simplejson
e1d1f9
%endif
e1d1f9
Requires: openssl
e1d1f9
Requires:         %{name}-libs = %{version}-%{release}
e1d1f9
e1d1f9
Obsoletes:        hekafs <= 0.7
e1d1f9
Obsoletes:        %{name}-libs <= 2.0.0
e1d1f9
Obsoletes:        %{name}-common < %{version}-%{release}
e1d1f9
Obsoletes:        %{name}-core < %{version}-%{release}
e1d1f9
Provides:         %{name}-common = %{version}-%{release}
e1d1f9
Provides:         %{name}-core = %{version}-%{release}
e1d1f9
e1d1f9
# We do not want to generate useless provides and requires for xlator .so files
e1d1f9
# Filter all generated:
e1d1f9
#
e1d1f9
# TODO: RHEL5 does not have a convenient solution
e1d1f9
%if ( 0%{?rhel} == 6 )
e1d1f9
    # filter_setup exists in RHEL6 only
e1d1f9
    %filter_provides_in %{_libdir}/glusterfs/%{version}/
e1d1f9
    %global __filter_from_req %{?__filter_from_req} | %{__grep} -v -P '^(?!lib).*\.so.*$'
e1d1f9
    %filter_setup
e1d1f9
%else
e1d1f9
    # modern rpm and current Fedora do not generate requires when the
e1d1f9
    # provides are filtered
e1d1f9
    %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
e1d1f9
%endif
e1d1f9
e1d1f9
%description
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package includes the glusterfs binary, the glusterfsd daemon and the
e1d1f9
gluster command line, libglusterfs and glusterfs translator modules common to
e1d1f9
both GlusterFS server and client framework.
e1d1f9
e1d1f9
%package libs
e1d1f9
Summary:          GlusterFS common libraries
e1d1f9
Group:            Applications/File
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
e1d1f9
Requires:         rsyslog-mmjsonparse
e1d1f9
%endif
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
e1d1f9
# rsyslog-mmcount should be installed manually before enabling new logging framework
e1d1f9
#Requires:         rsyslog-mmcount
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%description libs
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the base GlusterFS libraries
e1d1f9
e1d1f9
%if ( 0%{!?_without_rdma:1} )
e1d1f9
%package rdma
e1d1f9
Summary:          GlusterFS rdma support for ib-verbs
e1d1f9
Group:            Applications/File
e1d1f9
BuildRequires:    libibverbs-devel
e1d1f9
BuildRequires:    librdmacm-devel
e1d1f9
Requires:         %{name} = %{version}-%{release}
e1d1f9
e1d1f9
%description rdma
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides support to ib-verbs library.
e1d1f9
%endif
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%if 0%{?_can_georeplicate}
e1d1f9
%if ( 0%{!?_without_georeplication:1} )
e1d1f9
%package geo-replication
e1d1f9
Summary:          GlusterFS Geo-replication
e1d1f9
Group:            Applications/File
e1d1f9
Requires:         %{name} = %{version}-%{release}
e1d1f9
# Strict dependency for `ls extras/geo-rep/*` scripts
e1d1f9
Requires:         attr
e1d1f9
Requires:         openssh-clients
e1d1f9
e1d1f9
%description geo-replication
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
peta-bytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file system in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in userspace and easily manageable.
e1d1f9
e1d1f9
This package provides support to geo-replication.
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%package fuse
e1d1f9
Summary:          Fuse client
e1d1f9
Group:            Applications/File
e1d1f9
BuildRequires:    fuse-devel
e1d1f9
#%if ( 0%{!?_without_fusermount:1} )
e1d1f9
#Requires:         /usr/bin/fusermount
e1d1f9
#%endif
e1d1f9
e1d1f9
Requires:         %{name} = %{version}-%{release}
e1d1f9
e1d1f9
Obsoletes:        %{name}-client < %{version}-%{release}
e1d1f9
Provides:         %{name}-client = %{version}-%{release}
e1d1f9
e1d1f9
%description fuse
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides support to FUSE based clients.
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%package server
e1d1f9
Summary:          Clustered file-system server
e1d1f9
License:          GPLv3+
e1d1f9
Group:            System Environment/Daemons
e1d1f9
Requires:         %{name} = %{version}-%{release}
e1d1f9
Requires:         %{name}-libs = %{version}-%{release}
e1d1f9
Requires:         %{name}-fuse = %{version}-%{release}
e1d1f9
Requires:         %{name}-geo-replication = %{version}-%{release}
e1d1f9
Requires:         openssl
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
Requires:         rpcbind
e1d1f9
%else
e1d1f9
Requires:         portmap
e1d1f9
%endif
e1d1f9
e1d1f9
%description server
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the glusterfs server daemon.
e1d1f9
%endif
e1d1f9
e1d1f9
%package api
e1d1f9
Summary:          Clustered file-system api library
e1d1f9
License:          GPLv2 or LGPLv3+
e1d1f9
Group:            System Environment/Daemons
e1d1f9
Requires:         %{name}-libs = %{version}-%{release}
e1d1f9
e1d1f9
%description api
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the glusterfs libgfapi library
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%if ( 0%{!?_without_ocf:1} )
e1d1f9
%package resource-agents
e1d1f9
Summary:          OCF Resource Agents for GlusterFS
e1d1f9
License:          GPLv3+
e1d1f9
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) )
e1d1f9
# EL5 does not support noarch sub-packages
e1d1f9
BuildArch:        noarch
e1d1f9
%endif
e1d1f9
# this Group handling comes from the Fedora resource-agents package
e1d1f9
%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} )
e1d1f9
Group:            System Environment/Base
e1d1f9
%else
e1d1f9
Group:            Productivity/Clustering/HA
e1d1f9
%endif
e1d1f9
# for glusterd
e1d1f9
Requires:         glusterfs-server
e1d1f9
# depending on the distribution, we need pacemaker or resource-agents
e1d1f9
Requires:         %{_prefix}/lib/ocf/resource.d
e1d1f9
e1d1f9
%description resource-agents
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the resource agents which plug glusterd into
e1d1f9
Open Cluster Framework (OCF) compliant cluster resource managers,
e1d1f9
like Pacemaker.
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%package devel
e1d1f9
Summary:          Development Libraries
e1d1f9
License:          GPLv2 or LGPLv3+
e1d1f9
Group:            Development/Libraries
e1d1f9
Requires:         %{name}-libs = %{version}-%{release}
e1d1f9
e1d1f9
%description devel
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the development libraries.
e1d1f9
e1d1f9
e1d1f9
%package api-devel
e1d1f9
Summary:          Development Libraries
e1d1f9
License:          GPLv2 or LGPLv3+
e1d1f9
Group:            Development/Libraries
e1d1f9
Requires:         %{name}-api = %{version}-%{release}
e1d1f9
e1d1f9
%description api-devel
e1d1f9
GlusterFS is a clustered file-system capable of scaling to several
e1d1f9
petabytes. It aggregates various storage bricks over Infiniband RDMA
e1d1f9
or TCP/IP interconnect into one large parallel network file
e1d1f9
system. GlusterFS is one of the most sophisticated file systems in
e1d1f9
terms of features and extensibility.  It borrows a powerful concept
e1d1f9
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
e1d1f9
is in user space and easily manageable.
e1d1f9
e1d1f9
This package provides the api include files.
e1d1f9
e1d1f9
%prep
e1d1f9
%setup -q -n %{name}-%{version}%{?prereltag}
e1d1f9
e1d1f9
%build
e1d1f9
./autogen.sh
e1d1f9
%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_bd} %{?_without_syslog}
e1d1f9
e1d1f9
# fix hardening and remove rpath in shlibs
e1d1f9
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
e1d1f9
%{__sed} -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
e1d1f9
%endif
e1d1f9
%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
e1d1f9
%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
e1d1f9
e1d1f9
%{__make} %{?_smp_mflags}
e1d1f9
e1d1f9
%install
e1d1f9
%{__rm} -rf %{buildroot}
e1d1f9
%{__make} install DESTDIR=%{buildroot}
e1d1f9
# Install include directory
e1d1f9
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs
e1d1f9
%{__install} -p -m 0644 libglusterfs/src/*.h \
e1d1f9
    %{buildroot}%{_includedir}/glusterfs/
e1d1f9
%{__install} -p -m 0644 contrib/uuid/*.h \
e1d1f9
    %{buildroot}%{_includedir}/glusterfs/
e1d1f9
# Following needed by hekafs multi-tenant translator
e1d1f9
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc
e1d1f9
%{__install} -p -m 0644 rpc/rpc-lib/src/*.h \
e1d1f9
    %{buildroot}%{_includedir}/glusterfs/rpc/
e1d1f9
%{__install} -p -m 0644 rpc/xdr/src/*.h \
e1d1f9
    %{buildroot}%{_includedir}/glusterfs/rpc/
e1d1f9
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server
e1d1f9
%{__install} -p -m 0644 xlators/protocol/server/src/*.h \
e1d1f9
    %{buildroot}%{_includedir}/glusterfs/server/
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%{__install} -D -p -m 0644 %{SOURCE1} \
e1d1f9
    %{buildroot}%{_sysconfdir}/sysconfig/glusterd
e1d1f9
%{__install} -D -p -m 0644 %{SOURCE2} \
e1d1f9
    %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
e1d1f9
%else
e1d1f9
%{__install} -D -p -m 0644 extras/glusterd-sysconfig \
e1d1f9
    %{buildroot}%{_sysconfdir}/sysconfig/glusterd
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
e1d1f9
%{__install} -D -p -m 0755 %{SOURCE6} \
e1d1f9
    %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd
e1d1f9
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs
e1d1f9
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd
e1d1f9
%{__mkdir_p} %{buildroot}%{_localstatedir}/run/gluster
e1d1f9
e1d1f9
# Remove unwanted files from all the shared libraries
e1d1f9
find %{buildroot}%{_libdir} -name '*.a' -delete
e1d1f9
find %{buildroot}%{_libdir} -name '*.la' -delete
e1d1f9
e1d1f9
# Remove installed docs, they're included by %%doc
e1d1f9
%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
e1d1f9
e1d1f9
# Remove benchmarking and other unpackaged files
e1d1f9
%{__rm} -rf %{buildroot}/benchmarking
e1d1f9
%{__rm} -f %{buildroot}/glusterfs-mode.el
e1d1f9
%{__rm} -f %{buildroot}/glusterfs.vim
e1d1f9
e1d1f9
# Create working directory
e1d1f9
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd
e1d1f9
e1d1f9
# Update configuration file to /var/lib working directory
e1d1f9
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
e1d1f9
    %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
# Install glusterfsd .service or init.d file
e1d1f9
%if ( 0%{?_with_systemd:1} )
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%_init_install %{glusterfsd_service} glusterfsd
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
# Client logrotate entry
e1d1f9
%{__install} -D -p -m 0644 %{SOURCE3} \
e1d1f9
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse
e1d1f9
e1d1f9
# Server logrotate entry
e1d1f9
%{__install} -D -p -m 0644 %{SOURCE4} \
e1d1f9
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterd
e1d1f9
# Legacy server logrotate entry
e1d1f9
%{__install} -D -p -m 0644 %{SOURCE5} \
e1d1f9
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
e1d1f9
%else
e1d1f9
%{__install} -D -p -m 0644 extras/glusterfs-logrotate \
e1d1f9
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
e1d1f9
#geo replication logrotate file.
e1d1f9
%{__install} -D -p -m 0644 extras/glusterfs-georep-logrotate \
e1d1f9
    %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{!?_without_georeplication:1} )
e1d1f9
# geo-rep ghosts
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
e1d1f9
#touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
e1d1f9
%endif
e1d1f9
e1d1f9
# Following needed by the hooks interface
e1d1f9
subdirs=("add-brick" "create" "delete" "remove-brick" "set" "start" "stop" "gsync-create")
e1d1f9
for dir in ${subdirs[@]}
e1d1f9
do
e1d1f9
%{__mkdir_p} %{buildroot}%{_datadir}/glusterfs/hook-scripts/"$dir"/{pre,post}
e1d1f9
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
e1d1f9
done
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/start/post/*.sh   \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh   \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/set/post/*.sh   \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/add-brick/post/*.sh   \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
e1d1f9
%{__install} -p -m 0744 extras/hook-scripts/add-brick/pre/*.sh   \
e1d1f9
    %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
e1d1f9
%endif
e1d1f9
e1d1f9
%if !0%{?_build_server}
e1d1f9
echo "Removing files that are only used in the server subpackages."
e1d1f9
rm %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
e1d1f9
rm %{buildroot}%{_sysconfdir}/init.d/glusterd
e1d1f9
rm %{buildroot}%{_sbindir}/gluster
e1d1f9
rm %{buildroot}%{_sbindir}/glusterd
e1d1f9
rm %{buildroot}%{_libexecdir}/glusterfs/gsyncd
e1d1f9
rm -rf %{buildroot}%{_libexecdir}/glusterfs/python/syncdaemon
e1d1f9
rm -rf %{buildroot}%{_libexecdir}/glusterfs/quota
e1d1f9
rm %{buildroot}%{_sysconfdir}/sysconfig/glusterd
e1d1f9
rm %{buildroot}%{_libexecdir}/glusterfs/gverify.sh
e1d1f9
rm %{buildroot}%{_libexecdir}/glusterfs/peer_add_secret_pub
e1d1f9
rm %{buildroot}%{_libexecdir}/glusterfs/peer_gsec_create
e1d1f9
rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/glusterfs
e1d1f9
rm %{buildroot}%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
e1d1f9
rm %{buildroot}%{_datadir}/glusterfs/scripts/get-gfid.sh
e1d1f9
rm %{buildroot}%{_datadir}/glusterfs/scripts/gsync-sync-gfid
e1d1f9
rm %{buildroot}%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
e1d1f9
rm %{buildroot}%{_datadir}/glusterfs/scripts/slave-upgrade.sh
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
e1d1f9
%{__install} -D -p -m 0644 extras/gluster-rsyslog-7.2.conf \
e1d1f9
    %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
e1d1f9
%{__install} -D -p -m 0644 extras/gluster-rsyslog-5.8.conf \
e1d1f9
    %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
%{__install} -D -p -m 0644 extras/logger.conf.example \
e1d1f9
    %{buildroot}%{_sysconfdir}/glusterfs/logger.conf.example
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%if ( !0%{!?_without_syslog:1} )
e1d1f9
rm %{buildroot}%{_sysconfdir}/glusterfs/gluster-rsyslog-5.8.conf
e1d1f9
rm %{buildroot}%{_sysconfdir}/glusterfs/gluster-rsyslog-7.2.conf
e1d1f9
rm %{buildroot}%{_sysconfdir}/glusterfs/logger.conf.example
e1d1f9
%endif
e1d1f9
e1d1f9
# the rest of the ghosts
e1d1f9
#touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
e1d1f9
#touch %{buildroot}%{_sharedstatedir}/glusterd/options
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/groups
e1d1f9
#%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
e1d1f9
#touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
e1d1f9
#touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
e1d1f9
e1d1f9
%clean
e1d1f9
%{__rm} -rf %{buildroot}
e1d1f9
e1d1f9
%pre
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%post
e1d1f9
/sbin/ldconfig
e1d1f9
e1d1f9
%postun
e1d1f9
/sbin/ldconfig
e1d1f9
e1d1f9
%files
e1d1f9
%defattr(-,root,root,-)
e1d1f9
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/glusterfs-logrotate
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/glusterfs-georep-logrotate
e1d1f9
#%config(noreplace) %{_sysconfdir}/logrotate.d/*
e1d1f9
#%config(noreplace) %{_sysconfdir}/sysconfig/*
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/group-virt.example
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/group-small-file-perf.example
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/gluster-rsyslog-5.8.conf
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/gluster-rsyslog-7.2.conf
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs/logger.conf.example
e1d1f9
%endif
e1d1f9
%{_libdir}/glusterfs
e1d1f9
%{_sbindir}/glusterfs*
e1d1f9
%{_mandir}/man8/*gluster*.8*
e1d1f9
%dir %{_localstatedir}/log/glusterfs
e1d1f9
%dir %{_localstatedir}/run/gluster
e1d1f9
%if ( 0%{!?_without_rdma:1} )
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
e1d1f9
%endif
e1d1f9
# server-side, etc., xlators in other RPMs
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
e1d1f9
# sample xlators not generally used or usable
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat*
e1d1f9
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache*
e1d1f9
e1d1f9
%pre libs
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%post libs
e1d1f9
/sbin/ldconfig
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
%_init_restart rsyslog
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%postun libs
e1d1f9
/sbin/ldconfig
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
%_init_restart rsyslog
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%files libs
e1d1f9
%{_libdir}/*.so.*
e1d1f9
%if ( 0%{!?_without_syslog:1} )
e1d1f9
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
e1d1f9
%{_sysconfdir}/rsyslog.d/gluster.conf
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
%exclude %{_libdir}/libgfapi.*
e1d1f9
e1d1f9
e1d1f9
%if ( 0%{!?_without_rdma:1} )
e1d1f9
e1d1f9
%pre rdma
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%files rdma
e1d1f9
%defattr(-,root,root,-)
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
e1d1f9
%endif
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%if 0%{?_can_georeplicate}
e1d1f9
%if ( 0%{!?_without_georeplication:1} )
e1d1f9
e1d1f9
%pre geo-replication
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%post geo-replication
e1d1f9
%{__chmod} +x %{_datadir}/glusterfs/scripts/get-gfid.sh
e1d1f9
e1d1f9
#restart glusterd.
e1d1f9
#if [ $1 -ge 1 ]; then
e1d1f9
#    %_init_restart glusterd
e1d1f9
#fi
e1d1f9
e1d1f9
%files geo-replication
e1d1f9
%defattr(-,root,root)
e1d1f9
%{_sysconfdir}/logrotate.d/glusterfs-georep
e1d1f9
%{_libexecdir}/glusterfs/gsyncd
e1d1f9
%{_libexecdir}/glusterfs/python/syncdaemon/*
e1d1f9
%{_libexecdir}/glusterfs/gverify.sh
e1d1f9
%{_libexecdir}/glusterfs/peer_add_secret_pub
e1d1f9
%{_libexecdir}/glusterfs/peer_gsec_create
e1d1f9
%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
e1d1f9
%{_datadir}/glusterfs/scripts/get-gfid.sh
e1d1f9
%{_datadir}/glusterfs/scripts/slave-upgrade.sh
e1d1f9
%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
e1d1f9
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
e1d1f9
%{_datadir}/glusterfs/scripts/gsync-sync-gfid
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
e1d1f9
#%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
e1d1f9
#%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
e1d1f9
%endif
e1d1f9
# need to copy the upgrade scripts here
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%pre fuse
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%files fuse
e1d1f9
%defattr(-,root,root,-)
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
e1d1f9
%endif
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse*
e1d1f9
/sbin/mount.glusterfs
e1d1f9
%if ( 0%{!?_without_fusermount:1} )
e1d1f9
%{_bindir}/fusermount-glusterfs
e1d1f9
%endif
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
e1d1f9
%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%pre server
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
# Rename old hookscripts in an RPM-standard way.  These aren't actually
e1d1f9
# overwritten in upgrade setup
e1d1f9
if [ -d /var/lib/glusterd/hooks ]; then
e1d1f9
    for file in $(find /var/lib/glusterd/hooks -type f); do
e1d1f9
        if `echo ${file} | grep -q S56glusterd-geo-rep-create-post.sh$`; then
e1d1f9
            continue
e1d1f9
        fi
e1d1f9
        newfile=`echo ${file} | sed s/S/K/1`.rpmsave
e1d1f9
        echo "warning: ${file} saved as ${newfile}"
e1d1f9
        mv ${file} ${newfile}
e1d1f9
    done
e1d1f9
fi
e1d1f9
e1d1f9
e1d1f9
%files server
e1d1f9
%defattr(-,root,root,-)
e1d1f9
%doc extras/clear_xattrs.sh
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
e1d1f9
%endif
e1d1f9
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
e1d1f9
#%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
e1d1f9
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
e1d1f9
%config(noreplace) %{_sysconfdir}/glusterfs
e1d1f9
# Legacy configs
e1d1f9
%if ( 0%{_for_fedora_koji_builds} )
e1d1f9
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
e1d1f9
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
e1d1f9
%endif
e1d1f9
# init files
e1d1f9
%_init_glusterd
e1d1f9
%if ( 0%{_for_fedora_koji_builds} && 0%{?_with_systemd:1} )
e1d1f9
%_init_glusterfsd
e1d1f9
%endif
e1d1f9
# binaries
e1d1f9
%{_sbindir}/gluster
e1d1f9
%{_sbindir}/glusterd
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage*
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix*
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
e1d1f9
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
e1d1f9
%{_sharedstatedir}/glusterd
e1d1f9
%if 0%{?_can_georeplicate}
e1d1f9
%if ( 0%{!?_without_georeplication:1} )
e1d1f9
%exclude %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
%{_libexecdir}/glusterfs/quota/quota-remove-xattr.sh
e1d1f9
#%config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
e1d1f9
#%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/glusterd.info
e1d1f9
#%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options
e1d1f9
# This is really ugly, but I have no idea how to mark these directories in an
e1d1f9
# other way. They should belong to the glusterfs-server package, but don't
e1d1f9
# exist after installation. They are generated on the first start...
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
e1d1f9
#%ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
e1d1f9
#%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
e1d1f9
#%ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
e1d1f9
%endif
e1d1f9
e1d1f9
%pre api
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%post api
e1d1f9
/sbin/ldconfig
e1d1f9
e1d1f9
%postun api
e1d1f9
/sbin/ldconfig
e1d1f9
e1d1f9
%files api
e1d1f9
%exclude %{_libdir}/*.so
e1d1f9
%{_libdir}/libgfapi.*
e1d1f9
%{_libdir}/glusterfs/%{version}/xlator/mount/api*
e1d1f9
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%if ( 0%{!?_without_ocf:1} )
e1d1f9
%pre resource-agents
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%files resource-agents
e1d1f9
%defattr(-,root,root)
e1d1f9
# /usr/lib is the standard for OCF, also on x86_64
e1d1f9
%{_prefix}/lib/ocf/resource.d/glusterfs
e1d1f9
%endif
e1d1f9
%endif
e1d1f9
e1d1f9
%pre devel
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%files devel
e1d1f9
%defattr(-,root,root,-)
e1d1f9
%{_includedir}/glusterfs
e1d1f9
%{_libdir}/pkgconfig/libgfchangelog.pc
e1d1f9
%exclude %{_includedir}/glusterfs/y.tab.h
e1d1f9
%exclude %{_includedir}/glusterfs/api
e1d1f9
%exclude %{_libdir}/libgfapi.so
e1d1f9
%{_libdir}/*.so
e1d1f9
e1d1f9
%pre api-devel
e1d1f9
pidof -c -o %PPID -x glusterfsd &>/dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
   echo "ERROR: Please kill gluster processes.. installation cannot proceed"
e1d1f9
   echo "Usage: \$ pkill gluster "
e1d1f9
   exit 1
e1d1f9
fi
e1d1f9
e1d1f9
%files api-devel
e1d1f9
%{_libdir}/pkgconfig/glusterfs-api.pc
e1d1f9
%{_libdir}/libgfapi.so
e1d1f9
%{_includedir}/glusterfs/api/*
e1d1f9
e1d1f9
%if 0%{?_build_server}
e1d1f9
%post server
e1d1f9
# Legacy server
e1d1f9
#%_init_enable glusterd
e1d1f9
#%_init_enable glusterfsd
e1d1f9
/sbin/chkconfig --add glusterd
e1d1f9
/sbin/chkconfig glusterd on
e1d1f9
e1d1f9
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
e1d1f9
# there are any files in /etc from a prior gluster.org install, move them
e1d1f9
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
e1d1f9
# in gluster.org RPMs.) Be careful to copy them on the off chance that
e1d1f9
# /etc and /var/lib are on separate file systems
e1d1f9
if [ -d /etc/glusterd -a ! -h /var/lib/glusterd ]; then
e1d1f9
    %{__mkdir_p} /var/lib/glusterd
e1d1f9
    cp -a /etc/glusterd /var/lib/glusterd
e1d1f9
    rm -rf /etc/glusterd
e1d1f9
    ln -sf /var/lib/glusterd /etc/glusterd
e1d1f9
fi
e1d1f9
e1d1f9
# Rename old volfiles in an RPM-standard way.  These aren't actually
e1d1f9
# considered package config files, so %config doesn't work for them.
e1d1f9
if [ -d /var/lib/glusterd/vols ]; then
e1d1f9
    for file in $(find /var/lib/glusterd/vols -name '*.vol'); do
e1d1f9
        newfile=${file}.rpmsave
e1d1f9
        echo "warning: ${file} saved as ${newfile}"
e1d1f9
        cp ${file} ${newfile}
e1d1f9
    done
e1d1f9
fi
e1d1f9
e1d1f9
# Need to copy the file.
e1d1f9
mkdir -p /var/lib/glusterd/groups
e1d1f9
if [ ! -r /var/lib/glusterd/groups/virt ]; then
e1d1f9
   cp %{_sysconfdir}/glusterfs/group-virt.example /var/lib/glusterd/groups/virt
e1d1f9
fi
e1d1f9
if [ ! -r /var/lib/glusterd/groups/small-file-perf ]; then
e1d1f9
   cp %{_sysconfdir}/glusterfs/group-small-file-perf.example /var/lib/glusterd/groups/small-file-perf
e1d1f9
fi
e1d1f9
e1d1f9
# add marker translator
e1d1f9
# but first make certain that there are no old libs around to bite us
e1d1f9
# BZ 834847
e1d1f9
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
e1d1f9
    rm -f /etc/ld.so.conf.d/glusterfs.conf
e1d1f9
    /sbin/ldconfig
e1d1f9
fi
e1d1f9
pidof -c -o %PPID -x glusterd &> /dev/null
e1d1f9
if [ $? -eq 0 ]; then
e1d1f9
    kill -9 `pgrep -f gsyncd.py` &> /dev/null
e1d1f9
e1d1f9
    killall glusterd &> /dev/null
e1d1f9
    glusterd --xlator-option *.upgrade=on -N
e1d1f9
    glusterd
e1d1f9
else
e1d1f9
    glusterd --xlator-option *.upgrade=on -N
e1d1f9
fi
e1d1f9
e1d1f9
e1d1f9
%preun server
e1d1f9
if [ $1 -eq 0 ]; then
e1d1f9
    if [ -f %_init_glusterfsd ]; then
e1d1f9
        %_init_stop glusterfsd
e1d1f9
    fi
e1d1f9
    %_init_stop glusterd
e1d1f9
    if [ -f %_init_glusterfsd ]; then
e1d1f9
        %_init_disable glusterfsd
e1d1f9
    fi
e1d1f9
    %_init_disable glusterd
e1d1f9
fi
e1d1f9
if [ $1 -ge 1 ]; then
e1d1f9
    if [ -f %_init_glusterfsd ]; then
e1d1f9
        %_init_restart glusterfsd
e1d1f9
    fi
e1d1f9
    %_init_restart glusterd
e1d1f9
fi
e1d1f9
%endif
e1d1f9
e1d1f9
%changelog
e1d1f9
* Fri Nov 08 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.40rhs-2
e1d1f9
- add aarch64 build support
e1d1f9
* Thu Nov 07 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.40rhs-1
e1d1f9
- fixes the bug 1016478 1019522 1025358 1025392 1027525 987292
e1d1f9
* Tue Nov 05 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.39rhs-1
e1d1f9
- fixes the bug 1000948 1002987 1010239 1014002 1022830 1025205 1025392
e1d1f9
  1025408 1025476 1025604 1025953 1025954 1025956 1025967
e1d1f9
* Fri Nov 01 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.38rhs-1
e1d1f9
- fixes the bug 1002885 1022830 1025163 1025205 1025333 1025408 1025471
e1d1f9
* Wed Oct 30 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.37rhs-1
e1d1f9
- bug fixes for 1000903 1001895 1012900 1016019 1016019 1019504 1019518
e1d1f9
  1019903 1019930 1019954 1020886 1022518 1022582 1022830 1023124 1023124
e1d1f9
  1023124 1024496 871015 980910 980910 998793 998943
e1d1f9
* Tue Oct 22 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.36rhs-1
e1d1f9
- bug fixes for 1002885 1021808 1007536 1017014 1012216 998786 977544
e1d1f9
  1016385 858434 1001895 1012900 980910 1001556
e1d1f9
* Tue Oct 15 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.35rhs-1
e1d1f9
- bug fixes for 969461 1000948 1000936 1011694 1013556 1016971 979641
e1d1f9
  950314 852140 980778 1006172 1005553 1005478 1007866 998914 981035
e1d1f9
* Mon Oct 07 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.34rhs-1
e1d1f9
- bug fixes for 852140 950314 980778 998832 998914 998943 1000922
e1d1f9
  1000996 1001893 1001895 1002022 1002613 1003580 1005460 1005478
e1d1f9
  1005553 1006172 1007866 1008173 1009851 1011694 1011905
e1d1f9
* Mon Oct 07 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.33rhs-2
e1d1f9
- fix build issue in rhel 7.0 to include gluster rsyslog config files
e1d1f9
  in glusterfs.rpm
e1d1f9
* Sun Sep 08 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.33rhs-1
e1d1f9
- fix for gfid mismatches in distribute when parallel 'mkdir()' is done
e1d1f9
* Fri Sep 06 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.32rhs-1
e1d1f9
- fixes to hardened build to pass execstack check in rpmdiff
e1d1f9
- fix the compatibility issue with older servers (bz#999944)
e1d1f9
* Thu Sep 05 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.31rhs-1
e1d1f9
- fixes to geo-replication upgrade script to handle symlink (bz#1001089)
e1d1f9
- fixes to glusterd to handle op-version properly to allow 'volume set' to
e1d1f9
  happen even in older clients connected case (bz#1002871)
e1d1f9
- fixes in geo-replication to handle hardlink migration properly (bz#1001498)
e1d1f9
* Fri Aug 30 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.30rhs-2
e1d1f9
- skip S56glusterd-geo-rep-create-post.sh in rename
e1d1f9
* Fri Aug 30 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.30rhs-1
e1d1f9
- remove rsyslog-mmcount than disabling syslog
e1d1f9
- fixes few quota bugs
e1d1f9
* Fri Aug 30 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.29rhs-1
e1d1f9
- fix for smb crashes (bz#1000545 && bz#1001614)
e1d1f9
- fix the hook script upgrade issues (bz#1002603)
e1d1f9
* Thu Aug 29 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.28rhs-1
e1d1f9
- fix for afr's wrong internal flag setting in case of a brick down (bz#1002069)
e1d1f9
* Thu Aug 29 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.27rhs-1
e1d1f9
- fix the glusterd crash (bz#990125)
e1d1f9
- fix the hang seen in case of rebalance/self-heal with RHOS setup (bz#999528)
e1d1f9
* Thu Aug 29 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.26rhs-1
e1d1f9
- Build with the quota feature rework
e1d1f9
* Thu Aug 29 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.25rhs-1
e1d1f9
- fixes a issue with peer probe of newer servers after upgrade (bz#1000986)
e1d1f9
- fixes NFS file handle sizes issue with older clients (bz#902857)
e1d1f9
- geo-replication's session distribution is now more deterministic (bz#980049)
e1d1f9
* Mon Aug 27 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.24rhs-1
e1d1f9
- resolves rhbz#1000957 rhbz#999939 rhbz#994351 rhbz#988900 rhbz#999825 rhbz#1000396
e1d1f9
* Mon Aug 26 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.23rhs-1
e1d1f9
- resolves rhbz#982471, rhbz#902857, rhbz#993891, rhbz#999921, rhbz#999921
e1d1f9
* Fri Aug 23 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.22rhs-2
e1d1f9
- disable syslog temporarily till rsyslog is included in rhs channel
e1d1f9
* Thu Aug 22 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.22rhs-1
e1d1f9
- updated glusterfs.spec from the source repository.
e1d1f9
- fixes the bugs: 893960 984921 987082 990125 991021 996083 996987 996999 998416
e1d1f9
* Tue Aug 20 2013 Balamurugan Arumugam <barumuga@redhat.com> - 3.4.0.21rhs-1
e1d1f9
- resolves rhbz#928784
e1d1f9
* Wed Aug 14 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.20rhs-2
e1d1f9
- fixed the path of 'chmod' in geo-replication 'post' section
e1d1f9
* Wed Aug 14 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.20rhs-1
e1d1f9
- fixed an issue with geo-rep create (bz996961)
e1d1f9
- fixed an build issue in RHEL5 (in the source)
e1d1f9
* Wed Aug 14 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.19rhs-2
e1d1f9
- fixed 'Installed (but unpackaged) file(s) found' for non-server builds
e1d1f9
* Mon Aug  13 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.19rhs-1
e1d1f9
- resolves bugs (921385 923555 960046 980529 983507 989906 990125 994956 996312 996431)
e1d1f9
* Mon Aug  7 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.18rhs-1
e1d1f9
- resolves rhbz#988852, rhbz#989192, rhbz#989435, rhbz#990084, rhbz#992959, rhbz#993583, rhbz#993713
e1d1f9
* Mon Aug  6 2013 Vijay Bellur <vbellur@redhat.com> - 3.4.0.17rhs-1
e1d1f9
- Enables orthogonal-meta-data option in afr by default.
e1d1f9
* Mon Aug  6 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.16rhs-1
e1d1f9
- resolves rhbz#993270
e1d1f9
* Mon Aug  6 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.15rhs-6
e1d1f9
- remove /usr/lib/ocf/resource.d/glusterfs for client builds
e1d1f9
* Mon Aug  6 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.15rhs-5
e1d1f9
- set correct dependencies between glusterfs subpackages
e1d1f9
* Mon Aug  5 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.15rhs-4
e1d1f9
- remove /usr/bin/fusermount dependency for fuse
e1d1f9
* Mon Aug  5 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.15rhs-3
e1d1f9
- make geo-replication as dependency to server
e1d1f9
* Mon Aug  5 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.15rhs-2
e1d1f9
- rpm restructuring done
e1d1f9
* Mon Aug 05 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.15rhs_1
e1d1f9
- fixes for bugs (858492 924572 957685 958199 960938 968879 969372
e1d1f9
  975343 980529 981158 981318 981612 983950 985236 988852 988914
e1d1f9
  989248 989465 989906 990060 990368 990510 990548 990562 990958 990961)
e1d1f9
* Tue Jul 30 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.14rhs-1
e1d1f9
- resolves rhbz#989689
e1d1f9
* Sun Jul 28 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.13rhs
e1d1f9
- rebase of the branch back to 'rhs-2.1'
e1d1f9
- 'gluster volume set <VOL> group small-file-perf' is added
e1d1f9
- fixes an issue with init.d/glusterd output not right (bz958708)
e1d1f9
* Wed Jul 24 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta6
e1d1f9
- fixes to few bugs in quota (multivolume support, etc)
e1d1f9
- geo-rep xsync missing few files, now fixed
e1d1f9
- patches for bzs: (850514 852294 928784 956494 975754 981553 981661 982184
e1d1f9
  983040 984414 984942 985380 985384 985388 985752 986158 986162 986885
e1d1f9
  986929 987126 987432)
e1d1f9
e1d1f9
* Thu Jul 18 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta5_2
e1d1f9
- fix a build warning, which caused failure of glusterd processes starting.
e1d1f9
* Thu Jul 18 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta5
e1d1f9
- fixes for bugs 852578 956494 970686 974913 976292 976755 982181 983476
e1d1f9
  983544 983966 984447.
e1d1f9
* Fri Jul 12 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta4
e1d1f9
- more fixes to geo-rep and quota
e1d1f9
- other bug fixes include (918510 920870 924048 952420 956494 956619 
e1d1f9
  962621 980723 980725 981653 981949 982078 982479)
e1d1f9
* Sat Jul 06 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta3
e1d1f9
- brick process crashes in debug mode during volume set/quota limit set
e1d1f9
- fix issues with geo-replication syncing if data existed already.
e1d1f9
- geo-replication entry creation when done in parallel
e1d1f9
* Thu Jul 04 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta2
e1d1f9
- couple of minor fixes in geo-rep
e1d1f9
- fixed the quota reconfigure issue (now restarts quotad to make
e1d1f9
  sure the list is properly processed
e1d1f9
- other bug fixes in base (bz919209 bz961608 bz969461 bz974055 bz974393
e1d1f9
  bz974475 bz975343 bz980117 bz980348 bz980468 bz980518 bz980722 bz980798)
e1d1f9
* Fri Jun 28 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta1
e1d1f9
- added one of the geo-replication hook file in install path
e1d1f9
- fixed code in changelog to pass the rhel5 build
e1d1f9
* Thu Jun 27 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.12rhs.beta0
e1d1f9
- added distributed-geo-rep feature
e1d1f9
- added server side quota feature
e1d1f9
* Mon Jun 24 2013 Arumugam Balamurugan <barumuga@redhat.com> - 3.4.0.12rhs
e1d1f9
- fixes rhbz#924572 rhbz#955948 rhbz#956034 rhbz#962286 rhbz#972653
e1d1f9
- rhbz#975343
e1d1f9
* Tue Jun 18 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.11rhs
e1d1f9
- gfapi patches for support vfs_glusterfs for samba are merged
e1d1f9
* Tue Jun 18 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.10rhs
e1d1f9
- fixes to bugs 959208 959869 961250 962510 964020 964054 968289 974913
e1d1f9
* Fri Jun 05 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.9rhs
e1d1f9
- fix lockfile issue with init.d file
e1d1f9
- clients not having /var/run/gluster directory for statedump (bz917544)
e1d1f9
- other bugs from source tarball (bz923466 bz924572 bz956188 bz958076 bz959201 bz959907 bz960390 bz960834 bz960835 bz961271 bz962345 bz962400 bz963122 bz963534 bz963896 bz964020 bz965440 bz967483)
e1d1f9
* Tue May 14 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.8rhs
e1d1f9
- fix glusterd.info file re-writing issue (bz962343 & bz961703)
e1d1f9
- fix port reconnect issues at socket layer (bz960586)
e1d1f9
- add glusterd in chkconfig
e1d1f9
* Mon May 13 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.7rhs
e1d1f9
- fix a memory corruption issue with RPC layer (bz961198)
e1d1f9
- fix in distribute migration check code (bz960843)
e1d1f9
* Thu May 10 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.6rhs
e1d1f9
- fix a missing hooks issue (bz960982)
e1d1f9
* Thu May 09 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.5rhs
e1d1f9
- fix issue with server package installation
e1d1f9
- root-squash fixes
e1d1f9
- reverted few replicate patches
e1d1f9
* Tue May 07 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.4rhs
e1d1f9
- fixed hook scripts
e1d1f9
- nfs crash fix
e1d1f9
- couple glusterd crashes fixed (syncop lock related fixes)
e1d1f9
- dht rebalance crash fix
e1d1f9
- quorum restart logic fixes
e1d1f9
* Fri May 03 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.3rhs
e1d1f9
- fixed issues 'virt' group file, and multiple option handling
e1d1f9
- fixed couple of crashes with glusterd
e1d1f9
* Thu May 02 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.2rhs
e1d1f9
- rebase to upstream/master branch
e1d1f9
  (commit: b6e10801bee030fe7fcd1ec3bfac947ce44d023d)
e1d1f9
- added 'virt' group file.
e1d1f9
* Tue Apr 09 2013 Amar Tumballi <atumball@redhat.com> - 3.4.0.1rhs
e1d1f9
- rebase to upstream/release-3.4 branch
e1d1f9
* Mon Feb 18 2013 Raghavendra Bhat <rabhat@redhat.com> - 3.4.0qa8
e1d1f9
- quick-read refactor
e1d1f9
- integrate trace and event-history
e1d1f9
- performance/md-cache: make readdirp configurable
e1d1f9
- io-stats: handle open failures gracefully
e1d1f9
- object-storage: use temp file optimization
e1d1f9
* Thu Jan 17 2013 Vijay Bellur <vbellur@redhat.com> - 3.4.0.qa6
e1d1f9
- Added packaging for resource-agents
e1d1f9
* Fri Jan 11 2013 Vijay Bellur <vbellur@redhat.com> - 3.4.0.qa6
e1d1f9
- Upstream rebase #4 for 2.1
e1d1f9
* Mon Dec 17 2012 Vijay Bellur <vbellur@redhat.com> - 3.4.0.qa5
e1d1f9
- Upstream rebase #3 for 2.1
e1d1f9
* Wed Dec 05 2012 Vijay Bellur <vbellur@redhat.com> - 3.4.0.qa4
e1d1f9
- Upstream rebase #2 for 2.1
e1d1f9
* Thu Nov 01 2012 Vijay Bellur <vbellur@redhat.com> - 3.4.0.1rhs
e1d1f9
- 2.1 rebase
e1d1f9
* Wed Oct 10 2012 Amar Tumballi <atumball@redhat.com> - 3.3.0.3rhs-33
e1d1f9
- valid hostname fix (bz863908)
e1d1f9
- smb.conf init script issues (bz863907)
e1d1f9
- geo-replication: rsync number of argument (bz859173)
e1d1f9
* Mon Oct 01 2012 Amar Tumballi <atumball@redhat.com> - 3.3.0.3rhs-32
e1d1f9
- bug fixes in quorum support
e1d1f9
* Fri Sep 28 2012 Amar Tumballi <atumball@redhat.com> - 3.3.0.3rhs-31
e1d1f9
- server side quorum support added
e1d1f9
* Tue Sep 11 2012 Amar Tumballi <atumball@redhat.com> - 3.3.0.2rhs-29
e1d1f9
- changing the upstream tarball version (no code difference from -28)
e1d1f9
* Mon Sep 10 2012 Amar Tumballi <atumball@redhat.com> - 3.3.0-28
e1d1f9
- glusterd: Fix a crash when volume status is issued
e1d1f9
* Fri Sep 07 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-27
e1d1f9
- Improvements in GlusterFS statedump infrastructure
e1d1f9
- glusterd, glusterfsd: Fix a crash when rpc submission fails
e1d1f9
* Fri Aug 17 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-26
e1d1f9
- Updated to gluster 3.3.0-26 build
e1d1f9
* Wed Jul 25 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-25
e1d1f9
- Updated to gluster 3.3.0-25 build
e1d1f9
* Tue Jul 24 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-24
e1d1f9
- Updated to gluster 3.3.0-24 build
e1d1f9
* Thu Jul 19 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-23
e1d1f9
- Updated to gluster 3.3.0-23 build
e1d1f9
* Tue Jun 19 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-22
e1d1f9
- Updated to gluster 3.3.0-22 build
e1d1f9
* Fri Jun 15 2012 Anthony Towns <atowns@redhat.com> - 3.3.0-21
e1d1f9
- Allow building only native client packages.
e1d1f9
* Thu Jun 14 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0-20
e1d1f9
- Updated to gluster 3.3.0 build
e1d1f9
* Wed May 30 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0qa45-1
e1d1f9
- Updated to gluster 3.3 qa45 build
e1d1f9
* Tue May 29 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0qa44-1
e1d1f9
- Updated to gluster 3.3 qa44 build
e1d1f9
* Wed May 23 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0qa43-1
e1d1f9
- Updated to gluster 3.3 qa43 build
e1d1f9
* Wed May 16 2012 Vijay Bellur <vbellur@redhat.com> - 3.3.0qa41-1
e1d1f9
- Updated to gluster 3.3 qa41 build
e1d1f9
* Tue May 08 2012 Anthony Towns <atowns@redhat.com> - 3.3.0qa40-1
e1d1f9
- Updated to gluster 3.3 qa40 build