sys-cluster/swift: 2.4.0 bup (first liberty release)
authorMatthew Thode <mthode@mthode.org>
Tue, 8 Sep 2015 14:43:11 +0000 (09:43 -0500)
committerMatthew Thode <mthode@mthode.org>
Tue, 8 Sep 2015 14:55:27 +0000 (09:55 -0500)
Package-Manager: portage-2.2.20.1

sys-cluster/swift/Manifest
sys-cluster/swift/swift-2.4.0.ebuild [new file with mode: 0644]

index 52acb519068d2194de436918c0fda2f4e32c2514..5f51ec96f1447995c0191c5146fef9eb842233bf 100644 (file)
@@ -1 +1,2 @@
 DIST swift-2.3.0.tar.gz 1346492 SHA256 7225061f92597e7eaf6196c9336c5e590c7626b7e84126c51e8ca5bf5b7bdae1 SHA512 cf8e1e640f1f679516ce1af772c93f860d7d1f1b6712fa9b89dda1688a4b02cd3fdadc443f4911be5927544f0cffe365ff4174ef6e44d118cb56c7b05cd630b9 WHIRLPOOL aade05a7b8f23e680aa932150e8edbc2e9b6bb83528ffa62becdf4d29c8597b20e873017c3c6a95e66448c13c60531abee6ed0bd9b524b6319642c0436ad5e4c
+DIST swift-2.4.0.tar.gz 1418193 SHA256 082b436e58684b5cf7682a175e56c3d7dbd24d72c0251ddf3074a8596e4abd40 SHA512 f4ac4f0f866106d2c2bb8f38c0c3810efebf47738c000488041722250745e4d3f4d4a4c710388021c1cc44b6b372a5f6fd03fe9670e005345669bf6199e6e311 WHIRLPOOL e3293d304a8a52146efa04d7fadd0ab11fed5d62127e1757b8701452719fa2839dbfe7a452e0677071c78eb32b832a732c978f6229b8c927c76632df4df44990
diff --git a/sys-cluster/swift/swift-2.4.0.ebuild b/sys-cluster/swift/swift-2.4.0.ebuild
new file mode 100644 (file)
index 0000000..e8772d4
--- /dev/null
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+SRC_URI="https://launchpad.net/${PN}/liberty/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="proxy account container object test +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+       <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+       test? (
+               ${RDEPEND}
+               dev-python/coverage[${PYTHON_USEDEP}]
+               dev-python/nose[${PYTHON_USEDEP}]
+               dev-python/nosexcover[${PYTHON_USEDEP}]
+               dev-python/nosehtmloutput[${PYTHON_USEDEP}]
+               dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+               >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+               <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+               >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+               dev-python/python-swiftclient[${PYTHON_USEDEP}]
+               >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+               >=dev-python/bandit-0.10.1[${PYTHON_USEDEP}]
+       )"
+
+RDEPEND="
+       >=dev-python/dnspython-1.9.4[${PYTHON_USEDEP}]
+       >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+       !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+       >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+       >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+       !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+       !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+       >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+       >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+       >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+       dev-python/pyxattr[${PYTHON_USEDEP}]
+       ~dev-python/PyECLib-1.0.7[${PYTHON_USEDEP}]
+       memcached? ( net-misc/memcached )
+       net-misc/rsync[xattr]"
+
+CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+~ZFS"
+
+PATCHES=(
+)
+
+pkg_setup() {
+       enewuser swift
+       enewgroup swift
+}
+
+src_prepare() {
+       sed -i 's/xattr/pyxattr/g' swift.egg-info/requires.txt || die
+       sed -i 's/xattr/pyxattr/g' requirements.txt || die
+       sed -i '/^hacking/d' test-requirements.txt || die
+       distutils-r1_python_prepare_all
+}
+
+src_test () {
+       # https://bugs.launchpad.net/swift/+bug/1249727
+       find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+       SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install() {
+       distutils-r1_python_install
+       keepdir /etc/swift
+       insinto /etc/swift
+
+       newins "etc/swift.conf-sample" "swift.conf"
+       newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+       newins "etc/mime.types-sample" "mime.types-sample"
+       newins "etc/memcache.conf-sample" "memcache.conf-sample"
+       newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+       newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+       if use proxy; then
+               newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+               newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+               if use memcached; then
+                       sed -i '/depend/a\
+    need memcached' "${D}/etc/init.d/swift-proxy"
+               fi
+       fi
+       if use account; then
+               newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+               newins "etc/account-server.conf-sample" "account-server.conf"
+       fi
+       if use container; then
+               newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+               newins "etc/container-server.conf-sample" "container-server.conf"
+       fi
+       if use object; then
+               newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+               newins "etc/object-server.conf-sample" "object-server.conf"
+               newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+       fi
+
+       fowners swift:swift "/etc/swift" || die "fowners failed"
+}
+
+pkg_postinst() {
+       elog "Openstack swift will default to using insecure http unless a"
+       elog "certificate is created in /etc/swift/cert.crt and the associated key"
+       elog "in /etc/swift/cert.key.  These can be created with the following:"
+       elog "  * cd /etc/swift"
+       elog "  * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}