From 4a3a71c13cebff2ed365a7bfe668525c774ff8b0 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 28 May 2013 11:26:52 +0200 Subject: [PATCH 1/5] glusterfs-api.pc: include pkgconfig file in -devel RPM From: http://review.gluster.com/3665 & http://review.gluster.com/3693 Other projects (like Samba) use pkg-config to discover support for GlusterFS and gather the CFLAGS and LDFLAGS for compiling against libgfapi.so. Not building new packages now, only making sure it is included in the next run. --- glusterfs.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index c008ab0..725fb32 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1010,6 +1010,7 @@ fi %files devel %defattr(-,root,root,-) %{_includedir}/glusterfs +%{_libdir}/pkgconfig/glusterfs-api.pc %exclude %{_includedir}/glusterfs/y.tab.h %exclude %{_includedir}/glusterfs/api %exclude %{_libdir}/libgfapi.so @@ -1420,6 +1421,9 @@ fi %endif %changelog +* Mon May 27 2013 Niels de Vos +- include glusterfs-api.pc in the -devel subpackage + * Fri May 24 2013 Kaleb S. KEITHLEY - 3.4.0-0.5.beta2 - prerelease 3.4.0beta2 for oVirt/vdsm dependencies in Fedora19 From 991ab8f6a03e000f58a5a2d2fd274dc6561683e8 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Wed, 22 May 2013 16:20:36 +0200 Subject: [PATCH 2/5] rpm: automatically load the fuse module on EL5 The fuse module needs to be loaded before /dev/fuse can be used. On RHEL6 and Fedora the module is loaded on demand. RHEL5 needs to load the module manually. This change add a script under /etc/sysconfig/modules/ that loads the fuse module on boot and packages it in the EL5 version of glusterfs-fuse. One of the features of GlusterFS is to not depend on additional fuse userspace. The conditional requires on /usr/bin/fusermount is not needed, this command is never called in the current version (even though is it referenced in the sources). Upstream-BUG: 947830 --- glusterfs.spec | 18 ++++++++++++++---- rhel5-load-fuse-modules | 7 +++++++ 2 files changed, 21 insertions(+), 4 deletions(-) create mode 100755 rhel5-load-fuse-modules diff --git a/glusterfs.spec b/glusterfs.spec index 725fb32..94e0c72 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -78,6 +78,7 @@ Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate +Source7: rhel5-load-fuse-modules 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 @@ -284,9 +285,6 @@ Group: Applications/File BuildRequires: fuse-devel Requires: %{name} = %{version}-%{release} -%if ( ! 0%{?_without_fusermount} ) -Requires: /usr/bin/fusermount -%endif Obsoletes: %{name}-client < %{version}-%{release} Provides: %{name}-client = %{version}-%{release} @@ -678,6 +676,11 @@ cd .. %{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd %endif +%if 0%{?rhel} && 0%{?rhel} <= 5 +%{__install} -D -p -m 0755 extras/init.d/rhel5-load-fuse.modules \ + %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules +%endif + %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd @@ -932,6 +935,9 @@ fi %if ( 0%{?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif +%if 0%{?rhel} && 0%{?rhel} <= 5 +%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules +%endif %files server %defattr(-,root,root,-) @@ -1421,7 +1427,11 @@ fi %endif %changelog -* Mon May 27 2013 Niels de Vos +* Wed May 29 2013 Niels de Vos +- automatically load the fuse module on EL5 +- there is no need to require the unused /usr/bin/fusermount + +* Mon May 27 2013 Niels de Vos - include glusterfs-api.pc in the -devel subpackage * Fri May 24 2013 Kaleb S. KEITHLEY - 3.4.0-0.5.beta2 diff --git a/rhel5-load-fuse-modules b/rhel5-load-fuse-modules new file mode 100755 index 0000000..ee194db --- /dev/null +++ b/rhel5-load-fuse-modules @@ -0,0 +1,7 @@ +#!/bin/sh +# +# fusermount-glusterfs requires the /dev/fuse character device. The fuse module +# provides this and is loaded on demand in newer Linux distributions. +# + +[ -c /dev/fuse ] || /sbin/modprobe fuse From 4b7832bf10f055011a84c831ad6fb1053ad3d322 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Wed, 29 May 2013 10:10:35 +0200 Subject: [PATCH 3/5] fix --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 94e0c72..5713104 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -677,7 +677,7 @@ cd .. %endif %if 0%{?rhel} && 0%{?rhel} <= 5 -%{__install} -D -p -m 0755 extras/init.d/rhel5-load-fuse.modules \ +%{__install} -D -p -m 0755 %{SOURCE7} \ %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules %endif From 7c2f27e62dff2cf966d8c3ca3c91e03f40fd2405 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Wed, 29 May 2013 10:48:44 +0200 Subject: [PATCH 4/5] Fix building on EL5 --- glusterfs.spec | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index 5713104..010f6c1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -90,6 +90,10 @@ Source11: glusterfsd.service Source12: glusterd.init Source13: glusterfsd.init +%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) +# we don't build swift/ufo on rhel5 +# not including the sources is ugly, but we state our intentions clearly + %if ( 0%{_for_fedora_koji_builds} ) Source15: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{version}%{?prereltag}/UFO/gluster-swift-ufo-%{UFOVER}%{?prereltag}.tar.gz %else @@ -142,6 +146,8 @@ Source73: proxy-server.conf Source74: swift.conf Source75: object-expirer.conf +%endif + Patch20: 0001-Use-updated-parallel-install-versions-of-epel-packag.patch Patch21: 0002-Add-fixes-for-building-the-doc-package.patch Patch22: glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch @@ -344,7 +350,10 @@ This package provides the glusterfs libgfapi library %package resource-agents Summary: OCF Resource Agents for GlusterFS License: GPLv3+ +%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) +# EL5 does not support noarch sub-packages BuildArch: noarch +%endif # this Group handling comes from the Fedora resource-agents package %if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} ) Group: System Environment/Base @@ -1430,6 +1439,7 @@ fi * Wed May 29 2013 Niels de Vos - automatically load the fuse module on EL5 - there is no need to require the unused /usr/bin/fusermount +- fix building on EL5 * Mon May 27 2013 Niels de Vos - include glusterfs-api.pc in the -devel subpackage From d57cbf383a40adb0e2f72297db04204255c5b23e Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 11 Jun 2013 13:46:07 -0400 Subject: [PATCH 5/5] glusterfs-3.4.0beta3 --- glusterfs.spec | 36 +++++++++++++++++++----------------- sources | 4 ++-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 010f6c1..d5fcf6d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,7 +4,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -%global prereltag beta2 +%global prereltag beta3 # if you wish to compile an rpm without rdma support, compile like this... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma @@ -55,13 +55,13 @@ Summary: Cluster File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.4.0 -Release: 0.5%{?prereltag:.%{prereltag}}%{?dist} +Release: 0.6%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: 1%{?dist} %endif -License: GPLv3+ and (GPLv2 or LGPLv3+) +License: GPLv2 or LGPLv3+ Group: System Environment/Base %if ( 0%{_for_fedora_koji_builds} ) Vendor: Red Hat @@ -201,11 +201,11 @@ BuildRequires: gcc make automake libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel -#BuildRequires: systemtap-sdt-devel lvm2-devel # glusterfs-3.4.x -%if ( 0%{?suse_version} ) +BuildRequires: systemtap-sdt-devel BuildRequires: python-devel -%else BuildRequires: python-ctypes +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +BuildRequires: lvm2-devel %endif Obsoletes: hekafs <= 0.7 @@ -222,7 +222,7 @@ Provides: %{name}-core = %{version}-%{release} # - all provides from xlators and private libraries not in the ldconfig path # # TODO: RHEL5 does not have a convenient solution -%if 0%{?rhel} == 6 +%if ( 0%{?rhel} == 6 ) # filter_setup exists in RHEL6 only %filter_provides_in %{_libdir}/glusterfs/%{version}/ %global __filter_from_req %{?__filter_from_req} | %{__grep} -v -P '^(?!lib).*\.so.*$' @@ -590,13 +590,6 @@ storage costs. %prep %setup -q -n %{name}-%{version}%{?prereltag} -%if ( 0%{?_with_ufo:1} ) -%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 ) -# unpack swift-1.x.y -%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 20 -%endif -# unpack gluster ufo -%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 15 %if ( 0%{_for_fedora_koji_builds} ) #%patch0 -p0 %patch1 -p0 -F4 @@ -604,6 +597,13 @@ storage costs. %patch2 -p1 %endif %endif +%if ( 0%{?_with_ufo:1} ) +%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 ) +# unpack swift-1.x.y +%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 20 +%endif +# unpack gluster ufo +%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 15 %if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 ) cd swift-%{SWIFTVER} %if ( 0%{?rhel} && 0%{?rhel} < 7 ) @@ -685,7 +685,7 @@ cd .. %{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd %endif -%if 0%{?rhel} && 0%{?rhel} <= 5 +%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) %{__install} -D -p -m 0755 %{SOURCE7} \ %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules %endif @@ -944,7 +944,7 @@ fi %if ( 0%{?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif -%if 0%{?rhel} && 0%{?rhel} <= 5 +%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) %{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules %endif @@ -1025,7 +1025,6 @@ fi %files devel %defattr(-,root,root,-) %{_includedir}/glusterfs -%{_libdir}/pkgconfig/glusterfs-api.pc %exclude %{_includedir}/glusterfs/y.tab.h %exclude %{_includedir}/glusterfs/api %exclude %{_libdir}/libgfapi.so @@ -1436,6 +1435,9 @@ fi %endif %changelog +* Tue Jun 11 2013 Kaleb S. KEITHLEY - 3.4.0-0.6.beta3 +- prerelease 3.4.0beta3 for oVirt/vdsm dependencies in Fedora19 + * Wed May 29 2013 Niels de Vos - automatically load the fuse module on EL5 - there is no need to require the unused /usr/bin/fusermount diff --git a/sources b/sources index ace4a4c..bc372be 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -2b213d50508f9838d5b897e8be3614c0 glusterfs-3.4.0beta2.tar.gz +95c6c75b09ecc2aab8db1dce1b3ff26c glusterfs-3.4.0beta3.tar.gz 0d2479c3cbb124fa3a6b001d0d4d5a8b swift-1.8.0.tar.gz -7a2e11fd7b59d4ddee2c699adf60fc6e gluster-swift-ufo-1.2beta2.tar.gz +a48cbca2e9bf4c0a8e44a8a08707f3a4 gluster-swift-ufo-1.2beta3.tar.gz