From 9c4f918d0662c1771f967529274e7b9afc8d7d7e Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 6 Dec 2013 12:17:32 -0500 Subject: [PATCH] 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@-@PACKAGE_VERSION@.tar.gz --without rdma @@ -31,6 +30,15 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.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@-@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 %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@-@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 ) %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@-@PACKAGE_VERSION@.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 - 3.5.0-0.1qa3 +- GlusterFS 3.5.0 QA3 , glusterfs-3.5.0-0.1qa3 + * Wed Nov 6 2013 Kaleb S. KEITHLEY - 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 - 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