1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
5 PYTHON_COMPAT=( python2_7 python3_{6,7} )
7 inherit distutils-r1 eutils linux-info user
9 DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchestration engine."
10 HOMEPAGE="https://launchpad.net/heat"
12 if [[ ${PV} == *9999 ]];then
14 SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.stein -> heat.conf.sample-${PV}"
15 EGIT_REPO_URI="https://github.com/openstack/heat.git"
16 EGIT_BRANCH="stable/stein"
18 SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.stein -> heat.conf.sample-${PV}
19 https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
20 KEYWORDS="amd64 ~arm64 x86"
22 S="${WORKDIR}/openstack-${P}"
26 IUSE="+mysql +memcached postgres sqlite"
27 REQUIRED_USE="|| ( mysql postgres sqlite )"
29 CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
30 !~dev-python/pbr-2.1.0"
31 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
37 >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
38 !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
39 >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
40 >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
41 >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
42 !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
43 >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
44 >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
45 >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
46 !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
47 >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
48 >=dev-python/neutron-lib-1.14.0[${PYTHON_USEDEP}]
49 >=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
50 >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
51 >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
52 >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
53 >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
54 >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
55 >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
56 >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
57 >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
58 >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
59 >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
60 >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
61 >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
62 !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
63 >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
64 !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
65 >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
66 >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
67 >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
68 >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
69 >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
70 >=dev-python/aodhclient-0.9.0[${PYTHON_USEDEP}]
71 >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
72 >=dev-python/python-blazarclient-1.0.0[${PYTHON_USEDEP}]
73 >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
74 >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
75 >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
76 >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
77 >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
78 >=dev-python/python-magnumclient-2.1.0[${PYTHON_USEDEP}]
79 >=dev-python/python-manilaclient-1.16.0[${PYTHON_USEDEP}]
80 >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
81 !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
82 >=dev-python/python-monascaclient-1.12.0[${PYTHON_USEDEP}]
83 >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
84 >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
85 >=dev-python/python-octaviaclient-1.3.0[${PYTHON_USEDEP}]
86 >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
87 >=dev-python/python-saharaclient-1.4.0[${PYTHON_USEDEP}]
88 >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
89 >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
90 >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
91 >=dev-python/python-zunclient-2.0.0[${PYTHON_USEDEP}]
92 >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
93 >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
94 >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
95 >=dev-python/tenacity-4.4.0[${PYTHON_USEDEP}]
96 >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
97 >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
99 >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
100 !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
101 !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
102 !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
103 !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
106 >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
107 !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
108 >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
109 !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
110 !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
111 !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
112 !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
115 >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
116 >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
117 !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
118 !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
119 !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
120 !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
122 >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
123 >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
124 >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
125 >=dev-python/yaql-1.1.3[${PYTHON_USEDEP}]"
132 enewuser heat -1 -1 /var/lib/heat heat
135 python_prepare_all() {
136 sed -i '/^hacking/d' test-requirements.txt || die
137 distutils-r1_python_prepare_all
140 python_install_all() {
141 distutils-r1_python_install_all
142 diropts -m0750 -o heat -g heat
144 dodir /etc/heat/environment.d
145 dodir /etc/heat/templates
147 for svc in api api-cfn engine; do
148 newinitd "${FILESDIR}/heat.initd" heat-${svc}
152 insopts -m0640 -o heat -g heat
153 newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
154 doins "etc/heat/api-paste.ini"
155 insinto /etc/heat/templates
156 doins "etc/heat/templates/"*
157 insinto /etc/heat/environment.d
158 doins "etc/heat/environment.d/default.yaml"
161 fowners heat:heat /var/log/heat
162 rm -r "${ED}"/usr/etc