Initial import.
This commit is contained in:
parent
cf9ed7b175
commit
f0830d8fd8
@ -0,0 +1 @@
|
||||
glusterfs-1.3.8.tar.gz
|
12
glusterfs-1.3.7-ocreat.patch
Normal file
12
glusterfs-1.3.7-ocreat.patch
Normal file
@ -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;
|
16
glusterfs-1.3.8-mount.patch
Normal file
16
glusterfs-1.3.8-mount.patch
Normal file
@ -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");
|
||||
|
257
glusterfs.spec
Normal file
257
glusterfs.spec
Normal file
@ -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 <http://freshrpms.net/> 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 <http://freshrpms.net/> 1.3.8-0.6
|
||||
- Add --without ibverbs rpmbuild option to the package.
|
||||
|
||||
* Mon Jan 14 2008 Matthias Saou <http://freshrpms.net/> 1.3.8-0.5
|
||||
- Update to current TLA again, patch-636 which fixes the known segfaults.
|
||||
|
||||
* Thu Jan 10 2008 Matthias Saou <http://freshrpms.net/> 1.3.8-0.4
|
||||
- Downgrade to glusterfs--mainline--2.5--patch-628 which is more stable.
|
||||
|
||||
* Tue Jan 8 2008 Matthias Saou <http://freshrpms.net/> 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 <http://freshrpms.net/> 1.3.8-0.1
|
||||
- Update to current TLA snapshot, which includes "volume-name=" fstab option.
|
||||
|
||||
* Mon Dec 3 2007 Matthias Saou <http://freshrpms.net/> 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 <http://freshrpms.net/> 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 <http://freshrpms.net/> 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 <http://freshrpms.net/> 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 <matt@mattsoftware.com> - 1.3.pre7
|
||||
- Added support to build rpm without ibverbs support (use --without ibverbs
|
||||
switch)
|
||||
|
||||
* Sun Jul 15 2007 Matt Paine <matt@mattsoftware.com> - 1.3.pre6
|
||||
- Initial spec file
|
||||
|
69
glusterfsd.init
Normal file
69
glusterfsd.init
Normal file
@ -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
|
7
glusterfsd.sysconfig
Normal file
7
glusterfsd.sysconfig
Normal file
@ -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"
|
||||
|
20
umount.glusterfs
Normal file
20
umount.glusterfs
Normal file
@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
# (C) 2008 Gluster core team <http://www.gluster.org/>
|
||||
#
|
||||
# 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"
|
||||
|
Loading…
Reference in New Issue
Block a user