[glusterfs/el6] 3.3.0-2, selected fixes to spec for BZs 826836, 826855, 829734, 834847
Kaleb S. KEITHLEY
kkeithle at fedoraproject.org
Thu Jul 5 19:42:27 UTC 2012
commit bf40ed0d1cf3c7f852b01e7428f6acd8a2135649
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date: Thu Jul 5 15:42:00 2012 -0400
3.3.0-2, selected fixes to spec for BZs 826836, 826855, 829734, 834847
glusterfs.spec | 193 ++++++++++++++++++++++++++++++++++++++++---------------
sources | 2 +-
2 files changed, 141 insertions(+), 54 deletions(-)
---
diff --git a/glusterfs.spec b/glusterfs.spec
index ea26184..bd373db 100644
--- a/glusterfs.spec
+++ b/glusterfs.spec
@@ -24,20 +24,20 @@
Summary: Cluster File System
Name: glusterfs
-Version: 3.2.7
-Release: 1%{?dist}
-License: GPLv3
+Version: 3.3.0
+Release: 2%{?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.org/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,15 +74,18 @@ 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
+Obsoletes: %{name}-common < %{version}-%{release}
+Obsoletes: %{name}-core < %{version}-%{release}
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
petabytes. It aggregates various storage bricks over Infiniband RDMA
@@ -120,7 +123,9 @@ This package provides support to ib-verbs library.
%package geo-replication
Summary: GlusterFS Geo-replication
Group: Applications/File
-Requires: %{name} = %{version}-%{release} , python-ctypes , rsync >= 3.0.0
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-server = %{version}-%{release}
+Requires: python-ctypes , rsync >= 3.0.0
%description geo-replication
GlusterFS is a clustered file-system capable of scaling to several
@@ -141,7 +146,7 @@ BuildRequires: fuse-devel
Requires: %{name} = %{version}-%{release}
-Obsoletes: %{name}-client < 3.1.0
+Obsoletes: %{name}-client < %{version}-%{release}
Provides: %{name}-client = %{version}-%{release}
%description fuse
@@ -172,22 +177,6 @@ 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: Development Libraries
Group: Development/Libraries
@@ -244,7 +233,6 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%{__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
find %{buildroot}%{_libdir} -name '*.la' -delete
@@ -252,11 +240,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 +247,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
@@ -290,9 +269,41 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%{__install} -D -p -m 0644 %{SOURCE6} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
-# Install vim syntax plugin
-%{__install} -D -p -m 644 extras/glusterfs.vim \
- %{buildroot}%{_datadir}/vim/vimfiles/syntax/glusterfs.vim
+%if 0%{!?_without_georeplication:1}
+# geo-rep ghosts
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
+touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
+%endif
+
+# the rest of the ghosts
+touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs
+%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers
%clean
%{__rm} -rf %{buildroot}
@@ -305,21 +316,26 @@ 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*
+#%{_mandir}/man8/*gluster*.8* # man page install commented out in 3.3.0 source
%dir %{_localstatedir}/log/glusterfs
+%dir %{_sharedstatedir}/glusterd
%if 0%{!?_without_rdma:1}
%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
@@ -331,20 +347,20 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%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/*
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
+%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
%endif
%files fuse
%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}
@@ -354,21 +370,53 @@ 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
# Legacy configs
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
-%{_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*
+%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/glusterd.info
+# This is really ugly, but I have no idea how to mark these directories in an
+# other way. They should belong to the glusterfs-server package, but don't
+# exist after installation. They are generated on the first start...
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
+%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
-%files vim
-%defattr(-,root,root,-)
-%doc COPYING
-%{_datadir}/vim/vimfiles/syntax/glusterfs.vim
%files devel
%defattr(-,root,root,-)
@@ -381,6 +429,45 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
%_init_enable glusterd
%_init_enable glusterfsd
+# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
+# there are any files in /etc from a prior gluster.org install, move them
+# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
+# in gluster.org RPMs.) Be careful to copy them on the off chance that
+# /etc and /var/lib are on separate file systems
+if [ -d /etc/glusterd ]; then
+ %{__mkdir_p} /var/lib
+ cp -a /etc/glusterd /var/lib
+ rm -rf /etc/glusterd
+ ln -sf /var/lib/glusterd /etc/glusterd
+fi
+
+# Rename old volfiles in an RPM-standard way. These aren't actually
+# considered package config files, so %config doesn't work for them.
+if [ -d /var/lib/glusterd/vols ]; then
+ for file in $(find /var/lib/glusterd/vols -name '*.vol'); do
+ newfile=${file}.rpmsave
+ echo "warning: ${file} saved as ${newfile}"
+ cp ${file} ${newfile}
+ done
+fi
+
+# add marker translator
+# but first make certain that there are no old libs around to bite us
+# BZ 834847
+if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
+ rm -f /etc/ld.so.conf.d/glusterfs.conf
+ /sbin/ldconfig
+fi
+pidof -c -o %PPID -x glusterd &> /dev/null
+if [ $? -eq 0 ]; then
+ kill -9 `pgrep -f gsyncd.py` &> /dev/null
+
+ killall glusterd &> /dev/null
+ glusterd --xlator-option *.upgrade=on -N
+else
+ glusterd --xlator-option *.upgrade=on -N
+fi
+
%preun server
if [ $1 -eq 0 ]; then
%_init_stop glusterfsd
@@ -394,8 +481,8 @@ if [ $1 -ge 1 ]; then
fi
%changelog
-* Mon Jun 11 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.2.7-1
-- Update to 3.2.7
+* Thu Jul 5 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-2
+- selected fixes to glusterfs.spec for BZs 826836, 826855, 829734, 834847
* Thu May 31 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-1
- Update to 3.3.0
diff --git a/sources b/sources
index b67b22a..88da1ce 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-74c36a0dac00e25d1b0b21100b04a281 glusterfs-3.2.7.tar.gz
+3ddf782421f54c60b9da9607b0c32ec1 glusterfs-3.3.0.tar.gz
More information about the scm-commits
mailing list