3.3.1-15, BZ 955283, hardened build, i.e. PIE

This commit is contained in:
Kaleb S. KEITHLEY 2013-05-13 08:19:23 -04:00
parent c47d66b136
commit 6f4014030c
2 changed files with 122 additions and 322 deletions

View File

@ -1,8 +1,10 @@
%global _hardened_build 1
%global _for_fedora_koji_builds 1 %global _for_fedora_koji_builds 1
# uncomment and add '%' to use the prereltag for pre-releases # uncomment and add '%' to use the prereltag for pre-releases
%global prereltag beta1 # global prereltag alpha
# if you wish to compile an rpm without rdma support, compile like this... # if you wish to compile an rpm without rdma support, compile like this...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma
@ -17,33 +19,23 @@
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll
%{?_without_epoll:%global _without_epoll --disable-epoll} %{?_without_epoll:%global _without_epoll --disable-epoll}
# if you wish to compile an rpm without fusermount... # if you wish to compile an rpm with fusermount...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without fusermount # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with fusermount
%{?_without_fusermount:%global _without_fusermount --disable-fusermount} %{?_with_fusermount:%global _with_fusermount --enable-fusermount}
# if you wish to compile an rpm without geo-replication support, compile like this... # if you wish to compile an rpm without geo-replication support, compile like this...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication
%{?_without_georeplication:%global _without_georeplication --disable-geo-replication} %{?_without_georeplication:%global _without_georeplication --disable-geo-replication}
# if you wish to compile an rpm without the OCF resource agents...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf
%{?_without_ocf:%global _without_ocf --without-ocf}
# if you wish to build rpms without UFO, compile like this
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without ufo
%{?_without_ufo:%global _without_ufo true}
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
%global SWIFTVER 1.8.0 %global SWIFTVER 1.7.4
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%global UFOVER 1.2 %global UFOVER 1.1
%else %else
%global UFOVER @PACKAGE_VERSION@ %global UFOVER @PACKAGE_VERSION@
%endif %endif
%if ! 0%{?_without_ufo:1}
%global _with_ufo true %global _with_ufo true
%endif %endif
%endif
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) %if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
%global _with_systemd true %global _with_systemd true
@ -52,8 +44,8 @@
Summary: Cluster File System Summary: Cluster File System
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
Name: glusterfs Name: glusterfs
Version: 3.4.0 Version: 3.3.1
Release: 0.4%{?prereltag:.%{prereltag}}%{?dist} Release: 15%{?prereltag:.%{prereltag}}%{?dist}
%else %else
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@ Version: @PACKAGE_VERSION@
@ -66,7 +58,7 @@ Vendor: Red Hat
%endif %endif
URL: http://www.gluster.org//docs/index.php/GlusterFS URL: http://www.gluster.org//docs/index.php/GlusterFS
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
Source0: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{PACKAGE_VERSION}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz Source0: http://download.gluster.org/pub/gluster/glusterfs/3.3/%{version}/glusterfs-%{version}%{?prereltag}.tar.gz
%else %else
Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
%endif %endif
@ -87,64 +79,6 @@ Source11: glusterfsd.service
Source12: glusterd.init Source12: glusterd.init
Source13: glusterfsd.init Source13: glusterfsd.init
%if ( 0%{_for_fedora_koji_builds} )
Source15: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{version}%{?prereltag}/UFO/gluster-swift-ufo-%{UFOVER}%{?prereltag}.tar.gz
%else
Source15: gluster-swift-ufo-@PACKAGE_VERSION@.tar.gz
%endif
Patch15: %{name}-3.3.1.ufo.gluster.swift.common.DiskFile-1.7.4.patch
# http://launchpad.net/swift/grizzly/%{SWIFTVER}/+download/swift-%{SWIFTVER}.tar.gz
Source20: swift-%{SWIFTVER}.tar.gz
Source30: gluster-swift-account.service
Source31: gluster-swift-container.service
Source32: gluster-swift-object.service
Source33: gluster-swift-proxy.service
Source34: gluster-swift-account@.service
Source35: gluster-swift-container@.service
Source36: gluster-swift-object@.service
Source37: gluster-swift.tmpfs
Source40: gluster-swift-account.init
Source41: gluster-swift-container.init
Source42: gluster-swift-object.init
Source43: gluster-swift-proxy.init
Source44: gluster-swift-functions
# these first appeared in openstack-swift-1.7.4-2.fc19
Source50: gluster-swift-account-replicator.service
Source51: gluster-swift-account-replicator@.service
Source52: gluster-swift-account-auditor.service
Source53: gluster-swift-account-auditor@.service
Source54: gluster-swift-account-reaper.service
Source55: gluster-swift-account-reaper@.service
Source56: gluster-swift-container-replicator.service
Source57: gluster-swift-container-replicator@.service
Source58: gluster-swift-container-auditor.service
Source59: gluster-swift-container-auditor@.service
Source60: gluster-swift-container-updater.service
Source61: gluster-swift-container-updater@.service
Source62: gluster-swift-object-replicator.service
Source63: gluster-swift-object-replicator@.service
Source64: gluster-swift-object-auditor.service
Source65: gluster-swift-object-auditor@.service
Source66: gluster-swift-object-updater.service
Source67: gluster-swift-object-updater@.service
Source68: gluster-swift-object-expirer.service
Source69: gluster-swift-object-expirer@.service
# these first appeared in openstack-swift-1.7.4-1.fc18 and -1.7.4-2.el6
Source70: account-server.conf
Source71: container-server.conf
Source72: object-server.conf
Source73: proxy-server.conf
Source74: swift.conf
Source75: object-expirer.conf
Patch20: 0001-Use-updated-parallel-install-versions-of-epel-packag.patch
Patch21: 0002-Add-fixes-for-building-the-doc-package.patch
Patch22: glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch
Patch23: glusterfs-3.4.0.swift.egginfo-grizzly.patch
Patch24: 0002-Add-fixes-for-building-the-doc-package.patch.180
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%global glusterd_service %{S:%{SOURCE10}} %global glusterd_service %{S:%{SOURCE10}}
%global glusterfsd_service %{S:%{SOURCE11}} %global glusterfsd_service %{S:%{SOURCE11}}
@ -160,10 +94,10 @@ Requires(postun): systemd-units
# can't seem to make a generic macro that works # can't seem to make a generic macro that works
%define _init_glusterd %{_unitdir}/glusterd.service %define _init_glusterd %{_unitdir}/glusterd.service
%define _init_glusterfsd %{_unitdir}/glusterfsd.service %define _init_glusterfsd %{_unitdir}/glusterfsd.service
%define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service %define _init_gluster_swift_account %{_unitdir}/gluster-swift-account.service
%define _init_gluster_swift_object %{_unitdir}/gluster-swift-object.service %define _init_gluster_swift_object %{_unitdir}/gluster-swift-object.service
%define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service %define _init_gluster_swift_container %{_unitdir}/gluster-swift-container.service
%define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service %define _init_gluster_swift_proxy %{_unitdir}/gluster-swift-proxy.service
%else %else
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%global glusterd_service %{S:%{SOURCE12}} %global glusterd_service %{S:%{SOURCE12}}
@ -181,10 +115,10 @@ Requires(postun): /sbin/service
# can't seem to make a generic macro that works # can't seem to make a generic macro that works
%define _init_glusterd %{_sysconfdir}/init.d/glusterd %define _init_glusterd %{_sysconfdir}/init.d/glusterd
%define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd %define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
%define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account %define _init_gluster_swift_account %{_sysconfdir}/init.d/gluster-swift-account
%define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object %define _init_gluster_swift_object %{_sysconfdir}/init.d/gluster-swift-object
%define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container %define _init_gluster_swift_container %{_sysconfdir}/init.d/gluster-swift-container
%define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy %define _init_gluster_swift_proxy %{_sysconfdir}/init.d/gluster-swift-proxy
%endif %endif
BuildRequires: bison flex BuildRequires: bison flex
@ -282,9 +216,6 @@ Group: Applications/File
BuildRequires: fuse-devel BuildRequires: fuse-devel
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%if ( ! 0%{?_without_fusermount} )
Requires: /usr/bin/fusermount
%endif
Obsoletes: %{name}-client < %{version}-%{release} Obsoletes: %{name}-client < %{version}-%{release}
Provides: %{name}-client = %{version}-%{release} Provides: %{name}-client = %{version}-%{release}
@ -323,53 +254,6 @@ is in user space and easily manageable.
This package provides the glusterfs server daemon. This package provides the glusterfs server daemon.
%package api
Summary: Clustered file-system api library
License: GPLv3+
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description api
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 glusterfs libgfapi library
%if ( 0%{!?_without_ocf:1} )
%package resource-agents
Summary: OCF Resource Agents for GlusterFS
License: GPLv3+
BuildArch: noarch
# this Group handling comes from the Fedora resource-agents package
%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} )
Group: System Environment/Base
%else
Group: Productivity/Clustering/HA
%endif
# for glusterd
Requires: glusterfs-server
# depending on the distribution, we need pacemaker or resource-agents
Requires: %{_prefix}/lib/ocf/resource.d
%description resource-agents
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 resource agents which plug glusterd into
Open Cluster Framework (OCF) compliant cluster resource managers,
like Pacemaker.
%endif
%package devel %package devel
Summary: Development Libraries Summary: Development Libraries
License: GPLv2 or LGPLv3+ License: GPLv2 or LGPLv3+
@ -385,27 +269,9 @@ terms of features and extensibility. It borrows a powerful concept
called Translators from GNU Hurd kernel. Much of the code in GlusterFS called Translators from GNU Hurd kernel. Much of the code in GlusterFS
is in user space and easily manageable. is in user space and easily manageable.
This package provides the development libraries and include files. This package provides the development libraries.
%package api-devel
Summary: Development Libraries
License: GPLv2 or LGPLv3+
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description api-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 api include files.
%if ( 0%{?_with_ufo:1} ) %if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
%package swift %package swift
Summary: GlusterFS OpenStack Object Storage Summary: GlusterFS OpenStack Object Storage
@ -413,6 +279,58 @@ Group: Applications/System
License: ASL 2.0 License: ASL 2.0
BuildArch: noarch BuildArch: noarch
%if ( 0%{_for_fedora_koji_builds} )
Source20: http://launchpad.net/swift/folsom/%{SWIFTVER}/+download/swift-%{SWIFTVER}.tar.gz
%else
Source20: swift-%{SWIFTVER}.tar.gz
%endif
Source30: gluster-swift-account.service
Source31: gluster-swift-container.service
Source32: gluster-swift-object.service
Source33: gluster-swift-proxy.service
Source34: gluster-swift-account@.service
Source35: gluster-swift-container@.service
Source36: gluster-swift-object@.service
Source37: gluster-swift.tmpfs
Source40: gluster-swift-account.init
Source41: gluster-swift-container.init
Source42: gluster-swift-object.init
Source43: gluster-swift-proxy.init
Source44: gluster-swift-functions
# these first appeared in openstack-swift-1.7.4-2.fc19
Source50: gluster-swift-account-replicator.service
Source51: gluster-swift-account-replicator@.service
Source52: gluster-swift-account-auditor.service
Source53: gluster-swift-account-auditor@.service
Source54: gluster-swift-account-reaper.service
Source55: gluster-swift-account-reaper@.service
Source56: gluster-swift-container-replicator.service
Source57: gluster-swift-container-replicator@.service
Source58: gluster-swift-container-auditor.service
Source59: gluster-swift-container-auditor@.service
Source60: gluster-swift-container-updater.service
Source61: gluster-swift-container-updater@.service
Source62: gluster-swift-object-replicator.service
Source63: gluster-swift-object-replicator@.service
Source64: gluster-swift-object-auditor.service
Source65: gluster-swift-object-auditor@.service
Source66: gluster-swift-object-updater.service
Source67: gluster-swift-object-updater@.service
Source68: gluster-swift-object-expirer.service
Source69: gluster-swift-object-expirer@.service
# these first appeared in openstack-swift-1.7.4-1.fc18 and -1.7.4-2.el6
Source70: account-server.conf
Source71: container-server.conf
Source72: object-server.conf
Source73: proxy-server.conf
Source74: swift.conf
Patch20: 0001-Use-updated-parallel-install-versions-of-epel-packag.patch
Patch21: 0002-Add-fixes-for-building-the-doc-package.patch
Patch22: glusterfs-3.3.1.swift.constraints.backport-1.7.4.patch
Patch23: glusterfs-3.4.0.swift.egginfo-grizzly.patch
Patch24: 0002-Add-fixes-for-building-the-doc-package.patch.180
#BuildRoot: %(mktemp -ud %{_tmppath}/swift-%{SWIFTVER}-%{release}-XXXXXX) #BuildRoot: %(mktemp -ud %{_tmppath}/swift-%{SWIFTVER}-%{release}-XXXXXX)
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
@ -427,6 +345,7 @@ BuildArch: noarch
%global glusterswiftproxy_service %{S:%{SOURCE43}} %global glusterswiftproxy_service %{S:%{SOURCE43}}
%endif %endif
BuildRequires: dos2unix
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-setuptools BuildRequires: python-setuptools
BuildRequires: python-netifaces BuildRequires: python-netifaces
@ -449,9 +368,6 @@ Requires: python-simplejson
Requires: pyxattr Requires: pyxattr
Requires: python-setuptools Requires: python-setuptools
Requires: python-netifaces Requires: python-netifaces
%if "%{SWIFTVER}" != "1.7.4"
Requires: python-swiftclient
%endif
Conflicts: openstack-swift Conflicts: openstack-swift
@ -547,30 +463,26 @@ in clusters for reliable, redundant, and large-scale storage of static objects.
This package contains documentation files for %{name}-swift. This package contains documentation files for %{name}-swift.
%endif
%package ufo %package ufo
Summary: GlusterFS Unified File and Object Storage. Summary: GlusterFS Unified File and Object Storage.
Group: Applications/System Group: Applications/System
License: ASL 2.0 License: ASL 2.0
BuildArch: noarch BuildArch: noarch
BuildRequires: python-setuptools
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
Requires: %{name}-swift = %{version}-%{release} Requires: %{name}-swift = %{version}-%{release}
%else
Requires: openstack-swift = %{SWIFTVER}
Requires: openstack-swift-account = %{SWIFTVER}
Requires: openstack-swift-container = %{SWIFTVER}
Requires: openstack-swift-object = %{SWIFTVER}
Requires: openstack-swift-proxy = %{SWIFTVER}
%endif
Requires: memcached Requires: memcached
Requires: openssl Requires: openssl
Requires: python-setuptools
Requires: python Requires: python
Obsoletes: glusterfs-swift-plugin < 3.3.1-4 Obsoletes: glusterfs-swift-plugin < 3.3.1-4
Obsoletes: glusterfs-swift-ufo <= 3.3.1-4 Obsoletes: glusterfs-swift-ufo <= 3.3.1-4
%if ( 0%{_for_fedora_koji_builds} )
Source15: http://download.gluster.org/pub/gluster/glusterfs/3.3/%{version}/UFO/gluster-swift-ufo-%{UFOVER}%{?prereltag}.tar.gz
%else
Source15: gluster-swift-ufo-@PACKAGE_VERSION@.tar.gz
%endif
Patch15: %{name}-3.3.1.ufo.gluster.swift.common.DiskFile-1.7.4.patch
Patch16: %{name}-3.3.1.ufo.gluster.multi-volume.backport-1.1.patch
%description ufo %description ufo
Gluster Unified File and Object Storage unifies NAS and object storage Gluster Unified File and Object Storage unifies NAS and object storage
technology. This provides a system for data storage that enables users to access technology. This provides a system for data storage that enables users to access
@ -581,22 +493,20 @@ storage costs.
%prep %prep
%setup -q -n %{name}-%{version}%{?prereltag} %setup -q -n %{name}-%{version}%{?prereltag}
%if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
# unpack swift-1.x.y
%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 20
%endif
# unpack gluster ufo
%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 15
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
#%patch0 -p0 #%patch0 -p0
%patch1 -p0 -F4 %patch1 -p0
%if ( "%{version}" == "3.3.1" ) %if ( "%{version}" == "3.3.1" )
%patch2 -p1 %patch2 -p1
%endif %endif
%endif %endif
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 ) %if ( 0%{?_with_ufo:1} )
# unpack swift-1.x.y
%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 20
# unpack gluster ufo
%setup -q -T -D -n %{name}-%{version}%{?prereltag} -a 15
cd swift-%{SWIFTVER} cd swift-%{SWIFTVER}
# apply Fedora openstack-swift patches to Swift as appropriate
%if ( 0%{?rhel} && 0%{?rhel} < 7 ) %if ( 0%{?rhel} && 0%{?rhel} < 7 )
%patch20 -p1 %patch20 -p1
%if "%{SWIFTVER}" == "1.7.4" %if "%{SWIFTVER}" == "1.7.4"
@ -605,23 +515,26 @@ cd swift-%{SWIFTVER}
%patch24 -p1 %patch24 -p1
%endif %endif
%endif %endif
# apply our own patches to Swift, as appropriate
%if "%{SWIFTVER}" == "1.7.4" %if "%{SWIFTVER}" == "1.7.4"
%patch22 -p1 %patch22 -p1
%else %else
%patch23 -p1 %patch23 -p1
%endif %endif
%endif # apply our fix for UFO 1.1 (tarball snapshot circa 7 Dec, 2012)
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%if ( "%{UFOVER}" == "1.1" ) %if ( "%{UFOVER}" == "1.1" )
cd ../ufo cd ../
%patch15 -p1 pwd
%patch15
%patch16 -p1
%endif %endif
%endif %endif
%endif %endif
%build %build
./autogen.sh ./autogen.sh
%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %configure %{?_without_rdma} %{?_without_epoll} %{?_with_fusermount} %{?_without_georeplication}
# Remove rpath # Remove rpath
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -630,7 +543,6 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%{__make} %{?_smp_mflags} %{__make} %{?_smp_mflags}
%if ( 0%{?_with_ufo:1} ) %if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
cd swift-%{SWIFTVER} cd swift-%{SWIFTVER}
%{__python} setup.py build %{__python} setup.py build
%{__mkdir_p} doc/build %{__mkdir_p} doc/build
@ -638,7 +550,6 @@ cd swift-%{SWIFTVER}
%{__python} setup.py build_sphinx %{__python} setup.py build_sphinx
%endif %endif
cd .. cd ..
%endif
cd ufo cd ufo
%{__python} setup.py build %{__python} setup.py build
cd .. cd ..
@ -688,11 +599,6 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
# Remove installed docs, we include them ourselves as %%doc # Remove installed docs, we include them ourselves as %%doc
%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ %{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
# Remove benchmarking and other unpackaged files
%{__rm} -rf %{buildroot}/benchmarking
%{__rm} -f %{buildroot}/glusterfs-mode.el
%{__rm} -f %{buildroot}/glusterfs.vim
# Create working directory # Create working directory
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd
@ -766,7 +672,6 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol
touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%if ( 0%{?_with_ufo:1} ) %if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
cd swift-%{SWIFTVER} cd swift-%{SWIFTVER}
%{__python} setup.py install -O1 --skip-build --root %{buildroot} %{__python} setup.py install -O1 --skip-build --root %{buildroot}
# common swift .service or .init files # common swift .service or .init files
@ -825,7 +730,6 @@ cd swift-%{SWIFTVER}
#install -p -D -m 660 %{SOURCE72} %{buildroot}%{_sysconfdir}/swift/object-server.conf #install -p -D -m 660 %{SOURCE72} %{buildroot}%{_sysconfdir}/swift/object-server.conf
#install -p -D -m 660 %{SOURCE73} %{buildroot}%{_sysconfdir}/swift/proxy-server.conf #install -p -D -m 660 %{SOURCE73} %{buildroot}%{_sysconfdir}/swift/proxy-server.conf
#install -p -D -m 660 %{SOURCE74} %{buildroot}%{_sysconfdir}/swift/swift.conf #install -p -D -m 660 %{SOURCE74} %{buildroot}%{_sysconfdir}/swift/swift.conf
#install -p -D -m 660 %{SOURCE75} %{buildroot}%{_sysconfdir}/swift/object-expirer.conf
#%endif #%endif
# Install pid directory # Install pid directory
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift %{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift
@ -838,8 +742,6 @@ cd swift-%{SWIFTVER}
%{__mkdir_p} %{buildroot}%{_sysconfdir}/tmpfiles.d %{__mkdir_p} %{buildroot}%{_sysconfdir}/tmpfiles.d
install -p -m 0644 %{SOURCE37} %{buildroot}%{_sysconfdir}/tmpfiles.d/gluster-swift.conf install -p -m 0644 %{SOURCE37} %{buildroot}%{_sysconfdir}/tmpfiles.d/gluster-swift.conf
%endif %endif
# Install recon directory
install -d -m 755 %{buildroot}%{_localstatedir}/cache/swift
# man pages # man pages
install -d -m 755 %{buildroot}%{_mandir}/man5 install -d -m 755 %{buildroot}%{_mandir}/man5
for m in doc/manpages/*.5; do for m in doc/manpages/*.5; do
@ -850,7 +752,6 @@ for m in doc/manpages/*.1; do
install -p -m 0644 $m %{buildroot}%{_mandir}/man1 install -p -m 0644 $m %{buildroot}%{_mandir}/man1
done done
cd .. cd ..
%endif
cd ufo cd ufo
%{__python} setup.py install -O1 --skip-build --root %{buildroot} %{__python} setup.py install -O1 --skip-build --root %{buildroot}
cd .. cd ..
@ -875,7 +776,6 @@ cp ufo/bin/gluster-swift-gen-builders %{buildroot}%{_bindir}/
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
%config(noreplace) %{_sysconfdir}/logrotate.d/* %config(noreplace) %{_sysconfdir}/logrotate.d/*
%config(noreplace) %{_sysconfdir}/sysconfig/* %config(noreplace) %{_sysconfdir}/sysconfig/*
%exclude %{_libdir}/libgfapi.*
%{_libdir}/glusterfs %{_libdir}/glusterfs
%{_libdir}/*.so.* %{_libdir}/*.so.*
%{_sbindir}/glusterfs* %{_sbindir}/glusterfs*
@ -926,13 +826,12 @@ fi
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
/sbin/umount.glusterfs /sbin/umount.glusterfs
%endif %endif
%if ( 0%{?_without_fusermount:1} ) %if ( 0%{?_with_fusermount:1} )
%{_bindir}/fusermount-glusterfs %{_bindir}/fusermount-glusterfs
%endif %endif
%files server %files server
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc extras/clear_xattrs.sh
%if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{_for_fedora_koji_builds} )
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
%endif %endif
@ -993,43 +892,32 @@ fi
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%files api
%exclude %{_libdir}/*.so
%{_libdir}/libgfapi.*
%if ( 0%{!?_without_ocf:1} )
%files resource-agents
%defattr(-,root,root)
# /usr/lib is the standard for OCF, also on x86_64
%{_prefix}/lib/ocf/resource.d/glusterfs
%endif
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_includedir}/glusterfs %{_includedir}/glusterfs
%exclude %{_includedir}/glusterfs/y.tab.h %exclude %{_includedir}/glusterfs/y.tab.h
%exclude %{_includedir}/glusterfs/api
%exclude %{_libdir}/libgfapi.so
%{_libdir}/*.so %{_libdir}/*.so
%files api-devel
%{_libdir}/pkgconfig/glusterfs-api.pc
%{_libdir}/libgfapi.so
%{_includedir}/glusterfs/api/*
%if ( 0%{?_with_ufo:1} ) %if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
%files swift %files swift
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc swift-%{SWIFTVER}/AUTHORS %doc swift-%{SWIFTVER}/AUTHORS
%doc swift-%{SWIFTVER}/LICENSE %doc swift-%{SWIFTVER}/LICENSE
%doc swift-%{SWIFTVER}/README* %doc swift-%{SWIFTVER}/README
%doc swift-%{SWIFTVER}/etc/dispersion.conf-sample %doc swift-%{SWIFTVER}/etc/dispersion.conf-sample
%doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample %doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample
%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample %doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample
%doc swift-%{SWIFTVER}/etc/swift.conf-sample %doc swift-%{SWIFTVER}/etc/swift.conf-sample
%{_mandir}/man5/dispersion.conf.5* %{_mandir}/man5/dispersion.conf.5*
%{_mandir}/man1/swift*.1* %{_mandir}/man1/swift-dispersion-populate.1*
%{_mandir}/man1/swift-dispersion-report.1*
%{_mandir}/man1/swift.1*
%{_mandir}/man1/swift-get-nodes.1*
%{_mandir}/man1/swift-init.1*
%{_mandir}/man1/swift-orphans.1*
%{_mandir}/man1/swift-recon.1*
%{_mandir}/man1/swift-ring-builder.1*
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%config(noreplace) %{_sysconfdir}/tmpfiles.d/gluster-swift.conf %config(noreplace) %{_sysconfdir}/tmpfiles.d/gluster-swift.conf
%else %else
@ -1043,7 +931,6 @@ fi
%dir %{python_sitelib}/swift %dir %{python_sitelib}/swift
%{_bindir}/swift-account-audit %{_bindir}/swift-account-audit
%{_bindir}/swift-bench %{_bindir}/swift-bench
%{_bindir}/swift-bench-client
%{_bindir}/swift-drive-audit %{_bindir}/swift-drive-audit
%{_bindir}/swift-get-nodes %{_bindir}/swift-get-nodes
%{_bindir}/swift-init %{_bindir}/swift-init
@ -1070,10 +957,7 @@ fi
%{_mandir}/man1/swift-account-server.1* %{_mandir}/man1/swift-account-server.1*
%_init_gluster_swift_account %_init_gluster_swift_account
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%{_unitdir}/gluster-swift-account@.service %{_unitdir}/gluster-swift-account*.service
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%{_unitdir}/gluster-swift-account-*.service
%endif
%endif %endif
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/account-server %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/account-server
%dir %{_sysconfdir}/swift/account-server %dir %{_sysconfdir}/swift/account-server
@ -1094,13 +978,9 @@ fi
%{_mandir}/man1/swift-container-updater.1* %{_mandir}/man1/swift-container-updater.1*
%_init_gluster_swift_container %_init_gluster_swift_container
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%{_unitdir}/gluster-swift-container@.service %{_unitdir}/gluster-swift-container*.service
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%{_unitdir}/gluster-swift-container-*.service
%endif
%endif %endif
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/container-server %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/container-server
%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift
%dir %{_sysconfdir}/swift/container-server %dir %{_sysconfdir}/swift/container-server
%{_bindir}/swift-container-auditor %{_bindir}/swift-container-auditor
%{_bindir}/swift-container-server %{_bindir}/swift-container-server
@ -1114,21 +994,18 @@ fi
%doc swift-%{SWIFTVER}/etc/object-server.conf-sample %doc swift-%{SWIFTVER}/etc/object-server.conf-sample
%doc swift-%{SWIFTVER}/etc/rsyncd.conf-sample %doc swift-%{SWIFTVER}/etc/rsyncd.conf-sample
%{_mandir}/man5/object-server.conf.5* %{_mandir}/man5/object-server.conf.5*
%{_mandir}/man5/object-expirer.conf.5*
%{_mandir}/man1/swift-object-auditor.1* %{_mandir}/man1/swift-object-auditor.1*
%{_mandir}/man1/swift-object-expirer.1*
%{_mandir}/man1/swift-object-info.1* %{_mandir}/man1/swift-object-info.1*
%{_mandir}/man1/swift-object-replicator.1* %{_mandir}/man1/swift-object-replicator.1*
%{_mandir}/man1/swift-object-server.1* %{_mandir}/man1/swift-object-server.1*
%{_mandir}/man1/swift-object-updater.1* %{_mandir}/man1/swift-object-updater.1*
%_init_gluster_swift_object %_init_gluster_swift_object
%if ( 0%{?_with_systemd:1} ) %if ( 0%{?_with_systemd:1} )
%{_unitdir}/gluster-swift-object@.service %{_unitdir}/gluster-swift-object*.service
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%{_unitdir}/gluster-swift-object-*.service
%exclude %{_unitdir}/gluster-swift-object-expirer*.service
%endif
%endif %endif
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/object-server %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/object-server
%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift
%dir %{_sysconfdir}/swift/object-server %dir %{_sysconfdir}/swift/object-server
%{_bindir}/swift-object-auditor %{_bindir}/swift-object-auditor
%{_bindir}/swift-object-info %{_bindir}/swift-object-info
@ -1140,19 +1017,11 @@ fi
%files swift-proxy %files swift-proxy
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc swift-%{SWIFTVER}/etc/proxy-server.conf-sample %doc swift-%{SWIFTVER}/etc/proxy-server.conf-sample
%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample
%{_mandir}/man5/object-expirer.conf.5*
%{_mandir}/man5/proxy-server.conf.5* %{_mandir}/man5/proxy-server.conf.5*
%{_mandir}/man1/swift-object-expirer.1*
%{_mandir}/man1/swift-proxy-server.1* %{_mandir}/man1/swift-proxy-server.1*
%_init_gluster_swift_proxy %_init_gluster_swift_proxy
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%{_unitdir}/gluster-swift-object-expirer*.service
%endif
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/proxy-server %dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/proxy-server
%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift
%dir %{_sysconfdir}/swift/proxy-server %dir %{_sysconfdir}/swift/proxy-server
%{_bindir}/swift-object-expirer
%{_bindir}/swift-proxy-server %{_bindir}/swift-proxy-server
%{python_sitelib}/swift/proxy %{python_sitelib}/swift/proxy
@ -1160,8 +1029,6 @@ fi
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc swift-%{SWIFTVER}/LICENSE %doc swift-%{SWIFTVER}/LICENSE
%endif
%files ufo %files ufo
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{python_sitelib}/gluster %{python_sitelib}/gluster
@ -1237,7 +1104,6 @@ fi
%if ( 0%{?_with_ufo:1} ) %if ( 0%{?_with_ufo:1} )
%if ( 0%{?fedora} && 0%{?fedora} < 19 ) || ( 0%{?rhel} && 0%{?rhel} < 6 )
%pre swift %pre swift
getent group swift >/dev/null || groupadd -r swift -g 160 getent group swift >/dev/null || groupadd -r swift -g 160
getent passwd swift >/dev/null || \ getent passwd swift >/dev/null || \
@ -1255,36 +1121,18 @@ fi
%post swift-account %post swift-account
%_init_enable gluster-swift-account %_init_enable gluster-swift-account
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_enable gluster-swift-account-replicator
%_init_enable gluster-swift-account-auditor
%_init_enable gluster-swift-account-reaper
%endif
%preun swift-account %preun swift-account
if [ $1 = 0 ] ; then if [ $1 = 0 ] ; then
%_init_stop gluster-swift-account %_init_stop gluster-swift-account
%_init_disable gluster-swift-account %_init_disable gluster-swift-account
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_stop gluster-swift-account-replicator
%_init_disable gluster-swift-account-replicator
%_init_stop gluster-swift-account-auditor
%_init_disable gluster-swift-account-auditor
%_init_stop gluster-swift-account-reaper
%_init_disable gluster-swift-account-reaper
%endif
fi fi
%postun swift-account %postun swift-account
if [ $1 -ge 1 ] ; then if [ "$1" -ge "1" ] ; then
%_init_restart gluster-swift-account %_init_restart gluster-swift-account
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_restart gluster-swift-account-replicator
%_init_restart gluster-swift-account-auditor
%_init_restart gluster-swift-account-reaper
%endif
fi fi
@ -1298,36 +1146,18 @@ fi
%post swift-container %post swift-container
%_init_enable gluster-swift-container %_init_enable gluster-swift-container
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_enable gluster-swift-container-replicator
%_init_enable gluster-swift-container-auditor
%_init_enable gluster-swift-container-updater
%endif
%preun swift-container %preun swift-container
if [ $1 = 0 ] ; then if [ $1 = 0 ] ; then
%_init_stop gluster-swift-container %_init_stop gluster-swift-container
%_init_disable gluster-swift-container %_init_disable gluster-swift-container
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_stop gluster-swift-container-replicator
%_init_disable gluster-swift-container-replicator
%_init_stop gluster-swift-container-auditor
%_init_disable gluster-swift-container-auditor
%_init_stop gluster-swift-container-updater
%_init_disable gluster-swift-container-updater
%endif
fi fi
%postun swift-container %postun swift-container
if [ $1 -ge 1 ] ; then if [ "$1" -ge "1" ] ; then
%_init_restart gluster-swift-container %_init_restart gluster-swift-container
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_restart gluster-swift-container-replicator
%_init_restart gluster-swift-container-auditor
%_init_restart gluster-swift-container-updator
%endif
fi fi
@ -1341,36 +1171,18 @@ fi
%post swift-object %post swift-object
%_init_enable gluster-swift-object %_init_enable gluster-swift-object
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_enable gluster-swift-object-replicator
%_init_enable gluster-swift-object-auditor
%_init_enable gluster-swift-object-updater
%endif
%preun swift-object %preun swift-object
if [ $1 = 0 ] ; then if [ $1 = 0 ] ; then
%_init_stop gluster-swift-object %_init_stop gluster-swift-object
%_init_disable gluster-swift-object %_init_disable gluster-swift-object
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_stop gluster-swift-object-replicator
%_init_disable gluster-swift-object-replicator
%_init_stop gluster-swift-object-auditor
%_init_disable gluster-swift-object-auditor
%_init_stop gluster-swift-object-updater
%_init_disable gluster-swift-object-updater
%endif
fi fi
%postun swift-object %postun swift-object
if [ $1 -ge 1 ] ; then if [ "$1" -ge "1" ] ; then
%_init_restart gluster-swift-object %_init_restart gluster-swift-object
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_restart gluster-swift-object-replicator
%_init_restart gluster-swift-object-auditor
%_init_restart gluster-swift-object-updater
%endif
fi fi
@ -1380,43 +1192,30 @@ if [ -f /etc/swift/proxy-server.conf ]; then
echo "warning: /etc/swift/proxy-server.conf saved as /etc/swift/proxy-server.conf.rpmsave" echo "warning: /etc/swift/proxy-server.conf saved as /etc/swift/proxy-server.conf.rpmsave"
cp /etc/swift/proxy-server.conf /etc/swift/proxy-server.conf.rpmsave cp /etc/swift/proxy-server.conf /etc/swift/proxy-server.conf.rpmsave
fi fi
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
if [ -f /etc/swift/object-expirer.conf ]; then
echo "warning: /etc/swift/object-expirer.conf saved as /etc/swift/object-expirer.conf.rpmsave"
cp /etc/swift/object-expirer.conf /etc/swift/object-expirer.conf.rpmsave
fi
%endif
%post swift-proxy %post swift-proxy
%_init_enable gluster-swift-proxy %_init_enable gluster-swift-proxy
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_enable gluster-swift-object-expirer
%endif
%preun swift-proxy %preun swift-proxy
if [ $1 = 0 ] ; then if [ $1 = 0 ] ; then
%_init_stop gluster-swift-proxy %_init_stop gluster-swift-proxy
%_init_disable gluster-swift-proxy %_init_disable gluster-swift-proxy
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_stop gluster-swift-object-expirer
%_init_disable gluster-swift-object-expirer
%endif
fi fi
%postun swift-proxy %postun swift-proxy
if [ $1 -ge 1 ] ; then if [ "$1" -ge "1" ] ; then
%_init_restart gluster-swift-proxy %_init_restart gluster-swift-proxy
%if ( 0%{?fedora} && 0%{?fedora} > 18 )
%_init_restart gluster-swift-object-expirer
%endif
fi fi
%endif %endif
%endif
%changelog %changelog
* Mon May 13 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.1-15
- hardened build, i.e. PIE. RHBZ 955283
* Thu May 9 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.0-0.4.beta1 * Thu May 9 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.0-0.4.beta1
- prerelease 3.4.0beta1 for oVirt/vdsm dependencies in Fedora19 - prerelease 3.4.0beta1 for oVirt/vdsm dependencies in Fedora19
@ -1441,7 +1240,7 @@ fi
- prerelease 3.4.0alpha3 for oVirt/vdsm dependencies in Fedora19 - prerelease 3.4.0alpha3 for oVirt/vdsm dependencies in Fedora19
* Wed Apr 17 2013 Niels de Vos <devos@fedoraproject.org> - 3.3.1-13 * Wed Apr 17 2013 Niels de Vos <devos@fedoraproject.org> - 3.3.1-13
- remove unused requires for xlator .so files and private libraries (RHBZ#95212 - remove unused requires for xlator .so files and private libraries (RHBZ#952122)
* Mon Apr 15 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.1-12 * Mon Apr 15 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.1-12
- add glusterfs-3.3.1.rpc.rpcxprt.rdma.name.c.patch, BZ 920332 - add glusterfs-3.3.1.rpc.rpcxprt.rdma.name.c.patch, BZ 920332
@ -1450,6 +1249,7 @@ fi
* Mon Apr 15 2013 Niels de Vos <devos@fedoraproject.org> * Mon Apr 15 2013 Niels de Vos <devos@fedoraproject.org>
- Remove useless provides for xlator .so files and private libraries - Remove useless provides for xlator .so files and private libraries
(3.4.x)
* Wed Apr 10 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.0-0.1alpha2 * Wed Apr 10 2013 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.4.0-0.1alpha2
- prerelease 3.4.0alpha2 for oVirt/vdsm dependencies in Fedora19 - prerelease 3.4.0alpha2 for oVirt/vdsm dependencies in Fedora19

View File

@ -1,3 +1,3 @@
e890e25b1cdec3171885ea0185fadefc glusterfs-3.4.0beta1.tar.gz 4c9f291de887b1193d5d1acac4003360 glusterfs-3.3.1.tar.gz
0d2479c3cbb124fa3a6b001d0d4d5a8b swift-1.8.0.tar.gz 1cfb85335eafc4317414736477d47dfc swift-1.7.4.tar.gz
63d2b212c73e04b3c308fa5f37312a3a gluster-swift-ufo-1.2beta1.tar.gz c1041b0551be722363f18f3a5664d0cf gluster-swift-ufo-1.1.tar.gz