GlusterFS 3.4.3 beta1

This commit is contained in:
Kaleb S. KEITHLEY 2014-03-13 12:08:53 -04:00
parent 1d0cf40a3c
commit 726e6ff9bb
2 changed files with 128 additions and 263 deletions

View File

@ -1,9 +1,10 @@
%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 beta4 %global prereltag beta1
# 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
@ -30,15 +31,6 @@
# 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
@ -50,15 +42,6 @@
%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
@ -72,8 +55,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.5.0 Version: 3.4.3
Release: 0.6%{?prereltag:.%{prereltag}}%{?dist} Release: 0.2%{?prereltag:.%{prereltag}}%{?dist}
Vendor: Fedora Project Vendor: Fedora Project
%else %else
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
@ -85,7 +68,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
@ -94,15 +77,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
%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}}
@ -115,7 +98,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
@ -131,7 +114,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
@ -151,19 +134,14 @@ 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 Obsoletes: hekafs <= 0.7
Obsoletes: %{name}-libs <= 2.0.0
Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release}
Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release}
Provides: %{name}-libs = %{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:
@ -172,7 +150,7 @@ Obsoletes: %{name}-ufo
%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
@ -180,13 +158,6 @@ Obsoletes: %{name}-ufo
%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
@ -203,14 +174,6 @@ 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
@ -265,7 +228,6 @@ 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
@ -328,7 +290,6 @@ This package provides the glusterfs server daemon.
Summary: Clustered file-system api library Summary: Clustered file-system api library
Group: System Environment/Daemons Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
# we provide the Python package/namespace 'gluster' # we provide the Python package/namespace 'gluster'
Provides: python-gluster = %{version}-%{release} Provides: python-gluster = %{version}-%{release}
@ -409,105 +370,83 @@ 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
%endif
%build %build
./autogen.sh ./autogen.sh
%configure \ %configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_bd} %{?_without_systemtap}
%{?_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}
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 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, the ones we want are included by %%doc, in # Remove installed docs, they're included by %%doc
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
# 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
@ -516,20 +455,12 @@ 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
%if ( 0%{?rhel} && 0%{?rhel} < 6 ) %{__rm} -rf %{buildroot}/benchmarking
rm -rf %{buildroot}/benchmarking %{__rm} -f %{buildroot}/glusterfs-mode.el
rm -f %{buildroot}/glusterfs-mode.el %{__rm} -f %{buildroot}/glusterfs.vim
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' \
@ -542,116 +473,74 @@ 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_template.conf touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.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/hooks/1/copy-file %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/post %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/pre %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/groups
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
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
install -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
%clean %clean
rm -rf %{buildroot} %{__rm} -rf %{buildroot}
%post %post
%if ( 0%{!?_without_syslog:1} ) /sbin/ldconfig
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%_init_restart rsyslog
%endif
%endif
%postun %postun
%if ( 0%{!?_without_syslog:1} ) /sbin/ldconfig
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%_init_restart rsyslog
%endif
%endif
%files %files
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 README THANKS %defattr(-,root,root,-)
%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*
@ -675,9 +564,11 @@ rm -rf %{buildroot}
%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*
%post libs -p /sbin/ldconfig %post libs
/sbin/ldconfig
%postun libs -p /sbin/ldconfig %postun libs
/sbin/ldconfig
%files libs %files libs
%{_libdir}/*.so.* %{_libdir}/*.so.*
@ -689,6 +580,7 @@ rm -rf %{buildroot}
%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
@ -700,27 +592,15 @@ if [ $1 -ge 1 ]; then
fi fi
%files geo-replication %files geo-replication
%{_sysconfdir}/logrotate.d/glusterfs-georep %defattr(-,root,root)
%{_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
%dir %{_sharedstatedir}/glusterd/hooks %ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
%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
@ -736,14 +616,13 @@ 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
@ -761,12 +640,11 @@ 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 # This is really ugly, but I have no idea how to mark these directories in an
# any other way. They should belong to the glusterfs-server package, but # other way. They should belong to the glusterfs-server package, but don't
# don't exist after installation. They are generated on the first start... # 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
@ -799,9 +677,11 @@ 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 -p /sbin/ldconfig %post api
/sbin/ldconfig
%postun api -p /sbin/ldconfig %postun api
/sbin/ldconfig
%files api %files api
%exclude %{_libdir}/*.so %exclude %{_libdir}/*.so
@ -811,11 +691,13 @@ fi
%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
@ -824,41 +706,28 @@ fi
%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
@ -903,36 +772,32 @@ if [ $1 -ge 1 ]; then
fi fi
%changelog %changelog
* Sat Mar 8 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.6.beta4 * Thu Mar 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.2.beta1
- GlusterFS 3.5.0 beta4 - GlusterFS 3.4.3 beta1
* Tue Feb 11 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.5.beta3 * Thu Feb 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.1.alpha1
- GlusterFS 3.5.0 beta3 - GlusterFS 3.4.3 alpha1
* Mon Jan 27 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.4.beta2 * Fri Jan 3 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.2-1
- GlusterFS 3.5.0 beta2 - GlusterFS 3.4.2 GA
* Thu Jan 16 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.3.beta1 * Wed Dec 25 2013 Niels de Vos <ndevos@redhat.com> - 3.4.2-0.1qa5
- GlusterFS 3.5.0 beta1 - GlusterFS 3.4.2 QA5, glusterfs-3.4.2-0.1qa5
- Correct source URL to automatic release location
* Thu Jan 16 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.5.0-0.2.beta1 * Fri Dec 20 2013 Niels de Vos <ndevos@redhat.com>
- Drop unnecessary ldconfig calls, do remaining ones without shell. - Include .../site-packages/gluster/gfapi.py in glusterfs-api
- Drop INSTALL from docs.
* Wed Jan 15 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.beta1 * Thu Dec 19 2013 Niels de Vos <ndevos@redhat.com>
- GlusterFS 3.5.0 beta1 , glusterfs-3.5.0-0.1beta1 - Include the .../site-packages/gluster/__init__.py file by default,
skip EL-5 and earlier (#1045123)
* Fri Dec 6 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.qa3 * 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 @@
dcfb47474b540d2f8af78223decef648 glusterfs-3.5.0beta4.tar.gz 5aad4a8f3b7d2d3f143d6faf59c9a4d7 glusterfs-3.4.3beta1.tar.gz