GlusterFS 3.5.0 GA

This commit is contained in:
Kaleb S. KEITHLEY 2014-04-17 13:13:07 -04:00
parent 71fcafd50d
commit 5cbf40d990
2 changed files with 328 additions and 145 deletions

View File

@ -1,10 +1,9 @@
%global _hardened_build 1 %global _hardened_build 1
%global _for_fedora_koji_builds 1 %global _for_fedora_koji_builds 1
# uncomment and add '%' to use the prereltag for pre-releases # uncomment and add '%' to use the prereltag for pre-releases
# %%global prereltag beta2 # %%global prereltag beta5
# if you wish to compile an rpm without rdma support, compile like this... # if you wish to compile an rpm without rdma support, compile like this...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma
@ -25,12 +24,21 @@
# if you wish to compile an rpm without geo-replication support, compile like this... # if you wish to compile an rpm without geo-replication support, compile like this...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication
%{?_without_georeplication:%global _without_georeplication --disable-geo-replication} %{?_without_georeplication:%global _without_georeplication --disable-georeplication}
# if you wish to compile an rpm without the OCF resource agents... # if you wish to compile an rpm without the OCF resource agents...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf
%{?_without_ocf:%global _without_ocf --without-ocf} %{?_without_ocf:%global _without_ocf --without-ocf}
# if you wish to build rpms without syslog logging, compile like this
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without syslog
%{?_without_syslog:%global _without_syslog --disable-syslog}
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
%global _without_syslog --disable-syslog
%endif
# there is no systemtap support! Perhaps some day there will be # there is no systemtap support! Perhaps some day there will be
%global _without_systemtap --enable-systemtap=no %global _without_systemtap --enable-systemtap=no
@ -38,10 +46,19 @@
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd
%{?_without_bd:%global _without_bd --disable-bd-xlator} %{?_without_bd:%global _without_bd --disable-bd-xlator}
%if ( 0%{?rhel} && 0%{?rhel} < 6 ) %if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} )
%define _without_bd --disable-bd-xlator %define _without_bd --disable-bd-xlator
%endif %endif
# if you wish to compile an rpm without the qemu-block support...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without qemu-block
%{?_without_qemu_block:%global _without_qemu_block --disable-qemu-block}
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
# xlators/features/qemu-block fails to build on RHEL5, disable it
%define _without_qemu_block --disable-qemu-block
%endif
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) %if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
%global _with_systemd true %global _with_systemd true
%endif %endif
@ -55,8 +72,8 @@
Summary: Cluster File System Summary: Cluster File System
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
Name: glusterfs Name: glusterfs
Version: 3.4.3 Version: 3.5.0
Release: 3%{?prereltag:.%{prereltag}}%{?dist} Release: 1%{?prereltag:.%{prereltag}}%{?dist}
Vendor: Fedora Project Vendor: Fedora Project
%else %else
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
@ -68,7 +85,7 @@ License: GPLv2 or LGPLv3+
Group: System Environment/Base Group: System Environment/Base
URL: http://www.gluster.org/docs/index.php/GlusterFS URL: http://www.gluster.org/docs/index.php/GlusterFS
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
Source1: glusterd.sysconfig Source1: glusterd.sysconfig
Source2: glusterfsd.sysconfig Source2: glusterfsd.sysconfig
Source3: glusterfs-fuse.logrotate Source3: glusterfs-fuse.logrotate
@ -77,16 +94,15 @@ Source5: glusterfsd.logrotate
Source6: rhel5-load-fuse-modules Source6: rhel5-load-fuse-modules
Source11: glusterfsd.service Source11: glusterfsd.service
Source13: glusterfsd.init Source13: glusterfsd.init
Patch0: %{name}-3.2.5.configure.ac.patch
Patch1: %{name}-3.3.0.libglusterfs.Makefile.patch
Patch2: %{name}-3.3.1.rpc.rpcxprt.rdma.name.c.patch
Patch3: %{name}-3.4.3.xlator.nfs.server.nlm4.c.patch
%else %else
Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
%endif %endif
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
BuildRequires: python-simplejson
%endif
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%global glusterfsd_service %{S:%{SOURCE11}} %global glusterfsd_service %{S:%{SOURCE11}}
@ -99,7 +115,7 @@ Requires(postun): systemd-units
%define _init_disable() /bin/systemctl disable %1.service ; %define _init_disable() /bin/systemctl disable %1.service ;
%define _init_restart() /bin/systemctl try-restart %1.service ; %define _init_restart() /bin/systemctl try-restart %1.service ;
%define _init_stop() /bin/systemctl stop %1.service ; %define _init_stop() /bin/systemctl stop %1.service ;
%define _init_install() %{__install} -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ; %define _init_install() install -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;
# can't seem to make a generic macro that works # can't seem to make a generic macro that works
%define _init_glusterd %{_unitdir}/glusterd.service %define _init_glusterd %{_unitdir}/glusterd.service
%define _init_glusterfsd %{_unitdir}/glusterfsd.service %define _init_glusterfsd %{_unitdir}/glusterfsd.service
@ -115,7 +131,7 @@ Requires(postun): /sbin/service
%define _init_disable() /sbin/chkconfig --del %1 ; %define _init_disable() /sbin/chkconfig --del %1 ;
%define _init_restart() /sbin/service %1 condrestart &>/dev/null ; %define _init_restart() /sbin/service %1 condrestart &>/dev/null ;
%define _init_stop() /sbin/service %1 stop &>/dev/null ; %define _init_stop() /sbin/service %1 stop &>/dev/null ;
%define _init_install() %{__install} -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ; %define _init_install() install -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;
# can't seem to make a generic macro that works # can't seem to make a generic macro that works
%define _init_glusterd %{_sysconfdir}/init.d/glusterd %define _init_glusterd %{_sysconfdir}/init.d/glusterd
%define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
@ -135,12 +151,19 @@ BuildRequires: systemtap-sdt-devel
%if ( 0%{!?_without_bd:1} ) %if ( 0%{!?_without_bd:1} )
BuildRequires: lvm2-devel BuildRequires: lvm2-devel
%endif %endif
%if ( 0%{!?_without_qemu_block:1} )
BuildRequires: glib2-devel
%endif
%if ( 0%{!?_without_georeplication:1} )
BuildRequires: libattr-devel
%endif
Obsoletes: hekafs <= 0.7 Obsoletes: hekafs
Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release}
Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release}
Provides: %{name}-common = %{version}-%{release} Provides: %{name}-common = %{version}-%{release}
Provides: %{name}-core = %{version}-%{release} Provides: %{name}-core = %{version}-%{release}
Obsoletes: %{name}-ufo
# We do not want to generate useless provides and requires for xlator .so files # We do not want to generate useless provides and requires for xlator .so files
# Filter all generated: # Filter all generated:
@ -149,7 +172,7 @@ Provides: %{name}-core = %{version}-%{release}
%if ( 0%{?rhel} == 6 ) %if ( 0%{?rhel} == 6 )
# filter_setup exists in RHEL6 only # filter_setup exists in RHEL6 only
%filter_provides_in %{_libdir}/glusterfs/%{version}/ %filter_provides_in %{_libdir}/glusterfs/%{version}/
%global __filter_from_req %{?__filter_from_req} | %{__grep} -v -P '^(?!lib).*\.so.*$' %global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
%filter_setup %filter_setup
%else %else
# modern rpm and current Fedora do not generate requires when the # modern rpm and current Fedora do not generate requires when the
@ -157,6 +180,13 @@ Provides: %{name}-core = %{version}-%{release}
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$ %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
%endif %endif
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
%if ( 0%{?rhel} && 0%{?rhel} < 6 )
# _sharedstatedir is not provided by RHEL5
%define _sharedstatedir /var/lib
%endif
%description %description
GlusterFS is a clustered file-system capable of scaling to several GlusterFS is a clustered file-system capable of scaling to several
petabytes. It aggregates various storage bricks over Infiniband RDMA petabytes. It aggregates various storage bricks over Infiniband RDMA
@ -173,6 +203,14 @@ both GlusterFS server and client framework.
%package libs %package libs
Summary: GlusterFS common libraries Summary: GlusterFS common libraries
Group: Applications/File Group: Applications/File
%if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
Requires: rsyslog-mmjsonparse
%endif
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
Requires: rsyslog-mmcount
%endif
%endif
%description libs %description libs
GlusterFS is a clustered file-system capable of scaling to several GlusterFS is a clustered file-system capable of scaling to several
@ -227,6 +265,7 @@ Summary: GlusterFS Geo-replication
Group: Applications/File Group: Applications/File
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release} Requires: %{name}-server = %{version}-%{release}
Requires: python python-ctypes
%description geo-replication %description geo-replication
GlusterFS is a clustered file-system capable of scaling to several GlusterFS is a clustered file-system capable of scaling to several
@ -268,7 +307,6 @@ Requires: %{name} = %{version}-%{release}
Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-fuse = %{version}-%{release} Requires: %{name}-fuse = %{version}-%{release}
Requires: e2fsprogs xfsprogs
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
Requires: rpcbind Requires: rpcbind
%else %else
@ -302,13 +340,32 @@ terms of features and extensibility. It borrows a powerful concept
called Translators from GNU Hurd kernel. Much of the code in GlusterFS called Translators from GNU Hurd kernel. Much of the code in GlusterFS
is in user space and easily manageable. is in user space and easily manageable.
This package provides the glusterfs libgfapi library This package provides the glusterfs libgfapi library.
%package extra-xlators
Summary: Extra Gluster filesystem Translators
Group: Applications/File
# We need -api rpm for its __init__.py in Python site-packages area
Requires: %{name}-api = %{version}-%{release}
Requires: python python-ctypes
%description extra-xlators
GlusterFS is a clustered file-system capable of scaling to several
petabytes. It aggregates various storage bricks over Infiniband RDMA
or TCP/IP interconnect into one large parallel network file
system. GlusterFS is one of the most sophisticated file systems in
terms of features and extensibility. It borrows a powerful concept
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
is in user space and easily manageable.
This package provides extra filesystem Translators, such as Glupy,
for GlusterFS.
%if ( 0%{!?_without_ocf:1} ) %if ( 0%{!?_without_ocf:1} )
%package resource-agents %package resource-agents
Summary: OCF Resource Agents for GlusterFS Summary: OCF Resource Agents for GlusterFS
License: GPLv3+ License: GPLv3+
%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) %if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) )
# EL5 does not support noarch sub-packages # EL5 does not support noarch sub-packages
BuildArch: noarch BuildArch: noarch
%endif %endif
@ -341,6 +398,8 @@ like Pacemaker.
Summary: Development Libraries Summary: Development Libraries
Group: Development/Libraries Group: Development/Libraries
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
# Needed for the Glupy examples to work
Requires: %{name}-extra-xlators = %{version}-%{release}
%description devel %description devel
GlusterFS is a clustered file-system capable of scaling to several GlusterFS is a clustered file-system capable of scaling to several
@ -370,86 +429,115 @@ is in user space and easily manageable.
This package provides the api include files. This package provides the api include files.
%package regression-tests
Summary: Development Tools
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
Requires: %{name}-fuse = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng lvm2
Requires: python attr dbench git nfs-utils xfsprogs
%description regression-tests
The Gluster Test Framework, is a suite of scripts used for
regression testing of Gluster.
%prep %prep
%setup -q -n %{name}-%{version}%{?prereltag} %setup -q -n %{name}-%{version}%{?prereltag}
%if ( 0%{_for_fedora_koji_builds} )
#%patch0 -p0
%patch1 -p0 -F4
%if ( "%{version}" == "3.3.1" )
%patch2 -p1
%endif
%if ( "%{version}" == "3.4.3" )
%patch3 -p1
%endif
%endif
%build %build
./autogen.sh ./autogen.sh
%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_bd} %{?_without_systemtap} %configure \
%{?_without_rdma} \
%{?_without_epoll} \
%{?_without_fusermount} \
%{?_without_georeplication} \
%{?_without_ocf} \
%{?_without_syslog} \
%{?_without_bd} \
%{?_without_qemu_block} \
%{?_without_systemtap}
# fix hardening and remove rpath in shlibs # fix hardening and remove rpath in shlibs
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) %if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
%{__sed} -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
%endif %endif
%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
%{__make} %{?_smp_mflags} make %{?_smp_mflags}
# Build Glupy
pushd xlators/features/glupy/src
FLAGS="$RPM_OPT_FLAGS" python setup.py build
popd
# Build the Python libgfapi examples
pushd api/examples pushd api/examples
FLAGS="$RPM_OPT_FLAGS" python setup.py build FLAGS="$RPM_OPT_FLAGS" python setup.py build
popd popd
%install %install
%{__rm} -rf %{buildroot} rm -rf %{buildroot}
%{__make} install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
# install the Glupy Python library in /usr/lib/python*/site-packages
pushd xlators/features/glupy/src
python setup.py install --skip-build --verbose --root %{buildroot}
popd
# install the gfapi Python library in /usr/lib/python*/site-packages # install the gfapi Python library in /usr/lib/python*/site-packages
pushd api/examples pushd api/examples
python setup.py install --skip-build --verbose --root %{buildroot} python setup.py install --skip-build --verbose --root %{buildroot}
popd popd
# Install include directory # Install include directory
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs mkdir -p %{buildroot}%{_includedir}/glusterfs
%{__install} -p -m 0644 libglusterfs/src/*.h \ install -p -m 0644 libglusterfs/src/*.h \
%{buildroot}%{_includedir}/glusterfs/ %{buildroot}%{_includedir}/glusterfs/
%{__install} -p -m 0644 contrib/uuid/*.h \ install -p -m 0644 contrib/uuid/*.h \
%{buildroot}%{_includedir}/glusterfs/ %{buildroot}%{_includedir}/glusterfs/
# Following needed by hekafs multi-tenant translator # Following needed by hekafs multi-tenant translator
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc mkdir -p %{buildroot}%{_includedir}/glusterfs/rpc
%{__install} -p -m 0644 rpc/rpc-lib/src/*.h \ install -p -m 0644 rpc/rpc-lib/src/*.h \
%{buildroot}%{_includedir}/glusterfs/rpc/ %{buildroot}%{_includedir}/glusterfs/rpc/
%{__install} -p -m 0644 rpc/xdr/src/*.h \ install -p -m 0644 rpc/xdr/src/*.h \
%{buildroot}%{_includedir}/glusterfs/rpc/ %{buildroot}%{_includedir}/glusterfs/rpc/
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server mkdir -p %{buildroot}%{_includedir}/glusterfs/server
%{__install} -p -m 0644 xlators/protocol/server/src/*.h \ install -p -m 0644 xlators/protocol/server/src/*.h \
%{buildroot}%{_includedir}/glusterfs/server/ %{buildroot}%{_includedir}/glusterfs/server/
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%{__install} -D -p -m 0644 %{SOURCE1} \ install -D -p -m 0644 %{SOURCE1} \
%{buildroot}%{_sysconfdir}/sysconfig/glusterd %{buildroot}%{_sysconfdir}/sysconfig/glusterd
%{__install} -D -p -m 0644 %{SOURCE2} \ install -D -p -m 0644 %{SOURCE2} \
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
%else %else
%{__install} -D -p -m 0644 extras/glusterd-sysconfig \ install -D -p -m 0644 extras/glusterd-sysconfig \
%{buildroot}%{_sysconfdir}/sysconfig/glusterd %{buildroot}%{_sysconfdir}/sysconfig/glusterd
%endif %endif
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) %if ( 0%{?rhel} && 0%{?rhel} <= 5 )
%{__install} -D -p -m 0755 %{SOURCE6} \ install -D -p -m 0755 %{SOURCE6} \
%{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
%endif %endif
%endif %endif
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
%{__mkdir_p} %{buildroot}%{_localstatedir}/run/gluster mkdir -p %{buildroot}%{_localstatedir}/run/gluster
# Remove unwanted files from all the shared libraries # Remove unwanted files from all the shared libraries
find %{buildroot}%{_libdir} -name '*.a' -delete find %{buildroot}%{_libdir} -name '*.a' -delete
find %{buildroot}%{_libdir} -name '*.la' -delete find %{buildroot}%{_libdir} -name '*.la' -delete
# Remove installed docs, they're included by %%doc # Remove installed docs, the ones we want are included by %%doc, in
%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ # /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
# on the distribution
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
rm -rf %{buildroot}%{_pkgdocdir}/*
%else
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
mkdir -p %{buildroot}%{_pkgdocdir}
%endif
head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog
cat << EOM >> ChangeLog cat << EOM >> ChangeLog
@ -458,12 +546,20 @@ https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prerelt
EOM EOM
# Remove benchmarking and other unpackaged files # Remove benchmarking and other unpackaged files
%{__rm} -rf %{buildroot}/benchmarking %if ( 0%{?rhel} && 0%{?rhel} < 6 )
%{__rm} -f %{buildroot}/glusterfs-mode.el rm -rf %{buildroot}/benchmarking
%{__rm} -f %{buildroot}/glusterfs.vim rm -f %{buildroot}/glusterfs-mode.el
rm -f %{buildroot}/glusterfs.vim
%else
# make install always puts these in %%{_defaultdocdir}/%%{name} so don't
# use %%{_pkgdocdir}; that will be wrong on later Fedora distributions
rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el
rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim
%endif
# Create working directory # Create working directory
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
# Update configuration file to /var/lib working directory # Update configuration file to /var/lib working directory
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
@ -476,74 +572,118 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
# Client logrotate entry # Client logrotate entry
%{__install} -D -p -m 0644 %{SOURCE3} \ install -D -p -m 0644 %{SOURCE3} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse
# Server logrotate entry # Server logrotate entry
%{__install} -D -p -m 0644 %{SOURCE4} \ install -D -p -m 0644 %{SOURCE4} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterd %{buildroot}%{_sysconfdir}/logrotate.d/glusterd
# Legacy server logrotate entry # Legacy server logrotate entry
%{__install} -D -p -m 0644 %{SOURCE5} \ install -D -p -m 0644 %{SOURCE5} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
%else %else
%{__install} -D -p -m 0644 extras/glusterfs-logrotate \ install -D -p -m 0644 extras/glusterfs-logrotate \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
%endif %endif
%if ( 0%{!?_without_georeplication:1} ) %if ( 0%{!?_without_georeplication:1} )
# geo-rep ghosts # geo-rep ghosts
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
install -D -p -m 0644 extras/glusterfs-georep-logrotate \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep
%endif
%if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
install -D -p -m 0644 extras/gluster-rsyslog-7.2.conf \
%{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example
%endif
%if ( 0%{?rhel} && 0%{?rhel} == 6 )
install -D -p -m 0644 extras/gluster-rsyslog-5.8.conf \
%{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf.example
%endif
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
install -D -p -m 0644 extras/logger.conf.example \
%{buildroot}%{_sysconfdir}/glusterfs/logger.conf.example
%endif
%endif %endif
# the rest of the ghosts # the rest of the ghosts
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
touch %{buildroot}%{_sharedstatedir}/glusterd/options touch %{buildroot}%{_sharedstatedir}/glusterd/options
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1 mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/post
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/groups mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs/run mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/groups
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%if ( 0%{!?_without_georeplication:1} )
install -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
%endif
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
%clean %clean
%{__rm} -rf %{buildroot} rm -rf %{buildroot}
%post %post
/sbin/ldconfig %if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%_init_restart rsyslog
%endif
%endif
%postun %postun
/sbin/ldconfig %if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%_init_restart rsyslog
%endif
%endif
%files %files
%defattr(-,root,root,-)
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
%config(noreplace) %{_sysconfdir}/logrotate.d/* %config(noreplace) %{_sysconfdir}/logrotate.d/*
%config(noreplace) %{_sysconfdir}/sysconfig/* %config(noreplace) %{_sysconfdir}/sysconfig/*
%if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%{_sysconfdir}/rsyslog.d/gluster.conf.example
%endif
%endif
%{_libdir}/glusterfs %{_libdir}/glusterfs
%{_sbindir}/glusterfs* %{_sbindir}/glusterfs*
%{_mandir}/man8/*gluster*.8* %{_mandir}/man8/*gluster*.8*
@ -562,16 +702,18 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
# Glupy files are in the -extra-xlators package
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy*
# sample xlators not generally used or usable # sample xlators not generally used or usable
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache*
%{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh
%{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh
%post libs %post libs -p /sbin/ldconfig
/sbin/ldconfig
%postun libs %postun libs -p /sbin/ldconfig
/sbin/ldconfig
%files libs %files libs
%{_libdir}/*.so.* %{_libdir}/*.so.*
@ -583,7 +725,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%if ( 0%{!?_without_rdma:1} ) %if ( 0%{!?_without_rdma:1} )
%files rdma %files rdma
%defattr(-,root,root,-)
%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
%endif %endif
@ -595,15 +736,27 @@ if [ $1 -ge 1 ]; then
fi fi
%files geo-replication %files geo-replication
%defattr(-,root,root) %{_sysconfdir}/logrotate.d/glusterfs-georep
%{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/gsyncd
%{_libexecdir}/glusterfs/python/syncdaemon/* %{_libexecdir}/glusterfs/python/syncdaemon/*
%{_libexecdir}/glusterfs/gverify.sh
%{_libexecdir}/glusterfs/peer_add_secret_pub
%{_libexecdir}/glusterfs/peer_gsec_create
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf %dir %{_sharedstatedir}/glusterd/hooks
%dir %{_sharedstatedir}/glusterd/hooks/1
%dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create
%dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh
%{_datadir}/glusterfs/scripts/get-gfid.sh
%{_datadir}/glusterfs/scripts/slave-upgrade.sh
%{_datadir}/glusterfs/scripts/gsync-upgrade.sh
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh
%{_datadir}/glusterfs/scripts/gsync-sync-gfid
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
%endif %endif
%files fuse %files fuse
%defattr(-,root,root,-)
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
%endif %endif
@ -619,13 +772,14 @@ fi
%endif %endif
%files server %files server
%defattr(-,root,root,-)
%doc extras/clear_xattrs.sh %doc extras/clear_xattrs.sh
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
%endif %endif
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd
%config(noreplace) %{_sysconfdir}/glusterfs %config(noreplace) %{_sysconfdir}/glusterfs
# %%dir %{_sharedstatedir}/glusterd/groups
# %%config(noreplace) %{_sharedstatedir}/glusterd/groups/virt
# Legacy configs # Legacy configs
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
@ -643,11 +797,12 @@ fi
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
# hack to work around old rpm/rpmbuild %%doc misfeature
%ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info %ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options
# This is really ugly, but I have no idea how to mark these directories in an # This is really ugly, but I have no idea how to mark these directories in
# other way. They should belong to the glusterfs-server package, but don't # any other way. They should belong to the glusterfs-server package, but
# exist after installation. They are generated on the first start... # don't exist after installation. They are generated on the first start...
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
@ -680,57 +835,87 @@ fi
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%post api %post api -p /sbin/ldconfig
/sbin/ldconfig
%postun api %postun api -p /sbin/ldconfig
/sbin/ldconfig
%files api %files api
%exclude %{_libdir}/*.so %exclude %{_libdir}/*.so
# Shared Python-GlusterFS files
%{python_sitelib}/gluster/__init__.*
# libgfapi files
%{_libdir}/libgfapi.* %{_libdir}/libgfapi.*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api*
%{python_sitelib}/* %{python_sitelib}/gluster/gfapi.*
# Don't expect a .egg-info file on EL5
%if ( 0%{?rhel} && 0%{?rhel} > 5 ) || ( 0%{?fedora} )
%{python_sitelib}/glusterfs_api*.egg-info
%endif
%files extra-xlators
# Glupy C shared library
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so
# Glupy Python files
%{python_sitelib}/gluster/glupy.*
# Don't expect a .egg-info file on EL5
%if ( 0%{?rhel} && 0%{?rhel} > 5 ) || ( 0%{?fedora} )
%{python_sitelib}/glusterfs_glupy*.egg-info
%endif
%if ( 0%{!?_without_ocf:1} ) %if ( 0%{!?_without_ocf:1} )
%files resource-agents %files resource-agents
%defattr(-,root,root)
# /usr/lib is the standard for OCF, also on x86_64 # /usr/lib is the standard for OCF, also on x86_64
%{_prefix}/lib/ocf/resource.d/glusterfs %{_prefix}/lib/ocf/resource.d/glusterfs
%endif %endif
%files devel %files devel
%defattr(-,root,root,-)
%{_includedir}/glusterfs %{_includedir}/glusterfs
%exclude %{_includedir}/glusterfs/y.tab.h %exclude %{_includedir}/glusterfs/y.tab.h
%exclude %{_includedir}/glusterfs/api %exclude %{_includedir}/glusterfs/api
%exclude %{_libdir}/libgfapi.so %exclude %{_libdir}/libgfapi.so
%{_libdir}/*.so %{_libdir}/*.so
# Glupy Translator examples
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/debug-trace.*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.*
%files api-devel %files api-devel
%{_libdir}/pkgconfig/glusterfs-api.pc %{_libdir}/pkgconfig/glusterfs-api.pc
%{_libdir}/pkgconfig/libgfchangelog.pc
%{_libdir}/libgfapi.so %{_libdir}/libgfapi.so
%{_includedir}/glusterfs/api/* %{_includedir}/glusterfs/api/*
%files regression-tests
%defattr(-,root,root,-)
%{_prefix}/share/glusterfs/*
%exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t
%post server %post server
# Legacy server # Legacy server
%_init_enable glusterd %_init_enable glusterd
%_init_enable glusterfsd %_init_enable glusterfsd
# hack to work around old rpm/rpmbuild %%doc misfeature
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
if [ -d %{_pkgdocdir}.tmp ]; then
cp -p %{_pkgdocdir}.tmp/* %{_pkgdocdir}/
rm -rf %{_pkgdocdir}.tmp/*
%endif
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if # Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
# there are any files in /etc from a prior gluster.org install, move them # there are any files in /etc from a prior gluster.org install, move them
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib # to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
# in gluster.org RPMs.) Be careful to copy them on the off chance that # in gluster.org RPMs.) Be careful to copy them on the off chance that
# /etc and /var/lib are on separate file systems # /etc and /var/lib are on separate file systems
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
%{__mkdir_p} %{_sharedstatedir}/glusterd mkdir -p %{_sharedstatedir}/glusterd
cp -a /etc/glusterd %{_sharedstatedir}/glusterd cp -a /etc/glusterd %{_sharedstatedir}/glusterd
rm -rf /etc/glusterd rm -rf /etc/glusterd
ln -sf %{_sharedstatedir}/glusterd /etc/glusterd ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
fi fi
# Rename old volfiles in an RPM-standard way. These aren't actually # Rename old volfiles in an RPM-standard way. These aren't actually
# considered package config files, so %config doesn't work for them. # considered package config files, so %%config doesn't work for them.
if [ -d %{_sharedstatedir}/glusterd/vols ]; then if [ -d %{_sharedstatedir}/glusterd/vols ]; then
for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
newfile=${file}.rpmsave newfile=${file}.rpmsave
@ -775,44 +960,42 @@ if [ $1 -ge 1 ]; then
fi fi
%changelog %changelog
* Mon Apr 14 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-3 * Thu Apr 17 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-1
- GlusterFS 3.4.3-3, patch xlators/nfs/server/src/nlm4.c - GlusterFS 3.5.0 GA
* Thu Apr 3 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-2 * Fri Apr 4 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.7.beta5
- GlusterFS 3.4.3-2 - GlusterFS 3.5.0 beta5
* Wed Apr 2 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-1 * Sat Mar 8 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.6.beta4
- GlusterFS 3.4.3 GA - GlusterFS 3.5.0 beta4
* Wed Mar 26 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.3.beta2 * Tue Feb 11 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.5.beta3
- GlusterFS 3.4.3 beta2 - GlusterFS 3.5.0 beta3
* Thu Mar 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.2.beta1 * Mon Jan 27 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.4.beta2
- GlusterFS 3.4.3 beta1 - GlusterFS 3.5.0 beta2
* Thu Feb 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.1.alpha1 * Thu Jan 16 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.3.beta1
- GlusterFS 3.4.3 alpha1 - GlusterFS 3.5.0 beta1
* Fri Jan 3 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.2-1 * Thu Jan 16 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.5.0-0.2.beta1
- GlusterFS 3.4.2 GA - Drop unnecessary ldconfig calls, do remaining ones without shell.
- Drop INSTALL from docs.
* Wed Dec 25 2013 Niels de Vos <ndevos@redhat.com> - 3.4.2-0.1qa5 * Wed Jan 15 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.beta1
- GlusterFS 3.4.2 QA5, glusterfs-3.4.2-0.1qa5 - GlusterFS 3.5.0 beta1 , glusterfs-3.5.0-0.1beta1
- Correct source URL to automatic release location
* Fri Dec 20 2013 Niels de Vos <ndevos@redhat.com> * Fri Dec 6 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.qa3
- Include .../site-packages/gluster/gfapi.py in glusterfs-api
* Thu Dec 19 2013 Niels de Vos <ndevos@redhat.com>
- Include the .../site-packages/gluster/__init__.py file by default,
skip EL-5 and earlier (#1045123)
* Tue Dec 17 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.2-0.1qa4
- GlusterFS 3.4.2 QA4 , glusterfs-3.4.2-0.1qa4
* Fri Dec 6 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1qa3
- GlusterFS 3.5.0 QA3 , glusterfs-3.5.0-0.1qa3 - GlusterFS 3.5.0 QA3 , glusterfs-3.5.0-0.1qa3
* Wed Nov 6 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com>
- obsolete glusterfs-ufo (#1025059)
- ownership of /usr/share/doc/glusterfs(-x.y.z) (#846737)
- clear_xattrs.sh belongs in /usr/share/doc/glusterfs(-x.y.z), not
in /usr/share/doc/glusterfs-server(-x.y.z)
- remove defattr (per pkg review of another package)
- don't use %%{__foo} macros (per package review of another package)
* Sun Oct 27 2013 Niels de Vos <ndevos@redhat.com> - 3.4.1-3 * Sun Oct 27 2013 Niels de Vos <ndevos@redhat.com> - 3.4.1-3
- Correctly start+stop glusterfsd.service (#1022542) - Correctly start+stop glusterfsd.service (#1022542)
- fix "warning: File listed twice: .../glusterd.info" while building - fix "warning: File listed twice: .../glusterd.info" while building

View File

@ -1 +1 @@
52cf3b00d874818e653f075e7dfb82d7 glusterfs-3.4.3.tar.gz 5c141ba3e5306d550d9092e3d1ad6d50 glusterfs-3.5.0.tar.gz