From 6a783fef31b01266079a00ce382faa23611d72ec Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Apr 20 2015 12:46:05 +0000 Subject: preliminary for 3.7.0alpha --- diff --git a/glusterfs.spec b/glusterfs.spec index 9a207c1..5cd3b1b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,12 +4,16 @@ # uncomment and add '%' to use the prereltag for pre-releases #%%global prereltag beta2 -%global prereltag beta2 +%global prereltag alpha0 ##----------------------------------------------------------------------------- ## 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... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma %{?_without_rdma:%global _without_rdma --disable-ibverbs} @@ -45,7 +49,7 @@ %{?_without_syslog:%global _without_syslog --disable-syslog} # 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 # (And what about RHEL7?) %if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 ) @@ -77,6 +81,12 @@ %global _with_systemd true %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 %global _without_systemtap --enable-systemtap=no @@ -146,8 +156,8 @@ Summary: Cluster File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.6.3 -Release: 0.2%{?prereltag:.%{prereltag}}%{?dist} +Version: 3.7.0 +Release: 0.1%{?prereltag:.%{prereltag}}%{?dist} Vendor: Fedora Project %else 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 Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig -Source3: glusterfs-fuse.logrotate -Source4: glusterd.logrotate -Source5: glusterfsd.logrotate Source6: rhel5-load-fuse-modules Source7: glusterfsd.service Source8: glusterfsd.init @@ -200,9 +207,15 @@ BuildRequires: bison flex BuildRequires: gcc make automake libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel -BuildRequires: libaio-devel +BuildRequires: libaio-devel libacl-devel BuildRequires: python-devel 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} ) BuildRequires: systemtap-sdt-devel %endif @@ -219,6 +232,9 @@ BuildRequires: libattr-devel Obsoletes: hekafs Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release} +%if ( 0%{_for_fedora_koji_builds} ) +Obsoletes: %{name}-regression-tests +%endif Obsoletes: %{name}-ufo Provides: %{name}-common = %{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. %package api -Summary: Clustered file-system api library +Summary: GlusterFS api library Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} # 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. +%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} ) %package geo-replication Summary: GlusterFS Geo-replication @@ -395,7 +431,7 @@ This package provides the base GlusterFS libraries Summary: GlusterFS rdma support for ib-verbs Group: Applications/File BuildRequires: libibverbs-devel -BuildRequires: librdmacm-devel +BuildRequires: librdmacm-devel >= 1.0.15 Requires: %{name} = %{version}-%{release} %description rdma @@ -443,7 +479,7 @@ Group: System Environment/Base Group: Productivity/Clustering/HA %endif # for glusterd -Requires: glusterfs-server +Requires: %{name}-server # depending on the distribution, we need pacemaker or resource-agents 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. [ -e 'install-sh' -o -e 'install.sh' ] || ./autogen.sh %configure \ + %{?_with_tmpfilesdir} \ %{?_without_rdma} \ %{?_without_epoll} \ %{?_without_fusermount} \ @@ -509,7 +546,8 @@ This package provides the glusterfs server daemon. %{?_without_syslog} \ %{?_without_bd} \ %{?_without_qemu_block} \ - %{?_without_systemtap} + %{?_without_systemtap} \ + %{?_with_cmocka} # fix hardening and remove rpath in shlibs %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 popd +%check +make check + %install rm -rf %{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 %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 \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs -%endif %if ( 0%{!?_without_georeplication:1} ) # 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/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 \ %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post %{__install} -p -m 0744 extras/hook-scripts/stop/pre/*.sh \ @@ -758,6 +782,14 @@ fi # Legacy server %_init_enable glusterd %_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 # 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 ## %files -%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS -%config(noreplace) %{_sysconfdir}/logrotate.d/* +%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs %config(noreplace) %{_sysconfdir}/sysconfig/* %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) @@ -857,6 +889,9 @@ fi %exclude %{_mandir}/man8/gluster.8* %dir %{_localstatedir}/log/glusterfs %dir %{_localstatedir}/run/gluster +%if 0%{?_tmpfilesdir:1} +%{_tmpfilesdir}/gluster.conf +%endif %dir %{_sharedstatedir}/glusterd %if ( 0%{!?_without_rdma:1} ) %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* @@ -888,6 +923,7 @@ fi %files api-devel %{_libdir}/pkgconfig/glusterfs-api.pc %{_libdir}/pkgconfig/libgfchangelog.pc +%{_libdir}/pkgconfig/libgfdb.pc %{_libdir}/libgfapi.so %{_includedir}/glusterfs/api/* @@ -929,15 +965,21 @@ fi %endif %endif +%files ganesha +%{_sysconfdir}/ganesha/* +%{_libexecdir}/ganesha/* +%{_prefix}/lib/ocf/resource.d/heartbeat/* + %if ( 0%{!?_without_georeplication:1} ) %files geo-replication -%{_sysconfdir}/logrotate.d/glusterfs-georep +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep %{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/python/syncdaemon/* %{_libexecdir}/glusterfs/gverify.sh %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh %{_libexecdir}/glusterfs/peer_add_secret_pub %{_libexecdir}/glusterfs/peer_gsec_create +%{_libexecdir}/glusterfs/peer_mountbroker %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication %dir %{_sharedstatedir}/glusterd/hooks %dir %{_sharedstatedir}/glusterd/hooks/1 @@ -950,11 +992,17 @@ fi %{_datadir}/glusterfs/scripts/generate-gfid-file.sh %{_datadir}/glusterfs/scripts/gsync-sync-gfid %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 %files libs %{_libdir}/*.so.* %exclude %{_libdir}/libgfapi.* +# libgfdb is only needed server-side +%exclude %{_libdir}/libgfdb.* %if ( 0%{!?_without_rdma:1} ) %files rdma @@ -976,16 +1024,12 @@ fi %files server %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 %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %endif %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/mgmt* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* +%{_libdir}/libgfdb.so.* %{_sharedstatedir}/glusterd + +#snap_scheduler +%{_sbindir}/snap_scheduler.py +%{_sbindir}/gcron.py + #hookscripts %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1 @@ -1049,7 +1099,21 @@ fi %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run %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 +* Wed Apr 15 2015 Kaleb S. KEITHLEY +- preliminary for 3.7.0alpha + * Wed Apr 1 2015 Humble Chirammal 3.6.3beta2 - GlusterFS 3.6.3beta2 release. diff --git a/sources b/sources index f2280f6..4861c40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -55697fd4be9e42b5dc560ea4f7abb089 glusterfs-3.6.3beta2.tar.gz +65e5f58288b0e4ff9384f0aa5baeba7e glusterfs-3.7.0alpha0.tar.gz