[glusterfs/el6/master] Update to 3.1.1

Jonathan Steffan jsteffan at fedoraproject.org
Sun Jan 2 01:01:13 UTC 2011


commit 20fea3463cae6f00535bc650f5e594bcec296efd
Author: Jonathan Steffan <jsteffan at fedoraproject.org>
Date:   Sat Jan 1 18:00:55 2011 -0700

    Update to 3.1.1

 .gitignore                                      |    1 +
 glusterd.init                                   |  106 +++++++
 glusterd.logrotate                              |    6 +
 glusterd.sysconfig                              |    8 +
 glusterfs.logrotate => glusterfs-fuse.logrotate |    2 +-
 glusterfs.spec                                  |  332 ++++++++++++++---------
 sources                                         |    2 +-
 7 files changed, 320 insertions(+), 137 deletions(-)
---
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 
-
-# 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}
-
-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
+%global major_minor 3.1
+
+Name:             glusterfs
+Version:          %{major_minor}.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/%{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 rdma
+Summary:          Support for ib-verbs
+Group:            Applications/File
+BuildRequires:    libibverbs-devel
 
-%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}
+Requires:         %{name} = %{version}-%{release}
 
-%description common
+%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 vim
+Summary:        Vim syntax file
+Group:          Applications/Text
+Requires:       vim-common
+
+%description vim
+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.
+
+Vim syntax file for GlusterFS.
+
 %package devel
-Summary: 	GlusterFS Development Libraries
-Group: 		Development/Libraries
-Requires: 	%{name}-common = %{version}-%{release}
+Summary:        Development Libraries
+Group:          Development/Libraries
+Requires:       %{name} = %{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
+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 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*
+
+%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
 
-%clean
-%{__rm} -rf %{buildroot}
+%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
 
+%files vim
+%defattr(-,root,root,-)
+%doc COPYING
+%{_datadir}/vim/vimfiles/syntax/glusterfs.vim
 
-%post common -p /sbin/ldconfig
+%files devel
+%{_includedir}/glusterfs
+%exclude %{_includedir}/glusterfs/y.tab.h
+%{_libdir}/*.so
 
-%postun common -p /sbin/ldconfig
+%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
 
+%changelog
+* Sat Jan 1 2011 Jonathan Steffan <jsteffan at fedoraproject.org> - 3.1.1-2
+- Update to support readline
+- Update to not parallel build
 
-%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
-
+* Mon Dec 27 2010 Silas Sewell <silas at sewell.ch> - 3.1.1-1
+- Update to 3.1.1
+- Change package names to mirror upstream
 
-%changelog
 * Mon Dec 20 2010 Jonathan Steffan <jsteffan at fedoraproject.org> - 3.0.7-1
 - Update to 3.0.7
 
@@ -388,4 +451,3 @@ fi
 
 * Sun Jul 15 2007 Matt Paine <matt at mattsoftware.com> - 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


More information about the scm-commits mailing list