[glusterfs] GlusterFS 3.4.0-0.1.qa3

Kaleb S. KEITHLEY kkeithle at fedoraproject.org
Fri Dec 6 17:18:09 UTC 2013


commit 9c4f918d0662c1771f967529274e7b9afc8d7d7e
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date:   Fri Dec 6 12:17:32 2013 -0500

    GlusterFS 3.4.0-0.1.qa3

 glusterfs.spec |  172 ++++++++++++++++++++++++++++++++++++++++++++++----------
 sources        |    2 +-
 2 files changed, 143 insertions(+), 31 deletions(-)
---
diff --git a/glusterfs.spec b/glusterfs.spec
index 501fcf2..7c6a541 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 rc1
+%global prereltag qa3
 
 # 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,15 +50,30 @@
 %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
 
+# From https://fedoraproject.org/wiki/Packaging:Python#Macros
+%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
+%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
+%endif
+
 Summary:          Cluster File System
 %if ( 0%{_for_fedora_koji_builds} )
 Name:             glusterfs
-Version:          3.4.1
-Release:          3%{?prereltag:.%{prereltag}}%{?dist}
+Version:          3.5.0
+Release:          0.1%{?prereltag:.%{prereltag}}%{?dist}
 Vendor:           Fedora Project
 %else
 Name:             @PACKAGE_NAME@
@@ -62,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://download.gluster.org/pub/gluster/glusterfs/3.4/%{version}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz
+Source0:          http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{version}%{prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz
 Source1:          glusterd.sysconfig
 Source2:          glusterfsd.sysconfig
 Source3:          glusterfs-fuse.logrotate
@@ -71,16 +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
-Patch3:           %{name}-3.4.1.add.base-port.config.option.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}}
@@ -129,15 +151,18 @@ BuildRequires:    systemtap-sdt-devel
 %if ( 0%{!?_without_bd:1} )
 BuildRequires:    lvm2-devel
 %endif
+%if ( 0%{!?_without_qemu_block:1} )
+BuildRequires:    glib2-devel
+%endif
 
 Obsoletes:        hekafs
 Obsoletes:        %{name}-libs <= 2.0.0
 Obsoletes:        %{name}-common < %{version}-%{release}
 Obsoletes:        %{name}-core < %{version}-%{release}
-Obsoletes:        %{name}-ufo
 Provides:         %{name}-libs = %{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:
@@ -156,6 +181,11 @@ Provides:         %{name}-core = %{version}-%{release}
 
 %{!?_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 +202,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 +264,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
@@ -288,6 +327,9 @@ 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}
 
 %description api
 GlusterFS is a clustered file-system capable of scaling to several
@@ -366,20 +408,34 @@ 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
-%patch3 -p1
-%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 )
@@ -390,9 +446,17 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool
 
 make %{?_smp_mflags}
 
+pushd api/examples
+FLAGS="$RPM_OPT_FLAGS" python setup.py build
+popd
+
 %install
 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 \
@@ -417,10 +481,6 @@ install -D -p -m 0644 %{SOURCE2} \
 install -D -p -m 0644 extras/glusterd-sysconfig \
     %{buildroot}%{_sysconfdir}/sysconfig/glusterd
 %endif
-%if ( 0%{?rhel} && 0%{?rhel} > 5 )
-mkdir -p %{buildroot}%{python_sitelib}/gluster
-touch %{buildroot}%{python_sitelib}/gluster/__init__.py
-%endif
 
 %if ( 0%{_for_fedora_koji_builds} )
 %if ( 0%{?rhel} && 0%{?rhel} <= 5 )
@@ -496,7 +556,26 @@ install -D -p -m 0644 extras/glusterfs-logrotate \
 %if ( 0%{!?_without_georeplication:1} )
 # geo-rep ghosts
 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
 
 # the rest of the ghosts
@@ -525,6 +604,12 @@ 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
@@ -533,19 +618,36 @@ mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
 touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
 touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
 
+find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
+
 %clean
 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
 %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL 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*
@@ -598,8 +700,11 @@ fi
 %files geo-replication
 %{_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
+%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
 %endif
 
 %files fuse
@@ -694,9 +799,7 @@ fi
 %exclude %{_libdir}/*.so
 %{_libdir}/libgfapi.*
 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api*
-%if ( 0%{?rhel} && 0%{?rhel} > 5 )
-%{python_sitelib}/gluster/__init__.p*
-%endif
+%{python_sitelib}/*
 
 %if ( 0%{!?_without_ocf:1} )
 %files resource-agents
@@ -713,9 +816,15 @@ 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
@@ -741,7 +850,7 @@ if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
 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
@@ -786,13 +895,16 @@ if [ $1 -ge 1 ]; then
 fi
 
 %changelog
+* 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
+
 * 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)
+- 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)
diff --git a/sources b/sources
index e68d688..a3f5afe 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-dce3d066b7351b360454ea9ca4cabe4c  glusterfs-3.4.1.tar.gz
+65473412bc9b61c8a33c5216c7d813da  glusterfs-3.5.0qa3.tar.gz


More information about the scm-commits mailing list