preliminary for 3.7.0alpha

This commit is contained in:
Kaleb S. KEITHLEY 2015-04-20 08:46:05 -04:00
parent 12a7daa1e0
commit 6a783fef31
2 changed files with 101 additions and 37 deletions

View File

@ -4,12 +4,16 @@
# uncomment and add '%' to use the prereltag for pre-releases # uncomment and add '%' to use the prereltag for pre-releases
#%%global prereltag beta2 #%%global prereltag beta2
%global prereltag beta2 %global prereltag alpha0
##----------------------------------------------------------------------------- ##-----------------------------------------------------------------------------
## All argument definitions should be placed here and keep them sorted ## All argument definitions should be placed here and keep them sorted
## ##
# if you wish to compile an rpm with cmocka unit testing...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with cmocka
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
# 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
%{?_without_rdma:%global _without_rdma --disable-ibverbs} %{?_without_rdma:%global _without_rdma --disable-ibverbs}
@ -45,7 +49,7 @@
%{?_without_syslog:%global _without_syslog --disable-syslog} %{?_without_syslog:%global _without_syslog --disable-syslog}
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount # disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
# Fedora deprecated syslog, see # Fedora deprecated syslog, see
# https://fedoraproject.org/wiki/Changes/NoDefaultSyslog # https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
# (And what about RHEL7?) # (And what about RHEL7?)
%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 ) %if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 )
@ -77,6 +81,12 @@
%global _with_systemd true %global _with_systemd true
%endif %endif
%if 0%{?_tmpfilesdir:1}
%define _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
%else
%define _with_tmpfilesdir --without-tmpfilesdir
%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
@ -146,8 +156,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.6.3 Version: 3.7.0
Release: 0.2%{?prereltag:.%{prereltag}}%{?dist} Release: 0.1%{?prereltag:.%{prereltag}}%{?dist}
Vendor: Fedora Project Vendor: Fedora Project
%else %else
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
@ -162,9 +172,6 @@ URL: http://www.gluster.org/docs/index.php/GlusterFS
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
Source4: glusterd.logrotate
Source5: glusterfsd.logrotate
Source6: rhel5-load-fuse-modules Source6: rhel5-load-fuse-modules
Source7: glusterfsd.service Source7: glusterfsd.service
Source8: glusterfsd.init Source8: glusterfsd.init
@ -200,9 +207,15 @@ BuildRequires: bison flex
BuildRequires: gcc make automake libtool BuildRequires: gcc make automake libtool
BuildRequires: ncurses-devel readline-devel BuildRequires: ncurses-devel readline-devel
BuildRequires: libxml2-devel openssl-devel BuildRequires: libxml2-devel openssl-devel
BuildRequires: libaio-devel BuildRequires: libaio-devel libacl-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-ctypes BuildRequires: python-ctypes
BuildRequires: userspace-rcu-devel >= 0.7
BuildRequires: libuuid-devel
BuildRequires: sqlite-devel
%if ( 0%{?_with_cmocka:1} )
BuildRequires: libcmocka-devel >= 1.0.1
%endif
%if ( 0%{!?_without_systemtap:1} ) %if ( 0%{!?_without_systemtap:1} )
BuildRequires: systemtap-sdt-devel BuildRequires: systemtap-sdt-devel
%endif %endif
@ -219,6 +232,9 @@ BuildRequires: libattr-devel
Obsoletes: hekafs Obsoletes: hekafs
Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release}
Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release}
%if ( 0%{_for_fedora_koji_builds} )
Obsoletes: %{name}-regression-tests
%endif
Obsoletes: %{name}-ufo Obsoletes: %{name}-ufo
Provides: %{name}-common = %{version}-%{release} Provides: %{name}-common = %{version}-%{release}
Provides: %{name}-core = %{version}-%{release} Provides: %{name}-core = %{version}-%{release}
@ -237,7 +253,7 @@ gluster command line, libglusterfs and glusterfs translator modules common to
both GlusterFS server and client framework. both GlusterFS server and client framework.
%package api %package api
Summary: Clustered file-system api library Summary: GlusterFS api library
Group: System Environment/Daemons Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
# we provide the Python package/namespace 'gluster' # we provide the Python package/namespace 'gluster'
@ -347,6 +363,26 @@ is in user space and easily manageable.
This package provides support to FUSE based clients. This package provides support to FUSE based clients.
%package ganesha
Summary: NFS-Ganesha configuration
Group: Applications/File
Requires: %{name}-server = %{version}-%{release}
Requires: nfs-ganesha-gluster
Requires: pcs
%description ganesha
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over Infiniband RDMA
or TCP/IP interconnect into one large parallel network file
system. GlusterFS is one of the most sophisticated file systems in
terms of features and extensibility. It borrows a powerful concept
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
is in user space and easily manageable.
This package provides the configuration and related files for using
NFS-Ganesha as the NFS server using GlusterFS
%if ( 0%{!?_without_georeplication:1} ) %if ( 0%{!?_without_georeplication:1} )
%package geo-replication %package geo-replication
Summary: GlusterFS Geo-replication Summary: GlusterFS Geo-replication
@ -395,7 +431,7 @@ This package provides the base GlusterFS libraries
Summary: GlusterFS rdma support for ib-verbs Summary: GlusterFS rdma support for ib-verbs
Group: Applications/File Group: Applications/File
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel BuildRequires: librdmacm-devel >= 1.0.15
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%description rdma %description rdma
@ -443,7 +479,7 @@ Group: System Environment/Base
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
%endif %endif
# for glusterd # for glusterd
Requires: glusterfs-server Requires: %{name}-server
# depending on the distribution, we need pacemaker or resource-agents # depending on the distribution, we need pacemaker or resource-agents
Requires: %{_prefix}/lib/ocf/resource.d Requires: %{_prefix}/lib/ocf/resource.d
@ -501,6 +537,7 @@ This package provides the glusterfs server daemon.
# there is no need to run ./autogen or have a BuildRequires for automake. # there is no need to run ./autogen or have a BuildRequires for automake.
[ -e 'install-sh' -o -e 'install.sh' ] || ./autogen.sh [ -e 'install-sh' -o -e 'install.sh' ] || ./autogen.sh
%configure \ %configure \
%{?_with_tmpfilesdir} \
%{?_without_rdma} \ %{?_without_rdma} \
%{?_without_epoll} \ %{?_without_epoll} \
%{?_without_fusermount} \ %{?_without_fusermount} \
@ -509,7 +546,8 @@ This package provides the glusterfs server daemon.
%{?_without_syslog} \ %{?_without_syslog} \
%{?_without_bd} \ %{?_without_bd} \
%{?_without_qemu_block} \ %{?_without_qemu_block} \
%{?_without_systemtap} %{?_without_systemtap} \
%{?_with_cmocka}
# 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 )
@ -525,6 +563,9 @@ pushd xlators/features/glupy/src
FLAGS="$RPM_OPT_FLAGS" python setup.py build FLAGS="$RPM_OPT_FLAGS" python setup.py build
popd popd
%check
make check
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
@ -614,21 +655,8 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%_init_install %{glusterfsd_service} glusterfsd %_init_install %{glusterfsd_service} glusterfsd
%endif %endif
%if ( 0%{_for_fedora_koji_builds} )
# Client logrotate entry
install -D -p -m 0644 %{SOURCE3} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse
# Server logrotate entry
install -D -p -m 0644 %{SOURCE4} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterd
# Legacy server logrotate entry
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 %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs
%endif
%if ( 0%{!?_without_georeplication:1} ) %if ( 0%{!?_without_georeplication:1} )
# geo-rep ghosts # geo-rep ghosts
@ -697,10 +725,6 @@ mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%if ( 0%{!?_without_georeplication:1} )
install -p -m 0744 extras/hook-scripts/S56glusterd-geo-rep-create-post.sh \
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post
%endif
%{__install} -p -m 0744 extras/hook-scripts/start/post/*.sh \ %{__install} -p -m 0744 extras/hook-scripts/start/post/*.sh \
%{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
%{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh \ %{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh \
@ -758,6 +782,14 @@ fi
# Legacy server # Legacy server
%_init_enable glusterd %_init_enable glusterd
%_init_enable glusterfsd %_init_enable glusterfsd
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
# "cmd_history.log" to retain cli command history contents.
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
%{_localstatedir}/log/glusterfs/cmd_history.log
fi
# 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
@ -843,8 +875,8 @@ fi
## All %files should be placed here and keep them sorted ## All %files should be placed here and keep them sorted
## ##
%files %files
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS
%config(noreplace) %{_sysconfdir}/logrotate.d/* %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
%config(noreplace) %{_sysconfdir}/sysconfig/* %config(noreplace) %{_sysconfdir}/sysconfig/*
%if ( 0%{!?_without_syslog:1} ) %if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
@ -857,6 +889,9 @@ fi
%exclude %{_mandir}/man8/gluster.8* %exclude %{_mandir}/man8/gluster.8*
%dir %{_localstatedir}/log/glusterfs %dir %{_localstatedir}/log/glusterfs
%dir %{_localstatedir}/run/gluster %dir %{_localstatedir}/run/gluster
%if 0%{?_tmpfilesdir:1}
%{_tmpfilesdir}/gluster.conf
%endif
%dir %{_sharedstatedir}/glusterd %dir %{_sharedstatedir}/glusterd
%if ( 0%{!?_without_rdma:1} ) %if ( 0%{!?_without_rdma:1} )
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma*
@ -888,6 +923,7 @@ fi
%files api-devel %files api-devel
%{_libdir}/pkgconfig/glusterfs-api.pc %{_libdir}/pkgconfig/glusterfs-api.pc
%{_libdir}/pkgconfig/libgfchangelog.pc %{_libdir}/pkgconfig/libgfchangelog.pc
%{_libdir}/pkgconfig/libgfdb.pc
%{_libdir}/libgfapi.so %{_libdir}/libgfapi.so
%{_includedir}/glusterfs/api/* %{_includedir}/glusterfs/api/*
@ -929,15 +965,21 @@ fi
%endif %endif
%endif %endif
%files ganesha
%{_sysconfdir}/ganesha/*
%{_libexecdir}/ganesha/*
%{_prefix}/lib/ocf/resource.d/heartbeat/*
%if ( 0%{!?_without_georeplication:1} ) %if ( 0%{!?_without_georeplication:1} )
%files geo-replication %files geo-replication
%{_sysconfdir}/logrotate.d/glusterfs-georep %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
%{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/gsyncd
%{_libexecdir}/glusterfs/python/syncdaemon/* %{_libexecdir}/glusterfs/python/syncdaemon/*
%{_libexecdir}/glusterfs/gverify.sh %{_libexecdir}/glusterfs/gverify.sh
%{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
%{_libexecdir}/glusterfs/peer_add_secret_pub %{_libexecdir}/glusterfs/peer_add_secret_pub
%{_libexecdir}/glusterfs/peer_gsec_create %{_libexecdir}/glusterfs/peer_gsec_create
%{_libexecdir}/glusterfs/peer_mountbroker
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
%dir %{_sharedstatedir}/glusterd/hooks %dir %{_sharedstatedir}/glusterd/hooks
%dir %{_sharedstatedir}/glusterd/hooks/1 %dir %{_sharedstatedir}/glusterd/hooks/1
@ -950,11 +992,17 @@ fi
%{_datadir}/glusterfs/scripts/generate-gfid-file.sh %{_datadir}/glusterfs/scripts/generate-gfid-file.sh
%{_datadir}/glusterfs/scripts/gsync-sync-gfid %{_datadir}/glusterfs/scripts/gsync-sync-gfid
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf %ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
%{_libexecdir}/glusterfs/gfind_missing_files
%{_sbindir}/gfind_missing_files
%exclude %{_libexecdir}/glusterfs/gfind_missing_files/gfid_to_path.pyo
%exclude %{_libexecdir}/glusterfs/gfind_missing_files/gfid_to_path.pyc
%endif %endif
%files libs %files libs
%{_libdir}/*.so.* %{_libdir}/*.so.*
%exclude %{_libdir}/libgfapi.* %exclude %{_libdir}/libgfapi.*
# libgfdb is only needed server-side
%exclude %{_libdir}/libgfdb.*
%if ( 0%{!?_without_rdma:1} ) %if ( 0%{!?_without_rdma:1} )
%files rdma %files rdma
@ -976,16 +1024,12 @@ fi
%files server %files server
%doc extras/clear_xattrs.sh %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}/sysconfig/glusterd
%config(noreplace) %{_sysconfdir}/glusterfs %config(noreplace) %{_sysconfdir}/glusterfs
%dir %{_sharedstatedir}/glusterd/groups %dir %{_sharedstatedir}/glusterd/groups
%config(noreplace) %{_sharedstatedir}/glusterd/groups/virt %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}/sysconfig/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
%endif %endif
%config %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh %config %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh
@ -1009,7 +1053,13 @@ 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*
%{_libdir}/libgfdb.so.*
%{_sharedstatedir}/glusterd %{_sharedstatedir}/glusterd
#snap_scheduler
%{_sbindir}/snap_scheduler.py
%{_sbindir}/gcron.py
#hookscripts #hookscripts
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1 %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
@ -1049,7 +1099,21 @@ 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
# Incrementalapi
%{_libexecdir}/glusterfs/glusterfind
%{_bindir}/glusterfind
%exclude %{_libexecdir}/glusterfs/glusterfind/brickfind.pyc
%exclude %{_libexecdir}/glusterfs/glusterfind/changelog.pyc
%exclude %{_libexecdir}/glusterfs/glusterfind/nodecleanup.pyc
%exclude %{_libexecdir}/glusterfs/glusterfind/brickfind.pyo
%exclude %{_libexecdir}/glusterfs/glusterfind/changelog.pyo
%exclude %{_libexecdir}/glusterfs/glusterfind/nodecleanup.pyo
%changelog %changelog
* Wed Apr 15 2015 Kaleb S. KEITHLEY <kkeithle[at]redhat.com>
- preliminary for 3.7.0alpha
* Wed Apr 1 2015 Humble Chirammal <hchiramm@redhat.com> 3.6.3beta2 * Wed Apr 1 2015 Humble Chirammal <hchiramm@redhat.com> 3.6.3beta2
- GlusterFS 3.6.3beta2 release. - GlusterFS 3.6.3beta2 release.

View File

@ -1 +1 @@
55697fd4be9e42b5dc560ea4f7abb089 glusterfs-3.6.3beta2.tar.gz 65e5f58288b0e4ff9384f0aa5baeba7e glusterfs-3.7.0alpha0.tar.gz