diff options
author | Matt Thode <prometheanfire@gentoo.org> | 2015-04-30 20:52:07 +0000 |
---|---|---|
committer | Matt Thode <prometheanfire@gentoo.org> | 2015-04-30 20:52:07 +0000 |
commit | aadea5d934e7bd9b2a4aa669ea438f9362262fd7 (patch) | |
tree | 582ed218deef10c33cd0810a5f93029c164d1675 /sys-cluster | |
parent | Stable for HPPA (bug #547992). (diff) | |
download | historical-aadea5d934e7bd9b2a4aa669ea438f9362262fd7.tar.gz historical-aadea5d934e7bd9b2a4aa669ea438f9362262fd7.tar.bz2 historical-aadea5d934e7bd9b2a4aa669ea438f9362262fd7.zip |
kilo release
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0x33ED3FD25AFC78BA
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/neutron/ChangeLog | 9 | ||||
-rw-r--r-- | sys-cluster/neutron/Manifest | 30 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-2015.1.0.ebuild | 233 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-2015.1.9999.ebuild | 233 |
4 files changed, 490 insertions, 15 deletions
diff --git a/sys-cluster/neutron/ChangeLog b/sys-cluster/neutron/ChangeLog index 48bde44eb44f..42d658660645 100644 --- a/sys-cluster/neutron/ChangeLog +++ b/sys-cluster/neutron/ChangeLog @@ -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) diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest index 78d25584df48..79e88a645b4f 100644 --- a/sys-cluster/neutron/Manifest +++ b/sys-cluster/neutron/Manifest @@ -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 index 000000000000..bf3c926a28c7 --- /dev/null +++ b/sys-cluster/neutron/neutron-2015.1.0.ebuild @@ -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 index 000000000000..82c8f2684d8d --- /dev/null +++ b/sys-cluster/neutron/neutron-2015.1.9999.ebuild @@ -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 +} |