[glusterfs] GlusterFS 3.5.0 beta5

Kaleb S. KEITHLEY kkeithle at fedoraproject.org
Fri Apr 4 18:10:39 UTC 2014


commit 40fe609cdf8eb2400fb43d8c589d05a3f511cbc6
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date:   Fri Apr 4 14:10:21 2014 -0400

    GlusterFS 3.5.0 beta5

 glusterfs.spec |  398 +++++++++++++++++++++++++++++++++++++-------------------
 sources        |    2 +-
 2 files changed, 265 insertions(+), 135 deletions(-)
---
diff --git a/glusterfs.spec b/glusterfs.spec
index dd7292e..abc453f 100644
--- a/glusterfs.spec
+++ b/glusterfs.spec
@@ -1,10 +1,9 @@
-
 %global _hardened_build 1
 
 %global _for_fedora_koji_builds 1
 
 # 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...
 # rpmbuild -ta @PACKAGE_NAME at -@PACKAGE_VERSION at .tar.gz --without rdma
@@ -31,6 +30,15 @@
 # rpmbuild -ta @PACKAGE_NAME at -@PACKAGE_VERSION at .tar.gz --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 at -@PACKAGE_VERSION at 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
 %global _without_systemtap --enable-systemtap=no
 
@@ -42,6 +50,15 @@
 %define _without_bd --disable-bd-xlator
 %endif
 
+# if you wish to compile an rpm without the qemu-block support...
+# rpmbuild -ta @PACKAGE_NAME at -@PACKAGE_VERSION at .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 )
 %global           _with_systemd true
 %endif
@@ -55,8 +72,8 @@
 Summary:          Cluster File System
 %if ( 0%{_for_fedora_koji_builds} )
 Name:             glusterfs
-Version:          3.4.3
-Release:          2%{?prereltag:.%{prereltag}}%{?dist}
+Version:          3.5.0
+Release:          0.7%{?prereltag:.%{prereltag}}%{?dist}
 Vendor:           Fedora Project
 %else
 Name:             @PACKAGE_NAME@
@@ -68,7 +85,7 @@ License:          GPLv2 or LGPLv3+
 Group:            System Environment/Base
 URL:              http://www.gluster.org/docs/index.php/GlusterFS
 %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
 Source2:          glusterfsd.sysconfig
 Source3:          glusterfs-fuse.logrotate
@@ -77,15 +94,15 @@ Source5:          glusterfsd.logrotate
 Source6:          rhel5-load-fuse-modules
 Source11:         glusterfsd.service
 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
 Source0:          @PACKAGE_NAME at -@PACKAGE_VERSION at .tar.gz
 %endif
 
 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%{_for_fedora_koji_builds} )
 %global glusterfsd_service %{S:%{SOURCE11}}
@@ -98,7 +115,7 @@ Requires(postun): systemd-units
 %define _init_disable() /bin/systemctl disable %1.service ;
 %define _init_restart() /bin/systemctl try-restart %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
 %define _init_glusterd   %{_unitdir}/glusterd.service
 %define _init_glusterfsd %{_unitdir}/glusterfsd.service
@@ -114,7 +131,7 @@ Requires(postun): /sbin/service
 %define _init_disable() /sbin/chkconfig --del %1 ;
 %define _init_restart() /sbin/service %1 condrestart &>/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
 %define _init_glusterd   %{_sysconfdir}/init.d/glusterd
 %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
@@ -134,12 +151,19 @@ BuildRequires:    systemtap-sdt-devel
 %if ( 0%{!?_without_bd:1} )
 BuildRequires:    lvm2-devel
 %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}-core < %{version}-%{release}
 Provides:         %{name}-common = %{version}-%{release}
 Provides:         %{name}-core = %{version}-%{release}
+Obsoletes:        %{name}-ufo
 
 # We do not want to generate useless provides and requires for xlator .so files
 # Filter all generated:
@@ -148,7 +172,7 @@ Provides:         %{name}-core = %{version}-%{release}
 %if ( 0%{?rhel} == 6 )
     # filter_setup exists in RHEL6 only
     %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
 %else
     # modern rpm and current Fedora do not generate requires when the
@@ -156,6 +180,13 @@ Provides:         %{name}-core = %{version}-%{release}
     %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
 %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
 GlusterFS is a clustered file-system capable of scaling to several
 petabytes. It aggregates various storage bricks over Infiniband RDMA
@@ -172,6 +203,14 @@ both GlusterFS server and client framework.
 %package libs
 Summary:          GlusterFS common libraries
 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
 GlusterFS is a clustered file-system capable of scaling to several
@@ -226,6 +265,7 @@ Summary:          GlusterFS Geo-replication
 Group:            Applications/File
 Requires:         %{name} = %{version}-%{release}
 Requires:         %{name}-server = %{version}-%{release}
+Requires:         python python-ctypes
 
 %description geo-replication
 GlusterFS is a clustered file-system capable of scaling to several
@@ -267,7 +307,6 @@ Requires:         %{name} = %{version}-%{release}
 Requires:         %{name}-cli = %{version}-%{release}
 Requires:         %{name}-libs = %{version}-%{release}
 Requires:         %{name}-fuse = %{version}-%{release}
-Requires:         e2fsprogs xfsprogs
 %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
 Requires:         rpcbind
 %else
@@ -289,6 +328,7 @@ This package provides the glusterfs server daemon.
 Summary:          Clustered file-system api library
 Group:            System Environment/Daemons
 Requires:         %{name} = %{version}-%{release}
+Requires:         %{name}-devel = %{version}-%{release}
 # we provide the Python package/namespace 'gluster'
 Provides:         python-gluster = %{version}-%{release}
 
@@ -369,83 +409,105 @@ is in user space and easily manageable.
 
 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
 %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
 ./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
 %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
-%{__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|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
 
-%{__make} %{?_smp_mflags}
+make %{?_smp_mflags}
 
 pushd api/examples
 FLAGS="$RPM_OPT_FLAGS" python setup.py build
 popd
 
 %install
-%{__rm} -rf %{buildroot}
-%{__make} install DESTDIR=%{buildroot}
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
 # install the gfapi Python library in /usr/lib/python*/site-packages
 pushd api/examples
 python setup.py install --skip-build --verbose --root %{buildroot}
 popd
 # Install include directory
-%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs
-%{__install} -p -m 0644 libglusterfs/src/*.h \
+mkdir -p %{buildroot}%{_includedir}/glusterfs
+install -p -m 0644 libglusterfs/src/*.h \
     %{buildroot}%{_includedir}/glusterfs/
-%{__install} -p -m 0644 contrib/uuid/*.h \
+install -p -m 0644 contrib/uuid/*.h \
     %{buildroot}%{_includedir}/glusterfs/
 # Following needed by hekafs multi-tenant translator
-%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc
-%{__install} -p -m 0644 rpc/rpc-lib/src/*.h \
+mkdir -p %{buildroot}%{_includedir}/glusterfs/rpc
+install -p -m 0644 rpc/rpc-lib/src/*.h \
     %{buildroot}%{_includedir}/glusterfs/rpc/
-%{__install} -p -m 0644 rpc/xdr/src/*.h \
+install -p -m 0644 rpc/xdr/src/*.h \
     %{buildroot}%{_includedir}/glusterfs/rpc/
-%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server
-%{__install} -p -m 0644 xlators/protocol/server/src/*.h \
+mkdir -p %{buildroot}%{_includedir}/glusterfs/server
+install -p -m 0644 xlators/protocol/server/src/*.h \
     %{buildroot}%{_includedir}/glusterfs/server/
 %if ( 0%{_for_fedora_koji_builds} )
-%{__install} -D -p -m 0644 %{SOURCE1} \
+install -D -p -m 0644 %{SOURCE1} \
     %{buildroot}%{_sysconfdir}/sysconfig/glusterd
-%{__install} -D -p -m 0644 %{SOURCE2} \
+install -D -p -m 0644 %{SOURCE2} \
     %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
 %else
-%{__install} -D -p -m 0644 extras/glusterd-sysconfig \
+install -D -p -m 0644 extras/glusterd-sysconfig \
     %{buildroot}%{_sysconfdir}/sysconfig/glusterd
 %endif
 
 %if ( 0%{_for_fedora_koji_builds} )
 %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
 %endif
 %endif
 
-%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd
-%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs
-%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd
-%{__mkdir_p} %{buildroot}%{_localstatedir}/run/gluster
+mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
+mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
+mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
+mkdir -p %{buildroot}%{_localstatedir}/run/gluster
 
 # Remove unwanted files from all the shared libraries
 find %{buildroot}%{_libdir} -name '*.a' -delete
 find %{buildroot}%{_libdir} -name '*.la' -delete
 
-# Remove installed docs, they're included by %%doc
-%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
+# Remove installed docs, the ones we want are included by %%doc, in
+# /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
 cat << EOM >> ChangeLog
 
@@ -454,12 +516,20 @@ https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prerelt
 EOM
 
 # Remove benchmarking and other unpackaged files
-%{__rm} -rf %{buildroot}/benchmarking
-%{__rm} -f %{buildroot}/glusterfs-mode.el
-%{__rm} -f %{buildroot}/glusterfs.vim
+%if ( 0%{?rhel} && 0%{?rhel} < 6 )
+rm -rf %{buildroot}/benchmarking
+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
-%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd
 
 # Update configuration file to /var/lib working directory
 sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
@@ -472,74 +542,116 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
 
 %if ( 0%{_for_fedora_koji_builds} )
 # Client logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE3} \
+install -D -p -m 0644 %{SOURCE3} \
     %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse
 
 # Server logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE4} \
+install -D -p -m 0644 %{SOURCE4} \
     %{buildroot}%{_sysconfdir}/logrotate.d/glusterd
 # Legacy server logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE5} \
+install -D -p -m 0644 %{SOURCE5} \
     %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
 %else
-%{__install} -D -p -m 0644 extras/glusterfs-logrotate \
+install -D -p -m 0644 extras/glusterfs-logrotate \
     %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
 %endif
 
 %if ( 0%{!?_without_georeplication:1} )
 # geo-rep ghosts
-%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
-touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
+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
 
 # the rest of the ghosts
 touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
 touch %{buildroot}%{_sharedstatedir}/glusterd/options
-%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks
-%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
-%{__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/pre
-%{__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/pre
-%{__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/pre
-%{__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/pre
-%{__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/pre
-%{__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/pre
-%{__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/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
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
+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/pre
+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/pre
+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/pre
+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/pre
+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/pre
+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/pre
+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/pre
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/post
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
+mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create
+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/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
-%{__rm} -rf %{buildroot}
+rm -rf %{buildroot}
 
 %post
-/sbin/ldconfig
+%if ( 0%{!?_without_syslog:1} )
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%_init_restart rsyslog
+%endif
+%endif
 
 %postun
-/sbin/ldconfig
+%if ( 0%{!?_without_syslog:1} )
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%_init_restart rsyslog
+%endif
+%endif
 
 %files
-%defattr(-,root,root,-)
-%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
+%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 README THANKS
 %config(noreplace) %{_sysconfdir}/logrotate.d/*
 %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
 %{_sbindir}/glusterfs*
 %{_mandir}/man8/*gluster*.8*
@@ -563,11 +675,9 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
 %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat*
 %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache*
 
-%post libs
-/sbin/ldconfig
+%post libs -p /sbin/ldconfig
 
-%postun libs
-/sbin/ldconfig
+%postun libs -p /sbin/ldconfig
 
 %files libs
 %{_libdir}/*.so.*
@@ -579,7 +689,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
 
 %if ( 0%{!?_without_rdma:1} )
 %files rdma
-%defattr(-,root,root,-)
 %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
 %endif
 
@@ -591,15 +700,27 @@ if [ $1 -ge 1 ]; then
 fi
 
 %files geo-replication
-%defattr(-,root,root)
+%{_sysconfdir}/logrotate.d/glusterfs-georep
 %{_libexecdir}/glusterfs/gsyncd
 %{_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 %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
 
 %files fuse
-%defattr(-,root,root,-)
 %if ( 0%{_for_fedora_koji_builds} )
 %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
 %endif
@@ -615,13 +736,14 @@ fi
 %endif
 
 %files server
-%defattr(-,root,root,-)
 %doc extras/clear_xattrs.sh
 %if ( 0%{_for_fedora_koji_builds} )
 %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
 %endif
 %config(noreplace) %{_sysconfdir}/sysconfig/glusterd
 %config(noreplace) %{_sysconfdir}/glusterfs
+# %%dir %{_sharedstatedir}/glusterd/groups
+# %%config(noreplace) %{_sharedstatedir}/glusterd/groups/virt
 # Legacy configs
 %if ( 0%{_for_fedora_koji_builds} )
 %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
@@ -639,11 +761,12 @@ fi
 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
 %{_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(0600,-,-) %{_sharedstatedir}/glusterd/options
-# This is really ugly, but I have no idea how to mark these directories in an
-# other way. They should belong to the glusterfs-server package, but don't
-# exist after installation. They are generated on the first start...
+# This is really ugly, but I have no idea how to mark these directories in
+# any other way. They should belong to the glusterfs-server package, but 
+# 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/1
 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
@@ -676,11 +799,9 @@ fi
 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
 %ghost      %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
 
-%post api
-/sbin/ldconfig
+%post api -p /sbin/ldconfig
 
-%postun api
-/sbin/ldconfig
+%postun api -p /sbin/ldconfig
 
 %files api
 %exclude %{_libdir}/*.so
@@ -690,13 +811,11 @@ fi
 
 %if ( 0%{!?_without_ocf:1} )
 %files resource-agents
-%defattr(-,root,root)
 # /usr/lib is the standard for OCF, also on x86_64
 %{_prefix}/lib/ocf/resource.d/glusterfs
 %endif
 
 %files devel
-%defattr(-,root,root,-)
 %{_includedir}/glusterfs
 %exclude %{_includedir}/glusterfs/y.tab.h
 %exclude %{_includedir}/glusterfs/api
@@ -705,28 +824,41 @@ fi
 
 %files api-devel
 %{_libdir}/pkgconfig/glusterfs-api.pc
+%{_libdir}/pkgconfig/libgfchangelog.pc
 %{_libdir}/libgfapi.so
 %{_includedir}/glusterfs/api/*
 
+%files regression-tests
+%defattr(-,root,root,-)
+%{_prefix}/share/glusterfs/*
+%exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t
+
 %post server
 # Legacy server
 %_init_enable glusterd
 %_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
 # 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
 # in gluster.org RPMs.) Be careful to copy them on the off chance that
 # /etc and /var/lib are on separate file systems
 if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
-    %{__mkdir_p} %{_sharedstatedir}/glusterd
+    mkdir -p %{_sharedstatedir}/glusterd
     cp -a /etc/glusterd %{_sharedstatedir}/glusterd
     rm -rf /etc/glusterd
     ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
 fi
 
 # 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
     for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
         newfile=${file}.rpmsave
@@ -771,41 +903,39 @@ if [ $1 -ge 1 ]; then
 fi
 
 %changelog
-* Thu Apr 3 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-2
-- GlusterFS 3.4.3-2
+* Fri Apr 4 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.7.beta5
+- GlusterFS 3.5.0 beta5
 
-* Wed Apr 2 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-1
-- GlusterFS 3.4.3 GA
+* Sat Mar 8 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.6.beta4
+- GlusterFS 3.5.0 beta4
 
-* Wed Mar 26 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.3.beta2
-- GlusterFS 3.4.3 beta2
+* Tue Feb 11 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.5.beta3
+- GlusterFS 3.5.0 beta3
 
-* Thu Mar 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.2.beta1
-- GlusterFS 3.4.3 beta1
+* Mon Jan 27 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.4.beta2
+- GlusterFS 3.5.0 beta2
 
-* Thu Feb 13 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.3-0.1.alpha1
-- GlusterFS 3.4.3 alpha1
+* Thu Jan 16 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.3.beta1
+- GlusterFS 3.5.0 beta1
 
-* Fri Jan 3 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.2-1
-- GlusterFS 3.4.2 GA
+* Thu Jan 16 2014 Ville Skyttä <ville.skytta at iki.fi> - 3.5.0-0.2.beta1
+- Drop unnecessary ldconfig calls, do remaining ones without shell.
+- Drop INSTALL from docs.
 
-* Wed Dec 25 2013 Niels de Vos <ndevos at redhat.com> - 3.4.2-0.1qa5
-- GlusterFS 3.4.2 QA5, glusterfs-3.4.2-0.1qa5
-- Correct source URL to automatic release location
+* Wed Jan 15 2014 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.beta1
+- GlusterFS 3.5.0 beta1 , glusterfs-3.5.0-0.1beta1
 
-* Fri Dec 20 2013 Niels de Vos <ndevos at redhat.com>
-- Include .../site-packages/gluster/gfapi.py in glusterfs-api
-
-* Thu Dec 19 2013 Niels de Vos <ndevos at 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
+* Fri Dec 6 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.5.0-0.1.qa3
 - 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 at redhat.com> - 3.4.1-3
 - Correctly start+stop glusterfsd.service (#1022542)
 - fix "warning: File listed twice: .../glusterd.info" while building
diff --git a/sources b/sources
index f0ec160..9b11929 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-52cf3b00d874818e653f075e7dfb82d7  glusterfs-3.4.3.tar.gz
+ff9cd3a929f02645acbdb6f01ed91db9  glusterfs-3.5.0beta5.tar.gz


More information about the scm-commits mailing list