diff --git a/.gitignore b/.gitignore index 70566fb..fecc017 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,4 @@ -glusterfs-2.0.9.tar.gz -glusterfs-3.0.5.tar.gz -glusterfs-3.0.7.tar.gz -glusterfs-3.1.1.tar.gz -glusterfs-3.1.2.tar.gz -glusterfs-3.1.3.tar.gz -glusterfs-3.1.4.tar.gz -glusterfs-3.2.1.tar.gz -glusterfs-3.2.2.tar.gz -glusterfs-3.2.3.tar.gz -glusterfs-3.2.4.tar.gz -glusterfs-3.2.5.tar.gz -glusterfs-3.2.6.tar.gz -glusterfs-3.2.7.tar.gz -glusterfs-3.3.0.tar.gz -glusterfs-3.3.1.tar.gz +glusterfs-*.tar.gz swift-*.tar.gz -gluster-swift-ufo-1.1.tar.gz +gluster-swift-ufo-*.tar.gz *.src.rpm - diff --git a/glusterfs.spec b/glusterfs.spec index 13095fc..0787940 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,6 +1,9 @@ %global _for_fedora_koji_builds 1 +# use the prerel for pre-releases +%global prereltag alpha2 + # 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} @@ -14,18 +17,26 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll %{?_without_epoll:%global _without_epoll --disable-epoll} -# if you wish to compile an rpm with fusermount... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with fusermount -%{?_with_fusermount:%global _with_fusermount --enable-fusermount} +# if you wish to compile an rpm without fusermount... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without fusermount +%{?_without_fusermount:%global _without_fusermount --disable-fusermount} # if you wish to compile an rpm without geo-replication support, compile like this... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication %{?_without_georeplication:%global _without_georeplication --disable-geo-replication} +# if you wish to compile an rpm without the OCF resource agents... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf +%{?_without_ocf:%global _without_ocf --without-ocf} + +# if you wish to build rpms without UFO, compile like this +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without ufo +%{?_without_ufo:%global _without_ufo true} + %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %global SWIFTVER 1.7.4 %if 0%{_for_fedora_koji_builds} -%global UFOVER 1.1 +%global UFOVER 1.2 %else %global UFOVER @PACKAGE_VERSION@ %endif @@ -39,8 +50,8 @@ Summary: Cluster File System %if 0%{_for_fedora_koji_builds} Name: glusterfs -Version: 3.3.1 -Release: 11%{?dist} +Version: 3.4.0 +Release: 0.1%{prereltag}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -53,7 +64,7 @@ Vendor: Red Hat %endif URL: http://www.gluster.org//docs/index.php/GlusterFS %if 0%{_for_fedora_koji_builds} -Source0: http://bits.gluster.com/pub/gluster/glusterfs/src/glusterfs-%{version}.tar.gz +Source0: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{PACKAGE_VERSION}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif @@ -88,10 +99,10 @@ Requires(postun): systemd-units # can't seem to make a generic macro that works %define _init_glusterd %{_unitdir}/glusterd.service %define _init_glusterfsd %{_unitdir}/glusterfsd.service -%define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service +%define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service %define _init_gluster_swift_object %{_unitdir}/gluster-swift-object.service -%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service -%define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service +%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service +%define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service %else %if 0%{_for_fedora_koji_builds} %global glusterd_service %{S:%{SOURCE12}} @@ -109,10 +120,10 @@ Requires(postun): /sbin/service # can't seem to make a generic macro that works %define _init_glusterd %{_sysconfdir}/init.d/glusterd %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd -%define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account -%define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object -%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container -%define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy +%define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account +%define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object +%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container +%define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy %endif BuildRequires: bison flex @@ -154,7 +165,7 @@ both GlusterFS server and client framework. Summary: GlusterFS rdma support for ib-verbs Group: Applications/File BuildRequires: libibverbs-devel - +BuildRequires: librdmacm-devel Requires: %{name} = %{version}-%{release} %description rdma @@ -194,6 +205,9 @@ Group: Applications/File BuildRequires: fuse-devel Requires: %{name} = %{version}-%{release} +%if ! 0%{?_with_fusermount} +Requires: /usr/bin/fusermount +%endif Obsoletes: %{name}-client < %{version}-%{release} Provides: %{name}-client = %{version}-%{release} @@ -232,6 +246,35 @@ is in user space and easily manageable. This package provides the glusterfs server daemon. +%if 0%{!?_without_ocf:1} +%package resource-agents +Summary: OCF Resource Agents for GlusterFS +License: GPLv3+ +# this Group handling comes from the Fedora resource-agents package +%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} +Group: System Environment/Base +%else +Group: Productivity/Clustering/HA +%endif +# for glusterd +Requires: glusterfs-server +# depending on the distribution, we need pacemaker or resource-agents +Requires: %{_prefix}/lib/ocf/resource.d + +%description resource-agents +GlusterFS is a clustered 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 resource agents which plug glusterd into +Open Cluster Framework (OCF) compliant cluster resource managers, +like Pacemaker. +%endif + %package devel Summary: Development Libraries License: GPLv2 or LGPLv3+ @@ -452,7 +495,7 @@ Obsoletes: glusterfs-swift-plugin < 3.3.1-4 Obsoletes: glusterfs-swift-ufo <= 3.3.1-4 %if 0%{_for_fedora_koji_builds} -Source15: http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/UFO/gluster-swift-ufo-%{UFOVER}.tar.gz +Source15: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/3.4.0alpha2/UFO/gluster-swift-ufo-%{UFOVER}%{?prereltag}.tar.gz %else Source15: gluster-swift-ufo-@PACKAGE_VERSION@.tar.gz %endif @@ -467,15 +510,15 @@ storage costs. %endif %prep -%setup -q -n %{name}-%{version} +%setup -q -n %{name}-%{version}%{?prereltag} %if 0%{?_with_ufo:1} # unpack swift-1.x.y -%setup -q -T -D -n %{name}-%{version} -a 20 +%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 20 # unpack gluster ufo -%setup -q -T -D -n %{name}-%{version} -a 15 +%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 15 %if 0%{_for_fedora_koji_builds} #%patch0 -p0 -%patch1 -p0 +%patch1 -p0 -F4 %endif cd swift-%{SWIFTVER} %if ( 0%{?rhel} && 0%{?rhel} < 7 ) @@ -485,14 +528,16 @@ cd swift-%{SWIFTVER} %patch22 -p1 dos2unix LICENSE %if 0%{_for_fedora_koji_builds} +%if "%{UFOVER}" == "1.1" cd ../ufo %patch15 -p1 %endif %endif +%endif %build ./autogen.sh -%configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} %{?_without_georeplication} +%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -557,6 +602,11 @@ find %{buildroot}%{_libdir} -name '*.la' -delete # Remove installed docs, we include them ourselves as %%doc %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ +# Remove benchmarking and other unpackaged files +%{__rm} -rf %{buildroot}/benchmarking +%{__rm} -f %{buildroot}/glusterfs-mode.el +%{__rm} -f %{buildroot}/glusterfs.vim + # Create working directory %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd @@ -743,20 +793,20 @@ cp ufo/bin/gluster-swift-gen-builders %{buildroot}%{_bindir}/ %dir %{_localstatedir}/run/gluster %dir %{_sharedstatedir}/glusterd %if 0%{!?_without_rdma:1} -%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %endif -%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* -%exclude %{_libdir}/glusterfs/%{version}/xlator/storage* -%exclude %{_libdir}/glusterfs/%{version}/xlator/features/posix* -%exclude %{_libdir}/glusterfs/%{version}/xlator/protocol/server* -%exclude %{_libdir}/glusterfs/%{version}/xlator/mgmt* -%exclude %{_libdir}/glusterfs/%{version}/xlator/nfs* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* %if 0%{!?_without_rdma:1} %files rdma %defattr(-,root,root,-) -%{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %endif %if 0%{!?_without_georeplication:1} @@ -779,17 +829,18 @@ fi %if 0%{_for_fedora_koji_builds} %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse %endif -%{_libdir}/glusterfs/%{version}/xlator/mount/fuse* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* /sbin/mount.glusterfs %if 0%{_for_fedora_koji_builds} /sbin/umount.glusterfs %endif -%if 0%{?_with_fusermount:1} +%if 0%{?_without_fusermount:1} %{_bindir}/fusermount-glusterfs %endif %files server %defattr(-,root,root,-) +%doc extras/clear_xattrs.sh %if 0%{_for_fedora_koji_builds} %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %endif @@ -808,11 +859,11 @@ fi # binaries %{_sbindir}/gluster %{_sbindir}/glusterd -%{_libdir}/glusterfs/%{version}/xlator/storage* -%{_libdir}/glusterfs/%{version}/xlator/features/posix* -%{_libdir}/glusterfs/%{version}/xlator/protocol/server* -%{_libdir}/glusterfs/%{version}/xlator/mgmt* -%{_libdir}/glusterfs/%{version}/xlator/nfs* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* %ghost %attr(0644,-,-) %{_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 @@ -850,10 +901,17 @@ fi %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid +%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 +%{_libdir}/pkgconfig/glusterfs-api.pc %exclude %{_includedir}/glusterfs/y.tab.h %{_libdir}/*.so @@ -862,20 +920,13 @@ fi %defattr(-,root,root,-) %doc swift-%{SWIFTVER}/AUTHORS %doc swift-%{SWIFTVER}/LICENSE -%doc swift-%{SWIFTVER}/README +%doc swift-%{SWIFTVER}/README* %doc swift-%{SWIFTVER}/etc/dispersion.conf-sample %doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample %doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample %doc swift-%{SWIFTVER}/etc/swift.conf-sample %{_mandir}/man5/dispersion.conf.5* -%{_mandir}/man1/swift-dispersion-populate.1* -%{_mandir}/man1/swift-dispersion-report.1* -%{_mandir}/man1/swift.1* -%{_mandir}/man1/swift-get-nodes.1* -%{_mandir}/man1/swift-init.1* -%{_mandir}/man1/swift-orphans.1* -%{_mandir}/man1/swift-recon.1* -%{_mandir}/man1/swift-ring-builder.1* +%{_mandir}/man1/swift*.1* %if 0%{?_with_systemd:1} %config(noreplace) %{_sysconfdir}/tmpfiles.d/gluster-swift.conf %else @@ -1089,7 +1140,7 @@ fi %postun swift-account -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-account fi @@ -1114,7 +1165,7 @@ fi %postun swift-container -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-container fi @@ -1139,7 +1190,7 @@ fi %postun swift-object -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-object fi @@ -1164,13 +1215,16 @@ fi %postun swift-proxy -if [ "$1" -ge "1" ] ; then +if [ $1 -ge 1 ] ; then %_init_restart gluster-swift-proxy fi %endif %changelog +* Wed Apr 10 2013 Kaleb S. KEITHLEY - 3.4.0-0.1alpha2 +- prerelease 3.4.0alpha2 for oVirt/vdsm dependencies in Fedora19 + * Wed Mar 6 2013 Kaleb S. KEITHLEY - 3.3.1-11 - /var/run/gluster - sync with gluster.org git - Requires: portmap for rhel5 instead of rpcbind diff --git a/sources b/sources index 090e799..b2a1966 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -4c9f291de887b1193d5d1acac4003360 glusterfs-3.3.1.tar.gz +321e86ec220c3ce10b26d9763743330a glusterfs-3.4.0alpha2.tar.gz 1cfb85335eafc4317414736477d47dfc swift-1.7.4.tar.gz -c1041b0551be722363f18f3a5664d0cf gluster-swift-ufo-1.1.tar.gz +17e8ab57fc37e1593d903c54a76d8ebe gluster-swift-ufo-1.2alpha2.tar.gz