kilo release
authorMatt Thode <prometheanfire@gentoo.org>
Thu, 30 Apr 2015 20:52:07 +0000 (20:52 +0000)
committerMatt Thode <prometheanfire@gentoo.org>
Thu, 30 Apr 2015 20:52:07 +0000 (20:52 +0000)
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0x33ED3FD25AFC78BA

sys-cluster/neutron/ChangeLog
sys-cluster/neutron/Manifest
sys-cluster/neutron/neutron-2015.1.0.ebuild [new file with mode: 0644]
sys-cluster/neutron/neutron-2015.1.9999.ebuild [new file with mode: 0644]

index 48bde44eb44f19f17ae74ed123df3fa220e05b7f..42d658660645b87ac3091beb15f2b9d7fefae60e 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-cluster/neutron
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.56 2015/04/13 03:27:20 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.57 2015/04/30 20:52:02 prometheanfire Exp $
+
+*neutron-2015.1.9999 (30 Apr 2015)
+*neutron-2015.1.0 (30 Apr 2015)
+
+  30 Apr 2015; Matthew Thode <prometheanfire@gentoo.org>
+  +neutron-2015.1.0.ebuild, +neutron-2015.1.9999.ebuild:
+  kilo release
 
 *neutron-2014.2.3 (13 Apr 2015)
 
index 78d25584df487114fb7aade600541ae12d30d393..79e88a645b4f717dd50896130870da023361e112 100644 (file)
@@ -16,22 +16,24 @@ AUX neutron.sudoersd 117 SHA256 b40ea04a95deedbb66fe504df61b55905cbd746e5ba26321
 DIST neutron-2014.2.3.tar.gz 2077226 SHA256 1af8df2a2ef4294e76546325a16ccb8ede001eee0392b877b80cfd04a48862dc SHA512 51eb9e6319a5368b77ef187210d0bcb76fe587e41f4a55bbb677ba940eda084fd93b186de95813b38fcf0d101f10b62b4d558bb342ef42850a417bb611d04295 WHIRLPOOL c536a6937bd4b88e9a6ba84d52fdddcd481791d34982878eab51d95ac0bd78aa79f37751283ebc3613db91bb3b648b3190b93ad697281bc33baf88f365a6df9f
 EBUILD neutron-2014.2.3.ebuild 7522 SHA256 597ba6828e67bcb479d1b1ebb6c3284a605caa80da0a58f30d0bc5b78295fedf SHA512 36363f11aba6a9099962752a66d69b42c65bbef7bc6805833ce84210889d2b775825c626b4b573a5554f86a54b15ad7c8336aadec8e6b54fc3448d512cb19421 WHIRLPOOL 777e3923cff07cc923c934f19a11d61fc3fa245406dfe7056e74b0e30440fd6b3ddd28015c3f739112b4e31e49b7351b829033a0d2c40551bceeb9e7c921b3b1
 EBUILD neutron-2014.2.9999.ebuild 7534 SHA256 a6bbe0d0c069645b7c31fd8e9913314e51f30ef4d9d344ca8d2f454fbb9a7272 SHA512 630c812b041f66052c6de41f682a42d67746d218e81ddde1d9b0f2b9dc1824d4bb80a7b4f7c011d39b15e2f3f468ebacdbf03c50d3b4bca1140e881b0b2b61b1 WHIRLPOOL 28d17074d7b3e0173827884a0b56fca04c1b53c410bbbf366cb9e69f03149d036d02933841d35ad289a55d9a66220ba24af8a60ca3e1f4f81a9a0148e1300802
-MISC ChangeLog 16156 SHA256 51a213c921c2c42d87fea1560f202e6b893447939cf946824753f1a5385293ba SHA512 1d10e2af8c833dbe258f7d13b91af91d5448f79ebf23cda02159e2805891db998559a4fbedb949618facdd103d19128f876df8a30510b283273f53499e01e46a WHIRLPOOL 352adb3de415ac1f6b017bfdd6e3934c9c07434b3e0c97fe426dc0f5d28e2bac8ae226faf2a21890bb0686b78359a56dd81c83d96c0211a9074be7b9127398d2
+EBUILD neutron-2015.1.0.ebuild 8692 SHA256 02f022b5a20b6b883def15ebb93014d8011326fcd761893fe7d15e08026bbce1 SHA512 d338c2c13de58141d889f3069d1ee058a79b5aaa63cad2212e799af93b6b009e06ce109cba4898832a5d86b0280ccbb01cb4617099482cf7a0274576e8761e26 WHIRLPOOL 00869d129dad64de40cf97d4a5186f76dfdfc6e102274c42be34b4391acdf2416d8b2dde9da5ac17e2f26396e71d3541777b32066ad82444c9a4e81ef59608c9
+EBUILD neutron-2015.1.9999.ebuild 8690 SHA256 1fe9f554ddff32bd56cfba894b062583e0a4c7a74e9b1cbaf60c79bd15e4d47a SHA512 634df4fa0807dfa4557c008187222a6f5cb1c8b42b1ed0abdba320fe76b13b5e420d27adf6b21005785cf4d4827cc919fee69cd6ca0acbd0147a9581734ed6c2 WHIRLPOOL b55b036df15d5218d382fe4e5d68cad1f751ef1c2732932fdcc9613ab1003452d72682955f1fb6f7329fd653612bb8895dd61597084156776122fc7f985f289e
+MISC ChangeLog 16354 SHA256 035870414ca840f8b2340e2520be3584542f775bac07a96ae09bfdb51dbbe7b5 SHA512 ad3f3d3de5ff30deea086115beb49a2ddf40c367e1f4274f5aad3e21e93235e76027ad223cef674d832459940838d3eee313aab5b50670689a46a93ca5c3a4e8 WHIRLPOOL 8f8e512d7edf9e8694f2b6e0fd400640e7a0f27799cf35dd2c304ca2887725ae547dfb5452aaf6e844e61dbc7d32b310b57e55a9fc121834cbfc5a1165e8f5ca
 MISC metadata.xml 1296 SHA256 7d6de6c9dc0602e7ea1147c40e8798aa61e01a891eade2b291628850d52889ab SHA512 e49d4872a6fefdb93f20665cf1a176744a1eaa3c068617dbb41e2591d084776d55334997c8046d725e84f5a7280481392f3fccf42f6cb02bbf1751d43076c49d WHIRLPOOL 0b3e08407b951bffdaa54e646d35c000e5b1df43381132386b77056e26773d6344ec7ace4b7a87ae14f29090fcdd490f05730ece3597b8e7a2d4389dfe816312
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJVKzeiAAoJEGSje+quGaToydUP/0xvEtSnGHDEAaXDVggV2wY9
-UozvC25CkTuC0NUhFVXes6Hv1bFjQthQyDwB62n7X4h6OmDSNxl8PJ88a3UYMXKw
-p1f5wVwJYwn2b7hSQ9+vCZXG5RzvEU+vWGEY0HeG/gWRlmJJaR/44c2hwpfXTw8Z
-zvKuo0btSBWRq+GqrNTcLdjl8Dg/ClTV3AMMO+g4HwQiiOqTKd35RfRJFJxD0qOT
-g0GR7Sa0Au32LOIRqePTF0mi3I/W8k6dWjy7mZwqGUC2dKdtigPWoCjFnwGmSobU
-Tn9vFLxOVlxt7RSxcDBnUDRaBpfYA37r7jgESS1j1u+PMumjwyhOha06Q0fq14a3
-onXcvh9zWPBMohJOQG6yhENvWYnqnbzKNwwvqQAlzWgHJJSkRooq/L7ueRPyOFJu
-2a26AC+bjvL1ZT8rWhfkt6EsFpMPAp2u4q31ukVGwxbGEiuJiimu4/XUhtjLiM33
-DVDg2SqVw3hNE2Qp8TtPMMnlIHPst1dQ2GpNgNydjH+Tv0MxvR/4iUcjbvguQi7i
-EJBwkUnglmvpdk2k0A2l+zqT5+fRh1payWxo0bmC2SQ/PQWWywnfDoheaiS8w3jk
-7T8VgWx75IrtQClyL7f6XoV4FAlNcV3g/8j3dCKWsXkyH2+Y7q/psCcAjC2euURF
-G7kZjI/0I1shz0A8euLB
-=OMFM
+iQIcBAEBCAAGBQJVQpYJAAoJEGSje+quGaToxJ8P/jaKqQATXN2rnDBv2z20K6Zc
+LL3Sh62p94sBsYOix+bB97zvYEWLk0SrpU3+bPwoT44SmlF03VtA5tME843TzKa6
+ERrWO8htWbcHL4jfitHPvMCSZ4vseSGxvaGNEvrfbmb5wVwSHl9JG88owoQInOdD
+dvqafvvMMsTu/lg7UTM6BWhA7u5LaGFdreM80IPnc6biMAxSp1i81bGHty2vHcW9
+q4jLJYXflklitpHMSO6WKKbEETh2WS+md44/k698OvWwO/3dKsuVlRq0PhIGqLxj
+BuZURFv95/0spw/J2iscxhJA4bmOANh0QdMjoEOqs8YLDQfq9Wr+E2vqs3A1Ao7H
+xh+CAf96RZF6Lowh1K3BAL7Wuw0YCcu593yM3ej0Moh5qdGGwFykRfBV0BK+oGWc
+oqE8BXBoTQH7lVsxD7MGWicHdlZCtA2bDoTCB0HD1FGEZg7n1fqBzxNRqutnu8TT
++Dq4BAuFdueDWDqVmwfCL/oOPlyv/Cgr/j6W5VYbgOiUHI6aiFrmnthT0VIPtau7
+s8Vyv5vm/VeAFqub211yKtAR699Mqv2F7uf5C56U5hg6KA9b/ip3LdhehmVo9fl0
+ws6sjxdidqfxwnlYeYXhfVeXYEDcl3Gi36EaYEnPdUanz0eCoDC0tYoniARwDolw
+UXCeSfnGQ0rr+nLWdZoe
+=WCJs
 -----END PGP SIGNATURE-----
diff --git a/sys-cluster/neutron/neutron-2015.1.0.ebuild b/sys-cluster/neutron/neutron-2015.1.0.ebuild
new file mode 100644 (file)
index 0000000..bf3c926
--- /dev/null
@@ -0,0 +1,233 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2015.1.0.ebuild,v 1.1 2015/04/30 20:52:02 prometheanfire Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+EGIT_BRANCH="stable/kilo"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+       <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+       app-admin/sudo
+       test? (
+               ${RDEPEND}
+               >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+               <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+               >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+               <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
+               >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+               >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+               >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+               >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+               >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+               >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+               !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+               <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+               >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+               <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+               >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+               >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+               !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+               >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+               >=dev-python/webtest-2.0[${PYTHON_USEDEP}]
+               >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+               <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+               >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+       )"
+
+RDEPEND="
+       dev-python/paste[${PYTHON_USEDEP}]
+       >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+       >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+       !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+       >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+       !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+       >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+       >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+       >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+       !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+       dev-python/jsonrpclib[${PYTHON_USEDEP}]
+       >=dev-python/jinja-2.6[${PYTHON_USEDEP}]
+       >=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
+       <dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
+       >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+       >=dev-python/python-neutronclient-2.3.11[${PYTHON_USEDEP}]
+       <dev-python/python-neutronclient-3.5.0[${PYTHON_USEDEP}]
+       >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+       !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+       sqlite? (
+               >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+       )
+       mysql? (
+               dev-python/mysql-python
+               >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+       )
+       postgres? (
+               dev-python/psycopg:2
+               >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+       )
+       >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+       >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+       <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+       >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+       >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+       <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+       <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-rootwrap-1.6.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-rootwrap-1.7.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+       >=dev-python/python-novaclient-2.22.0[${PYTHON_USEDEP}]
+       <dev-python/python-novaclient-2.24.0[${PYTHON_USEDEP}]
+       dev-python/pyudev[${PYTHON_USEDEP}]
+       sys-apps/iproute2
+       net-misc/bridge-utils
+       net-firewall/ipset
+       openvswitch? ( net-misc/openvswitch )
+       dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+PATCHES=(
+       "${FILESDIR}/0001-Fixes-bug-in-interface-handling-of-ip_lib.py.patch"
+       "${FILESDIR}/0002-moving-vxlan-module-check-to-sanity-checks-and-makin.patch"
+       "${FILESDIR}/0003-fixes-error-logging-to-use-the-right-exception-paren.patch"
+)
+
+pkg_setup() {
+       linux-info_pkg_setup
+       CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+       IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+       NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+       if linux_config_exists; then
+               for module in ${CONFIG_CHECK_MODULES}; do
+                       linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+               done
+       fi
+       enewgroup neutron
+       enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+       fperms 0700 /var/log/neutron
+       fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+       #it's /bin/ip not /sbin/ip
+       sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/*
+       distutils-r1_src_prepare
+}
+
+python_compile_all() {
+       use doc && make -C doc html
+}
+
+python_test() {
+       # https://bugs.launchpad.net/neutron/+bug/1234857
+       # https://bugs.launchpad.net/swift/+bug/1249727
+       # https://bugs.launchpad.net/neutron/+bug/1251657
+       # turn multiprocessing off, testr will use it --parallel
+       local DISTUTILS_NO_PARALLEL_BUILD=1
+       # Move tests out that attempt net connection, have failures
+       mv $(find . -name test_ovs_tunnel.py) . || die
+       sed -e 's:test_app_using_ipv6_and_ssl:_&:' \
+               -e 's:test_start_random_port_with_ipv6:_&:' \
+               -i neutron/tests/unit/test_wsgi.py || die
+       testr init
+       testr run --parallel || die "failed testsuite under python2.7"
+}
+
+python_install() {
+       distutils-r1_python_install
+       if use server; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+               newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+               dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+       fi
+       if use dhcp; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+               newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+       fi
+       if use l3; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+               newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+       fi
+       if use metadata; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+               newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+       fi
+       if use openvswitch; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+               newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+               newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+               newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+       fi
+       if use linuxbridge; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+               newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+       fi
+       diropts -m 755 -o neutron -g neutron
+       dodir /var/log/neutron /var/lib/neutron
+       keepdir /etc/neutron
+       insinto /etc/neutron
+       insopts -m 0640 -o neutron -g neutron
+
+       doins etc/*
+       # stupid renames
+       rm "${D}etc/neutron/quantum"
+       insinto /etc/neutron
+       doins -r "etc/neutron/plugins"
+       insopts -m 0640 -o root -g root
+       doins "etc/rootwrap.conf"
+       doins -r "etc/neutron/rootwrap.d"
+
+       insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
+       doins -r "neutron/db/migration/alembic_migrations/versions"
+
+       #add sudoers definitions for user neutron
+       insinto /etc/sudoers.d/
+       insopts -m 0440 -o root -g root
+       newins "${FILESDIR}/neutron.sudoersd" neutron
+
+       #remove superfluous stuff
+       rm -R "${D}/usr/etc/"
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( doc/build/html/. )
+       distutils-r1_python_install_all
+}
diff --git a/sys-cluster/neutron/neutron-2015.1.9999.ebuild b/sys-cluster/neutron/neutron-2015.1.9999.ebuild
new file mode 100644 (file)
index 0000000..82c8f26
--- /dev/null
@@ -0,0 +1,233 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2015.1.9999.ebuild,v 1.1 2015/04/30 20:52:02 prometheanfire Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-2 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+EGIT_BRANCH="stable/kilo"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+       <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+       app-admin/sudo
+       test? (
+               ${RDEPEND}
+               >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+               <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+               >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+               <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
+               >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+               >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+               >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+               >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+               >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+               >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+               !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+               <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+               >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+               <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+               >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+               >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+               !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+               >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+               >=dev-python/webtest-2.0[${PYTHON_USEDEP}]
+               >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+               <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+               >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+       )"
+
+RDEPEND="
+       dev-python/paste[${PYTHON_USEDEP}]
+       >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+       >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+       !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+       >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+       !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+       >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+       >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+       >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+       !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+       dev-python/jsonrpclib[${PYTHON_USEDEP}]
+       >=dev-python/jinja-2.6[${PYTHON_USEDEP}]
+       >=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
+       <dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
+       >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+       >=dev-python/python-neutronclient-2.3.11[${PYTHON_USEDEP}]
+       <dev-python/python-neutronclient-3.5.0[${PYTHON_USEDEP}]
+       >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+       !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+       sqlite? (
+               >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+       )
+       mysql? (
+               dev-python/mysql-python
+               >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+       )
+       postgres? (
+               dev-python/psycopg:2
+               >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+               <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+       )
+       >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+       >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+       <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+       >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+       >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+       <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+       <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-rootwrap-1.6.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-rootwrap-1.7.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+       <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+       >=dev-python/python-novaclient-2.22.0[${PYTHON_USEDEP}]
+       <dev-python/python-novaclient-2.24.0[${PYTHON_USEDEP}]
+       dev-python/pyudev[${PYTHON_USEDEP}]
+       sys-apps/iproute2
+       net-misc/bridge-utils
+       net-firewall/ipset
+       openvswitch? ( net-misc/openvswitch )
+       dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+PATCHES=(
+       "${FILESDIR}/0001-Fixes-bug-in-interface-handling-of-ip_lib.py.patch"
+       "${FILESDIR}/0002-moving-vxlan-module-check-to-sanity-checks-and-makin.patch"
+       "${FILESDIR}/0003-fixes-error-logging-to-use-the-right-exception-paren.patch"
+)
+
+pkg_setup() {
+       linux-info_pkg_setup
+       CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+       IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+       NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+       if linux_config_exists; then
+               for module in ${CONFIG_CHECK_MODULES}; do
+                       linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+               done
+       fi
+       enewgroup neutron
+       enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+       fperms 0700 /var/log/neutron
+       fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+       #it's /bin/ip not /sbin/ip
+       sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/*
+       distutils-r1_src_prepare
+}
+
+python_compile_all() {
+       use doc && make -C doc html
+}
+
+python_test() {
+       # https://bugs.launchpad.net/neutron/+bug/1234857
+       # https://bugs.launchpad.net/swift/+bug/1249727
+       # https://bugs.launchpad.net/neutron/+bug/1251657
+       # turn multiprocessing off, testr will use it --parallel
+       local DISTUTILS_NO_PARALLEL_BUILD=1
+       # Move tests out that attempt net connection, have failures
+       mv $(find . -name test_ovs_tunnel.py) . || die
+       sed -e 's:test_app_using_ipv6_and_ssl:_&:' \
+               -e 's:test_start_random_port_with_ipv6:_&:' \
+               -i neutron/tests/unit/test_wsgi.py || die
+       testr init
+       testr run --parallel || die "failed testsuite under python2.7"
+}
+
+python_install() {
+       distutils-r1_python_install
+       if use server; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+               newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+               dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+       fi
+       if use dhcp; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+               newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+       fi
+       if use l3; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+               newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+       fi
+       if use metadata; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+               newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+       fi
+       if use openvswitch; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+               newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+               newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+               newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+       fi
+       if use linuxbridge; then
+               newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+               newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+       fi
+       diropts -m 755 -o neutron -g neutron
+       dodir /var/log/neutron /var/lib/neutron
+       keepdir /etc/neutron
+       insinto /etc/neutron
+       insopts -m 0640 -o neutron -g neutron
+
+       doins etc/*
+       # stupid renames
+       rm "${D}etc/neutron/quantum"
+       insinto /etc/neutron
+       doins -r "etc/neutron/plugins"
+       insopts -m 0640 -o root -g root
+       doins "etc/rootwrap.conf"
+       doins -r "etc/neutron/rootwrap.d"
+
+       insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
+       doins -r "neutron/db/migration/alembic_migrations/versions"
+
+       #add sudoers definitions for user neutron
+       insinto /etc/sudoers.d/
+       insopts -m 0440 -o root -g root
+       newins "${FILESDIR}/neutron.sudoersd" neutron
+
+       #remove superfluous stuff
+       rm -R "${D}/usr/etc/"
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( doc/build/html/. )
+       distutils-r1_python_install_all
+}