From f0830d8fd820b9e1099605e7967fb7d357536b56 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sun, 3 Feb 2008 14:32:18 +0000 Subject: [PATCH 01/82] Initial import. --- .cvsignore | 1 + glusterfs-1.3.7-ocreat.patch | 12 ++ glusterfs-1.3.8-mount.patch | 16 +++ glusterfs.spec | 257 +++++++++++++++++++++++++++++++++++ glusterfsd.init | 69 ++++++++++ glusterfsd.sysconfig | 7 + sources | 1 + umount.glusterfs | 20 +++ 8 files changed, 383 insertions(+) create mode 100644 glusterfs-1.3.7-ocreat.patch create mode 100644 glusterfs-1.3.8-mount.patch create mode 100644 glusterfs.spec create mode 100644 glusterfsd.init create mode 100644 glusterfsd.sysconfig create mode 100644 umount.glusterfs diff --git a/.cvsignore b/.cvsignore index e69de29..025cfa4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +glusterfs-1.3.8.tar.gz diff --git a/glusterfs-1.3.7-ocreat.patch b/glusterfs-1.3.7-ocreat.patch new file mode 100644 index 0000000..5b0aa88 --- /dev/null +++ b/glusterfs-1.3.7-ocreat.patch @@ -0,0 +1,12 @@ +diff -Naupr glusterfs-1.3.7.orig/xlators/protocol/server/src/server-protocol.c glusterfs-1.3.7/xlators/protocol/server/src/server-protocol.c +--- glusterfs-1.3.7.orig/xlators/protocol/server/src/server-protocol.c 2007-10-16 09:37:00.000000000 +0200 ++++ glusterfs-1.3.7/xlators/protocol/server/src/server-protocol.c 2007-11-26 11:49:05.000000000 +0100 +@@ -4930,7 +4930,7 @@ mop_setspec (call_frame_t *frame, + goto fail; + } + +- ret = open (GLUSTERFSD_SPEC_PATH, O_WRONLY | O_CREAT | O_SYNC); ++ ret = open (GLUSTERFSD_SPEC_PATH, O_WRONLY | O_CREAT | O_SYNC, 0644); + spec_fd = ret; + if (spec_fd < 0){ + remote_errno = errno; diff --git a/glusterfs-1.3.8-mount.patch b/glusterfs-1.3.8-mount.patch new file mode 100644 index 0000000..61b7493 --- /dev/null +++ b/glusterfs-1.3.8-mount.patch @@ -0,0 +1,16 @@ +diff -Naupr glusterfs-1.3.8.orig/glusterfs-fuse/utils/mount.glusterfs.in glusterfs-1.3.8/glusterfs-fuse/utils/mount.glusterfs.in +--- glusterfs-1.3.8.orig/glusterfs-fuse/utils/mount.glusterfs.in 2008-01-08 12:49:35.000000000 +0100 ++++ glusterfs-1.3.8/glusterfs-fuse/utils/mount.glusterfs.in 2008-01-08 13:44:30.000000000 +0100 +@@ -121,6 +121,12 @@ main () + # $2=$(echo "$@" | sed -n 's/[^ ]* \([^ ]*\).*/\1/p'); + + mount_point="$2"; ++ ++ # Simple check to avoid multiple identical mounts ++ if grep -q "glusterfs $mount_point fuse" /etc/mtab; then ++ echo "$0: according to mtab, a glusterfs is already mounted on $mount_point" ++ exit 1 ++ fi + + fs_options=$(echo "$fs_options,$new_fs_options"); + diff --git a/glusterfs.spec b/glusterfs.spec new file mode 100644 index 0000000..7235d38 --- /dev/null +++ b/glusterfs.spec @@ -0,0 +1,257 @@ +# Make it possible to disable the client by passing --without client +%{?_without_client:%define _without_client --disable-fuse-client} +# Default to disabling client on RHEL, but allow forcing --with client +%{?rhel:%{!?_with_client:%define _without_client --disable-fuse-client}} + +Summary: Cluster File System +Name: glusterfs +Version: 1.3.8 +Release: 0.7%{?dist} +License: GPLv3+ +Group: System Environment/Base +URL: http://www.gluster.org/docs/index.php/GlusterFS +Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}.tar.gz +Source1: glusterfsd.init +Source2: glusterfsd.sysconfig +Source3: umount.glusterfs +Patch0: glusterfs-1.3.7-ocreat.patch +Patch1: glusterfs-1.3.8-mount.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/service, /sbin/chkconfig +Requires(postun): /sbin/service +BuildRequires: python-devel +%{!?_without_ibverbs:BuildRequires: libibverbs-devel} +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 +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. + + +%package libs +Summary: GlusterFS Library and Translators +Group: System Environment/Libraries +Obsoletes: glusterfs-common >= 1.3.7-2 + +%description libs +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 includes libglusterfs and glusterfs translator modules +common to both GlusterFS server and client framework. + + +%if 0%{!?_without_client:1} +%package client +Summary: GlusterFS Client +Group: Applications/File +Requires: fuse +Requires: %{name}-libs = %{version}-%{release} +BuildRequires: fuse-devel + +%description client +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 the FUSE based GlusterFS client. +%endif + + +%package server +Summary: GlusterFS Server +Group: System Environment/Daemons +Requires: %{name}-libs = %{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 +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 the glusterfs server daemon. + + +%package devel +Summary: GlusterFS Development Libraries +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +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 the development libraries. + + +%prep +%setup -q +%patch0 -p1 -b .ocreat +%patch1 -p1 -b .mount + + +%build +%configure %{?_without_ibverbs:--disable-ibverbs} %{?_without_client} +%{__make} %{?_smp_mflags} + + +%install +%{__rm} -rf %{buildroot} examples +%{__make} install DESTDIR=%{buildroot} +%{__mkdir_p} %{buildroot}/var/log/glusterfs +%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs +%{__install} -p -m 0644 libglusterfs/src/*.h \ + %{buildroot}%{_includedir}/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 + +# 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 +%{__install} -D -p -m 0644 %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd + +%if 0%{!?_without_client:1} +# Install wrapper umount script +%{__install} -D -p -m 0755 %{SOURCE3} \ + %{buildroot}/sbin/umount.glusterfs +%endif + + +%clean +%{__rm} -rf %{buildroot} + + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + + +%post server +/sbin/chkconfig --add glusterfsd + +%preun server +if [ $1 -eq 0 ]; then + /sbin/service glusterfsd stop &>/dev/null || : + /sbin/chkconfig --del glusterfsd +fi + +%postun +if [ $1 -ge 1 ]; then + /sbin/service glusterfsd condrestart &>/dev/null || : +fi + + +%files libs +%doc AUTHORS ChangeLog COPYING NEWS README +%{_libdir}/glusterfs/ +%{_libdir}/*.so.* + + +%if 0%{!?_without_client:1} +%files client +%{_sbindir}/glusterfs +/sbin/mount.glusterfs +/sbin/umount.glusterfs +%dir /var/log/glusterfs/ +%endif + + +%files server +%doc examples/ doc/glusterfs-*.vol.sample +%dir %{_sysconfdir}/glusterfs/ +%config(noreplace) %{_sysconfdir}/glusterfs/*.vol +%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd +%{_sysconfdir}/init.d/glusterfsd +%{_sbindir}/glusterfsd +%dir /var/log/glusterfs/ + + +%files devel +%{_includedir}/glusterfs/ +%exclude %{_libdir}/*.a +%exclude %{_libdir}/*.la +%{_libdir}/*.so + + +%changelog +* Sun Feb 3 2008 Matthias Saou 1.3.8-0.7 +- Add --without client rpmbuild option, make it the default for RHEL (no fuse). + (I hope "rhel" is the proper default macro name, couldn't find it...) + +* Wed Jan 30 2008 Matthias Saou 1.3.8-0.6 +- Add --without ibverbs rpmbuild option to the package. + +* Mon Jan 14 2008 Matthias Saou 1.3.8-0.5 +- Update to current TLA again, patch-636 which fixes the known segfaults. + +* Thu Jan 10 2008 Matthias Saou 1.3.8-0.4 +- Downgrade to glusterfs--mainline--2.5--patch-628 which is more stable. + +* Tue Jan 8 2008 Matthias Saou 1.3.8-0.3 +- Update to current TLA snapshot. +- Include umount.glusterfs wrapper script (really needed? dunno). +- Include patch to mount wrapper to avoid multiple identical mounts. + +* Sun Dec 30 2007 Matthias Saou 1.3.8-0.1 +- Update to current TLA snapshot, which includes "volume-name=" fstab option. + +* Mon Dec 3 2007 Matthias Saou 1.3.7-6 +- Re-add the /var/log/glusterfs directory in the client sub-package (required). +- Include custom patch to support vol= in fstab for -n glusterfs client option. + +* Mon Nov 26 2007 Matthias Saou 1.3.7-4 +- Re-enable libibverbs. +- Check and update License field to GPLv3+. +- Add glusterfs-common obsoletes, to provide upgrade path from old packages. +- Include patch to add mode to O_CREATE opens. + +* Thu Nov 22 2007 Matthias Saou 1.3.7-3 +- Remove Makefile* files from examples. +- Include RHEL/Fedora type init script, since the included ones don't do. + +* Wed Nov 21 2007 Matthias Saou 1.3.7-1 +- Major spec file cleanup. +- Add misssing %%clean section. +- Fix ldconfig calls (weren't set for the proper sub-package). + +* Sat Aug 4 2007 Matt Paine - 1.3.pre7 +- Added support to build rpm without ibverbs support (use --without ibverbs + switch) + +* Sun Jul 15 2007 Matt Paine - 1.3.pre6 +- Initial spec file + diff --git a/glusterfsd.init b/glusterfsd.init new file mode 100644 index 0000000..1c9ce54 --- /dev/null +++ b/glusterfsd.init @@ -0,0 +1,69 @@ +#!/bin/sh +# +# glusterfsd Startup script for the glusterfs server +# +# chkconfig: - 20 80 +# description: Clustered file-system server +# +# processname: glusterfsd +# config: /etc/glusterfs/glusterfs-server.vol +# pidfile: /var/run/glusterfsd.pid + +# Source function library +. /etc/rc.d/init.d/functions + +prog="glusterfsd" +glusterfsd="/usr/sbin/glusterfsd" +RETVAL=0 + +# Set defaults, then source config for eventual overrides +GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" +GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" +GLUSTERFSD_LOGLEVEL="WARNING" +[ -f /etc/sysconfig/glusterfsd ] && source /etc/sysconfig/glusterfsd + +start() { + echo -n $"Starting $prog: " + daemon $glusterfsd -f ${GLUSTERFSD_CONFIG} -l ${GLUSTERFSD_LOGFILE} -L ${GLUSTERFSD_LOGLEVEL} + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc $glusterfsd + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog + return $RETVAL +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + condrestart) + if [ -f /var/lock/subsys/$prog ]; then + stop + start + fi + ;; + status) + status $glusterfsd + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart|condrestart|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/glusterfsd.sysconfig b/glusterfsd.sysconfig new file mode 100644 index 0000000..136499d --- /dev/null +++ b/glusterfsd.sysconfig @@ -0,0 +1,7 @@ +# Change the glusterfsd service defaults here. +# LOGLEVEL is one of DEBUG WARNING ERROR (default) CRITICAL or NONE + +#GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" +#GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" +#GLUSTERFSD_LOGLEVEL="ERROR" + diff --git a/sources b/sources index e69de29..6beee6d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +eb7ebc04cab10966877863f31799382d glusterfs-1.3.8.tar.gz diff --git a/umount.glusterfs b/umount.glusterfs new file mode 100644 index 0000000..6c179a3 --- /dev/null +++ b/umount.glusterfs @@ -0,0 +1,20 @@ +#!/bin/sh +# (C) 2008 Gluster core team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301 USA + +umount "$1" + From f53b1de86775f6b9fff800564d9e0e401a7dce9d Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sun, 3 Feb 2008 20:18:13 +0000 Subject: [PATCH 02/82] Disable python bindings for < 2.4 (required for EL-4). --- glusterfs.spec | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 7235d38..f883714 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,12 +1,20 @@ -# Make it possible to disable the client by passing --without client +# Possible rpmbuild options +%{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs} %{?_without_client:%define _without_client --disable-fuse-client} -# Default to disabling client on RHEL, but allow forcing --with client +%{?_without_python:%define _without_python --disable-python} + +# Default to disabling client on RHEL, but allow forcing --with client too %{?rhel:%{!?_with_client:%define _without_client --disable-fuse-client}} +# 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 Name: glusterfs Version: 1.3.8 -Release: 0.7%{?dist} +Release: 0.8%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -20,8 +28,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service -BuildRequires: python-devel %{!?_without_ibverbs:BuildRequires: libibverbs-devel} +%{!?_without_client:BuildRequires: fuse-devel} +%{!?_without_python:BuildRequires: python-devel} BuildRequires: flex, bison, byacc %description @@ -52,13 +61,11 @@ This package includes libglusterfs and glusterfs translator modules common to both GlusterFS server and client framework. -%if 0%{!?_without_client:1} %package client Summary: GlusterFS Client Group: Applications/File Requires: fuse Requires: %{name}-libs = %{version}-%{release} -BuildRequires: fuse-devel %description client GlusterFS is a clustered file-system capable of scaling to several @@ -70,7 +77,6 @@ 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. -%endif %package server @@ -114,7 +120,7 @@ This package provides the development libraries. %build -%configure %{?_without_ibverbs:--disable-ibverbs} %{?_without_client} +%configure %{?_without_ibverbs} %{?_without_client} %{?_without_python} %{__make} %{?_smp_mflags} @@ -208,6 +214,9 @@ fi %changelog +* Sun Feb 3 2008 Matthias Saou 1.3.8-0.8 +- Add python version check and disable bindings for version < 2.4. + * Sun Feb 3 2008 Matthias Saou 1.3.8-0.7 - Add --without client rpmbuild option, make it the default for RHEL (no fuse). (I hope "rhel" is the proper default macro name, couldn't find it...) From 74ba75fae71ff2f606f26994f610a180c63640a7 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Wed, 23 Apr 2008 13:29:58 +0000 Subject: [PATCH 03/82] Update to 1.3.8pre6. --- .cvsignore | 2 +- glusterfs-1.3.8-mount.patch | 5 +- glusterfs-1.3.8pre6-tla751.patch | 96 ++++++++++++++++++++++++++++++++ glusterfs.spec | 19 ++++++- sources | 2 +- 5 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 glusterfs-1.3.8pre6-tla751.patch diff --git a/.cvsignore b/.cvsignore index 025cfa4..701281f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-1.3.8.tar.gz +glusterfs-1.3.8pre6.tar.gz diff --git a/glusterfs-1.3.8-mount.patch b/glusterfs-1.3.8-mount.patch index 61b7493..f460ce7 100644 --- a/glusterfs-1.3.8-mount.patch +++ b/glusterfs-1.3.8-mount.patch @@ -1,6 +1,5 @@ -diff -Naupr glusterfs-1.3.8.orig/glusterfs-fuse/utils/mount.glusterfs.in glusterfs-1.3.8/glusterfs-fuse/utils/mount.glusterfs.in ---- glusterfs-1.3.8.orig/glusterfs-fuse/utils/mount.glusterfs.in 2008-01-08 12:49:35.000000000 +0100 -+++ glusterfs-1.3.8/glusterfs-fuse/utils/mount.glusterfs.in 2008-01-08 13:44:30.000000000 +0100 +--- glusterfs-1.3.8.orig/xlators/mount/fuse/utils/mount.glusterfs.in 2008-01-08 12:49:35.000000000 +0100 ++++ glusterfs-1.3.8/xlators/mount/fuse/utils/mount.glusterfs.in 2008-01-08 13:44:30.000000000 +0100 @@ -121,6 +121,12 @@ main () # $2=$(echo "$@" | sed -n 's/[^ ]* \([^ ]*\).*/\1/p'); diff --git a/glusterfs-1.3.8pre6-tla751.patch b/glusterfs-1.3.8pre6-tla751.patch new file mode 100644 index 0000000..95b2d91 --- /dev/null +++ b/glusterfs-1.3.8pre6-tla751.patch @@ -0,0 +1,96 @@ +--- glusterfs-1.3.8pre6/glusterfs/src/glusterfs.c 2008-04-15 17:30:12.000000000 +0200 ++++ glusterfs-1.3.8/glusterfs/src/glusterfs.c 2008-04-22 11:08:52.000000000 +0200 +@@ -492,7 +492,7 @@ main (int32_t argc, char *argv[]) + signal (SIGUSR1, (sighandler_t)malloc_stats); + #endif + /* This is used to dump details */ +- signal (SIGUSR2, (sighandler_t)glusterfs_stats); ++ signal (SIGUSR2, glusterfs_stats); + + #if HAVE_BACKTRACE + /* Handle SIGABORT and SIGSEGV */ +@@ -540,11 +540,21 @@ main (int32_t argc, char *argv[]) + + if (ctx->mount_point) { + graph = fuse_graph (graph); ++ /* Initialize the FUSE before the transport */ ++ if (graph->init (graph) == -1) { ++ gf_log ("glusterfs", GF_LOG_ERROR, "Initializing FUSE failed"); ++ return -1; ++ } ++ graph->ready = 1; /* Initialization Done */ + } + + if (xlator_graph_init (graph) == -1) { + gf_log ("glusterfs", GF_LOG_ERROR, + "Initializing graph failed"); ++ if (ctx->mount_point) { ++ /* Just call umount of FUSE */ ++ graph->fini (graph); ++ } + return -1; + } + +--- glusterfs-1.3.8pre6/libglusterfs/src/common-utils.h 2008-04-04 20:49:55.000000000 +0200 ++++ glusterfs-1.3.8/libglusterfs/src/common-utils.h 2008-04-22 11:08:51.000000000 +0200 +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + void trap (void); + +--- glusterfs-1.3.8pre6/libglusterfs/src/revision.h 2008-04-17 20:21:59.000000000 +0200 ++++ glusterfs-1.3.8/libglusterfs/src/revision.h 2008-04-22 11:08:52.000000000 +0200 +@@ -1 +1 @@ +-#define GLUSTERFS_REPOSITORY_REVISION "glusterfs--mainline--2.5--patch-748" ++#define GLUSTERFS_REPOSITORY_REVISION "glusterfs--mainline--2.5--patch-751" +--- glusterfs-1.3.8pre6/xlators/mount/fuse/src/fuse-bridge.c 2008-04-03 20:27:48.000000000 +0200 ++++ glusterfs-1.3.8/xlators/mount/fuse/src/fuse-bridge.c 2008-04-22 11:08:52.000000000 +0200 +@@ -2658,8 +2658,11 @@ init (xlator_t *this) + void + fini (xlator_t *this) + { +- +- ++ struct fuse_private *priv = this->private; ++ if (dict_get (this->options, "mount-point")) { ++ char *mount_point = data_to_str (dict_get (this->options, "mount-point")); ++ fuse_unmount (mount_point, priv->ch); ++ } + } + + struct xlator_fops fops = { +--- glusterfs-1.3.8pre6/xlators/storage/posix/src/posix.c 2008-04-02 18:44:05.000000000 +0200 ++++ glusterfs-1.3.8/xlators/storage/posix/src/posix.c 2008-04-22 11:08:51.000000000 +0200 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include "glusterfs.h" + #include "dict.h" +@@ -2162,16 +2163,18 @@ posix_readdir (call_frame_t *frame, + /* TODO - consider endianness here */ + this_entry = (void *)(buf + filled); + this_entry->d_ino = entry->d_ino; +- this_entry->d_type = entry->d_type; + this_entry->d_len = entry->d_reclen; + +-#ifdef GF_LINUX_HOST_OS +- this_entry->d_off = entry->d_off; ++#ifndef GF_SOLARIS_HOST_OS ++ this_entry->d_type = entry->d_type; + #endif + #ifdef GF_DARWIN_HOST_OS + this_entry->d_off = telldir(dir); + /* d_reclen in Linux == d_namlen in Darwin */ + this_entry->d_len = entry->d_namlen; ++#else ++ /* For all other OS types */ ++ this_entry->d_off = entry->d_off; + #endif + + strncpy (this_entry->d_name, entry->d_name, this_entry->d_len); diff --git a/glusterfs.spec b/glusterfs.spec index f883714..651ede2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -14,16 +14,17 @@ Summary: Cluster File System Name: glusterfs Version: 1.3.8 -Release: 0.8%{?dist} +Release: 0.10%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS -Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}.tar.gz +Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}pre6.tar.gz Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs Patch0: glusterfs-1.3.7-ocreat.patch Patch1: glusterfs-1.3.8-mount.patch +Patch2: glusterfs-1.3.8pre6-tla751.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig @@ -114,9 +115,10 @@ This package provides the development libraries. %prep -%setup -q +%setup -q -n %{name}-%{version}pre6 %patch0 -p1 -b .ocreat %patch1 -p1 -b .mount +%patch2 -p1 -b .tla751 %build @@ -193,6 +195,7 @@ fi /sbin/mount.glusterfs /sbin/umount.glusterfs %dir /var/log/glusterfs/ +%{_mandir}/man8/glusterfs.8* %endif @@ -202,8 +205,10 @@ fi %config(noreplace) %{_sysconfdir}/glusterfs/*.vol %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sysconfdir}/init.d/glusterfsd +%{_sbindir}/glusterfs %{_sbindir}/glusterfsd %dir /var/log/glusterfs/ +%{_mandir}/man8/glusterfs.8* %files devel @@ -214,6 +219,14 @@ fi %changelog +* Tue Apr 23 2008 Matthias Saou 1.3.8-0.10 +- Include short patch to include fixes from latest TLA 751. + +* Mon Apr 22 2008 Matthias Saou 1.3.8-0.9 +- Update to 1.3.8pre6. +- Include glusterfs binary in both the client and server packages, now that + glusterfsd is a symlink to it instead of a separate binary. + * Sun Feb 3 2008 Matthias Saou 1.3.8-0.8 - Add python version check and disable bindings for version < 2.4. diff --git a/sources b/sources index 6beee6d..6002bb6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eb7ebc04cab10966877863f31799382d glusterfs-1.3.8.tar.gz +98d53572f463d472d016616c75ca0f60 glusterfs-1.3.8pre6.tar.gz From 836d786dfdd41e91d39606a3adc8f8f9ec418431 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Fri, 9 May 2008 15:09:14 +0000 Subject: [PATCH 04/82] Update to 1.3.8 final. --- .cvsignore | 2 +- glusterfs-1.3.8pre6-tla751.patch | 96 -------------------------------- glusterfs.spec | 11 ++-- sources | 2 +- 4 files changed, 8 insertions(+), 103 deletions(-) delete mode 100644 glusterfs-1.3.8pre6-tla751.patch diff --git a/.cvsignore b/.cvsignore index 701281f..025cfa4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-1.3.8pre6.tar.gz +glusterfs-1.3.8.tar.gz diff --git a/glusterfs-1.3.8pre6-tla751.patch b/glusterfs-1.3.8pre6-tla751.patch deleted file mode 100644 index 95b2d91..0000000 --- a/glusterfs-1.3.8pre6-tla751.patch +++ /dev/null @@ -1,96 +0,0 @@ ---- glusterfs-1.3.8pre6/glusterfs/src/glusterfs.c 2008-04-15 17:30:12.000000000 +0200 -+++ glusterfs-1.3.8/glusterfs/src/glusterfs.c 2008-04-22 11:08:52.000000000 +0200 -@@ -492,7 +492,7 @@ main (int32_t argc, char *argv[]) - signal (SIGUSR1, (sighandler_t)malloc_stats); - #endif - /* This is used to dump details */ -- signal (SIGUSR2, (sighandler_t)glusterfs_stats); -+ signal (SIGUSR2, glusterfs_stats); - - #if HAVE_BACKTRACE - /* Handle SIGABORT and SIGSEGV */ -@@ -540,11 +540,21 @@ main (int32_t argc, char *argv[]) - - if (ctx->mount_point) { - graph = fuse_graph (graph); -+ /* Initialize the FUSE before the transport */ -+ if (graph->init (graph) == -1) { -+ gf_log ("glusterfs", GF_LOG_ERROR, "Initializing FUSE failed"); -+ return -1; -+ } -+ graph->ready = 1; /* Initialization Done */ - } - - if (xlator_graph_init (graph) == -1) { - gf_log ("glusterfs", GF_LOG_ERROR, - "Initializing graph failed"); -+ if (ctx->mount_point) { -+ /* Just call umount of FUSE */ -+ graph->fini (graph); -+ } - return -1; - } - ---- glusterfs-1.3.8pre6/libglusterfs/src/common-utils.h 2008-04-04 20:49:55.000000000 +0200 -+++ glusterfs-1.3.8/libglusterfs/src/common-utils.h 2008-04-22 11:08:51.000000000 +0200 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - void trap (void); - ---- glusterfs-1.3.8pre6/libglusterfs/src/revision.h 2008-04-17 20:21:59.000000000 +0200 -+++ glusterfs-1.3.8/libglusterfs/src/revision.h 2008-04-22 11:08:52.000000000 +0200 -@@ -1 +1 @@ --#define GLUSTERFS_REPOSITORY_REVISION "glusterfs--mainline--2.5--patch-748" -+#define GLUSTERFS_REPOSITORY_REVISION "glusterfs--mainline--2.5--patch-751" ---- glusterfs-1.3.8pre6/xlators/mount/fuse/src/fuse-bridge.c 2008-04-03 20:27:48.000000000 +0200 -+++ glusterfs-1.3.8/xlators/mount/fuse/src/fuse-bridge.c 2008-04-22 11:08:52.000000000 +0200 -@@ -2658,8 +2658,11 @@ init (xlator_t *this) - void - fini (xlator_t *this) - { -- -- -+ struct fuse_private *priv = this->private; -+ if (dict_get (this->options, "mount-point")) { -+ char *mount_point = data_to_str (dict_get (this->options, "mount-point")); -+ fuse_unmount (mount_point, priv->ch); -+ } - } - - struct xlator_fops fops = { ---- glusterfs-1.3.8pre6/xlators/storage/posix/src/posix.c 2008-04-02 18:44:05.000000000 +0200 -+++ glusterfs-1.3.8/xlators/storage/posix/src/posix.c 2008-04-22 11:08:51.000000000 +0200 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - #include "glusterfs.h" - #include "dict.h" -@@ -2162,16 +2163,18 @@ posix_readdir (call_frame_t *frame, - /* TODO - consider endianness here */ - this_entry = (void *)(buf + filled); - this_entry->d_ino = entry->d_ino; -- this_entry->d_type = entry->d_type; - this_entry->d_len = entry->d_reclen; - --#ifdef GF_LINUX_HOST_OS -- this_entry->d_off = entry->d_off; -+#ifndef GF_SOLARIS_HOST_OS -+ this_entry->d_type = entry->d_type; - #endif - #ifdef GF_DARWIN_HOST_OS - this_entry->d_off = telldir(dir); - /* d_reclen in Linux == d_namlen in Darwin */ - this_entry->d_len = entry->d_namlen; -+#else -+ /* For all other OS types */ -+ this_entry->d_off = entry->d_off; - #endif - - strncpy (this_entry->d_name, entry->d_name, this_entry->d_len); diff --git a/glusterfs.spec b/glusterfs.spec index 651ede2..79bc529 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -14,17 +14,16 @@ Summary: Cluster File System Name: glusterfs Version: 1.3.8 -Release: 0.10%{?dist} +Release: 1%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS -Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}pre6.tar.gz +Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}.tar.gz Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs Patch0: glusterfs-1.3.7-ocreat.patch Patch1: glusterfs-1.3.8-mount.patch -Patch2: glusterfs-1.3.8pre6-tla751.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig @@ -115,10 +114,9 @@ This package provides the development libraries. %prep -%setup -q -n %{name}-%{version}pre6 +%setup -q %patch0 -p1 -b .ocreat %patch1 -p1 -b .mount -%patch2 -p1 -b .tla751 %build @@ -219,6 +217,9 @@ fi %changelog +* Fri May 9 2008 Matthias Saou 1.3.8-1 +- Update to 1.3.8 final. + * Tue Apr 23 2008 Matthias Saou 1.3.8-0.10 - Include short patch to include fixes from latest TLA 751. diff --git a/sources b/sources index 6002bb6..7ff269d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -98d53572f463d472d016616c75ca0f60 glusterfs-1.3.8pre6.tar.gz +172d1a28551996443531c371532b2a22 glusterfs-1.3.8.tar.gz From 6cef4ba75368e23e74b6359bd8d991ee373e8cfc Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Fri, 16 May 2008 10:42:37 +0000 Subject: [PATCH 05/82] Update to 1.3.9. --- .cvsignore | 2 +- glusterfs.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 025cfa4..c38441a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-1.3.8.tar.gz +glusterfs-1.3.9.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 79bc529..7f323a4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -13,7 +13,7 @@ Summary: Cluster File System Name: glusterfs -Version: 1.3.8 +Version: 1.3.9 Release: 1%{?dist} License: GPLv3+ Group: System Environment/Base @@ -217,6 +217,9 @@ fi %changelog +* Fri May 16 2008 Matthias Saou 1.3.9-1 +- Update to 1.3.9. + * Fri May 9 2008 Matthias Saou 1.3.8-1 - Update to 1.3.8 final. diff --git a/sources b/sources index 7ff269d..ad228a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -172d1a28551996443531c371532b2a22 glusterfs-1.3.8.tar.gz +6a4f46de3928e8c7ea9787b12b172a24 glusterfs-1.3.9.tar.gz From 666d4a320e763e55d89b61fe077d7cc407875717 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Mon, 16 Feb 2009 12:24:48 +0000 Subject: [PATCH 06/82] Update to latest stable 1.3.12 and backport to all current branches. --- .cvsignore | 2 +- glusterfs-1.3.7-ocreat.patch | 12 ------------ glusterfs-1.3.8-mount.patch | 15 --------------- glusterfs.spec | 14 +++++++++----- glusterfsd.init | 2 ++ glusterfsd.sysconfig | 1 + sources | 2 +- 7 files changed, 14 insertions(+), 34 deletions(-) delete mode 100644 glusterfs-1.3.7-ocreat.patch delete mode 100644 glusterfs-1.3.8-mount.patch diff --git a/.cvsignore b/.cvsignore index c38441a..93f9195 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-1.3.9.tar.gz +glusterfs-1.3.12.tar.gz diff --git a/glusterfs-1.3.7-ocreat.patch b/glusterfs-1.3.7-ocreat.patch deleted file mode 100644 index 5b0aa88..0000000 --- a/glusterfs-1.3.7-ocreat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naupr glusterfs-1.3.7.orig/xlators/protocol/server/src/server-protocol.c glusterfs-1.3.7/xlators/protocol/server/src/server-protocol.c ---- glusterfs-1.3.7.orig/xlators/protocol/server/src/server-protocol.c 2007-10-16 09:37:00.000000000 +0200 -+++ glusterfs-1.3.7/xlators/protocol/server/src/server-protocol.c 2007-11-26 11:49:05.000000000 +0100 -@@ -4930,7 +4930,7 @@ mop_setspec (call_frame_t *frame, - goto fail; - } - -- ret = open (GLUSTERFSD_SPEC_PATH, O_WRONLY | O_CREAT | O_SYNC); -+ ret = open (GLUSTERFSD_SPEC_PATH, O_WRONLY | O_CREAT | O_SYNC, 0644); - spec_fd = ret; - if (spec_fd < 0){ - remote_errno = errno; diff --git a/glusterfs-1.3.8-mount.patch b/glusterfs-1.3.8-mount.patch deleted file mode 100644 index f460ce7..0000000 --- a/glusterfs-1.3.8-mount.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- glusterfs-1.3.8.orig/xlators/mount/fuse/utils/mount.glusterfs.in 2008-01-08 12:49:35.000000000 +0100 -+++ glusterfs-1.3.8/xlators/mount/fuse/utils/mount.glusterfs.in 2008-01-08 13:44:30.000000000 +0100 -@@ -121,6 +121,12 @@ main () - # $2=$(echo "$@" | sed -n 's/[^ ]* \([^ ]*\).*/\1/p'); - - mount_point="$2"; -+ -+ # Simple check to avoid multiple identical mounts -+ if grep -q "glusterfs $mount_point fuse" /etc/mtab; then -+ echo "$0: according to mtab, a glusterfs is already mounted on $mount_point" -+ exit 1 -+ fi - - fs_options=$(echo "$fs_options,$new_fs_options"); - diff --git a/glusterfs.spec b/glusterfs.spec index 7f323a4..78b4226 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -13,7 +13,7 @@ Summary: Cluster File System Name: glusterfs -Version: 1.3.9 +Version: 1.3.12 Release: 1%{?dist} License: GPLv3+ Group: System Environment/Base @@ -22,8 +22,6 @@ Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version} Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs -Patch0: glusterfs-1.3.7-ocreat.patch -Patch1: glusterfs-1.3.8-mount.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig @@ -115,8 +113,6 @@ This package provides the development libraries. %prep %setup -q -%patch0 -p1 -b .ocreat -%patch1 -p1 -b .mount %build @@ -217,6 +213,14 @@ fi %changelog +* Mon Feb 16 2009 Matthias Saou 1.3.12-1 +- Update to 1.3.12. +- Remove no longer needed ocreat patch. + +* Thu Jul 17 2008 Matthias Saou 1.3.10-1 +- Update to 1.3.10. +- Remove mount patch, it's been included upstream now. + * Fri May 16 2008 Matthias Saou 1.3.9-1 - Update to 1.3.9. diff --git a/glusterfsd.init b/glusterfsd.init index 1c9ce54..826c3fb 100644 --- a/glusterfsd.init +++ b/glusterfsd.init @@ -20,10 +20,12 @@ RETVAL=0 GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" GLUSTERFSD_LOGLEVEL="WARNING" +GLUSTERFSD_NOFILE="65536" [ -f /etc/sysconfig/glusterfsd ] && source /etc/sysconfig/glusterfsd start() { echo -n $"Starting $prog: " + ulimit -n ${GLUSTERFSD_NOFILE} daemon $glusterfsd -f ${GLUSTERFSD_CONFIG} -l ${GLUSTERFSD_LOGFILE} -L ${GLUSTERFSD_LOGLEVEL} RETVAL=$? echo diff --git a/glusterfsd.sysconfig b/glusterfsd.sysconfig index 136499d..c3f41c2 100644 --- a/glusterfsd.sysconfig +++ b/glusterfsd.sysconfig @@ -4,4 +4,5 @@ #GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" #GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" #GLUSTERFSD_LOGLEVEL="ERROR" +#GLUSTERFSD_NOFILE="65536" diff --git a/sources b/sources index ad228a5..da2dcdc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6a4f46de3928e8c7ea9787b12b172a24 glusterfs-1.3.9.tar.gz +db11e3d9d227f5b10b2a93c0d8929123 glusterfs-1.3.12.tar.gz From 69af61be7251c522c3839e92e8dfce5eea4ea0cc Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 24 Feb 2009 22:19:35 +0000 Subject: [PATCH 07/82] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 78b4226..f58c1bf 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -14,7 +14,7 @@ Summary: Cluster File System Name: glusterfs Version: 1.3.12 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -213,6 +213,9 @@ fi %changelog +* Tue Feb 24 2009 Fedora Release Engineering - 1.3.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Mon Feb 16 2009 Matthias Saou 1.3.12-1 - Update to 1.3.12. - Remove no longer needed ocreat patch. From 3a2974e5dcf04d74944dc96b46d0d5035caf0514 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sat, 11 Apr 2009 10:52:29 +0000 Subject: [PATCH 08/82] Update to 2.0.0rc7. --- .cvsignore | 2 +- glusterfs.spec | 65 +++++++++++++++++++++++++++++++------------------- sources | 2 +- 3 files changed, 43 insertions(+), 26 deletions(-) diff --git a/.cvsignore b/.cvsignore index 93f9195..77c7abe 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-1.3.12.tar.gz +glusterfs-2.0.0rc7.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index f58c1bf..f517363 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,3 +1,5 @@ +%define pre rc7 + # Possible rpmbuild options %{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs} %{?_without_client:%define _without_client --disable-fuse-client} @@ -13,12 +15,12 @@ Summary: Cluster File System Name: glusterfs -Version: 1.3.12 -Release: 2%{?dist} +Version: 2.0.0 +Release: 0.1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS -Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/1.3/glusterfs-%{version}.tar.gz +Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs @@ -41,12 +43,13 @@ called Translators from GNU Hurd kernel. Much of the code in GlusterFS is in userspace and easily manageable. -%package libs -Summary: GlusterFS Library and Translators +%package common +Summary: GlusterFS common files for both the client and the server Group: System Environment/Libraries -Obsoletes: glusterfs-common >= 1.3.7-2 +Obsoletes: glusterfs-libs < 2.0.0 +Provides: glusterfs-libs = %{version}-%{release} -%description libs +%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 @@ -55,15 +58,15 @@ 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 includes libglusterfs and glusterfs translator modules -common to both GlusterFS server and client framework. +This package includes the glusterfs binary, libglusterfs and glusterfs +translator modules common to both GlusterFS server and client framework. %package client Summary: GlusterFS Client Group: Applications/File Requires: fuse -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} %description client GlusterFS is a clustered file-system capable of scaling to several @@ -80,7 +83,7 @@ This package provides the FUSE based GlusterFS client. %package server Summary: GlusterFS Server Group: System Environment/Daemons -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} %description server GlusterFS is a clustered file-system capable of scaling to several @@ -97,7 +100,7 @@ This package provides the glusterfs server daemon. %package devel Summary: GlusterFS Development Libraries Group: Development/Libraries -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} %description devel GlusterFS is a clustered file-system capable of scaling to several @@ -112,11 +115,16 @@ This package provides the development libraries. %prep -%setup -q +%setup -q -n %{name}-%{version}%{?pre} +# Don't get executable sources in the debuginfo package (as of 2.0.0rc7) +chmod -x libglusterfsclient/src/*.{c,h} %build %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} @@ -128,6 +136,9 @@ This package provides the development libraries. %{__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 installed docs, we include them ourselves as %%doc %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ @@ -157,9 +168,9 @@ done %{__rm} -rf %{buildroot} -%post libs -p /sbin/ldconfig +%post common -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%postun common -p /sbin/ldconfig %post server @@ -177,45 +188,51 @@ if [ $1 -ge 1 ]; then fi -%files libs +%files common %doc AUTHORS ChangeLog COPYING NEWS README %{_libdir}/glusterfs/ %{_libdir}/*.so.* +%{_sbindir}/glusterfs +%{_mandir}/man8/glusterfs.8* +%dir /var/log/glusterfs/ %if 0%{!?_without_client:1} %files client -%{_sbindir}/glusterfs /sbin/mount.glusterfs /sbin/umount.glusterfs -%dir /var/log/glusterfs/ -%{_mandir}/man8/glusterfs.8* %endif %files server -%doc examples/ doc/glusterfs-*.vol.sample +%doc examples/ doc/glusterfs*.vol.sample %dir %{_sysconfdir}/glusterfs/ %config(noreplace) %{_sysconfdir}/glusterfs/*.vol %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sysconfdir}/init.d/glusterfsd -%{_sbindir}/glusterfs %{_sbindir}/glusterfsd -%dir /var/log/glusterfs/ -%{_mandir}/man8/glusterfs.8* %files devel %{_includedir}/glusterfs/ +%{_includedir}/libglusterfsclient.h %exclude %{_libdir}/*.a %exclude %{_libdir}/*.la %{_libdir}/*.so %changelog -* Tue Feb 24 2009 Fedora Release Engineering - 1.3.12-2 +* Sat Apr 11 2009 Matthias Saou 2.0.0-0.1.rc7 +- Update to 2.0.0rc7. +- Rename "libs" to "common" and move the binary, man page and log dir there. + +* Tue Feb 24 2009 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild +* Mon Feb 16 2009 Matthias Saou 2.0.0-0.1.rc1 +- Update to 2.0.0rc1. +- Include new libglusterfsclient.h. + * Mon Feb 16 2009 Matthias Saou 1.3.12-1 - Update to 1.3.12. - Remove no longer needed ocreat patch. diff --git a/sources b/sources index da2dcdc..82b6d95 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -db11e3d9d227f5b10b2a93c0d8929123 glusterfs-1.3.12.tar.gz +5bf45dcb8a3ad14042fcf2c2dd25e125 glusterfs-2.0.0rc7.tar.gz From 2b2a8916fcf4334d67c8d27419edb1753f010ff7 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sun, 12 Apr 2009 12:52:52 +0000 Subject: [PATCH 09/82] - Update glusterfsd init script to the new style init. - Update files to match the new default vol file names. - Include logrotate for glusterfsd, use a pid file by default. - Include logrotate for glusterfs, using killall for lack of anything better. --- glusterfs.logrotate | 6 ++ glusterfs.spec | 19 +++++- glusterfsd.init | 138 +++++++++++++++++++++++++++---------------- glusterfsd.logrotate | 6 ++ glusterfsd.sysconfig | 8 +-- 5 files changed, 121 insertions(+), 56 deletions(-) create mode 100644 glusterfs.logrotate create mode 100644 glusterfsd.logrotate diff --git a/glusterfs.logrotate b/glusterfs.logrotate new file mode 100644 index 0000000..32b3ef9 --- /dev/null +++ b/glusterfs.logrotate @@ -0,0 +1,6 @@ +/var/log/glusterfs/glusterfs.log { + missingok + postrotate + /usr/bin/killall -HUP glusterfs 2>/dev/null || true + endscript +} diff --git a/glusterfs.spec b/glusterfs.spec index f517363..ab46933 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -16,7 +16,7 @@ Summary: Cluster File System Name: glusterfs Version: 2.0.0 -Release: 0.1%{?pre:.%{pre}}%{?dist} +Release: 0.2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -24,6 +24,8 @@ Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs +Source4: glusterfs.logrotate +Source5: glusterfsd.logrotate BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig @@ -161,8 +163,15 @@ done # 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 +# Server logrotate entry +%{__install} -D -p -m 0644 %{SOURCE5} \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd + %clean %{__rm} -rf %{buildroot} @@ -199,6 +208,7 @@ fi %if 0%{!?_without_client:1} %files client +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs /sbin/mount.glusterfs /sbin/umount.glusterfs %endif @@ -208,6 +218,7 @@ fi %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 %{_sysconfdir}/init.d/glusterfsd %{_sbindir}/glusterfsd @@ -222,6 +233,12 @@ fi %changelog +* Sun Apr 12 2009 Matthias Saou 2.0.0-0.2.rc7 +- Update glusterfsd init script to the new style init. +- Update files to match the new default vol file names. +- Include logrotate for glusterfsd, use a pid file by default. +- Include logrotate for glusterfs, using killall for lack of anything better. + * Sat Apr 11 2009 Matthias Saou 2.0.0-0.1.rc7 - Update to 2.0.0rc7. - Rename "libs" to "common" and move the binary, man page and log dir there. diff --git a/glusterfsd.init b/glusterfsd.init index 826c3fb..e36a98d 100644 --- a/glusterfsd.init +++ b/glusterfsd.init @@ -2,70 +2,106 @@ # # glusterfsd Startup script for the glusterfs server # -# chkconfig: - 20 80 +# chkconfig: - 20 80 # description: Clustered file-system server -# -# processname: glusterfsd -# config: /etc/glusterfs/glusterfs-server.vol -# pidfile: /var/run/glusterfsd.pid -# Source function library +### BEGIN INIT INFO +# Provides: glusterfsd +# 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/glusterfsd" prog="glusterfsd" -glusterfsd="/usr/sbin/glusterfsd" -RETVAL=0 # Set defaults, then source config for eventual overrides -GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" -GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" -GLUSTERFSD_LOGLEVEL="WARNING" GLUSTERFSD_NOFILE="65536" -[ -f /etc/sysconfig/glusterfsd ] && source /etc/sysconfig/glusterfsd + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog start() { - echo -n $"Starting $prog: " - ulimit -n ${GLUSTERFSD_NOFILE} - daemon $glusterfsd -f ${GLUSTERFSD_CONFIG} -l ${GLUSTERFSD_LOGFILE} -L ${GLUSTERFSD_LOGLEVEL} - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog - return $RETVAL + [ -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/glusterfsd.pid + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval } stop() { - echo -n $"Stopping $prog: " - killproc $glusterfsd - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog - return $RETVAL + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval } -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - ;; - condrestart) - if [ -f /var/lock/subsys/$prog ]; then - stop - start - fi - ;; - status) - status $glusterfsd - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|restart|condrestart|status}" - RETVAL=1 -esac +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 $? -exit $RETVAL diff --git a/glusterfsd.logrotate b/glusterfsd.logrotate new file mode 100644 index 0000000..85650c0 --- /dev/null +++ b/glusterfsd.logrotate @@ -0,0 +1,6 @@ +/var/log/glusterfs/glusterfsd.log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/glusterfsd.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/glusterfsd.sysconfig b/glusterfsd.sysconfig index c3f41c2..f46cd7d 100644 --- a/glusterfsd.sysconfig +++ b/glusterfsd.sysconfig @@ -1,8 +1,8 @@ # Change the glusterfsd service defaults here. -# LOGLEVEL is one of DEBUG WARNING ERROR (default) CRITICAL or NONE +# See "glusterfsd --help" outpout for defaults and possible values. -#GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" -#GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" -#GLUSTERFSD_LOGLEVEL="ERROR" +#GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfsd.vol" +#GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfs.log" +#GLUSTERFSD_LOGLEVEL="NORMAL" #GLUSTERFSD_NOFILE="65536" From c98132eefc1a103915ef72a7067fcf2e0ab477c2 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Mon, 18 May 2009 10:07:22 +0000 Subject: [PATCH 10/82] Update to 2.0.1. --- .cvsignore | 2 +- glusterfs.spec | 22 +++++++++++++++++----- sources | 2 +- umount.glusterfs | 16 ---------------- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/.cvsignore b/.cvsignore index 77c7abe..4acd82d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.0rc7.tar.gz +glusterfs-2.0.1.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index ab46933..56a6521 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,4 +1,4 @@ -%define pre rc7 +#define pre rc8 # Possible rpmbuild options %{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs} @@ -15,8 +15,8 @@ Summary: Cluster File System Name: glusterfs -Version: 2.0.0 -Release: 0.2%{?pre:.%{pre}}%{?dist} +Version: 2.0.1 +Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -191,7 +191,7 @@ if [ $1 -eq 0 ]; then /sbin/chkconfig --del glusterfsd fi -%postun +%postun server if [ $1 -ge 1 ]; then /sbin/service glusterfsd condrestart &>/dev/null || : fi @@ -202,6 +202,7 @@ fi %{_libdir}/glusterfs/ %{_libdir}/*.so.* %{_sbindir}/glusterfs +%{_sbindir}/glusterfsd %{_mandir}/man8/glusterfs.8* %dir /var/log/glusterfs/ @@ -221,7 +222,6 @@ fi %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sysconfdir}/init.d/glusterfsd -%{_sbindir}/glusterfsd %files devel @@ -233,6 +233,18 @@ fi %changelog +* Sat May 16 2009 Matthias Saou 2.0.1-1 +- Update to 2.0.1. + +* Thu May 7 2009 Matthias Saou 2.0.0-1 +- Update to 2.0.0 final. + +* Wed Apr 29 2009 Matthias Saou 2.0.0-0.3.rc8 +- Move glusterfsd to common, since the client has a symlink to it. + +* Fri Apr 24 2009 Matthias Saou 2.0.0-0.2.rc8 +- Update to 2.0.0rc8. + * Sun Apr 12 2009 Matthias Saou 2.0.0-0.2.rc7 - Update glusterfsd init script to the new style init. - Update files to match the new default vol file names. diff --git a/sources b/sources index 82b6d95..362fa3c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5bf45dcb8a3ad14042fcf2c2dd25e125 glusterfs-2.0.0rc7.tar.gz +712b6325abbd9f89ac927727a4bad658 glusterfs-2.0.1.tar.gz diff --git a/umount.glusterfs b/umount.glusterfs index 6c179a3..9aefa5f 100644 --- a/umount.glusterfs +++ b/umount.glusterfs @@ -1,20 +1,4 @@ #!/bin/sh -# (C) 2008 Gluster core team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301 USA umount "$1" From e78a9864dff7bc53384052c62d89cdb222861d11 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Thu, 11 Jun 2009 12:08:10 +0000 Subject: [PATCH 11/82] Remove libglusterfs/src/y.tab.c to fix koji F11/devel builds. --- glusterfs.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 56a6521..b08bc6a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -16,7 +16,7 @@ Summary: Cluster File System Name: glusterfs Version: 2.0.1 -Release: 1%{?pre:.%{pre}}%{?dist} +Release: 2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -118,6 +118,8 @@ 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} @@ -233,6 +235,9 @@ fi %changelog +* Thu Jun 11 2009 Matthias Saou 2.0.1-2 +- Remove libglusterfs/src/y.tab.c to fix koji F11/devel builds. + * Sat May 16 2009 Matthias Saou 2.0.1-1 - Update to 2.0.1. From 5357f69301915f2c8bae38649f7142465c2ac609 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 25 Jul 2009 00:26:50 +0000 Subject: [PATCH 12/82] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index b08bc6a..73c9a7b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -16,7 +16,7 @@ Summary: Cluster File System Name: glusterfs Version: 2.0.1 -Release: 2%{?pre:.%{pre}}%{?dist} +Release: 3%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -235,6 +235,9 @@ fi %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 2.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Thu Jun 11 2009 Matthias Saou 2.0.1-2 - Remove libglusterfs/src/y.tab.c to fix koji F11/devel builds. From 2912d5f3f449139d1dac822b4c597bd8447ba1b5 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Thu, 30 Jul 2009 09:01:10 +0000 Subject: [PATCH 13/82] Update to 2.0.4. --- .cvsignore | 2 +- glusterfs.spec | 8 ++++---- sources | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 4acd82d..cb04527 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.1.tar.gz +glusterfs-2.0.4.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 73c9a7b..1407a39 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -15,8 +15,8 @@ Summary: Cluster File System Name: glusterfs -Version: 2.0.1 -Release: 3%{?pre:.%{pre}}%{?dist} +Version: 2.0.4 +Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -235,8 +235,8 @@ fi %changelog -* Fri Jul 24 2009 Fedora Release Engineering - 2.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild +* Mon Jul 27 2009 Matthias Saou 2.0.4-1 +- Update to 2.0.4. * Thu Jun 11 2009 Matthias Saou 2.0.1-2 - Remove libglusterfs/src/y.tab.c to fix koji F11/devel builds. diff --git a/sources b/sources index 362fa3c..dda8ad5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -712b6325abbd9f89ac927727a4bad658 glusterfs-2.0.1.tar.gz +231784a826781c72bac1479768912194 glusterfs-2.0.4.tar.gz From c5d26bfd5a2bbc93e0b7858c82d7db95af159552 Mon Sep 17 00:00:00 2001 From: Matthias Saou Date: Sat, 12 Sep 2009 17:38:59 +0000 Subject: [PATCH 14/82] Update to 2.0.6 and no longer default to disable the client on RHEL5 (#522192). --- .cvsignore | 2 +- glusterfs.spec | 14 ++++++++------ sources | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index cb04527..16ea1df 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -glusterfs-2.0.4.tar.gz +glusterfs-2.0.6.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 1407a39..ee01178 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -5,9 +5,6 @@ %{?_without_client:%define _without_client --disable-fuse-client} %{?_without_python:%define _without_python --disable-python} -# Default to disabling client on RHEL, but allow forcing --with client too -%{?rhel:%{!?_with_client:%define _without_client --disable-fuse-client}} - # 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 @@ -15,12 +12,12 @@ Summary: Cluster File System Name: glusterfs -Version: 2.0.4 +Version: 2.0.6 Release: 1%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base -URL: http://www.gluster.org/docs/index.php/GlusterFS -Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs-%{version}%{?pre}.tar.gz +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 @@ -235,6 +232,11 @@ fi %changelog +* Sat Sep 12 2009 Matthias Saou 2.0.6-1 +- Update to 2.0.6. +- No longer default to disable the client on RHEL5 (#522192). +- Update spec file URLs. + * Mon Jul 27 2009 Matthias Saou 2.0.4-1 - Update to 2.0.4. diff --git a/sources b/sources index dda8ad5..3fb24c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -231784a826781c72bac1479768912194 glusterfs-2.0.4.tar.gz +dfa42bfc34d799888a1e3032f9143c72 glusterfs-2.0.6.tar.gz From 1f188f95aae32417f981cc8be2819c82477e2c72 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 17 Sep 2009 06:25:49 +0000 Subject: [PATCH 15/82] rebuilt with new fuse --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index ee01178..ed21e8f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -13,7 +13,7 @@ Summary: Cluster File System Name: glusterfs Version: 2.0.6 -Release: 1%{?pre:.%{pre}}%{?dist} +Release: 2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/ @@ -232,6 +232,9 @@ fi %changelog +* Thu Sep 17 2009 Peter Lemenkov 2.0.6-2 +- Rebuilt with new fuse + * Sat Sep 12 2009 Matthias Saou 2.0.6-1 - Update to 2.0.6. - No longer default to disable the client on RHEL5 (#522192). From 31784c8d46b7b8ef6be38ebb857d2cc25eed17ed Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 31 Oct 2009 21:00:57 +0000 Subject: [PATCH 16/82] 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 d48eb899dd9509ca68c3af22aa0a5b9076e41150 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 31 Oct 2009 21:02:38 +0000 Subject: [PATCH 17/82] Update to 2.0.7. Add glusterfs-volgen. Ship more docs. --- .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..de8f3da --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +glusterfs-2_0_7-1_fc11:F-12:glusterfs-2.0.7-1.fc11.src.rpm:1257022867 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 18/82] 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 310e5907193c5d5713f65db2c45fbb5c3c5fdd33 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 8 Nov 2009 20:32:53 +0000 Subject: [PATCH 19/82] 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 de8f3da..6920f5f 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ glusterfs-2_0_7-1_fc11:F-12:glusterfs-2.0.7-1.fc11.src.rpm:1257022867 +glusterfs-2_0_8-1_fc11:F-12:glusterfs-2.0.8-1.fc11.src.rpm:1257712282 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 20/82] 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 392e09f1c6536955fe589e4c7555ad23f3674c1a Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:59:06 +0000 Subject: [PATCH 21/82] 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 22/82] 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 23b8b19971f47057614be3c7e75bc5255fb42908 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 2 Jan 2010 23:55:12 +0000 Subject: [PATCH 23/82] 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 6920f5f..db5f9e4 100644 --- a/import.log +++ b/import.log @@ -1,2 +1,3 @@ glusterfs-2_0_7-1_fc11:F-12:glusterfs-2.0.7-1.fc11.src.rpm:1257022867 glusterfs-2_0_8-1_fc11:F-12:glusterfs-2.0.8-1.fc11.src.rpm:1257712282 +glusterfs-2_0_9-1_fc12:F-12:glusterfs-2.0.9-1.fc12.src.rpm:1262476367 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 24/82] 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 0e8895f6157803ab75d89c9680bc8509c3ae9693 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 11 Apr 2010 20:33:56 +0000 Subject: [PATCH 25/82] 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 db5f9e4..f3736e1 100644 --- a/import.log +++ b/import.log @@ -1,3 +1,4 @@ glusterfs-2_0_7-1_fc11:F-12:glusterfs-2.0.7-1.fc11.src.rpm:1257022867 glusterfs-2_0_8-1_fc11:F-12:glusterfs-2.0.8-1.fc11.src.rpm:1257712282 glusterfs-2_0_9-1_fc12:F-12:glusterfs-2.0.9-1.fc12.src.rpm:1262476367 +glusterfs-2_0_9-2_fc12:F-12:glusterfs-2.0.9-2.fc12.src.rpm:1271017970 From cdc21352d099707ba4ef456fb5ef878cfb8fafa4 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 8 May 2010 01:52:06 +0000 Subject: [PATCH 26/82] Initialize branch EL-6 for glusterfs --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..46381b9 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-6 From ee34f3cfec23182154bc86dedf429c743017a83c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 15:59:53 +0000 Subject: [PATCH 27/82] 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 4c193226003d3240bc406b801b0e9f1b77a3e109 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 15:59:55 +0000 Subject: [PATCH 28/82] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - import.log | 4 ---- 4 files changed, 26 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch 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/branch b/branch deleted file mode 100644 index 46381b9..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-6 diff --git a/import.log b/import.log deleted file mode 100644 index f3736e1..0000000 --- a/import.log +++ /dev/null @@ -1,4 +0,0 @@ -glusterfs-2_0_7-1_fc11:F-12:glusterfs-2.0.7-1.fc11.src.rpm:1257022867 -glusterfs-2_0_8-1_fc11:F-12:glusterfs-2.0.8-1.fc11.src.rpm:1257712282 -glusterfs-2_0_9-1_fc12:F-12:glusterfs-2.0.9-1.fc12.src.rpm:1262476367 -glusterfs-2_0_9-2_fc12:F-12:glusterfs-2.0.9-2.fc12.src.rpm:1271017970 From e6892d0c1ef1ba0d9283551b9f216e90bf093e95 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 5 Aug 2010 13:14:45 -0600 Subject: [PATCH 29/82] 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 3a1902d006ca9f358a197e30f3b8ae61cac2b079 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 5 Aug 2010 13:57:02 -0600 Subject: [PATCH 30/82] 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 31/82] 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 990c091ff47be23f7a6450e005de64ce00716729 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Mon, 20 Dec 2010 16:24:03 -0700 Subject: [PATCH 32/82] 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 33/82] - 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 34/82] 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 35/82] 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 36/82] 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 37/82] 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 38/82] 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 39/82] 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 20fea3463cae6f00535bc650f5e594bcec296efd Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sat, 1 Jan 2011 18:00:55 -0700 Subject: [PATCH 40/82] Update to 3.1.1 --- .gitignore | 1 + glusterd.init | 106 ++++++ glusterd.logrotate | 6 + glusterd.sysconfig | 8 + ...erfs.logrotate => glusterfs-fuse.logrotate | 2 +- glusterfs.spec | 334 +++++++++++------- sources | 2 +- 7 files changed, 321 insertions(+), 138 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..165e502 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,149 +1,170 @@ -#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: 2%{?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 +BuildRequires: ncurses-devel, readline-devel + +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} - +# Parallel builds not supported +%{__make} %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 +174,139 @@ 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 +* 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 + * Mon Dec 20 2010 Jonathan Steffan - 3.0.7-1 - Update to 3.0.7 @@ -388,4 +451,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 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 41/82] - 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 42/82] 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 43/82] 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 d775209350a75412c52099602a1ca55f1599b09b Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 3 Feb 2011 17:10:48 -0700 Subject: [PATCH 44/82] Update to 3.1.2, apply CloudFS patches. --- .gitignore | 1 + dht-fsetxattr.patch | 67 +++++++++++++++++++++++++++++++++++++++++++++ glusterfs.spec | 51 ++++++++++++++++++++++++++++++++-- inode-gen.patch | 12 ++++++++ sources | 2 +- wb-quota.patch | 32 ++++++++++++++++++++++ 6 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 dht-fsetxattr.patch create mode 100644 inode-gen.patch create mode 100644 wb-quota.patch 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/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 165e502..14889e9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,7 +1,13 @@ %global major_minor 3.1 +%ifarch s390 s390x +%global with_ib 0 +%else +%global with_ib 1 +%endif + Name: glusterfs -Version: %{major_minor}.1 +Version: %{major_minor}.2 Release: 2%{?dist} Summary: Clustered file-system @@ -19,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 @@ -48,6 +63,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 +81,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 @@ -137,6 +154,9 @@ This package provides the development libraries. %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %configure @@ -154,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 @@ -232,12 +264,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 +335,15 @@ 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 + +* 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 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/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 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 45/82] 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 b13d52da7ace20afa4e1ca79a3c34df3a12e6e52 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 6 Feb 2011 16:15:42 -0700 Subject: [PATCH 46/82] Add in legacy spec elements to support older 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 47/82] - 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 e7a14630a61195cd83e3d6cebce61e54cb89511b Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 3 Apr 2011 15:26:26 -0600 Subject: [PATCH 48/82] Update to 3.1.3, removing patches. --- .gitignore | 1 + dht-fsetxattr.patch | 67 -------------------------------------------- glusterd.logrotate | 2 +- glusterfs.spec | 61 +++++++++++++++++++--------------------- glusterfsd.logrotate | 2 +- inode-gen.patch | 12 -------- sources | 2 +- wb-quota.patch | 32 --------------------- 8 files changed, 33 insertions(+), 146 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 53ab339..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: 3%{?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,6 +331,12 @@ if [ $1 -ge 1 ]; then fi %changelog +* 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 06c8da013d72953e86cc565e8f29b6d5ddf85fa1 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Sun, 3 Apr 2011 15:28:29 -0600 Subject: [PATCH 49/82] 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 50/82] 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 3c4431c906395c135c51b1925f9b0f017889dd4d Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Tue, 10 May 2011 15:36:56 -0600 Subject: [PATCH 51/82] 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 52/82] 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 53/82] 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 54/82] 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 c6fd07436947ae046711505bb1d30a88d8a753d2 Mon Sep 17 00:00:00 2001 From: Jonathan Steffan Date: Thu, 16 Jun 2011 17:28:48 -0600 Subject: [PATCH 55/82] Update to 3.2.1 --- .gitignore | 1 + glusterfs.spec | 18 ++++++++++++++---- sources | 2 +- 3 files changed, 16 insertions(+), 5 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 e8f5642..b9a38b1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -8,14 +8,14 @@ %endif Name: glusterfs -Version: 3.1.4 -Release: 1%{?dist} +Version: 3.2.1 +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 @@ -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,6 +332,15 @@ 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 + +* 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 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 56/82] 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 57/82] 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 58/82] 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 59/82] 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 60/82] 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 61/82] 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 62/82] 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 63/82] 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 64/82] 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 65/82] 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 66/82] 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 67/82] 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 68/82] 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 From df10eddc5baf46c4614b30997efb5fbe3ac71516 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Tue, 22 Nov 2011 13:34:45 -0500 Subject: [PATCH 69/82] first stab at epel. builds on RHEL6.1, but my attempts at koji scratch builds have failed. Let's see what a fedpkg build will do. --- .gitignore | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index deef4b0..0c09183 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ glusterfs-2.0.9.tar.gz glusterfs-3.0.5.tar.gz -/glusterfs-3.0.7.tar.gz -/glusterfs-3.1.1.tar.gz -/glusterfs-3.1.2.tar.gz -/glusterfs-3.1.3.tar.gz -/glusterfs-3.1.4.tar.gz -/glusterfs-3.2.1.tar.gz -/glusterfs-3.2.2.tar.gz -/glusterfs-3.2.3.tar.gz -/glusterfs-3.2.4.tar.gz -/glusterfs-3.2.5.tar.gz +glusterfs-3.0.7.tar.gz +glusterfs-3.1.1.tar.gz +glusterfs-3.1.2.tar.gz +glusterfs-3.1.3.tar.gz +glusterfs-3.1.4.tar.gz +glusterfs-3.2.1.tar.gz +glusterfs-3.2.2.tar.gz +glusterfs-3.2.3.tar.gz +glusterfs-3.2.4.tar.gz +glusterfs-3.2.5.tar.gz From c6f37fcdb383940815adf3a13797d54a3a70f350 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 23 Nov 2011 10:32:11 -0500 Subject: [PATCH 70/82] epel6 builds, take two. parallel make breaks koji epel builds --- glusterfs.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 68ff7df..9083ac7 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -212,7 +212,8 @@ 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} %{?_smp_mflags} # parallel make breaks koji epel builds +%{__make} %install %{__rm} -rf %{buildroot} From 5685efb9979b7eb5382a6a80dbbaf188d7481931 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 23 Nov 2011 15:24:09 -0500 Subject: [PATCH 71/82] revised libglusterfs/src/Makefile.* to (re)enable parallel make --- glusterfs.spec | 10 +++++++--- libglusterfs.Makefile.patch | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 libglusterfs.Makefile.patch diff --git a/glusterfs.spec b/glusterfs.spec index 9083ac7..4128945 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -37,6 +37,7 @@ Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate +Patch0: libglusterfs.Makefile.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %if ( 0%{?fedora} < 17 || 0%{?rhel} < 7 ) @@ -203,6 +204,7 @@ This package provides the development libraries. %prep %setup -q -n %{name}-%{version} +%patch0 -p0 %build ./autogen.sh @@ -212,8 +214,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} # parallel make breaks koji epel builds -%{__make} +%{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} @@ -390,6 +391,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed Nov 23 2011 Kaleb S. KEITHLEY - 3.2.5-3 +- revised libglusterfs/src/Makefile.* to (re)enable parallel make + * Mon Nov 21 2011 Kaleb S. KEITHLEY - 3.2.5-2 - rhel/epel, init.d for <=6, native systemd for 7 diff --git a/libglusterfs.Makefile.patch b/libglusterfs.Makefile.patch new file mode 100644 index 0000000..56a84b0 --- /dev/null +++ b/libglusterfs.Makefile.patch @@ -0,0 +1,23 @@ +--- libglusterfs/src/Makefile.am.orig 2011-11-23 14:04:41.810001717 -0500 ++++ libglusterfs/src/Makefile.am 2011-11-23 14:30:49.940000394 -0500 +@@ -16,6 +16,7 @@ + $(LEX) -t $(srcdir)/graph.l > $@ + + y.tab.c y.tab.h: graph.y +- $(YACC) -d $(srcdir)/graph.y ++ $(YACC) -d -b foo $(srcdir)/graph.y ++ mv foo.tab.h y.tab.h && mv foo.tab.c y.tab.c + + CLEANFILES = graph.lex.c y.tab.c y.tab.h +--- libglusterfs/src/Makefile.in.orig 2011-11-23 14:04:35.995001451 -0500 ++++ libglusterfs/src/Makefile.in 2011-11-23 14:31:01.730999353 -0500 +@@ -866,7 +866,8 @@ + $(LEX) -t $(srcdir)/graph.l > $@ + + y.tab.c y.tab.h: graph.y +- $(YACC) -d $(srcdir)/graph.y ++ $(YACC) -d -b foo $(srcdir)/graph.y ++ mv foo.tab.h y.tab.h && mv foo.tab.c y.tab.c + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: From a61c3d379566ae8e654a49b138383d2900900e9f Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 7 Dec 2011 13:34:09 -0500 Subject: [PATCH 72/82] revised sysconfig and init.d scripts N.B. glusterfsd.{init,sysconfig,service} should go away. Glusterd is responsible for starting and stopping the glusterfsd(s) --- glusterd.init | 7 +++---- glusterd.sysconfig | 6 ++---- glusterfs.spec | 6 +++++- glusterfsd.init | 2 +- glusterfsd.sysconfig | 1 - 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/glusterd.init b/glusterd.init index 5e7f67f..d09847a 100644 --- a/glusterd.init +++ b/glusterd.init @@ -24,7 +24,7 @@ exec="/usr/sbin/glusterd" prog="glusterd" # Set defaults, then source config for eventual overrides -GLUSTERFSD_NOFILE="65536" +GLUSTERD_NOFILE="65536" [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog @@ -32,10 +32,9 @@ lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 - [ -f $GLUSTERFSD_CONFIG ] || exit 6 - ulimit -n $GLUSTERFSD_NOFILE + ulimit -n $GLUSTERD_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 + daemon $exec${GLUSTERD_LOGFILE+" -l $GLUSTERD_LOGFILE"}${GLUSTERD_LOGLEVEL+" -L $GLUSTERD_LOGLEVEL"} -p /var/run/glusterd.pid retval=$? echo [ $retval -eq 0 ] && touch $lockfile diff --git a/glusterd.sysconfig b/glusterd.sysconfig index 09dba20..3a9cb86 100644 --- a/glusterd.sysconfig +++ b/glusterd.sysconfig @@ -1,8 +1,6 @@ # 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" +#GLUSTERD_LOGFILE="/var/log/gluster/gluster.log" +#GLUSTERD_LOGLEVEL="NORMAL" diff --git a/glusterfs.spec b/glusterfs.spec index 4128945..d1ec7f0 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -391,6 +391,10 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed Dec 7 2011 Kaleb S. KEITHLEY - 3.2.5-4 +- revised sysconfig and init.d scripts. (glusterfsd.{init,sysconfig,service} + should go away, as glusterd is responsible for starting and stopping it.) + * Wed Nov 23 2011 Kaleb S. KEITHLEY - 3.2.5-3 - revised libglusterfs/src/Makefile.* to (re)enable parallel make diff --git a/glusterfsd.init b/glusterfsd.init index e36a98d..951c18d 100644 --- a/glusterfsd.init +++ b/glusterfsd.init @@ -32,7 +32,7 @@ lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 - [ -f $GLUSTERFSD_CONFIG ] || exit 6 + [ $GLUSTERFSD_CONFIG -o -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/glusterfsd.pid diff --git a/glusterfsd.sysconfig b/glusterfsd.sysconfig index f46cd7d..250983a 100644 --- a/glusterfsd.sysconfig +++ b/glusterfsd.sysconfig @@ -4,5 +4,4 @@ #GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfsd.vol" #GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfs.log" #GLUSTERFSD_LOGLEVEL="NORMAL" -#GLUSTERFSD_NOFILE="65536" From 5b0b5ff7293be512b06a05125c86b7898b9699ff Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Tue, 3 Jan 2012 11:24:13 -0500 Subject: [PATCH 73/82] revised spec to correctly do init.d for fedora<=16, rhel<=6; native systemd for f17 and rhel7 --- glusterfs.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index d1ec7f0..be2e095 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -40,7 +40,7 @@ Source6: glusterfsd.logrotate Patch0: libglusterfs.Makefile.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -%if ( 0%{?fedora} < 17 || 0%{?rhel} < 7 ) +%if ( 0%{?fedora} && 0%{?fedora} < 17 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) Source7: glusterd.init Source8: glusterfsd.init Requires(post): /sbin/chkconfig @@ -391,6 +391,10 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue Jan 3 2012 Kaleb S. KEITHLEY - 3.2.5-5 +- revised spec for init.d for fedora<=16, rhel<=6; native systemd for + f17 and rhel7 + * Wed Dec 7 2011 Kaleb S. KEITHLEY - 3.2.5-4 - revised sysconfig and init.d scripts. (glusterfsd.{init,sysconfig,service} should go away, as glusterd is responsible for starting and stopping it.) From 489a51e97b0b436d632ce78b6a201f4f68258fc0 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Tue, 3 Jan 2012 11:26:12 -0500 Subject: [PATCH 74/82] revised spec to correctly do init.d for fedora<=16, rhel<=6; native systemd for f17 and rhel7 --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index be2e095..76de754 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat From 2cd9c4e4c806aee8ac7573ef4d15f9a846a36a54 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Tue, 10 Jan 2012 13:03:15 -0500 Subject: [PATCH 75/82] glusterd.init use /run per Fedora File System Layout, or /var/run when needed --- glusterd.init | 10 +++++++--- glusterfs.spec | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/glusterd.init b/glusterd.init index d09847a..0007d2e 100644 --- a/glusterd.init +++ b/glusterd.init @@ -20,9 +20,13 @@ # Source function library. . /etc/rc.d/init.d/functions -exec="/usr/sbin/glusterd" +exe="/usr/sbin/glusterd" prog="glusterd" +# Fedora File System Layout dictates /run +[ -e /run ] && RUNDIR="/run" +pidf="${RUNDIR:-/var/run}/$prog.pid" + # Set defaults, then source config for eventual overrides GLUSTERD_NOFILE="65536" @@ -31,10 +35,10 @@ GLUSTERD_NOFILE="65536" lockfile=/var/lock/subsys/$prog start() { - [ -x $exec ] || exit 5 + [ -x $exe ] || exit 5 ulimit -n $GLUSTERD_NOFILE echo -n $"Starting $prog: " - daemon $exec${GLUSTERD_LOGFILE+" -l $GLUSTERD_LOGFILE"}${GLUSTERD_LOGLEVEL+" -L $GLUSTERD_LOGLEVEL"} -p /var/run/glusterd.pid + daemon $exe${GLUSTERD_LOGFILE+" -l $GLUSTERD_LOGFILE"}${GLUSTERD_LOGLEVEL+" -L $GLUSTERD_LOGLEVEL"} -p $pidf retval=$? echo [ $retval -eq 0 ] && touch $lockfile diff --git a/glusterfs.spec b/glusterfs.spec index 76de754..88058b4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -391,6 +391,10 @@ if [ $1 -ge 1 ]; then fi %changelog +* Tue Jan 10 2012 Kaleb S. KEITHLEY - 3.2.5-6 +- glusterd.init use /run per Fedora File System Layout, or /var/run when + needed + * Tue Jan 3 2012 Kaleb S. KEITHLEY - 3.2.5-5 - revised spec for init.d for fedora<=16, rhel<=6; native systemd for f17 and rhel7 From 4c40b04359e3b40b2f448090fcb2eb8d0f0de481 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Mon, 16 Jan 2012 13:49:24 -0500 Subject: [PATCH 76/82] patch configure.ac to compile -O2 instead of -O0 on Linux. --- configure.ac.patch | 11 +++++++++++ glusterfs.spec | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 configure.ac.patch diff --git a/configure.ac.patch b/configure.ac.patch new file mode 100644 index 0000000..122af1a --- /dev/null +++ b/configure.ac.patch @@ -0,0 +1,11 @@ +--- configure.ac.orig 2012-01-16 13:38:53.020000114 -0500 ++++ configure.ac 2012-01-16 13:39:29.177000589 -0500 +@@ -431,7 +431,7 @@ + linux*) + dnl GF_LINUX_HOST_OS=1 + GF_HOST_OS="GF_LINUX_HOST_OS" +- GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0" ++ GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O2" + GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}" + GF_LDADD="${ARGP_STANDALONE_LDADD}" + GF_FUSE_CFLAGS="-DFUSERMOUNT_DIR=\\\"\$(bindir)\\\"" diff --git a/glusterfs.spec b/glusterfs.spec index 88058b4..38f6f83 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -38,6 +38,7 @@ Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate Patch0: libglusterfs.Makefile.patch +Patch1: configure.ac.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %if ( 0%{?fedora} && 0%{?fedora} < 17 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) @@ -205,6 +206,7 @@ This package provides the development libraries. %prep %setup -q -n %{name}-%{version} %patch0 -p0 +%patch1 -p0 %build ./autogen.sh @@ -391,6 +393,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Mon Jan 16 2012 Kaleb S. KEITHLEY - 3.2.5-7 +- patch configure.ac to compile -O2 instead of -O0 on Linux. + * Tue Jan 10 2012 Kaleb S. KEITHLEY - 3.2.5-6 - glusterd.init use /run per Fedora File System Layout, or /var/run when needed From 2906358bf6249a720feb25151402b6c6b1e836f3 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Thu, 16 Feb 2012 11:24:06 -0500 Subject: [PATCH 77/82] rename patch files for nicer co-existence with other packages in ~/rpmbuild/SOURCES --- ...atch => glusterfs-3.2.5.configure.ac.patch | 0 ...lusterfs-3.2.5.libglusterfs.Makefile.patch | 0 glusterfs.spec | 35 ++++++++++--------- 3 files changed, 19 insertions(+), 16 deletions(-) rename configure.ac.patch => glusterfs-3.2.5.configure.ac.patch (100%) rename libglusterfs.Makefile.patch => glusterfs-3.2.5.libglusterfs.Makefile.patch (100%) diff --git a/configure.ac.patch b/glusterfs-3.2.5.configure.ac.patch similarity index 100% rename from configure.ac.patch rename to glusterfs-3.2.5.configure.ac.patch diff --git a/libglusterfs.Makefile.patch b/glusterfs-3.2.5.libglusterfs.Makefile.patch similarity index 100% rename from libglusterfs.Makefile.patch rename to glusterfs-3.2.5.libglusterfs.Makefile.patch diff --git a/glusterfs.spec b/glusterfs.spec index 38f6f83..18efc63 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.5 -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -37,8 +37,8 @@ Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate -Patch0: libglusterfs.Makefile.patch -Patch1: configure.ac.patch +Patch0: %{name}-3.2.5.libglusterfs.Makefile.patch +Patch1: %{name}-3.2.5.configure.ac.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %if ( 0%{?fedora} && 0%{?fedora} < 17 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) @@ -393,48 +393,51 @@ if [ $1 -ge 1 ]; then fi %changelog -* Mon Jan 16 2012 Kaleb S. KEITHLEY - 3.2.5-7 +* Thu Feb 16 2012 Kaleb S. KEITHLEY - 3.2.5-8 +- rename patch files + +* Mon Jan 16 2012 Kaleb S. KEITHLEY - 3.2.5-7 - patch configure.ac to compile -O2 instead of -O0 on Linux. -* Tue Jan 10 2012 Kaleb S. KEITHLEY - 3.2.5-6 +* Tue Jan 10 2012 Kaleb S. KEITHLEY - 3.2.5-6 - glusterd.init use /run per Fedora File System Layout, or /var/run when needed -* Tue Jan 3 2012 Kaleb S. KEITHLEY - 3.2.5-5 +* Tue Jan 3 2012 Kaleb S. KEITHLEY - 3.2.5-5 - revised spec for init.d for fedora<=16, rhel<=6; native systemd for f17 and rhel7 -* Wed Dec 7 2011 Kaleb S. KEITHLEY - 3.2.5-4 +* Wed Dec 7 2011 Kaleb S. KEITHLEY - 3.2.5-4 - revised sysconfig and init.d scripts. (glusterfsd.{init,sysconfig,service} should go away, as glusterd is responsible for starting and stopping it.) -* Wed Nov 23 2011 Kaleb S. KEITHLEY - 3.2.5-3 +* Wed Nov 23 2011 Kaleb S. KEITHLEY - 3.2.5-3 - revised libglusterfs/src/Makefile.* to (re)enable parallel make -* Mon Nov 21 2011 Kaleb S. KEITHLEY - 3.2.5-2 +* Mon Nov 21 2011 Kaleb S. KEITHLEY - 3.2.5-2 - rhel/epel, init.d for <=6, native systemd for 7 -* Thu Nov 17 2011 Kaleb S. KEITHLEY - 3.2.5-1 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 From bb8b41bacdec96de2a4f22f210082b2629c7f409 Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 21 Mar 2012 08:51:19 -0400 Subject: [PATCH 78/82] glusterfs-3.2.6-1 --- .gitignore | 1 + glusterfs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0c09183..1fd6a61 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ glusterfs-3.2.2.tar.gz glusterfs-3.2.3.tar.gz glusterfs-3.2.4.tar.gz glusterfs-3.2.5.tar.gz +/glusterfs-3.2.6.tar.gz diff --git a/glusterfs.spec b/glusterfs.spec index 18efc63..c24d287 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -24,8 +24,8 @@ Summary: Cluster File System Name: glusterfs -Version: 3.2.5 -Release: 8%{?dist} +Version: 3.2.6 +Release: 1%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat @@ -393,6 +393,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed Mar 21 2012 Kaleb S. KEITHLEY - 3.2.6-1 +- Update to 3.2.6 + * Thu Feb 16 2012 Kaleb S. KEITHLEY - 3.2.5-8 - rename patch files diff --git a/sources b/sources index c5982a2..e0394a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1a19f29270c587242a83bc0256161f68 glusterfs-3.2.5.tar.gz +e82abcb6583f0d0563cbc485e89cef50 glusterfs-3.2.6.tar.gz From 5977bca837f6594547d1e129babb62f4054fff3c Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 9 May 2012 12:35:50 -0400 Subject: [PATCH 79/82] glusterfs-3.2.6-2, BZ 819916 Add BuildRequires: libxml2-devel --- glusterfs.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index c24d287..276bcfe 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -74,6 +74,7 @@ Requires(postun): systemd-units BuildRequires: bison flex BuildRequires: gcc make automake libtool BuildRequires: ncurses-devel readline-devel +BuildRequires: libxml2-devel BuildRequires: python-ctypes Obsoletes: %{name}-libs <= 2.0.0 @@ -219,7 +220,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} %{?_smp_mflags} %install -%{__rm} -rf %{buildroot} +%{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} # Install include directory %{__mkdir_p} %{buildroot}%{_includedir}/glusterfs @@ -347,7 +348,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 @@ -393,6 +394,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Wed May 9 2012 Kaleb S. KEITHLEY - 3.2.6-2 +- Add BuildRequires: libxml2-devel, BZ 819916 + * Wed Mar 21 2012 Kaleb S. KEITHLEY - 3.2.6-1 - Update to 3.2.6 @@ -435,10 +439,10 @@ fi - Update to 3.2.4 * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.3-1 -- Update to 3.2.3 +- Update to 3.2.3 * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.2-1 -- Update to 3.2.2 +- Update to 3.2.2 * Fri Aug 19 2011 Kaleb S. KEITHLEY - 3.2.2-0 - Update to 3.2.2 From 78c6c34b6907af4683e3915946e9142147b711ed Mon Sep 17 00:00:00 2001 From: Kaleb KEITHLEY Date: Wed, 9 May 2012 12:37:47 -0400 Subject: [PATCH 80/82] glusterfs-3.2.6-2, BZ 819916 Add BuildRequires: libxml2-devel --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 276bcfe..e60c305 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -25,7 +25,7 @@ Summary: Cluster File System Name: glusterfs Version: 3.2.6 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3 Group: System Environment/Base Vendor: Red Hat From 744ad50f31c7b47b4b189b0aa549118f5f3da29a Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 31 May 2012 15:04:23 -0400 Subject: [PATCH 81/82] update for glusterfs-3.3.0 --- .gitignore | 1 + glusterfs-3.3.0.libglusterfs.Makefile.patch | 24 +++++++++++ glusterfs.spec | 46 ++++++++++++--------- sources | 2 +- 4 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 glusterfs-3.3.0.libglusterfs.Makefile.patch diff --git a/.gitignore b/.gitignore index 1fd6a61..2947e8a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ glusterfs-3.2.3.tar.gz glusterfs-3.2.4.tar.gz glusterfs-3.2.5.tar.gz /glusterfs-3.2.6.tar.gz +/glusterfs-3.3.0.tar.gz diff --git a/glusterfs-3.3.0.libglusterfs.Makefile.patch b/glusterfs-3.3.0.libglusterfs.Makefile.patch new file mode 100644 index 0000000..bd9bde7 --- /dev/null +++ b/glusterfs-3.3.0.libglusterfs.Makefile.patch @@ -0,0 +1,24 @@ +--- libglusterfs/src/Makefile.am.orig 2012-05-17 12:30:57.000000000 -0400 ++++ libglusterfs/src/Makefile.am 2012-05-18 08:52:55.469998306 -0400 +@@ -44,7 +44,8 @@ + $(LEX) -t $(srcdir)/graph.l > $@ + + y.tab.h: graph.y +- $(YACC) -d $(srcdir)/graph.y ++ $(YACC) -d -b foo $(srcdir)/graph.y ++ mv foo.tab.h y.tab.h && mv foo.tab.c y.tab.c + + CLEANFILES = graph.lex.c y.tab.c y.tab.h + CONFIG_CLEAN_FILES = $(CONTRIB_BUILDDIR)/uuid/uuid_types.h +--- libglusterfs/src/Makefile.in.orig 2012-05-17 12:31:12.000000000 -0400 ++++ libglusterfs/src/Makefile.in 2012-05-18 09:02:31.108002281 -0400 +@@ -941,7 +941,8 @@ + $(LEX) -t $(srcdir)/graph.l > $@ + + y.tab.h: graph.y +- $(YACC) -d $(srcdir)/graph.y ++ $(YACC) -d -b foo $(srcdir)/graph.y ++ mv foo.tab.h y.tab.h && mv foo.tab.c y.tab.c + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: diff --git a/glusterfs.spec b/glusterfs.spec index e60c305..618b5ff 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -24,20 +24,20 @@ Summary: Cluster File System Name: glusterfs -Version: 3.2.6 -Release: 2%{?dist} -License: GPLv3 +Version: 3.3.0 +Release: 1%{?dist} +License: GPLv3+ and (GPLv2 or LGPLv3+) 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 +Source0: http://download.gluster.org/pub/gluster/glusterfs/3.3/%{version}/glusterfs-%{version}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate Source6: glusterfsd.logrotate -Patch0: %{name}-3.2.5.libglusterfs.Makefile.patch +Patch0: %{name}-3.3.0.libglusterfs.Makefile.patch Patch1: %{name}-3.2.5.configure.ac.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -74,9 +74,10 @@ Requires(postun): systemd-units BuildRequires: bison flex BuildRequires: gcc make automake libtool BuildRequires: ncurses-devel readline-devel -BuildRequires: libxml2-devel +BuildRequires: libxml2-devel openssl-devel BuildRequires: python-ctypes +Obsoletes: hekafs <= 0.7 Obsoletes: %{name}-libs <= 2.0.0 Obsoletes: %{name}-common < 3.1.0 Provides: %{name}-libs = %{version}-%{release} @@ -252,11 +253,6 @@ 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 - # Create working directory %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd @@ -264,10 +260,6 @@ done 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 %_init_install %{SOURCE7} glusterd %_init_install %{SOURCE8} glusterfsd @@ -305,14 +297,12 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %files %defattr(-,root,root,-) -%doc ChangeLog COPYING INSTALL README THANKS +%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %{_libdir}/glusterfs %{_libdir}/*.so.* %{_sbindir}/glusterfs* -%{_sbindir}/gluster -%{_sbindir}/glusterd %{_libexecdir}/glusterfs %{_mandir}/man8/*gluster*.8* %dir %{_localstatedir}/log/glusterfs @@ -320,6 +310,12 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* %endif %exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* +%exclude %{_libdir}/glusterfs/%{version}/xlator/storage* +%exclude %{_libdir}/glusterfs/%{version}/xlator/features/posix* +%exclude %{_libdir}/glusterfs/%{version}/xlator/protocol/server* +%exclude %{_libdir}/glusterfs/%{version}/xlator/mgmt* +%exclude %{_libdir}/glusterfs/%{version}/xlator/nfs* + %if 0%{!?_without_rdma:1} %files rdma @@ -354,7 +350,6 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %files server %defattr(-,root,root,-) -%doc examples/ doc/glusterfs*.vol.sample %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs @@ -364,10 +359,18 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{_sharedstatedir}/glusterd %_init_file1 %_init_file2 +%{_sbindir}/gluster +%{_sbindir}/glusterd +%{_libdir}/glusterfs/%{version}/xlator/storage* +%{_libdir}/glusterfs/%{version}/xlator/features/posix* +%{_libdir}/glusterfs/%{version}/xlator/protocol/server* +%{_libdir}/glusterfs/%{version}/xlator/mgmt* +%{_libdir}/glusterfs/%{version}/xlator/nfs* + %files vim %defattr(-,root,root,-) -%doc COPYING +%doc COPYING-GPLV2 COPYING-LGPLV3 %{_datadir}/vim/vimfiles/syntax/glusterfs.vim %files devel @@ -394,6 +397,9 @@ if [ $1 -ge 1 ]; then fi %changelog +* Thu May 31 2012 Kaleb S. KEITHLEY - 3.3.0-1 +- Update to 3.3.0 + * Wed May 9 2012 Kaleb S. KEITHLEY - 3.2.6-2 - Add BuildRequires: libxml2-devel, BZ 819916 diff --git a/sources b/sources index e0394a6..88da1ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e82abcb6583f0d0563cbc485e89cef50 glusterfs-3.2.6.tar.gz +3ddf782421f54c60b9da9607b0c32ec1 glusterfs-3.3.0.tar.gz From b012c24de9d7fc576087b4465a2c9eca3e82b010 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 31 May 2012 15:47:34 -0400 Subject: [PATCH 82/82] no man pages in 3.3.0, they're commented out in doc/Makefile.am --- glusterfs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 618b5ff..240183c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -304,7 +304,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{_libdir}/*.so.* %{_sbindir}/glusterfs* %{_libexecdir}/glusterfs -%{_mandir}/man8/*gluster*.8* +#%{_mandir}/man8/*gluster*.8* # man page install commented out in 3.3.0 source %dir %{_localstatedir}/log/glusterfs %if 0%{!?_without_rdma:1} %exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma* @@ -340,7 +340,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse %{_libdir}/glusterfs/%{version}/xlator/mount/fuse* -%{_mandir}/man8/mount.glusterfs.8* +#%{_mandir}/man8/mount.glusterfs.8* # man page install commented out in 3.3.0 source /sbin/mount.glusterfs /sbin/umount.glusterfs %if 0%{?_with_fusermount:1}