From 31784c8d46b7b8ef6be38ebb857d2cc25eed17ed Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 31 Oct 2009 21:00:57 +0000 Subject: [PATCH 01/38] Update to 2.0.7. Add glusterfs-volgen. Add more documentation. --- .cvsignore | 2 +- glusterfs.spec | 83 +++++++++++++++++++++++++++++++------------------- import.log | 1 + sources | 2 +- 4 files changed, 55 insertions(+), 33 deletions(-) create mode 100644 import.log diff --git a/.cvsignore b/.cvsignore index 16ea1df..156fde5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.6.tar.gz +glusterfs-2.0.7.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index ed21e8f..2a104e9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,4 +1,11 @@ #define pre rc8 +## NOTE: Lots of files in various subdirectories have the same name (such as +## "LICENSE") so this short macro allows us to distinguish them by using their +## directory names (from the source tree) as prefixes for the files. +## Usage: add_to_doc_files subdirname files +%define add_to_doc_files() \ +%{__mkdir_p} %{buildroot}%{_docdir}/%{name}-%{version}/%1 ||: ; \ +%{__cp} -p %2 %{buildroot}%{_docdir}/%{name}-%{version}/%1 # Possible rpmbuild options %{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs} @@ -10,27 +17,27 @@ %define _without_python --disable-python %endif -Summary: Cluster File System -Name: glusterfs -Version: 2.0.6 -Release: 2%{?pre:.%{pre}}%{?dist} -License: GPLv3+ -Group: System Environment/Base -URL: http://www.gluster.org/ -Source0: http://ftp.gluster.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz -Source1: glusterfsd.init -Source2: glusterfsd.sysconfig -Source3: umount.glusterfs -Source4: glusterfs.logrotate -Source5: glusterfsd.logrotate -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Summary: Cluster File System +Name: glusterfs +Version: 2.0.7 +Release: 1%{?pre:.%{pre}}%{?dist} +License: GPLv3+ +Group: System Environment/Base +URL: http://www.gluster.org/ +Source0: http://ftp.gluster.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz +Source1: glusterfsd.init +Source2: glusterfsd.sysconfig +Source3: umount.glusterfs +Source4: glusterfs.logrotate +Source5: glusterfsd.logrotate +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service %{!?_without_ibverbs:BuildRequires: libibverbs-devel} %{!?_without_client:BuildRequires: fuse-devel} %{!?_without_python:BuildRequires: python-devel} -BuildRequires: flex, bison, byacc +BuildRequires: flex, bison, byacc %description GlusterFS is a clustered file-system capable of scaling to several @@ -43,10 +50,10 @@ is in userspace and easily manageable. %package common -Summary: GlusterFS common files for both the client and the server -Group: System Environment/Libraries -Obsoletes: glusterfs-libs < 2.0.0 -Provides: glusterfs-libs = %{version}-%{release} +Summary: GlusterFS common files for both the client and the server +Group: System Environment/Libraries +Obsoletes: glusterfs-libs < 2.0.0 +Provides: glusterfs-libs = %{version}-%{release} %description common GlusterFS is a clustered file-system capable of scaling to several @@ -62,10 +69,10 @@ translator modules common to both GlusterFS server and client framework. %package client -Summary: GlusterFS Client -Group: Applications/File -Requires: fuse -Requires: %{name}-common = %{version}-%{release} +Summary: GlusterFS Client +Group: Applications/File +Requires: fuse +Requires: %{name}-common = %{version}-%{release} %description client GlusterFS is a clustered file-system capable of scaling to several @@ -80,9 +87,9 @@ This package provides the FUSE based GlusterFS client. %package server -Summary: GlusterFS Server -Group: System Environment/Daemons -Requires: %{name}-common = %{version}-%{release} +Summary: GlusterFS Server +Group: System Environment/Daemons +Requires: %{name}-common = %{version}-%{release} %description server GlusterFS is a clustered file-system capable of scaling to several @@ -95,11 +102,10 @@ is in userspace and easily manageable. This package provides the glusterfs server daemon. - %package devel -Summary: GlusterFS Development Libraries -Group: Development/Libraries -Requires: %{name}-common = %{version}-%{release} +Summary: GlusterFS Development Libraries +Group: Development/Libraries +Requires: %{name}-common = %{version}-%{release} %description devel GlusterFS is a clustered file-system capable of scaling to several @@ -171,6 +177,13 @@ done %{__install} -D -p -m 0644 %{SOURCE5} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd +# Install volgen tool +%{__install} -D -p -m 0755 extras/glusterfs-volgen.py \ + %{buildroot}%{_bindir}/glusterfs-volgen + +# Install extra documentation +%add_to_doc_files benchmarking extras/benchmarking/{*.c,README,*.sh} + %clean %{__rm} -rf %{buildroot} @@ -197,11 +210,13 @@ fi %files common -%doc AUTHORS ChangeLog COPYING NEWS README +%doc AUTHORS ChangeLog COPYING NEWS README extras/{glusterfs-mode.el,glusterfs.vim} +%{_docdir}/%{name}-%{version}/benchmarking %{_libdir}/glusterfs/ %{_libdir}/*.so.* %{_sbindir}/glusterfs %{_sbindir}/glusterfsd +%{_bindir}/glusterfs-volgen %{_mandir}/man8/glusterfs.8* %dir /var/log/glusterfs/ @@ -232,6 +247,12 @@ fi %changelog +* Sat Oct 31 2009 Jonathan Steffan - 2.0.7-1 +- Update to 2.0.7 +- Install glusterfs-volgen, until it's properly added to automake + by upstream +- Add macro to be able to ship more docs + * Thu Sep 17 2009 Peter Lemenkov 2.0.6-2 - Rebuilt with new fuse diff --git a/import.log b/import.log new file mode 100644 index 0000000..63ba9e7 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +glusterfs-2_0_7-1_fc11:HEAD:glusterfs-2.0.7-1.fc11.src.rpm:1257022756 diff --git a/sources b/sources index 3fb24c9..c4e9ffc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dfa42bfc34d799888a1e3032f9143c72 glusterfs-2.0.6.tar.gz +ed8968a8671fecd7f7eec7c746c8608c glusterfs-2.0.7.tar.gz From 319fed54476d3ee6fc2e21350b297f5916191cbd Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 8 Nov 2009 20:29:57 +0000 Subject: [PATCH 02/38] Update to 2.0.8 --- .cvsignore | 2 +- glusterfs.spec | 11 ++++++----- import.log | 1 + sources | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.cvsignore b/.cvsignore index 156fde5..2da2f68 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.7.tar.gz +glusterfs-2.0.8.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 2a104e9..34a0740 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -19,7 +19,7 @@ Summary: Cluster File System Name: glusterfs -Version: 2.0.7 +Version: 2.0.8 Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base @@ -177,10 +177,6 @@ done %{__install} -D -p -m 0644 %{SOURCE5} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd -# Install volgen tool -%{__install} -D -p -m 0755 extras/glusterfs-volgen.py \ - %{buildroot}%{_bindir}/glusterfs-volgen - # Install extra documentation %add_to_doc_files benchmarking extras/benchmarking/{*.c,README,*.sh} @@ -247,6 +243,11 @@ fi %changelog +* Sat Nov 8 2009 Jonathan Steffan - 2.0.8-1 +- Update to 2.0.8 +- Remove install of glusterfs-volgen, it's properly added to + automake upstream now + * Sat Oct 31 2009 Jonathan Steffan - 2.0.7-1 - Update to 2.0.7 - Install glusterfs-volgen, until it's properly added to automake diff --git a/import.log b/import.log index 63ba9e7..7c04ab4 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ glusterfs-2_0_7-1_fc11:HEAD:glusterfs-2.0.7-1.fc11.src.rpm:1257022756 +glusterfs-2_0_8-1_fc11:HEAD:glusterfs-2.0.8-1.fc11.src.rpm:1257712107 diff --git a/sources b/sources index c4e9ffc..8382041 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ed8968a8671fecd7f7eec7c746c8608c glusterfs-2.0.7.tar.gz +858a3887b67ee6e8c900799ebb65a61c glusterfs-2.0.8.tar.gz From 55695d3e90dee369d4ef71688f638821e0fa3874 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:19:33 +0000 Subject: [PATCH 03/38] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e4ced0..50d971f 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := glusterfs SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From c9ecd75c523112d6c6ceca40c3d71ff9daa06f61 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 2 Jan 2010 23:53:35 +0000 Subject: [PATCH 04/38] Update to 2.0.9. --- .cvsignore | 2 +- glusterfs.spec | 6 +++++- import.log | 1 + sources | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 2da2f68..5764ba0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.8.tar.gz +glusterfs-2.0.9.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 34a0740..eabe34d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -19,7 +19,7 @@ Summary: Cluster File System Name: glusterfs -Version: 2.0.8 +Version: 2.0.9 Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base @@ -237,12 +237,16 @@ fi %files devel %{_includedir}/glusterfs/ %{_includedir}/libglusterfsclient.h +%{_datadir}/glusterfs/* %exclude %{_libdir}/*.a %exclude %{_libdir}/*.la %{_libdir}/*.so %changelog +* Sat Jan 2 2010 Jonathan Steffan - 2.0.9-1 +- Update to 2.0.9 + * Sat Nov 8 2009 Jonathan Steffan - 2.0.8-1 - Update to 2.0.8 - Remove install of glusterfs-volgen, it's properly added to diff --git a/import.log b/import.log index 7c04ab4..16764d3 100644 --- a/import.log +++ b/import.log @@ -1,2 +1,3 @@ glusterfs-2_0_7-1_fc11:HEAD:glusterfs-2.0.7-1.fc11.src.rpm:1257022756 glusterfs-2_0_8-1_fc11:HEAD:glusterfs-2.0.8-1.fc11.src.rpm:1257712107 +glusterfs-2_0_9-1_fc12:HEAD:glusterfs-2.0.9-1.fc12.src.rpm:1262476327 diff --git a/sources b/sources index 8382041..4f5eada 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -858a3887b67ee6e8c900799ebb65a61c glusterfs-2.0.8.tar.gz +0467740f423e32bdf2f66d2cf63467f3 glusterfs-2.0.9.tar.gz From f74c11ad7870c388d18b80dfedc50b8e662f5adf Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 11 Apr 2010 20:32:46 +0000 Subject: [PATCH 05/38] Update build, fixing #555724 #554947 #555728 --- glusterfs.spec | 39 ++++++++++++++++++++++++--------------- import.log | 1 + 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index eabe34d..f6c5251 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -12,15 +12,10 @@ %{?_without_client:%define _without_client --disable-fuse-client} %{?_without_python:%define _without_python --disable-python} -# Disable the python bindings if we have < 2.4, since 2.4+ is required -%if "%(%{__python} -c "import sys ; print sys.version[:3]")" < "2.4" -%define _without_python --disable-python -%endif - -Summary: Cluster File System +Summary: GlusterFS - Cluster File System Name: glusterfs Version: 2.0.9 -Release: 1%{?pre:.%{pre}}%{?dist} +Release: 2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/ @@ -36,14 +31,14 @@ Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service %{!?_without_ibverbs:BuildRequires: libibverbs-devel} %{!?_without_client:BuildRequires: fuse-devel} -%{!?_without_python:BuildRequires: python-devel} +%{!?_without_python:BuildRequires: python-devel >= 2.4} BuildRequires: flex, bison, byacc %description GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system in +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 userspace and easily manageable. @@ -53,13 +48,13 @@ is in userspace and easily manageable. Summary: GlusterFS common files for both the client and the server Group: System Environment/Libraries Obsoletes: glusterfs-libs < 2.0.0 -Provides: glusterfs-libs = %{version}-%{release} +Provides: glusterfs-libs >= %{version}-%{release} %description common GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system in +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 userspace and easily manageable. @@ -78,7 +73,7 @@ Requires: %{name}-common = %{version}-%{release} GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system in +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 userspace and easily manageable. @@ -95,7 +90,7 @@ Requires: %{name}-common = %{version}-%{release} GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system in +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 userspace and easily manageable. @@ -111,7 +106,7 @@ Requires: %{name}-common = %{version}-%{release} GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system in +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 userspace and easily manageable. @@ -128,10 +123,14 @@ chmod -x libglusterfsclient/src/*.{c,h} %build +# Temp disable stack-protector until upstream fixes code +CFLAGS=`echo "%optflags"|sed 's/-D_FORTIFY_SOURCE=2/-D_FORTIFY_SOURCE=1/'` %configure %{?_without_ibverbs} %{?_without_client} %{?_without_python} # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + + %{__make} %{?_smp_mflags} @@ -212,7 +211,6 @@ fi %{_libdir}/*.so.* %{_sbindir}/glusterfs %{_sbindir}/glusterfsd -%{_bindir}/glusterfs-volgen %{_mandir}/man8/glusterfs.8* %dir /var/log/glusterfs/ @@ -238,12 +236,23 @@ fi %{_includedir}/glusterfs/ %{_includedir}/libglusterfsclient.h %{_datadir}/glusterfs/* +%{_bindir}/glusterfs-volgen %exclude %{_libdir}/*.a %exclude %{_libdir}/*.la %{_libdir}/*.so %changelog +* Sat Apr 10 2010 Jonathan Steffan - 2.0.9-2 +- Move python version requires into a proper BuildRequires otherwise + the spec always turned off python bindings as python is not part + of buildsys-build and the chroot will never have python unless we + require it +- Temporarily set -D_FORTIFY_SOURCE=1 until upstream fixes code + GlusterFS Bugzilla #197 (#555728) +- Move glusterfs-volgen to devel subpackage (#555724) +- Update description (#554947) + * Sat Jan 2 2010 Jonathan Steffan - 2.0.9-1 - Update to 2.0.9 diff --git a/import.log b/import.log index 16764d3..bdbb857 100644 --- a/import.log +++ b/import.log @@ -1,3 +1,4 @@ glusterfs-2_0_7-1_fc11:HEAD:glusterfs-2.0.7-1.fc11.src.rpm:1257022756 glusterfs-2_0_8-1_fc11:HEAD:glusterfs-2.0.8-1.fc11.src.rpm:1257712107 glusterfs-2_0_9-1_fc12:HEAD:glusterfs-2.0.9-1.fc12.src.rpm:1262476327 +glusterfs-2_0_9-2_fc12:HEAD:glusterfs-2.0.9-2.fc12.src.rpm:1271017898 From ee34f3cfec23182154bc86dedf429c743017a83c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 15:59:53 +0000 Subject: [PATCH 06/38] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 4 ---- 3 files changed, 25 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 50d971f..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: glusterfs -# $Id$ -NAME := glusterfs -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index bdbb857..0000000 --- a/import.log +++ /dev/null @@ -1,4 +0,0 @@ -glusterfs-2_0_7-1_fc11:HEAD:glusterfs-2.0.7-1.fc11.src.rpm:1257022756 -glusterfs-2_0_8-1_fc11:HEAD:glusterfs-2.0.8-1.fc11.src.rpm:1257712107 -glusterfs-2_0_9-1_fc12:HEAD:glusterfs-2.0.9-1.fc12.src.rpm:1262476327 -glusterfs-2_0_9-2_fc12:HEAD:glusterfs-2.0.9-2.fc12.src.rpm:1271017898 From e6892d0c1ef1ba0d9283551b9f216e90bf093e95 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 5 Aug 2010 13:14:45 -0600 Subject: [PATCH 07/38] Update to 3.0.x --- .gitignore | 1 + glusterfs.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5764ba0..86c525d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ glusterfs-2.0.9.tar.gz +glusterfs-3.0.5.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index f6c5251..bd4097e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -14,12 +14,12 @@ Summary: GlusterFS - Cluster File System Name: glusterfs -Version: 2.0.9 +Version: 3.0.5 Release: 2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/ -Source0: http://ftp.gluster.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz +Source0: http://ftp.gluster.com/pub/gluster/glusterfs/3.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs @@ -220,6 +220,7 @@ fi %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs /sbin/mount.glusterfs /sbin/umount.glusterfs +%{_mandir}/man8/mount.glusterfs.8* %endif @@ -243,6 +244,9 @@ fi %changelog +* Wed Jul 28 2010 Jonathan Steffan - 3.0.5-1 +- Update to 3.0.x + * Sat Apr 10 2010 Jonathan Steffan - 2.0.9-2 - Move python version requires into a proper BuildRequires otherwise the spec always turned off python bindings as python is not part diff --git a/sources b/sources index 4f5eada..69140c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0467740f423e32bdf2f66d2cf63467f3 glusterfs-2.0.9.tar.gz +da6f9f4e21859f1115ec3853cb701868 glusterfs-3.0.5.tar.gz From cfaba0b28e64b02ccc363631420fc45285290887 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Mon, 20 Dec 2010 16:23:23 -0700 Subject: [PATCH 08/38] Update to 3.0.7 --- .gitignore | 1 + glusterfs.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 86c525d..6305e67 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ glusterfs-2.0.9.tar.gz glusterfs-3.0.5.tar.gz +/glusterfs-3.0.7.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index bd4097e..7edc8ce 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -14,8 +14,8 @@ Summary: GlusterFS - Cluster File System Name: glusterfs -Version: 3.0.5 -Release: 2%{?pre:.%{pre}}%{?dist} +Version: 3.0.7 +Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/ @@ -212,6 +212,7 @@ fi %{_sbindir}/glusterfs %{_sbindir}/glusterfsd %{_mandir}/man8/glusterfs.8* +%dir %{_sysconfdir}/glusterfs/ %dir /var/log/glusterfs/ @@ -226,7 +227,6 @@ fi %files server %doc examples/ doc/glusterfs*.vol.sample -%dir %{_sysconfdir}/glusterfs/ %config(noreplace) %{_sysconfdir}/glusterfs/*.vol %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd @@ -244,6 +244,9 @@ fi %changelog +* Mon Dec 20 2010 Jonathan Steffan - 3.0.7-1 +- Update to 3.0.7 + * Wed Jul 28 2010 Jonathan Steffan - 3.0.5-1 - Update to 3.0.x diff --git a/sources b/sources index 69140c1..fa5b3c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -da6f9f4e21859f1115ec3853cb701868 glusterfs-3.0.5.tar.gz +5b6093d99ce0b15dfae8a3a7606dd0a5 glusterfs-3.0.7.tar.gz From adfa3d9ec6a9a87d3436740b8e2181d5b656d39a Mon Sep 17 00:00:00 2001 From: Silas Sewell Date: Tue, 28 Dec 2010 20:27:01 -0500 Subject: [PATCH 09/38] - Update to 3.1.1 - Change package names to mirror upstream --- .gitignore | 1 + glusterd.init | 106 ++++++ glusterd.logrotate | 6 + glusterd.sysconfig | 8 + ...erfs.logrotate => glusterfs-fuse.logrotate | 2 +- glusterfs.spec | 326 ++++++++++-------- sources | 2 +- 7 files changed, 314 insertions(+), 137 deletions(-) create mode 100644 glusterd.init create mode 100644 glusterd.logrotate create mode 100644 glusterd.sysconfig rename glusterfs.logrotate => glusterfs-fuse.logrotate (57%) diff --git a/.gitignore b/.gitignore index 6305e67..0959068 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +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 diff --git a/glusterd.init b/glusterd.init new file mode 100644 index 0000000..5e7f67f --- /dev/null +++ b/glusterd.init @@ -0,0 +1,106 @@ +#!/bin/sh +# +# glusterd Startup script for the glusterfs server +# +# chkconfig: - 20 80 +# description: Clustered file-system server + +### BEGIN INIT INFO +# Provides: glusterd +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Should-Start: +# Should-Stop: +# Default-Start: +# Default-Stop: 0 1 2 3 4 5 6 +# Short-Description: glusterfs server +# Description: Clustered file-system server +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +exec="/usr/sbin/glusterd" +prog="glusterd" + +# Set defaults, then source config for eventual overrides +GLUSTERFSD_NOFILE="65536" + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $exec ] || exit 5 + [ -f $GLUSTERFSD_CONFIG ] || exit 6 + ulimit -n $GLUSTERFSD_NOFILE + echo -n $"Starting $prog: " + daemon $exec${GLUSTERFSD_CONFIG+" -f $GLUSTERFSD_CONFIG"}${GLUSTERFSD_LOGFILE+" -l $GLUSTERFSD_LOGFILE"}${GLUSTERFSD_LOGLEVEL+" -L $GLUSTERFSD_LOGLEVEL"} -p /var/run/glusterd.pid + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + status $prog +} + +rh_status_q() { + rh_status &>/dev/null +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? diff --git a/glusterd.logrotate b/glusterd.logrotate new file mode 100644 index 0000000..7301183 --- /dev/null +++ b/glusterd.logrotate @@ -0,0 +1,6 @@ +/var/log/glusterd/glusterd.log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/glusterd.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/glusterd.sysconfig b/glusterd.sysconfig new file mode 100644 index 0000000..09dba20 --- /dev/null +++ b/glusterd.sysconfig @@ -0,0 +1,8 @@ +# Change the glusterd service defaults here. +# See "glusterd --help" outpout for defaults and possible values. + +#GLUSTERFSD_CONFIG="/etc/gluster/glusterd.vol" +#GLUSTERFSD_LOGFILE="/var/log/gluster/gluster.log" +#GLUSTERFSD_LOGLEVEL="NORMAL" +#GLUSTERFSD_NOFILE="65536" + diff --git a/glusterfs.logrotate b/glusterfs-fuse.logrotate similarity index 57% rename from glusterfs.logrotate rename to glusterfs-fuse.logrotate index 32b3ef9..d96663b 100644 --- a/glusterfs.logrotate +++ b/glusterfs-fuse.logrotate @@ -1,6 +1,6 @@ /var/log/glusterfs/glusterfs.log { missingok postrotate - /usr/bin/killall -HUP glusterfs 2>/dev/null || true + /usr/bin/killall -HUP gluster 2>/dev/null || true endscript } diff --git a/glusterfs.spec b/glusterfs.spec index 7edc8ce..702e3f2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,149 +1,168 @@ -#define pre rc8 -## NOTE: Lots of files in various subdirectories have the same name (such as -## "LICENSE") so this short macro allows us to distinguish them by using their -## directory names (from the source tree) as prefixes for the files. -## Usage: add_to_doc_files subdirname files -%define add_to_doc_files() \ -%{__mkdir_p} %{buildroot}%{_docdir}/%{name}-%{version}/%1 ||: ; \ -%{__cp} -p %2 %{buildroot}%{_docdir}/%{name}-%{version}/%1 +%global major_minor 3.1 -# Possible rpmbuild options -%{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs} -%{?_without_client:%define _without_client --disable-fuse-client} -%{?_without_python:%define _without_python --disable-python} +Name: glusterfs +Version: %{major_minor}.1 +Release: 1%{?dist} +Summary: Clustered file-system -Summary: GlusterFS - Cluster File System -Name: glusterfs -Version: 3.0.7 -Release: 1%{?pre:.%{pre}}%{?dist} -License: GPLv3+ -Group: System Environment/Base -URL: http://www.gluster.org/ -Source0: http://ftp.gluster.com/pub/gluster/glusterfs/3.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz -Source1: glusterfsd.init -Source2: glusterfsd.sysconfig -Source3: umount.glusterfs -Source4: glusterfs.logrotate -Source5: glusterfsd.logrotate -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service, /sbin/chkconfig +Group: System Environment/Base +License: AGPLv3 +URL: http://www.gluster.org/ +Source0: http://download.gluster.com/pub/gluster/glusterfs/%{major_minor}/%{version}/glusterfs-%{version}.tar.gz +Source1: glusterd.init +Source2: glusterd.sysconfig +Source3: umount.glusterfs +Source4: glusterfs-fuse.logrotate +Source5: glusterd.logrotate +# Legacy server +Source11: glusterfsd.init +Source12: glusterfsd.sysconfig +Source15: glusterfsd.logrotate + +BuildRequires: bison +BuildRequires: flex +BuildRequires: gcc +BuildRequires: make + +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service -%{!?_without_ibverbs:BuildRequires: libibverbs-devel} -%{!?_without_client:BuildRequires: fuse-devel} -%{!?_without_python:BuildRequires: python-devel >= 2.4} -BuildRequires: flex, bison, byacc + +Obsoletes: %{name}-libs <= 2.0.0 +Obsoletes: %{name}-common < 3.1.0 +Provides: %{name}-libs = %{version}-%{release} +Provides: %{name}-common = %{version}-%{release} %description GlusterFS is a clustered file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA +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 userspace and easily manageable. +is in user space and easily manageable. +This package includes the glusterfs binary, the glusterfsd daemon and the +gluster command line, libglusterfs and glusterfs translator modules common to +both GlusterFS server and client framework. -%package common -Summary: GlusterFS common files for both the client and the server -Group: System Environment/Libraries -Obsoletes: glusterfs-libs < 2.0.0 -Provides: glusterfs-libs >= %{version}-%{release} +%package rdma +Summary: Support for ib-verbs +Group: Applications/File +BuildRequires: libibverbs-devel -%description common +Requires: %{name} = %{version}-%{release} + +%description rdma GlusterFS is a clustered file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA +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 userspace and easily manageable. +is in user space and easily manageable. -This package includes the glusterfs binary, libglusterfs and glusterfs -translator modules common to both GlusterFS server and client framework. +This package provides support to ib-verbs library. +%package fuse +Summary: Fuse client +Group: Applications/File +BuildRequires: fuse-devel -%package client -Summary: GlusterFS Client -Group: Applications/File -Requires: fuse -Requires: %{name}-common = %{version}-%{release} +Requires: %{name} = %{version}-%{release} -%description client +Obsoletes: %{name}-client < 3.1.0 +Provides: %{name}-client = %{version}-%{release} + +%description fuse GlusterFS is a clustered file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA +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 userspace and easily manageable. - -This package provides the FUSE based GlusterFS client. +is in user space and easily manageable. +This package provides support to FUSE based clients. %package server -Summary: GlusterFS Server -Group: System Environment/Daemons -Requires: %{name}-common = %{version}-%{release} +Summary: Clustered file-system server +Group: System Environment/Daemons +Requires: %{name} = %{version}-%{release} %description server GlusterFS is a clustered file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA +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 userspace and easily manageable. +is in user space and easily manageable. This package provides the glusterfs server daemon. -%package devel -Summary: GlusterFS Development Libraries -Group: Development/Libraries -Requires: %{name}-common = %{version}-%{release} +%package vim +Summary: Vim syntax file +Group: Applications/Text +Requires: vim-common -%description devel +%description vim GlusterFS is a clustered file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA +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 userspace and easily manageable. +is in user space and easily manageable. + +Vim syntax file for GlusterFS. + +%package devel +Summary: Development Libraries +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +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 development libraries. - %prep -%setup -q -n %{name}-%{version}%{?pre} -# Remove file, it gets re-generated by bison (was causing koji build failures) -rm -f libglusterfs/src/y.tab.c -# Don't get executable sources in the debuginfo package (as of 2.0.0rc7) -chmod -x libglusterfsclient/src/*.{c,h} - +%setup -q %build -# Temp disable stack-protector until upstream fixes code -CFLAGS=`echo "%optflags"|sed 's/-D_FORTIFY_SOURCE=2/-D_FORTIFY_SOURCE=1/'` -%configure %{?_without_ibverbs} %{?_without_client} %{?_without_python} +%configure + # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool - %{__make} %{?_smp_mflags} - %install -%{__rm} -rf %{buildroot} examples %{__make} install DESTDIR=%{buildroot} -%{__mkdir_p} %{buildroot}/var/log/glusterfs + +# We'll use our init.d +%{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd + +# Install include directory %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd %{__install} -p -m 0644 libglusterfs/src/*.h \ %{buildroot}%{_includedir}/glusterfs/ -# Remove unwanted files from all of the shared libraries -find %{buildroot}%{_libdir}/glusterfs -name '*.a' -o -name '*.la' | xargs rm -f +# Remove unwanted files from all the shared libraries +find %{buildroot}%{_libdir} -name '*.a' -delete +find %{buildroot}%{_libdir} -name '*.la' -delete # Remove installed docs, we include them ourselves as %%doc %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ @@ -153,97 +172,135 @@ for file in %{buildroot}%{_sysconfdir}/glusterfs/*.sample; do %{__mv} ${file} `dirname ${file}`/`basename ${file} .sample` done +# Create working directory +%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd + +# Update configuration file to /var/lib working directory +sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \ + %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol + # Clean up the examples we want to include as %%doc %{__cp} -a doc/examples examples %{__rm} -f examples/Makefile* # Install init script and sysconfig file %{__install} -D -p -m 0755 %{SOURCE1} \ - %{buildroot}%{_sysconfdir}/init.d/glusterfsd + %{buildroot}%{_initddir}/glusterd %{__install} -D -p -m 0644 %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/sysconfig/glusterd +# Legacy init script and sysconfig file +%{__install} -D -p -m 0755 %{SOURCE11} \ + %{buildroot}%{_initddir}/glusterfsd +%{__install} -D -p -m 0644 %{SOURCE12} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd -%if 0%{!?_without_client:1} # Install wrapper umount script %{__install} -D -p -m 0755 %{SOURCE3} \ %{buildroot}/sbin/umount.glusterfs # Client logrotate entry %{__install} -D -p -m 0644 %{SOURCE4} \ - %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs -%endif + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse # Server logrotate entry %{__install} -D -p -m 0644 %{SOURCE5} \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterd +# Legacy server logrotate entry +%{__install} -D -p -m 0644 %{SOURCE15} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd -# Install extra documentation -%add_to_doc_files benchmarking extras/benchmarking/{*.c,README,*.sh} +# Install vim syntax plugin +%{__install} -D -p -m 644 extras/glusterfs.vim \ + %{buildroot}%{_datadir}/vim/vimfiles/syntax/glusterfs.vim +%files +%defattr(-,root,root,-) +%doc ChangeLog COPYING INSTALL README THANKS +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd +%config(noreplace) %{_sysconfdir}/sysconfig/glusterd +%{_datadir}/glusterfs +%{_bindir}/glusterfs-volgen +%{_libdir}/glusterfs +%{_libdir}/*.so.* +%{_sbindir}/glusterfs* +%{_bindir}/glusterfs-defrag +%{_sbindir}/gluster +%{_sbindir}/glusterd +%{_mandir}/man8/*glusterfs.8* +%{_mandir}/man8/*gluster.8* +%{_mandir}/man8/*glusterd.8* +%{_mandir}/man8/*glusterfs-volgen.8* +%dir %{_localstatedir}/log/glusterfs +%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* -%clean -%{__rm} -rf %{buildroot} +%files rdma +%defattr(-,root,root,-) +%{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%files fuse +%defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse +%{_libdir}/glusterfs/%{version}/xlator/mount/fuse* +%{_mandir}/man8/mount.glusterfs.8* +/sbin/mount.glusterfs +/sbin/umount.glusterfs -%post common -p /sbin/ldconfig +%files server +%doc examples/ doc/glusterfs*.vol.sample +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd +%config(noreplace) %{_sysconfdir}/sysconfig/glusterd +%config(noreplace) %{_sysconfdir}/glusterfs +# Legacy configs +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd +%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd +%{_sharedstatedir}/glusterd +%{_initddir}/glusterd +# Legacy init +%{_initddir}/glusterfsd -%postun common -p /sbin/ldconfig +%files vim +%defattr(-,root,root,-) +%doc COPYING +%{_datadir}/vim/vimfiles/syntax/glusterfs.vim +%files devel +%{_includedir}/glusterfs +%exclude %{_includedir}/glusterfs/y.tab.h +%{_libdir}/*.so + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %post server +/sbin/chkconfig --add glusterd + +# Legacy server /sbin/chkconfig --add glusterfsd %preun server +if [ $1 -eq 0 ]; then + /sbin/service glusterd stop &>/dev/null || : + /sbin/chkconfig --del glusterd +fi +if [ $1 -ge 1 ]; then + /sbin/service glusterd condrestart &>/dev/null || : +fi + +# Legacy server if [ $1 -eq 0 ]; then /sbin/service glusterfsd stop &>/dev/null || : /sbin/chkconfig --del glusterfsd fi - -%postun server if [ $1 -ge 1 ]; then /sbin/service glusterfsd condrestart &>/dev/null || : fi - -%files common -%doc AUTHORS ChangeLog COPYING NEWS README extras/{glusterfs-mode.el,glusterfs.vim} -%{_docdir}/%{name}-%{version}/benchmarking -%{_libdir}/glusterfs/ -%{_libdir}/*.so.* -%{_sbindir}/glusterfs -%{_sbindir}/glusterfsd -%{_mandir}/man8/glusterfs.8* -%dir %{_sysconfdir}/glusterfs/ -%dir /var/log/glusterfs/ - - -%if 0%{!?_without_client:1} -%files client -%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs -/sbin/mount.glusterfs -/sbin/umount.glusterfs -%{_mandir}/man8/mount.glusterfs.8* -%endif - - -%files server -%doc examples/ doc/glusterfs*.vol.sample -%config(noreplace) %{_sysconfdir}/glusterfs/*.vol -%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd -%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd -%{_sysconfdir}/init.d/glusterfsd - - -%files devel -%{_includedir}/glusterfs/ -%{_includedir}/libglusterfsclient.h -%{_datadir}/glusterfs/* -%{_bindir}/glusterfs-volgen -%exclude %{_libdir}/*.a -%exclude %{_libdir}/*.la -%{_libdir}/*.so - - %changelog +* Mon Dec 27 2010 Silas Sewell - 3.1.1-1 +- Update to 3.1.1 +- Change package names to mirror upstream + * Mon Dec 20 2010 Jonathan Steffan - 3.0.7-1 - Update to 3.0.7 @@ -388,4 +445,3 @@ fi * Sun Jul 15 2007 Matt Paine - 1.3.pre6 - Initial spec file - diff --git a/sources b/sources index fa5b3c9..74f21e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5b6093d99ce0b15dfae8a3a7606dd0a5 glusterfs-3.0.7.tar.gz +4584710adee36920c97a658b25a1446d glusterfs-3.1.1.tar.gz From e9ec0ca2c44ba850f45e38bbe0251f6db58db5f6 Mon Sep 17 00:00:00 2001 From: Silas Sewell Date: Sat, 1 Jan 2011 19:35:17 -0500 Subject: [PATCH 10/38] Add bison-devel in attempt to fix remote build --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 702e3f2..bd3d607 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -2,7 +2,7 @@ Name: glusterfs Version: %{major_minor}.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -19,7 +19,7 @@ Source11: glusterfsd.init Source12: glusterfsd.sysconfig Source15: glusterfsd.logrotate -BuildRequires: bison +BuildRequires: bison-devel BuildRequires: flex BuildRequires: gcc BuildRequires: make @@ -297,6 +297,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Sat Jan 01 2010 Silas Sewell - 3.1.1-2 +- Add bison-devel in attempt to fix remote build + * Mon Dec 27 2010 Silas Sewell - 3.1.1-1 - Update to 3.1.1 - Change package names to mirror upstream From ab559724a5d2fc76eacbeef681047ed1f39d0465 Mon Sep 17 00:00:00 2001 From: Silas Sewell Date: Sat, 1 Jan 2011 19:36:55 -0500 Subject: [PATCH 11/38] Fix year --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index bd3d607..2ed0bc4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -297,7 +297,7 @@ if [ $1 -ge 1 ]; then fi %changelog -* Sat Jan 01 2010 Silas Sewell - 3.1.1-2 +* Sat Jan 01 2011 Silas Sewell - 3.1.1-2 - Add bison-devel in attempt to fix remote build * Mon Dec 27 2010 Silas Sewell - 3.1.1-1 From 0193ddef6da16b2f6bf465fff519474b13a0dbeb Mon Sep 17 00:00:00 2001 From: Silas Sewell Date: Sat, 1 Jan 2011 19:45:19 -0500 Subject: [PATCH 12/38] Remove scratch build options --- glusterfs.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2ed0bc4..be731b7 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -2,7 +2,7 @@ Name: glusterfs Version: %{major_minor}.1 -Release: 2%{?dist} +Release: 1%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -297,9 +297,6 @@ if [ $1 -ge 1 ]; then fi %changelog -* Sat Jan 01 2011 Silas Sewell - 3.1.1-2 -- Add bison-devel in attempt to fix remote build - * Mon Dec 27 2010 Silas Sewell - 3.1.1-1 - Update to 3.1.1 - Change package names to mirror upstream From 67486f6136db69ee3ae50e42786a50ab93bd4fe6 Mon Sep 17 00:00:00 2001 From: Silas Sewell Date: Sat, 1 Jan 2011 19:45:49 -0500 Subject: [PATCH 13/38] Remove all scratch build options --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index be731b7..702e3f2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -19,7 +19,7 @@ Source11: glusterfsd.init Source12: glusterfsd.sysconfig Source15: glusterfsd.logrotate -BuildRequires: bison-devel +BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: make From 69edf27a1aa03e0447f3d968295f1efd6e38ce87 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 1 Jan 2011 17:46:07 -0700 Subject: [PATCH 14/38] Update for readline and no parallel build --- glusterfs.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 702e3f2..cfcc406 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -2,7 +2,7 @@ Name: glusterfs Version: %{major_minor}.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -23,6 +23,7 @@ BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: make +BuildRequires: ncurses-devel, readline-devel Requires(post): /sbin/chkconfig Requires(preun): /sbin/service @@ -144,7 +145,7 @@ This package provides the development libraries. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -%{__make} %{?_smp_mflags} +%{__make} %install %{__make} install DESTDIR=%{buildroot} @@ -297,6 +298,10 @@ if [ $1 -ge 1 ]; then fi %changelog +* Sat Jan 1 2011 Jonathan Steffan - 3.1.1-2 +- Update to support readline +- Update to not parallel build + * Mon Dec 27 2010 Silas Sewell - 3.1.1-1 - Update to 3.1.1 - Change package names to mirror upstream From e975306e36e8469fecde6ed7543b9d4ab0ad6ab5 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 1 Jan 2011 17:56:09 -0700 Subject: [PATCH 15/38] Add note that parallel building is not supported. --- glusterfs.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/glusterfs.spec b/glusterfs.spec index cfcc406..165e502 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -145,6 +145,7 @@ This package provides the development libraries. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +# Parallel builds not supported %{__make} %install From cff0b00786870683e4b6096b110dfe1578d4b3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 5 Jan 2011 10:38:23 +0100 Subject: [PATCH 16/38] - no InfiniBand on s390(x) --- glusterfs.spec | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 165e502..8449a5e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,8 +1,14 @@ %global major_minor 3.1 +%ifarch s390 s390x +%global with_ib 0 +%else +%global with_ib 1 +%endif + Name: glusterfs Version: %{major_minor}.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -48,6 +54,7 @@ This package includes the glusterfs binary, the glusterfsd daemon and the gluster command line, libglusterfs and glusterfs translator modules common to both GlusterFS server and client framework. +%if %{with_ib} %package rdma Summary: Support for ib-verbs Group: Applications/File @@ -65,6 +72,7 @@ called Translators from GNU Hurd kernel. Much of the code in GlusterFS is in user space and easily manageable. This package provides support to ib-verbs library. +%endif %package fuse Summary: Fuse client @@ -232,12 +240,16 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{_mandir}/man8/*glusterd.8* %{_mandir}/man8/*glusterfs-volgen.8* %dir %{_localstatedir}/log/glusterfs +%if %{with_ib} %exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%endif %exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* +%if %{with_ib} %files rdma %defattr(-,root,root,-) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* +%endif %files fuse %defattr(-,root,root,-) @@ -299,6 +311,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed Jan 5 2011 Dan Horák - 3.1.1-3 +- no InfiniBand on s390(x) + * Sat Jan 1 2011 Jonathan Steffan - 3.1.1-2 - Update to support readline - Update to not parallel build From 0fd2baad28c35898acf4452b2eb2ebc88daa4f4a Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Tue, 25 Jan 2011 15:08:44 -0700 Subject: [PATCH 17/38] Update to 3.1.2 --- .gitignore | 1 + glusterfs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0959068..fb14a39 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,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 diff --git a/glusterfs.spec b/glusterfs.spec index 8449a5e..1be7f7f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,8 +7,8 @@ %endif Name: glusterfs -Version: %{major_minor}.1 -Release: 3%{?dist} +Version: %{major_minor}.2 +Release: 1%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -311,6 +311,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue Jan 25 2011 Jonathan Steffan - 3.1.2-1 +- Update to 3.1.2 + * Wed Jan 5 2011 Dan Horák - 3.1.1-3 - no InfiniBand on s390(x) diff --git a/sources b/sources index 74f21e4..297f017 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4584710adee36920c97a658b25a1446d glusterfs-3.1.1.tar.gz +9dee75180db951cde971722f80779769 glusterfs-3.1.2.tar.gz From 9d5d32a0e0e957e5332fca35a36425fb2d63630e Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 3 Feb 2011 17:09:14 -0700 Subject: [PATCH 18/38] Update to 3.1.2, apply CloudFS patches. --- dht-fsetxattr.patch | 67 +++++++++++++++++++++++++++++++++++++++++++++ glusterfs.spec | 33 ++++++++++++++++++++-- inode-gen.patch | 12 ++++++++ wb-quota.patch | 32 ++++++++++++++++++++++ 4 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 dht-fsetxattr.patch create mode 100644 inode-gen.patch create mode 100644 wb-quota.patch diff --git a/dht-fsetxattr.patch b/dht-fsetxattr.patch new file mode 100644 index 0000000..736acab --- /dev/null +++ b/dht-fsetxattr.patch @@ -0,0 +1,67 @@ +diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c +index e204726..df0033a 100644 +--- a/xlators/cluster/dht/src/dht-common.c ++++ b/xlators/cluster/dht/src/dht-common.c +@@ -2068,6 +2068,50 @@ err: + return 0; + } + ++int ++dht_fsetxattr (call_frame_t *frame, xlator_t *this, ++ fd_t *fd, dict_t *xattr, int flags) ++{ ++ xlator_t *subvol = NULL; ++ dht_local_t *local = NULL; ++ int op_errno = EINVAL; ++ ++ VALIDATE_OR_GOTO (frame, err); ++ VALIDATE_OR_GOTO (this, err); ++ VALIDATE_OR_GOTO (fd, err); ++ VALIDATE_OR_GOTO (fd->inode, err); ++ ++ subvol = dht_subvol_get_cached (this, fd->inode); ++ if (!subvol) { ++ gf_log (this->name, GF_LOG_DEBUG, ++ "no cached subvolume for fd=%p", fd); ++ op_errno = EINVAL; ++ goto err; ++ } ++ ++ local = dht_local_init (frame); ++ if (!local) { ++ op_errno = ENOMEM; ++ gf_log (this->name, GF_LOG_ERROR, ++ "Out of memory"); ++ goto err; ++ } ++ ++ local->inode = inode_ref (fd->inode); ++ local->call_cnt = 1; ++ ++ STACK_WIND (frame, dht_err_cbk, subvol, subvol->fops->fsetxattr, ++ fd, xattr, flags); ++ ++ return 0; ++ ++err: ++ op_errno = (op_errno == -1) ? errno : op_errno; ++ DHT_STACK_UNWIND (fsetxattr, frame, -1, op_errno); ++ ++ return 0; ++} ++ + + int + dht_removexattr (call_frame_t *frame, xlator_t *this, +diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c +index 93d01f1..3f81ba7 100644 +--- a/xlators/cluster/dht/src/dht.c ++++ b/xlators/cluster/dht/src/dht.c +@@ -491,6 +491,7 @@ struct xlator_fops fops = { + .access = dht_access, + .readlink = dht_readlink, + .setxattr = dht_setxattr, ++ .fsetxattr = dht_fsetxattr, + .getxattr = dht_getxattr, + .removexattr = dht_removexattr, + .open = dht_open, diff --git a/glusterfs.spec b/glusterfs.spec index 1be7f7f..14889e9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ Name: glusterfs Version: %{major_minor}.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -25,6 +25,15 @@ Source11: glusterfsd.init Source12: glusterfsd.sysconfig Source15: glusterfsd.logrotate +# bugs.gluster.com #2309 (pending) +Patch1: wb-quota.patch + +# bugs.gluster.com #2311 (pending) +Patch2: dht-fsetxattr.patch + +# CloudFS-specific +Patch3: inode-gen.patch + BuildRequires: bison BuildRequires: flex BuildRequires: gcc @@ -145,6 +154,9 @@ This package provides the development libraries. %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %configure @@ -162,13 +174,25 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool # We'll use our init.d %{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd -# Install include directory -%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs %{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd + +# Install include directory +%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs %{__install} -p -m 0644 libglusterfs/src/*.h \ %{buildroot}%{_includedir}/glusterfs/ +%{__install} -p -m 0644 contrib/uuid/*.h \ + %{buildroot}%{_includedir}/glusterfs/ +# Following needed by cloudfs multi-tenant translator +%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc +%{__install} -p -m 0644 rpc/rpc-lib/src/*.h \ + %{buildroot}%{_includedir}/glusterfs/rpc/ +%{__install} -p -m 0644 rpc/xdr/src/*.h \ + %{buildroot}%{_includedir}/glusterfs/rpc/ +%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server +%{__install} -p -m 0644 xlators/protocol/server/src/*.h \ + %{buildroot}%{_includedir}/glusterfs/server/ # Remove unwanted files from all the shared libraries find %{buildroot}%{_libdir} -name '*.a' -delete @@ -311,6 +335,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue Feb 03 2011 Jonathan Steffan - 3.1.2-2 +- Add patches from CloudFS project + * Tue Jan 25 2011 Jonathan Steffan - 3.1.2-1 - Update to 3.1.2 diff --git a/inode-gen.patch b/inode-gen.patch new file mode 100644 index 0000000..07e96fd --- /dev/null +++ b/inode-gen.patch @@ -0,0 +1,12 @@ +diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h +index 15a4f98..3c95407 100644 +--- a/libglusterfs/src/inode.h ++++ b/libglusterfs/src/inode.h +@@ -104,6 +104,7 @@ struct _inode { + struct list_head list; /* active/lru/purge */ + + struct _inode_ctx *_ctx; /* replacement for dict_t *(inode->ctx) */ ++ uint64_t gen; /* for locking code */ + }; + + diff --git a/wb-quota.patch b/wb-quota.patch new file mode 100644 index 0000000..a31b9e8 --- /dev/null +++ b/wb-quota.patch @@ -0,0 +1,32 @@ +diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c +index 43956a9..d97812a 100644 +--- a/xlators/performance/write-behind/src/write-behind.c ++++ b/xlators/performance/write-behind/src/write-behind.c +@@ -1667,7 +1667,8 @@ __wb_get_other_requests (list_head_t *list, list_head_t *other_requests) + int32_t + wb_stack_unwind (list_head_t *unwinds) + { +- struct iatt buf = {0,}; ++ struct iatt prebuf = {0,}; ++ struct iatt postbuf = {0,}; + wb_request_t *request = NULL, *dummy = NULL; + call_frame_t *frame = NULL; + wb_local_t *local = NULL; +@@ -1678,8 +1679,15 @@ wb_stack_unwind (list_head_t *unwinds) + frame = request->stub->frame; + local = frame->local; + +- STACK_UNWIND (frame, local->op_ret, local->op_errno, &buf, +- &buf); ++ /* ++ * There are probably a lot of other problems with returning ++ * these bogus iatts, but this fix at least gives us enough ++ * information for features/quota to work (sort of). ++ */ ++ postbuf.ia_blocks = (request->write_size + 511) / 512; ++ ++ STACK_UNWIND (frame, local->op_ret, local->op_errno, ++ &prebuf, &postbuf); + + ret = wb_request_unref (request); + if (ret == 0) { From 2a9820c76ff5e54160a38e066fdf5cbcc9ffb053 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 6 Feb 2011 16:14:25 -0700 Subject: [PATCH 19/38] Update spec to support building on old branches. --- glusterfs.spec | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 14889e9..53ab339 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ Name: glusterfs Version: %{major_minor}.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -24,6 +24,7 @@ Source5: glusterd.logrotate Source11: glusterfsd.init Source12: glusterfsd.sysconfig Source15: glusterfsd.logrotate +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # bugs.gluster.com #2309 (pending) Patch1: wb-quota.patch @@ -169,6 +170,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} %install +rm -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} # We'll use our init.d @@ -219,12 +221,12 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha # Install init script and sysconfig file %{__install} -D -p -m 0755 %{SOURCE1} \ - %{buildroot}%{_initddir}/glusterd + %{buildroot}%{_sysconfdir}/init.d/glusterd %{__install} -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd # Legacy init script and sysconfig file %{__install} -D -p -m 0755 %{SOURCE11} \ - %{buildroot}%{_initddir}/glusterfsd + %{buildroot}%{_sysconfdir}/init.d/glusterfsd %{__install} -D -p -m 0644 %{SOURCE12} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd @@ -246,6 +248,9 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__install} -D -p -m 644 extras/glusterfs.vim \ %{buildroot}%{_datadir}/vim/vimfiles/syntax/glusterfs.vim +%clean +rm -rf %{buildroot} + %files %defattr(-,root,root,-) %doc ChangeLog COPYING INSTALL README THANKS @@ -292,9 +297,9 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sharedstatedir}/glusterd -%{_initddir}/glusterd +%{_sysconfdir}/init.d/glusterd # Legacy init -%{_initddir}/glusterfsd +%{_sysconfdir}/init.d/glusterfsd %files vim %defattr(-,root,root,-) @@ -335,6 +340,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Sun Feb 06 2011 Jonathan Steffan - 3.1.2-3 +- Add back in legacy SPEC elements to support older branches + * Tue Feb 03 2011 Jonathan Steffan - 3.1.2-2 - Add patches from CloudFS project From b70000182ea2adcbb3281a1d09236e49803c7378 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 21:25:39 -0600 Subject: [PATCH 20/38] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 53ab339..14ca1f1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ Name: glusterfs Version: %{major_minor}.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -340,6 +340,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 3.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Sun Feb 06 2011 Jonathan Steffan - 3.1.2-3 - Add back in legacy SPEC elements to support older branches From 06c8da013d72953e86cc565e8f29b6d5ddf85fa1 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 3 Apr 2011 15:28:29 -0600 Subject: [PATCH 21/38] Update to 3.1.3, removing patches. --- .gitignore | 1 + dht-fsetxattr.patch | 67 -------------------------------------------- glusterd.logrotate | 2 +- glusterfs.spec | 62 ++++++++++++++++++---------------------- glusterfsd.logrotate | 2 +- inode-gen.patch | 12 -------- sources | 2 +- wb-quota.patch | 32 --------------------- 8 files changed, 32 insertions(+), 148 deletions(-) delete mode 100644 dht-fsetxattr.patch delete mode 100644 inode-gen.patch delete mode 100644 wb-quota.patch diff --git a/.gitignore b/.gitignore index fb14a39..5c6a4c9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ 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 diff --git a/dht-fsetxattr.patch b/dht-fsetxattr.patch deleted file mode 100644 index 736acab..0000000 --- a/dht-fsetxattr.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c -index e204726..df0033a 100644 ---- a/xlators/cluster/dht/src/dht-common.c -+++ b/xlators/cluster/dht/src/dht-common.c -@@ -2068,6 +2068,50 @@ err: - return 0; - } - -+int -+dht_fsetxattr (call_frame_t *frame, xlator_t *this, -+ fd_t *fd, dict_t *xattr, int flags) -+{ -+ xlator_t *subvol = NULL; -+ dht_local_t *local = NULL; -+ int op_errno = EINVAL; -+ -+ VALIDATE_OR_GOTO (frame, err); -+ VALIDATE_OR_GOTO (this, err); -+ VALIDATE_OR_GOTO (fd, err); -+ VALIDATE_OR_GOTO (fd->inode, err); -+ -+ subvol = dht_subvol_get_cached (this, fd->inode); -+ if (!subvol) { -+ gf_log (this->name, GF_LOG_DEBUG, -+ "no cached subvolume for fd=%p", fd); -+ op_errno = EINVAL; -+ goto err; -+ } -+ -+ local = dht_local_init (frame); -+ if (!local) { -+ op_errno = ENOMEM; -+ gf_log (this->name, GF_LOG_ERROR, -+ "Out of memory"); -+ goto err; -+ } -+ -+ local->inode = inode_ref (fd->inode); -+ local->call_cnt = 1; -+ -+ STACK_WIND (frame, dht_err_cbk, subvol, subvol->fops->fsetxattr, -+ fd, xattr, flags); -+ -+ return 0; -+ -+err: -+ op_errno = (op_errno == -1) ? errno : op_errno; -+ DHT_STACK_UNWIND (fsetxattr, frame, -1, op_errno); -+ -+ return 0; -+} -+ - - int - dht_removexattr (call_frame_t *frame, xlator_t *this, -diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c -index 93d01f1..3f81ba7 100644 ---- a/xlators/cluster/dht/src/dht.c -+++ b/xlators/cluster/dht/src/dht.c -@@ -491,6 +491,7 @@ struct xlator_fops fops = { - .access = dht_access, - .readlink = dht_readlink, - .setxattr = dht_setxattr, -+ .fsetxattr = dht_fsetxattr, - .getxattr = dht_getxattr, - .removexattr = dht_removexattr, - .open = dht_open, diff --git a/glusterd.logrotate b/glusterd.logrotate index 7301183..3fce646 100644 --- a/glusterd.logrotate +++ b/glusterd.logrotate @@ -1,4 +1,4 @@ -/var/log/glusterd/glusterd.log { +/var/log/glusterfs/*glusterd.vol.log { missingok postrotate /bin/kill -HUP `cat /var/run/glusterd.pid 2>/dev/null` 2>/dev/null || true diff --git a/glusterfs.spec b/glusterfs.spec index 14ca1f1..8bfbaa4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,20 +1,21 @@ -%global major_minor 3.1 +%{?_without_rdma:%global _without_rdma --disable-ibverbs} +%{?_without_epoll:%global _without_epoll --disable-epoll} +%{?_with_fusermount:%gobal _with_fusermount --enable-fusermount} +# No RDMA Support on x390(x) %ifarch s390 s390x -%global with_ib 0 -%else -%global with_ib 1 +%{?_without_rdma:%global _without_rdma --disable-ibverbs} %endif Name: glusterfs -Version: %{major_minor}.2 -Release: 4%{?dist} +Version: 3.1.3 +Release: 1%{?dist} Summary: Clustered file-system Group: System Environment/Base License: AGPLv3 URL: http://www.gluster.org/ -Source0: http://download.gluster.com/pub/gluster/glusterfs/%{major_minor}/%{version}/glusterfs-%{version}.tar.gz +Source0: http://download.gluster.com/pub/gluster/glusterfs/3.1/%{version}/glusterfs-%{version}.tar.gz Source1: glusterd.init Source2: glusterd.sysconfig Source3: umount.glusterfs @@ -26,15 +27,6 @@ Source12: glusterfsd.sysconfig Source15: glusterfsd.logrotate BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -# bugs.gluster.com #2309 (pending) -Patch1: wb-quota.patch - -# bugs.gluster.com #2311 (pending) -Patch2: dht-fsetxattr.patch - -# CloudFS-specific -Patch3: inode-gen.patch - BuildRequires: bison BuildRequires: flex BuildRequires: gcc @@ -50,6 +42,7 @@ Obsoletes: %{name}-libs <= 2.0.0 Obsoletes: %{name}-common < 3.1.0 Provides: %{name}-libs = %{version}-%{release} Provides: %{name}-common = %{version}-%{release} +Provides: %{name}-core = %{version}-%{release} %description GlusterFS is a clustered file-system capable of scaling to several @@ -64,7 +57,7 @@ This package includes the glusterfs binary, the glusterfsd daemon and the gluster command line, libglusterfs and glusterfs translator modules common to both GlusterFS server and client framework. -%if %{with_ib} +%if 0%{!?_without_rdma:1} %package rdma Summary: Support for ib-verbs Group: Applications/File @@ -109,6 +102,7 @@ This package provides support to FUSE based clients. Summary: Clustered file-system server Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} +Requires: %{name}-fuse = %{version}-%{release} %description server GlusterFS is a clustered file-system capable of scaling to several @@ -155,12 +149,9 @@ This package provides the development libraries. %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %build -%configure +%configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -170,7 +161,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} %install -rm -rf %{buildroot} +%{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} # We'll use our init.d @@ -249,32 +240,26 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{buildroot}%{_datadir}/vim/vimfiles/syntax/glusterfs.vim %clean -rm -rf %{buildroot} +%{__rm} -rf %{buildroot} %files %defattr(-,root,root,-) %doc ChangeLog COPYING INSTALL README THANKS %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd -%{_datadir}/glusterfs -%{_bindir}/glusterfs-volgen %{_libdir}/glusterfs %{_libdir}/*.so.* %{_sbindir}/glusterfs* -%{_bindir}/glusterfs-defrag %{_sbindir}/gluster %{_sbindir}/glusterd -%{_mandir}/man8/*glusterfs.8* -%{_mandir}/man8/*gluster.8* -%{_mandir}/man8/*glusterd.8* -%{_mandir}/man8/*glusterfs-volgen.8* +%{_mandir}/man8/*gluster*.8* %dir %{_localstatedir}/log/glusterfs -%if %{with_ib} +%if 0%{!?_without_rdma:1} %exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* %endif %exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* -%if %{with_ib} +%if 0%{!?_without_rdma:1} %files rdma %defattr(-,root,root,-) %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* @@ -287,8 +272,13 @@ rm -rf %{buildroot} %{_mandir}/man8/mount.glusterfs.8* /sbin/mount.glusterfs /sbin/umount.glusterfs +%if 0%{?_with_fusermount:1} +%{_bindir}/fusermount-glusterfs +%endif + %files server +%defattr(-,root,root,-) %doc examples/ doc/glusterfs*.vol.sample %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd @@ -307,6 +297,7 @@ rm -rf %{buildroot} %{_datadir}/vim/vimfiles/syntax/glusterfs.vim %files devel +%defattr(-,root,root,-) %{_includedir}/glusterfs %exclude %{_includedir}/glusterfs/y.tab.h %{_libdir}/*.so @@ -340,8 +331,11 @@ if [ $1 -ge 1 ]; then fi %changelog -* Tue Feb 08 2011 Fedora Release Engineering - 3.1.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild +* Sun Mar 19 2011 Jonathan Steffan - 3.1.3-1 +- Update to 3.1.3 +- Merge in more upstream SPEC changes +- Remove patches from GlusterFS bugzilla #2309 and #2311 +- Remove inode-gen.patch * Sun Feb 06 2011 Jonathan Steffan - 3.1.2-3 - Add back in legacy SPEC elements to support older branches diff --git a/glusterfsd.logrotate b/glusterfsd.logrotate index 85650c0..81d1abc 100644 --- a/glusterfsd.logrotate +++ b/glusterfsd.logrotate @@ -1,4 +1,4 @@ -/var/log/glusterfs/glusterfsd.log { +/var/log/glusterfs/*glusterfsd.log /var/log/glusterfs/bricks/*.log { missingok postrotate /bin/kill -HUP `cat /var/run/glusterfsd.pid 2>/dev/null` 2>/dev/null || true diff --git a/inode-gen.patch b/inode-gen.patch deleted file mode 100644 index 07e96fd..0000000 --- a/inode-gen.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h -index 15a4f98..3c95407 100644 ---- a/libglusterfs/src/inode.h -+++ b/libglusterfs/src/inode.h -@@ -104,6 +104,7 @@ struct _inode { - struct list_head list; /* active/lru/purge */ - - struct _inode_ctx *_ctx; /* replacement for dict_t *(inode->ctx) */ -+ uint64_t gen; /* for locking code */ - }; - - diff --git a/sources b/sources index 297f017..ec0fbc0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9dee75180db951cde971722f80779769 glusterfs-3.1.2.tar.gz +360fdd2a10446b93d72a962252dc85c4 glusterfs-3.1.3.tar.gz diff --git a/wb-quota.patch b/wb-quota.patch deleted file mode 100644 index a31b9e8..0000000 --- a/wb-quota.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c -index 43956a9..d97812a 100644 ---- a/xlators/performance/write-behind/src/write-behind.c -+++ b/xlators/performance/write-behind/src/write-behind.c -@@ -1667,7 +1667,8 @@ __wb_get_other_requests (list_head_t *list, list_head_t *other_requests) - int32_t - wb_stack_unwind (list_head_t *unwinds) - { -- struct iatt buf = {0,}; -+ struct iatt prebuf = {0,}; -+ struct iatt postbuf = {0,}; - wb_request_t *request = NULL, *dummy = NULL; - call_frame_t *frame = NULL; - wb_local_t *local = NULL; -@@ -1678,8 +1679,15 @@ wb_stack_unwind (list_head_t *unwinds) - frame = request->stub->frame; - local = frame->local; - -- STACK_UNWIND (frame, local->op_ret, local->op_errno, &buf, -- &buf); -+ /* -+ * There are probably a lot of other problems with returning -+ * these bogus iatts, but this fix at least gives us enough -+ * information for features/quota to work (sort of). -+ */ -+ postbuf.ia_blocks = (request->write_size + 511) / 512; -+ -+ STACK_UNWIND (frame, local->op_ret, local->op_errno, -+ &prebuf, &postbuf); - - ret = wb_request_unref (request); - if (ret == 0) { From 7114d3982048145ed425ada3e198ea17a04b65e2 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Tue, 10 May 2011 15:33:02 -0600 Subject: [PATCH 22/38] Update to 3.1.4 --- .gitignore | 1 + glusterfs.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5c6a4c9..f1703e8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index 8bfbaa4..e8f5642 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ %endif Name: glusterfs -Version: 3.1.3 +Version: 3.1.4 Release: 1%{?dist} Summary: Clustered file-system @@ -331,6 +331,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue May 10 2011 Jonathan Steffan - 3.1.4-1 +- Update to 3.1.4 + * Sun Mar 19 2011 Jonathan Steffan - 3.1.3-1 - Update to 3.1.3 - Merge in more upstream SPEC changes diff --git a/sources b/sources index ec0fbc0..b22df36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -360fdd2a10446b93d72a962252dc85c4 glusterfs-3.1.3.tar.gz +07ef28994ed94a79c1a84d9bc732e1fe glusterfs-3.1.4.tar.gz From a4a755692cfd6ddcf76c1fc85fc9c7113c5d60dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Sat, 14 May 2011 09:39:06 +0200 Subject: [PATCH 23/38] Disable RDMA support on s390(x) --- glusterfs.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e8f5642..e77ac0e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,15 +1,15 @@ +# No RDMA Support on s390(x) +%ifarch s390 s390x +%global _without_rdma 1 +%endif + %{?_without_rdma:%global _without_rdma --disable-ibverbs} %{?_without_epoll:%global _without_epoll --disable-epoll} %{?_with_fusermount:%gobal _with_fusermount --enable-fusermount} -# No RDMA Support on x390(x) -%ifarch s390 s390x -%{?_without_rdma:%global _without_rdma --disable-ibverbs} -%endif - Name: glusterfs Version: 3.1.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -331,6 +331,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Sat May 14 2011 Dan Horák - 3.1.4-2 +- Disable RDMA support on s390(x) + * Tue May 10 2011 Jonathan Steffan - 3.1.4-1 - Update to 3.1.4 From f97a94dd14301e978167a5f7b80cf0f4d39cb41f Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 16 Jun 2011 14:16:36 -0600 Subject: [PATCH 24/38] Update to 3.2.1 --- .gitignore | 1 + glusterfs.spec | 24 ++++++++++++++---------- sources | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index f1703e8..e156280 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index e77ac0e..4e3e258 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,15 +1,15 @@ -# No RDMA Support on s390(x) -%ifarch s390 s390x -%global _without_rdma 1 -%endif - %{?_without_rdma:%global _without_rdma --disable-ibverbs} %{?_without_epoll:%global _without_epoll --disable-epoll} %{?_with_fusermount:%gobal _with_fusermount --enable-fusermount} +# No RDMA Support on x390(x) +%ifarch s390 s390x +%{?_without_rdma:%global _without_rdma --disable-ibverbs} +%endif + Name: glusterfs -Version: 3.1.4 -Release: 2%{?dist} +Version: 3.2.1 +Release: 1%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -31,7 +31,7 @@ BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: make -BuildRequires: ncurses-devel, readline-devel +BuildRequires: ncurses-devel, readline-devel, python-ctypes Requires(post): /sbin/chkconfig Requires(preun): /sbin/service @@ -252,6 +252,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{_sbindir}/glusterfs* %{_sbindir}/gluster %{_sbindir}/glusterd +%{_libexecdir}/glusterfs %{_mandir}/man8/*gluster*.8* %dir %{_localstatedir}/log/glusterfs %if 0%{!?_without_rdma:1} @@ -331,8 +332,11 @@ if [ $1 -ge 1 ]; then fi %changelog -* Sat May 14 2011 Dan Horák - 3.1.4-2 -- Disable RDMA support on s390(x) +* Thu Jun 16 2011 Jonathan Steffan - 3.2.1-1 +- Update to 3.2.1 + +* Tue Jun 01 2011 Jonathan Steffan - 3.2.0-1 +- Update to 3.2.0 * Tue May 10 2011 Jonathan Steffan - 3.1.4-1 - Update to 3.1.4 diff --git a/sources b/sources index b22df36..6700092 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -07ef28994ed94a79c1a84d9bc732e1fe glusterfs-3.1.4.tar.gz +eb9e499bb67a8a577785f4c014febe52 glusterfs-3.2.1.tar.gz From 0fec5244bfc5f512a7450fb602c79210e7dfa0c5 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 16 Jun 2011 16:44:11 -0600 Subject: [PATCH 25/38] Fix issue with Source0 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4e3e258..b9a38b1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -9,13 +9,13 @@ Name: glusterfs Version: 3.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base License: AGPLv3 URL: http://www.gluster.org/ -Source0: http://download.gluster.com/pub/gluster/glusterfs/3.1/%{version}/glusterfs-%{version}.tar.gz +Source0: http://download.gluster.com/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz Source1: glusterd.init Source2: glusterd.sysconfig Source3: umount.glusterfs @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Thu Jun 16 2011 Jonathan Steffan - 3.2.1-2 +- Fix Source0 URL + * Thu Jun 16 2011 Jonathan Steffan - 3.2.1-1 - Update to 3.2.1 From 10e6d3fbdf9fd778b0200d4b2748ea1daca89232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 29 Jun 2011 10:44:23 +0200 Subject: [PATCH 26/38] disable InfiniBand on s390(x) unconditionally --- glusterfs.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index b9a38b1..fbabf0f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -2,14 +2,14 @@ %{?_without_epoll:%global _without_epoll --disable-epoll} %{?_with_fusermount:%gobal _with_fusermount --enable-fusermount} -# No RDMA Support on x390(x) +# No RDMA Support on s390(x) %ifarch s390 s390x -%{?_without_rdma:%global _without_rdma --disable-ibverbs} +%global _without_rdma --disable-ibverbs %endif Name: glusterfs Version: 3.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed Jun 29 2011 Dan Horák - 3.2.1-3 +- disable InfiniBand on s390(x) unconditionally + * Thu Jun 16 2011 Jonathan Steffan - 3.2.1-2 - Fix Source0 URL From 6380838f862972c2e3ab5cebcb6dfeccd4cfa3c8 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 18 Aug 2011 14:24:52 -0400 Subject: [PATCH 27/38] Update to 3.2.2 --- .gitignore | 1 + glusterfs.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index e156280..a02efb6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index fbabf0f..9c89a5f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,8 +8,8 @@ %endif Name: glusterfs -Version: 3.2.1 -Release: 3%{?dist} +Version: 3.2.2 +Release: 0%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -161,7 +161,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} %install -%{__rm} -rf %{buildroot} +%{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} # We'll use our init.d @@ -274,7 +274,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha /sbin/mount.glusterfs /sbin/umount.glusterfs %if 0%{?_with_fusermount:1} -%{_bindir}/fusermount-glusterfs +%{_bindir}/fusermount-glusterfs %endif @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Thu Aug 18 2011 Kaleb S. KEITHLEY - 3.2.2-0 +- Update to 3.2.2 + * Wed Jun 29 2011 Dan Horák - 3.2.1-3 - disable InfiniBand on s390(x) unconditionally diff --git a/sources b/sources index 6700092..0ca4869 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eb9e499bb67a8a577785f4c014febe52 glusterfs-3.2.1.tar.gz +dc0ef9ab5f0412527ecc34e2510bf1ba glusterfs-3.2.2.tar.gz From 1053efb936ff998f271e96f621fae8b216a27267 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 19 Aug 2011 09:13:16 -0400 Subject: [PATCH 28/38] Revert "Update to 3.2.2" This reverts commit 6380838f862972c2e3ab5cebcb6dfeccd4cfa3c8. --- .gitignore | 1 - glusterfs.spec | 11 ++++------- sources | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index a02efb6..e156280 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,3 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index 9c89a5f..fbabf0f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,8 +8,8 @@ %endif Name: glusterfs -Version: 3.2.2 -Release: 0%{?dist} +Version: 3.2.1 +Release: 3%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -161,7 +161,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} %install -%{__rm} -rf %{buildroot} +%{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} # We'll use our init.d @@ -274,7 +274,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha /sbin/mount.glusterfs /sbin/umount.glusterfs %if 0%{?_with_fusermount:1} -%{_bindir}/fusermount-glusterfs +%{_bindir}/fusermount-glusterfs %endif @@ -332,9 +332,6 @@ if [ $1 -ge 1 ]; then fi %changelog -* Thu Aug 18 2011 Kaleb S. KEITHLEY - 3.2.2-0 -- Update to 3.2.2 - * Wed Jun 29 2011 Dan Horák - 3.2.1-3 - disable InfiniBand on s390(x) unconditionally diff --git a/sources b/sources index 0ca4869..6700092 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dc0ef9ab5f0412527ecc34e2510bf1ba glusterfs-3.2.2.tar.gz +eb9e499bb67a8a577785f4c014febe52 glusterfs-3.2.1.tar.gz From a430ac26ec62795bbeb343ef01aff697f1a3a477 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 19 Aug 2011 09:50:51 -0400 Subject: [PATCH 29/38] Update to 3.2.2 (again) --- .gitignore | 1 + glusterfs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e156280..a02efb6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index fbabf0f..8010910 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,8 +8,8 @@ %endif Name: glusterfs -Version: 3.2.1 -Release: 3%{?dist} +Version: 3.2.2 +Release: 0%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Fri Aug 19 2011 Kaleb S. KEITHLEY - 3.2.2-0 +- Update to 3.2.2 + * Wed Jun 29 2011 Dan Horák - 3.2.1-3 - disable InfiniBand on s390(x) unconditionally diff --git a/sources b/sources index 6700092..0ca4869 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eb9e499bb67a8a577785f4c014febe52 glusterfs-3.2.1.tar.gz +dc0ef9ab5f0412527ecc34e2510bf1ba glusterfs-3.2.2.tar.gz From 2c6ad6dacb2706ecf312ae42269c671f17ed9b95 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 22 Aug 2011 11:09:23 -0400 Subject: [PATCH 30/38] Apparently Release = 0 is a mistake --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8010910..4ea6350 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -9,7 +9,7 @@ Name: glusterfs Version: 3.2.2 -Release: 0%{?dist} +Release: 1%{?dist} Summary: Clustered file-system Group: System Environment/Base @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.2-1 +- Update to 3.2.2 + * Fri Aug 19 2011 Kaleb S. KEITHLEY - 3.2.2-0 - Update to 3.2.2 From 4ec7fc750c1d1d9f9ed687c5c55cfe073a2d3b79 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 23 Aug 2011 10:27:14 -0400 Subject: [PATCH 31/38] glusterfs-3.2.3 --- .gitignore | 1 + glusterfs.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a02efb6..ce9e3de 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index 4ea6350..5d76c3e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ %endif Name: glusterfs -Version: 3.2.2 +Version: 3.2.3 Release: 1%{?dist} Summary: Clustered file-system @@ -332,6 +332,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.3-1 +- Update to 3.2.3 + * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.2-1 - Update to 3.2.2 diff --git a/sources b/sources index 0ca4869..648b92d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dc0ef9ab5f0412527ecc34e2510bf1ba glusterfs-3.2.2.tar.gz +cc050ede6116e456baca65283cf53fc6 glusterfs-3.2.3.tar.gz From 84b84bad0e91864a8cf5b912d8ce740ef650e28c Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 30 Sep 2011 13:35:43 -0400 Subject: [PATCH 32/38] glusterfs 3.2.4 --- .gitignore | 1 + glusterfs.spec | 16 +++++++--------- sources | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index ce9e3de..f3b3fb7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index 5d76c3e..7bcdf04 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,7 +8,7 @@ %endif Name: glusterfs -Version: 3.2.3 +Version: 3.2.4 Release: 1%{?dist} Summary: Clustered file-system @@ -191,13 +191,8 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool find %{buildroot}%{_libdir} -name '*.a' -delete find %{buildroot}%{_libdir} -name '*.la' -delete -# Remove installed docs, we include them ourselves as %%doc -%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ - -# Rename the samples, so we can include them as %%config -for file in %{buildroot}%{_sysconfdir}/glusterfs/*.sample; do - %{__mv} ${file} `dirname ${file}`/`basename ${file} .sample` -done +# Remove what the `make install` did, %%doc will install later +%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs # Create working directory %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd @@ -280,7 +275,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %files server %defattr(-,root,root,-) -%doc examples/ doc/glusterfs*.vol.sample +%doc examples/{*.vol,README} doc/*.sample %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs @@ -332,6 +327,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-1 +- Update to 3.2.4 + * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.3-1 - Update to 3.2.3 diff --git a/sources b/sources index 648b92d..a47d114 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cc050ede6116e456baca65283cf53fc6 glusterfs-3.2.3.tar.gz +1ec38e9c40b6a6ac80dd03e1c8bc1543 glusterfs-3.2.4.tar.gz From ff4f8fdd5ca4b3db6736bec340b32a4cea6195af Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 2 Nov 2011 14:05:43 -0400 Subject: [PATCH 33/38] BZ 748442 convert init.d to systemd for f17 and beyond (Will let this soak in rawhide for a while before merging to f16. N.B. f16 continues to use init.d forever; the spec file installs init.d file for 16 and earlier, systemd files for f17 and later.) --- glusterd.service | 13 ++++++ glusterfs.spec | 98 ++++++++++++++++++++++++++++++---------------- glusterfsd.service | 12 ++++++ 3 files changed, 90 insertions(+), 33 deletions(-) create mode 100644 glusterd.service create mode 100644 glusterfsd.service diff --git a/glusterd.service b/glusterd.service new file mode 100644 index 0000000..4bf3ea1 --- /dev/null +++ b/glusterd.service @@ -0,0 +1,13 @@ +[Unit] +Description=GlusterFS an clustered file-system server +Wants=glusterfsd.service +After=network.target + +[Service] +Type=forking +PIDFile=/run/glusterd.pid +LimitNOFILE=65536 +ExecStart=/usr/sbin/glusterd -p /run/glusterd.pid + +[Install] +WantedBy=multi-user.target diff --git a/glusterfs.spec b/glusterfs.spec index 7bcdf04..8e232a3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -9,22 +9,27 @@ Name: glusterfs Version: 3.2.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base License: AGPLv3 URL: http://www.gluster.org/ Source0: http://download.gluster.com/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz -Source1: glusterd.init -Source2: glusterd.sysconfig +Source1: glusterd.sysconfig +Source2: glusterfsd.sysconfig Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate +Source6: glusterfsd.logrotate +%if 0%{?fedora} < 17 # Legacy server -Source11: glusterfsd.init -Source12: glusterfsd.sysconfig -Source15: glusterfsd.logrotate +Source7: glusterd.init +Source8: glusterfsd.init +%else +Source7: glusterd.service +Source8: glusterfsd.service +%endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: bison @@ -33,10 +38,24 @@ BuildRequires: gcc BuildRequires: make BuildRequires: ncurses-devel, readline-devel, python-ctypes +%if 0%{?fedora} < 17 Requires(post): /sbin/chkconfig Requires(preun): /sbin/service Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service +%define _daemon_enable() /sbin/chkconfig --add %1 ; +%define _daemon_disable() /sbin/chkconfig --del %1 ; +%define _daemon_restart() /sbin/service %1 condrestart &>/dev/null ; +%define _daemon_stop() /sbin/service %1 stop &>/dev/null ; +%else +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +%define _daemon_enable() /bin/systemctl enable %1.service ; +%define _daemon_disable() /bin/systemctl disable %1.service ; +%define _daemon_restart() /bin/systemctl try-restart %1.service ; +%define _daemon_stop() /bin/systemctl stop %1.service ; +%endif Obsoletes: %{name}-libs <= 2.0.0 Obsoletes: %{name}-common < 3.1.0 @@ -191,8 +210,13 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool find %{buildroot}%{_libdir} -name '*.a' -delete find %{buildroot}%{_libdir} -name '*.la' -delete -# Remove what the `make install` did, %%doc will install later -%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs +# Remove installed docs, we include them ourselves as %%doc +%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ + +# Rename the samples, so we can include them as %%config +for file in %{buildroot}%{_sysconfdir}/glusterfs/*.sample; do + %{__mv} ${file} `dirname ${file}`/`basename ${file} .sample` +done # Create working directory %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd @@ -206,14 +230,21 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__rm} -f examples/Makefile* # Install init script and sysconfig file -%{__install} -D -p -m 0755 %{SOURCE1} \ - %{buildroot}%{_sysconfdir}/init.d/glusterd -%{__install} -D -p -m 0644 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/sysconfig/glusterd +%if 0%{?fedora} < 17 # Legacy init script and sysconfig file -%{__install} -D -p -m 0755 %{SOURCE11} \ +%{__install} -D -p -m 0755 %{SOURCE7} \ + %{buildroot}%{_sysconfdir}/init.d/glusterd +%{__install} -D -p -m 0755 %{SOURCE8} \ %{buildroot}%{_sysconfdir}/init.d/glusterfsd -%{__install} -D -p -m 0644 %{SOURCE12} \ +%else +%{__install} -D -p -m 0644 %{SOURCE7} \ + %{buildroot}%{_unitdir}/glusterd.service +%{__install} -D -p -m 0644 %{SOURCE8} \ + %{buildroot}%{_unitdir}/glusterfsd.service +%endif +%{__install} -D -p -m 0644 %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/sysconfig/glusterd +%{__install} -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd # Install wrapper umount script @@ -227,7 +258,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__install} -D -p -m 0644 %{SOURCE5} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterd # Legacy server logrotate entry -%{__install} -D -p -m 0644 %{SOURCE15} \ +%{__install} -D -p -m 0644 %{SOURCE6} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd # Install vim syntax plugin @@ -275,7 +306,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %files server %defattr(-,root,root,-) -%doc examples/{*.vol,README} doc/*.sample +%doc examples/ doc/glusterfs*.vol.sample %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs @@ -283,9 +314,14 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sharedstatedir}/glusterd -%{_sysconfdir}/init.d/glusterd +%if 0%{?fedora} < 17 # Legacy init +%{_sysconfdir}/init.d/glusterd %{_sysconfdir}/init.d/glusterfsd +%else +%{_unitdir}/glusterd.service +%{_unitdir}/glusterfsd.service +%endif %files vim %defattr(-,root,root,-) @@ -303,32 +339,28 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %postun -p /sbin/ldconfig %post server -/sbin/chkconfig --add glusterd - # Legacy server -/sbin/chkconfig --add glusterfsd +%_daemon_enable glusterd +%_daemon_enable glusterfsd %preun server if [ $1 -eq 0 ]; then - /sbin/service glusterd stop &>/dev/null || : - /sbin/chkconfig --del glusterd + %_daemon_stop glusterfsd + %_daemon_stop glusterd + %_daemon_disable glusterfsd + %_daemon_disable glusterd fi if [ $1 -ge 1 ]; then - /sbin/service glusterd condrestart &>/dev/null || : -fi - -# Legacy server -if [ $1 -eq 0 ]; then - /sbin/service glusterfsd stop &>/dev/null || : - /sbin/chkconfig --del glusterfsd -fi -if [ $1 -ge 1 ]; then - /sbin/service glusterfsd condrestart &>/dev/null || : + %_daemon_restart glusterd + %_daemon_restart glusterfsd fi %changelog +* Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-2 +- Convert init.d to systemd for f17 and later + * Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-1 -- Update to 3.2.4 +- Update to 3.2.4 * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.3-1 - Update to 3.2.3 diff --git a/glusterfsd.service b/glusterfsd.service new file mode 100644 index 0000000..4454ad8 --- /dev/null +++ b/glusterfsd.service @@ -0,0 +1,12 @@ +[Unit] +Description=GlusterFS an clustered file-system server +After=network.target glusterd.service + +[Service] +Type=forking +PIDFile=/run/glusterfsd.pid +LimitNOFILE=65536 +ExecStart=/usr/sbin/glusterfsd -p /run/glusterfsd.pid + +[Install] +WantedBy=multi-user.target From 2c293c6f61919872dfbf8b6d98971abde928a1d7 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 2 Nov 2011 15:40:01 -0400 Subject: [PATCH 34/38] BZ 748442, take two Also update license to reflect the upstream change to GPLv3 (from AGPLv3) --- glusterfs.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8e232a3..93d76fd 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -13,7 +13,7 @@ Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base -License: AGPLv3 +License: GPLv3 URL: http://www.gluster.org/ Source0: http://download.gluster.com/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz Source1: glusterd.sysconfig @@ -48,6 +48,7 @@ Requires(postun): /sbin/service %define _daemon_restart() /sbin/service %1 condrestart &>/dev/null ; %define _daemon_stop() /sbin/service %1 stop &>/dev/null ; %else +BuildRequires: systemd-units Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units From 021903815772166874727b92228b16d86ffaebe4 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 9 Nov 2011 15:16:17 -0500 Subject: [PATCH 35/38] correct date in changelog before merge to f16 branch --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 93d76fd..e5b9d66 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -357,7 +357,7 @@ if [ $1 -ge 1 ]; then fi %changelog -* Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-2 +* Web Nov 2 2011 Kaleb S. KEITHLEY - 3.2.4-2 - Convert init.d to systemd for f17 and later * Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-1 From aa2bbd029a623943f1ddfdecc72ccd27279d70f9 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 9 Nov 2011 15:18:04 -0500 Subject: [PATCH 36/38] merge master, fix typo --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index e5b9d66..f1b2855 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -357,7 +357,7 @@ if [ $1 -ge 1 ]; then fi %changelog -* Web Nov 2 2011 Kaleb S. KEITHLEY - 3.2.4-2 +* Wed Nov 2 2011 Kaleb S. KEITHLEY - 3.2.4-2 - Convert init.d to systemd for f17 and later * Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-1 From 3d38179b1b059446bbdc83bdb0256bd6144eb3ed Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 16 Nov 2011 14:59:22 -0500 Subject: [PATCH 37/38] revised init.d and native systemd to minimize fedora < 17 get closer to official glusterfs.spec (but with all the typos), including--- add/enable production of geo-replication sub-package, which should have been done at 3.2 (i.e. 3.2.0 or 3.2.1) --- glusterfs.spec | 203 +++++++++++++++++++++++++++++-------------------- 1 file changed, 120 insertions(+), 83 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f1b2855..203d74b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,20 +1,35 @@ + + +# 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} -%{?_without_epoll:%global _without_epoll --disable-epoll} -%{?_with_fusermount:%gobal _with_fusermount --enable-fusermount} # No RDMA Support on s390(x) %ifarch s390 s390x %global _without_rdma --disable-ibverbs %endif +# if you wish to compile an rpm without epoll... +# 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 geo-replication support, compile like this... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication +%{?_without_georeplication:%global _without_georeplication --disable-geo-replication} + + +Summary: Cluster File System Name: glusterfs Version: 3.2.4 -Release: 2%{?dist} -Summary: Clustered file-system - -Group: System Environment/Base +Release: 3%{?dist} License: GPLv3 -URL: http://www.gluster.org/ +Group: System Environment/Base +Vendor: Red Hat +URL: http://www.gluster.org//docs/index.php/GlusterFS Source0: http://download.gluster.com/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig @@ -22,42 +37,43 @@ Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate -%if 0%{?fedora} < 17 -# Legacy server -Source7: glusterd.init -Source8: glusterfsd.init -%else -Source7: glusterd.service -Source8: glusterfsd.service -%endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -BuildRequires: bison -BuildRequires: flex -BuildRequires: gcc -BuildRequires: make -BuildRequires: ncurses-devel, readline-devel, python-ctypes - %if 0%{?fedora} < 17 +Source7: glusterd.init +Source8: glusterfsd.init Requires(post): /sbin/chkconfig Requires(preun): /sbin/service Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service -%define _daemon_enable() /sbin/chkconfig --add %1 ; -%define _daemon_disable() /sbin/chkconfig --del %1 ; -%define _daemon_restart() /sbin/service %1 condrestart &>/dev/null ; -%define _daemon_stop() /sbin/service %1 stop &>/dev/null ; +%define _init_enable() /sbin/chkconfig --add %1 ; +%define _init_disable() /sbin/chkconfig --del %1 ; +%define _init_restart() /sbin/service %1 condrestart &>/dev/null ; +%define _init_stop() /sbin/service %1 stop &>/dev/null ; +%define _init_install() %{__install} -D -p -m 0755 %{1} %{buildroot}%{_sysconfdir}/init.d/%{2} ; +%define _init_file1 %{_sysconfdir}/init.d/glusterd +%define _init_file2 %{_sysconfdir}/init.d/glusterfsd %else +Source7: glusterd.service +Source8: glusterfsd.service BuildRequires: systemd-units Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units -%define _daemon_enable() /bin/systemctl enable %1.service ; -%define _daemon_disable() /bin/systemctl disable %1.service ; -%define _daemon_restart() /bin/systemctl try-restart %1.service ; -%define _daemon_stop() /bin/systemctl stop %1.service ; +%define _init_enable() /bin/systemctl enable %1.service ; +%define _init_disable() /bin/systemctl disable %1.service ; +%define _init_restart() /bin/systemctl try-restart %1.service ; +%define _init_stop() /bin/systemctl stop %1.service ; +%define _init_install() %{__install} -D -p -m 0644 %{1} %{buildroot}%{_unitdir}/%{2}.service ; +%define _init_file1 %{_unitdir}/glusterd.service +%define _init_file2 %{_unitdir}/glusterfsd.service %endif +BuildRequires: bison flex +BuildRequires: gcc make automake libtool +BuildRequires: ncurses-devel readline-devel +BuildRequires: python-ctypes + Obsoletes: %{name}-libs <= 2.0.0 Obsoletes: %{name}-common < 3.1.0 Provides: %{name}-libs = %{version}-%{release} @@ -79,11 +95,11 @@ both GlusterFS server and client framework. %if 0%{!?_without_rdma:1} %package rdma -Summary: Support for ib-verbs -Group: Applications/File -BuildRequires: libibverbs-devel +Summary: GlusterFS rdma support for ib-verbs +Group: Applications/File +BuildRequires: libibverbs-devel -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description rdma GlusterFS is a clustered file-system capable of scaling to several @@ -97,12 +113,30 @@ is in user space and easily manageable. This package provides support to ib-verbs library. %endif -%package fuse -Summary: Fuse client -Group: Applications/File -BuildRequires: fuse-devel +%if 0%{!?_without_georeplication:1} +%package geo-replication +Summary: GlusterFS Geo-replication +Group: Applications/File +Requires: %{name} = %{version}-%{release} , python-ctypes , rsync >= 3.0.0 -Requires: %{name} = %{version}-%{release} +%description geo-replication +GlusterFS is a clustered file-system capable of scaling to several +peta-bytes. 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 system 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 userspace and easily manageable. + +This package provides support to geo-replication. +%endif + +%package fuse +Summary: Fuse client +Group: Applications/File +BuildRequires: fuse-devel + +Requires: %{name} = %{version}-%{release} Obsoletes: %{name}-client < 3.1.0 Provides: %{name}-client = %{version}-%{release} @@ -168,36 +202,28 @@ is in user space and easily manageable. This package provides the development libraries. %prep -%setup -q +%setup -q -n %{name}-%{version} %build -%configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} +./autogen.sh +%configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} %{?_without_georeplication} # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -# Parallel builds not supported -%{__make} +%{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} - -# We'll use our init.d -%{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd - -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs -%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd - # Install include directory %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs %{__install} -p -m 0644 libglusterfs/src/*.h \ %{buildroot}%{_includedir}/glusterfs/ %{__install} -p -m 0644 contrib/uuid/*.h \ %{buildroot}%{_includedir}/glusterfs/ -# Following needed by cloudfs multi-tenant translator +# Following needed by hekafs multi-tenant translator %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/rpc %{__install} -p -m 0644 rpc/rpc-lib/src/*.h \ %{buildroot}%{_includedir}/glusterfs/rpc/ @@ -206,6 +232,13 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs/server %{__install} -p -m 0644 xlators/protocol/server/src/*.h \ %{buildroot}%{_includedir}/glusterfs/server/ +# We'll use our init.d +%{__rm} -f %{buildroot}%{_sysconfdir}/init.d/glusterd + +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterd +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd + # Remove unwanted files from all the shared libraries find %{buildroot}%{_libdir} -name '*.a' -delete @@ -231,18 +264,8 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__rm} -f examples/Makefile* # Install init script and sysconfig file -%if 0%{?fedora} < 17 -# Legacy init script and sysconfig file -%{__install} -D -p -m 0755 %{SOURCE7} \ - %{buildroot}%{_sysconfdir}/init.d/glusterd -%{__install} -D -p -m 0755 %{SOURCE8} \ - %{buildroot}%{_sysconfdir}/init.d/glusterfsd -%else -%{__install} -D -p -m 0644 %{SOURCE7} \ - %{buildroot}%{_unitdir}/glusterd.service -%{__install} -D -p -m 0644 %{SOURCE8} \ - %{buildroot}%{_unitdir}/glusterfsd.service -%endif +%_init_install %{SOURCE7} glusterd +%_init_install %{SOURCE8} glusterfsd %{__install} -D -p -m 0644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd %{__install} -D -p -m 0644 %{SOURCE2} \ @@ -269,6 +292,12 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %clean %{__rm} -rf %{buildroot} +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + %files %defattr(-,root,root,-) %doc ChangeLog COPYING INSTALL README THANKS @@ -293,6 +322,19 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* %endif +%if 0%{!?_without_georeplication:1} +%post geo-replication +#restart glusterd. +%{_sysconfdir}/init.d/glusterd restart &> /dev/null +%endif + +%if 0%{!?_without_georeplication:1} +%files geo-replication +%defattr(-,root,root) +%{_libexecdir}/glusterfs/gsyncd +%{_libexecdir}/glusterfs/python/syncdaemon/* +%endif + %files fuse %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse @@ -315,14 +357,8 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sharedstatedir}/glusterd -%if 0%{?fedora} < 17 -# Legacy init -%{_sysconfdir}/init.d/glusterd -%{_sysconfdir}/init.d/glusterfsd -%else -%{_unitdir}/glusterd.service -%{_unitdir}/glusterfsd.service -%endif +%_init_file1 +%_init_file2 %files vim %defattr(-,root,root,-) @@ -335,28 +371,29 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %exclude %{_includedir}/glusterfs/y.tab.h %{_libdir}/*.so -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - %post server # Legacy server -%_daemon_enable glusterd -%_daemon_enable glusterfsd +%_init_enable glusterd +%_init_enable glusterfsd %preun server if [ $1 -eq 0 ]; then - %_daemon_stop glusterfsd - %_daemon_stop glusterd - %_daemon_disable glusterfsd - %_daemon_disable glusterd + %_init_stop glusterfsd + %_init_stop glusterd + %_init_disable glusterfsd + %_init_disable glusterd fi if [ $1 -ge 1 ]; then - %_daemon_restart glusterd - %_daemon_restart glusterfsd + %_init_restart glusterd + %_init_restart glusterfsd fi %changelog +* Wed Nov 16 2011 Kaleb S. KEITHLEY - 3.2.4-3 +- revised init.d/systemd to minimize fedora < 17 +- get closer to the official glusterfs spec, including... +- add geo-replication, which should have been there since 3.2 + * Wed Nov 2 2011 Kaleb S. KEITHLEY - 3.2.4-2 - Convert init.d to systemd for f17 and later From f78c057957c33c29ddffe77a1576b1b38af5e8fc Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Thu, 17 Nov 2011 11:50:36 -0500 Subject: [PATCH 38/38] update to 3.2.5 --- .gitignore | 1 + glusterfs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f3b3fb7..deef4b0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ glusterfs-3.0.5.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 diff --git a/glusterfs.spec b/glusterfs.spec index 203d74b..3e8acff 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -24,8 +24,8 @@ Summary: Cluster File System Name: glusterfs -Version: 3.2.4 -Release: 3%{?dist} +Version: 3.2.5 +Release: 1%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -389,6 +389,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Thu Nov 17 2011 Kaleb S. KEITHLEY - 3.2.5-1 +- Update to 3.2.5 + * Wed Nov 16 2011 Kaleb S. KEITHLEY - 3.2.4-3 - revised init.d/systemd to minimize fedora < 17 - get closer to the official glusterfs spec, including... diff --git a/sources b/sources index a47d114..c5982a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1ec38e9c40b6a6ac80dd03e1c8bc1543 glusterfs-3.2.4.tar.gz +1a19f29270c587242a83bc0256161f68 glusterfs-3.2.5.tar.gz