summaryrefslogtreecommitdiff
path: root/sys-cluster
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
commitbd4aeefe33e63f613512604e47bfca7b2187697d (patch)
treeadb35b5a9a00ee7ea591ab0c987f70167c23b597 /sys-cluster
parent48ece6662cbd443015f5a57ae6d8cbdbd69ef37c (diff)
gentoo resync : 03.11.2019
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/Manifest.gzbin13548 -> 13554 bytes
-rw-r--r--sys-cluster/cinder/Manifest5
-rw-r--r--sys-cluster/cinder/cinder-15.0.0.ebuild214
-rw-r--r--sys-cluster/cinder/cinder-2019.2.9999.ebuild214
-rw-r--r--sys-cluster/glusterfs/Manifest2
-rw-r--r--sys-cluster/glusterfs/glusterfs-6.5.ebuild207
-rw-r--r--sys-cluster/heat/Manifest5
-rw-r--r--sys-cluster/heat/heat-13.0.0.ebuild166
-rw-r--r--sys-cluster/heat/heat-2019.2.9999.ebuild165
-rw-r--r--sys-cluster/kube-apiserver/Manifest10
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.14.8.ebuild (renamed from sys-cluster/kube-apiserver/kube-apiserver-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.15.5.ebuild (renamed from sys-cluster/kube-apiserver/kube-apiserver-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.16.2.ebuild48
-rw-r--r--sys-cluster/kube-controller-manager/Manifest10
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.14.8.ebuild (renamed from sys-cluster/kube-controller-manager/kube-controller-manager-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.15.5.ebuild (renamed from sys-cluster/kube-controller-manager/kube-controller-manager-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.16.2.ebuild48
-rw-r--r--sys-cluster/kube-proxy/Manifest10
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.14.8.ebuild (renamed from sys-cluster/kube-proxy/kube-proxy-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.15.5.ebuild (renamed from sys-cluster/kube-proxy/kube-proxy-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.16.2.ebuild44
-rw-r--r--sys-cluster/kube-scheduler/Manifest10
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.14.8.ebuild (renamed from sys-cluster/kube-scheduler/kube-scheduler-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.15.5.ebuild (renamed from sys-cluster/kube-scheduler/kube-scheduler-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.16.2.ebuild48
-rw-r--r--sys-cluster/kubeadm/Manifest10
-rw-r--r--sys-cluster/kubeadm/kubeadm-1.14.8.ebuild50
-rw-r--r--sys-cluster/kubeadm/kubeadm-1.15.5.ebuild (renamed from sys-cluster/kubeadm/kubeadm-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kubeadm/kubeadm-1.16.2.ebuild (renamed from sys-cluster/kubeadm/kubeadm-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kubectl/Manifest16
-rw-r--r--sys-cluster/kubectl/kubectl-1.13.10.ebuild47
-rw-r--r--sys-cluster/kubectl/kubectl-1.14.8.ebuild (renamed from sys-cluster/kubectl/kubectl-1.14.6.ebuild)0
-rw-r--r--sys-cluster/kubectl/kubectl-1.15.5.ebuild (renamed from sys-cluster/kubectl/kubectl-1.15.3.ebuild)0
-rw-r--r--sys-cluster/kubectl/kubectl-1.16.0.ebuild48
-rw-r--r--sys-cluster/kubectl/kubectl-1.16.2.ebuild (renamed from sys-cluster/kubectl/kubectl-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kubelet/Manifest10
-rw-r--r--sys-cluster/kubelet/kubelet-1.14.8.ebuild (renamed from sys-cluster/kubelet/kubelet-1.15.4.ebuild)0
-rw-r--r--sys-cluster/kubelet/kubelet-1.15.5.ebuild (renamed from sys-cluster/kubelet/kubelet-1.16.0.ebuild)0
-rw-r--r--sys-cluster/kubelet/kubelet-1.16.2.ebuild47
-rw-r--r--sys-cluster/neutron/Manifest11
-rw-r--r--sys-cluster/neutron/neutron-14.0.3.ebuild230
-rw-r--r--sys-cluster/neutron/neutron-15.0.0.ebuild233
-rw-r--r--sys-cluster/neutron/neutron-2019.2.9999.ebuild233
-rw-r--r--sys-cluster/nova/Manifest5
-rw-r--r--sys-cluster/nova/nova-20.0.0.ebuild220
-rw-r--r--sys-cluster/nova/nova-2019.2.9999.ebuild220
-rw-r--r--sys-cluster/openmpi/Manifest2
-rw-r--r--sys-cluster/openmpi/openmpi-4.0.2.ebuild168
-rw-r--r--sys-cluster/openstack-meta/Manifest2
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2019.2.0.ebuild27
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2019.2.9999.ebuild27
-rw-r--r--sys-cluster/placement/Manifest5
-rw-r--r--sys-cluster/placement/placement-2.0.0.ebuild94
-rw-r--r--sys-cluster/placement/placement-2019.2.9999.ebuild94
-rw-r--r--sys-cluster/slurm/Manifest9
-rw-r--r--sys-cluster/slurm/files/slurm-17.11.13.2-disable-sview.patch99
-rw-r--r--sys-cluster/slurm/metadata.xml1
-rw-r--r--sys-cluster/slurm/slurm-18.08.7.ebuild5
-rw-r--r--sys-cluster/slurm/slurm-19.05.3.2.ebuild (renamed from sys-cluster/slurm/slurm-17.11.13.2.ebuild)80
-rw-r--r--sys-cluster/spark-bin/Manifest4
-rw-r--r--sys-cluster/spark-bin/spark-bin-2.4.4.ebuild (renamed from sys-cluster/spark-bin/spark-bin-2.4.3.ebuild)2
-rw-r--r--sys-cluster/swift/Manifest2
-rw-r--r--sys-cluster/swift/swift-2.23.1.ebuild125
-rw-r--r--sys-cluster/torque/Manifest7
-rw-r--r--sys-cluster/torque/files/torque-6.0.3-fix-emptystring-comparison.patch49
-rw-r--r--sys-cluster/torque/files/torque-6.0.4-error_buf_overflow_prevent.patch11
-rw-r--r--sys-cluster/torque/files/torque-6.0.4-gcc7.patch1606
-rw-r--r--sys-cluster/torque/torque-6.0.4-r1.ebuild4
-rw-r--r--sys-cluster/torque/torque-6.0.4.ebuild177
69 files changed, 4722 insertions, 464 deletions
diff --git a/sys-cluster/Manifest.gz b/sys-cluster/Manifest.gz
index 664c136b4806..0ccf973ba593 100644
--- a/sys-cluster/Manifest.gz
+++ b/sys-cluster/Manifest.gz
Binary files differ
diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest
index 6306fdda3374..c318d06e833e 100644
--- a/sys-cluster/cinder/Manifest
+++ b/sys-cluster/cinder/Manifest
@@ -3,14 +3,19 @@ AUX cinder.sudoersd 86 BLAKE2B 1ea49d3cf3bc134ea0a2d5512c6e258f117187267bfa408fe
DIST cinder-13.0.6.tar.gz 5474090 BLAKE2B 564cace126d1b4ae9b08852d294b3a1a8acacebdb40530b24ef51a445c250c0ca290ea0edc7b517bbb46f785b029e284b6d4651b47a92ad59a07e288a6653776 SHA512 03ed956fe906969f9064692cd0bda9e966287245f7f038024024a9b0dc32c5ddf7b8cf91ec503a35c3628d1126c2522f74cdfe686067b8893c800df2ec53dfd3
DIST cinder-13.0.7.tar.gz 5477179 BLAKE2B 210abb3b1e961eae43edb598deaeddee8ac2ff948519cacf8410d42d306b7e3476e46ecd0acc9392453647ca886bea512c5b7c48f8ae83e2ddf012c4556a8d18 SHA512 4ae3939b5b43ede09d36aeafc623baa4b2dd55b801b22d95230ff3fa2130c84cd2891351d14caf5516982294fcbcab7fd5f4f59a63e8e46e63d5493ba94f9d98
DIST cinder-14.0.1.tar.gz 5504153 BLAKE2B 1f895cd93a433e93907e5c8eb69675084f3d2f4f3fd5e605e1bbc505795bd853bca15acc1e6af86a0dea88063e9ee5d95dad17dc62abf2ee2a8a4db8efe962b3 SHA512 f2ba53f67fe15216c4f7296fbf5135e9289ead41e6ca94d1b9a003d21000cf0b178c156b100868796c6f36a4bb2bc1cf081fca5c30e6d4cc3ee36d396a3d53f3
+DIST cinder-15.0.0.tar.gz 5515047 BLAKE2B c7b62dc424bda2a86b9369f283fae4d891f55922228dc2c05206cee67bb7553b75b98e86f8d90035d0566baddad28a76aa4ca454fb4e003eaff346d2bb49a699 SHA512 f80705782976ec778681ef65f5da79ee2028a8dccbe9a14150b3577354882beedbde73f562b40ec395427e23766688299e07bf173476627c579bc812eec065fa
DIST cinder.conf.sample-13.0.6 185527 BLAKE2B c53c017c5cacf2fb604840e14adf3b1db36bf8dd2c79d29f1c6b35da843640f97efcfd97d6f68a40a2f928ce864a3e221d7138d7cac977c0d544817e2826ebb2 SHA512 1dc850bebd66d90e2950795337a78ea8aea69ead0aeb3e5b7f97c7b12f33a3afc483f3bde2942a34539fbc048fa5b589b3c7d2df53314180f64094569bb81b15
DIST cinder.conf.sample-13.0.7 185527 BLAKE2B c53c017c5cacf2fb604840e14adf3b1db36bf8dd2c79d29f1c6b35da843640f97efcfd97d6f68a40a2f928ce864a3e221d7138d7cac977c0d544817e2826ebb2 SHA512 1dc850bebd66d90e2950795337a78ea8aea69ead0aeb3e5b7f97c7b12f33a3afc483f3bde2942a34539fbc048fa5b589b3c7d2df53314180f64094569bb81b15
DIST cinder.conf.sample-14.0.1 185527 BLAKE2B c53c017c5cacf2fb604840e14adf3b1db36bf8dd2c79d29f1c6b35da843640f97efcfd97d6f68a40a2f928ce864a3e221d7138d7cac977c0d544817e2826ebb2 SHA512 1dc850bebd66d90e2950795337a78ea8aea69ead0aeb3e5b7f97c7b12f33a3afc483f3bde2942a34539fbc048fa5b589b3c7d2df53314180f64094569bb81b15
+DIST cinder.conf.sample-15.0.0 183153 BLAKE2B fb86b82c711568c89a445c5876a1d5e890714d4dd957d4aa5b3158a3c85150e75d8d0055a93bf6a937d8a6f5a3c4042c5ddb4b4da2dd006d77d8eb8ec8a19fc5 SHA512 95a2076970184bc34c9c293371f72a791f16600c4933572b8d51291c506a7c1ef3bd2ea185f1f4dafeff6c85a237f4453f8ee6c1df6af7f603afe1ddfd63cd3a
DIST cinder.conf.sample-2018.2.9999 185527 BLAKE2B c53c017c5cacf2fb604840e14adf3b1db36bf8dd2c79d29f1c6b35da843640f97efcfd97d6f68a40a2f928ce864a3e221d7138d7cac977c0d544817e2826ebb2 SHA512 1dc850bebd66d90e2950795337a78ea8aea69ead0aeb3e5b7f97c7b12f33a3afc483f3bde2942a34539fbc048fa5b589b3c7d2df53314180f64094569bb81b15
DIST cinder.conf.sample-2019.1.9999 185527 BLAKE2B c53c017c5cacf2fb604840e14adf3b1db36bf8dd2c79d29f1c6b35da843640f97efcfd97d6f68a40a2f928ce864a3e221d7138d7cac977c0d544817e2826ebb2 SHA512 1dc850bebd66d90e2950795337a78ea8aea69ead0aeb3e5b7f97c7b12f33a3afc483f3bde2942a34539fbc048fa5b589b3c7d2df53314180f64094569bb81b15
+DIST cinder.conf.sample-2019.2.9999 183153 BLAKE2B fb86b82c711568c89a445c5876a1d5e890714d4dd957d4aa5b3158a3c85150e75d8d0055a93bf6a937d8a6f5a3c4042c5ddb4b4da2dd006d77d8eb8ec8a19fc5 SHA512 95a2076970184bc34c9c293371f72a791f16600c4933572b8d51291c506a7c1ef3bd2ea185f1f4dafeff6c85a237f4453f8ee6c1df6af7f603afe1ddfd63cd3a
EBUILD cinder-13.0.6.ebuild 7807 BLAKE2B 4f8fcb254a66c4cdafbdc760d6640136b97e48c857aa868f08a379695d7529fa2f8fb05c20e6aeed33ec56b9ee66ec040bdd382ab1517231329d7084f94c758d SHA512 8b4f16da33f2c868dcee627275aed329cc9676f8509e5be763226b9453bff26ecf5dfbd85b3bc06198210e44ff8a07b56eb48b931b18517f2f7cd78ca89c3d54
EBUILD cinder-13.0.7.ebuild 7809 BLAKE2B 25e88e7eeeab5230ed34fde72301ca280da38b3c2a37e28fc2474d7e8252bfd0bfea6025a10ede5166f4335cd869e7baa8f2a95bf2138c8cc8c5b7a18b888924 SHA512 e662bb768f38ea5f972118a0bdafd963a89f04b96ee784475ec7002f4fd2f7b1434e13d5517d1250d481eba995d2b44f0ac4a1717b8b5885d3c57433f7187413
EBUILD cinder-14.0.1.ebuild 7816 BLAKE2B 80417911501fdf0749bbc7dc633a6a4acb210faa2cdaf96ef2b836365a5bb348c199711b3ab07c367addb14eab568be23ae4b72a42c1b482822b7df7bbe2461c SHA512 9d63f69225be43b41483d2ff42ed2278efcad71e900e89ea42ba1d273302f0f6760782283680e1eb8988000000908a3a546ce5aef3ad6e9d01d3bc7dd581376b
+EBUILD cinder-15.0.0.ebuild 7818 BLAKE2B d62001279741a5f6baf0eb76b0123011cde22df07412b1c6fa92b43dece64cf2a69de6e7f0b7d3b3ef00722e4a79ae4bd64687c589459ef17080a13117894313 SHA512 4af0fa9a256050b13d40cada3619ae692f7058e1cc60a9c82a129926bc5064cc19542b681956d7ecaa01e9bce7addab2da6d98c22061378eb6212e33e4e27cc3
EBUILD cinder-2018.2.9999.ebuild 7809 BLAKE2B 25e88e7eeeab5230ed34fde72301ca280da38b3c2a37e28fc2474d7e8252bfd0bfea6025a10ede5166f4335cd869e7baa8f2a95bf2138c8cc8c5b7a18b888924 SHA512 e662bb768f38ea5f972118a0bdafd963a89f04b96ee784475ec7002f4fd2f7b1434e13d5517d1250d481eba995d2b44f0ac4a1717b8b5885d3c57433f7187413
EBUILD cinder-2019.1.9999.ebuild 7818 BLAKE2B da3671b1b1b1153ad9bac111d63e2d408989107817e8efae04bbf9e77b8c1886e413786c2ca2185c0d78b935ab55afbc086443eec4265e6dbea305df85d214d9 SHA512 eb9c70b521aebc02f3d699b480f2a83e913143a67c5521c6b8a7c75e3ff1b59fc0bd499810da89ea048b939bda3b143ee9e1f40a7943a0a21d59cf331ac2825d
+EBUILD cinder-2019.2.9999.ebuild 7818 BLAKE2B d62001279741a5f6baf0eb76b0123011cde22df07412b1c6fa92b43dece64cf2a69de6e7f0b7d3b3ef00722e4a79ae4bd64687c589459ef17080a13117894313 SHA512 4af0fa9a256050b13d40cada3619ae692f7058e1cc60a9c82a129926bc5064cc19542b681956d7ecaa01e9bce7addab2da6d98c22061378eb6212e33e4e27cc3
MISC metadata.xml 1244 BLAKE2B bac3f4931079ae89c48d66ed2fe689978fcf609638ade7b26d8f07ffbd6562d7c4a16b42dec4390654747c6d2dfcb92b73d27c90356f1928199469d42432ef69 SHA512 fda201e6974bb0af9c24c1384a3bb2dd0a0c630439d7f1955de336f53804070a68426919fd4dc6f864d502c7e9e99a80d1920c740b6dc179f7b46c7f7fb7aef9
diff --git a/sys-cluster/cinder/cinder-15.0.0.ebuild b/sys-cluster/cinder/cinder-15.0.0.ebuild
new file mode 100644
index 000000000000..7d0be5d94d56
--- /dev/null
+++ b/sys-cluster/cinder/cinder-15.0.0.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/train/cinder.conf.sample -> cinder.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/train/cinder.conf.sample -> cinder.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.5.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.22.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.21.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-6.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.44.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.34.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.65[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # only used for docs
+ sed -i '/^sphinx-feature-classification/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ doins "etc/cinder/resource_filters.json"
+ newins "${DISTDIR}/cinder.conf.sample-${PV}" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ doins "etc/cinder/rootwrap.d/volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+ # stupid python
+ rm -r "${ED}"/usr/etc
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-2019.2.9999.ebuild b/sys-cluster/cinder/cinder-2019.2.9999.ebuild
new file mode 100644
index 000000000000..7d0be5d94d56
--- /dev/null
+++ b/sys-cluster/cinder/cinder-2019.2.9999.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/train/cinder.conf.sample -> cinder.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/train/cinder.conf.sample -> cinder.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.5.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.22.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.21.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-6.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.44.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.34.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.65[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # only used for docs
+ sed -i '/^sphinx-feature-classification/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ doins "etc/cinder/resource_filters.json"
+ newins "${DISTDIR}/cinder.conf.sample-${PV}" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ doins "etc/cinder/rootwrap.d/volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+ # stupid python
+ rm -r "${ED}"/usr/etc
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
index f46c9d67fbb4..93a047c5a9db 100644
--- a/sys-cluster/glusterfs/Manifest
+++ b/sys-cluster/glusterfs/Manifest
@@ -8,7 +8,9 @@ AUX glusterfs.logrotate 611 BLAKE2B e79718d43b8123e8bcc63336977f972e58332536e0bc
AUX glusterfs.vim 139 BLAKE2B 73fdcb49c0c252784718b461541d5483e118bf1b83f445a6ced3119600aa46c469291e19aa439e2c1e35ffc88c83a74977571d8ccfddf078f65c5c16a44ed3e0 SHA512 6ea3b56b71d7e206a57611dd68160b6b9242a19b5c927560f60881dc28d250f7958c50f788a7b9a41fb46010fdac2d67a8289b909ed1f05b793c900f37ccbfb7
DIST glusterfs-4.1.8.tar.gz 7835272 BLAKE2B 2546b9c0fe38989df71b8f72b193ce42c499621dcaaa4c5e3deeacfba68179f2280fc699cebeb87486171442152fa8b56b42a0d17465b739769eb227c82307d7 SHA512 950cd2fd774e3eb00f1ec06d54566736b6fbe8d1aed54477a19d9b2727eff8a70ef7ac32815cc7e01d45b5d357fc01af786e16c451f6ad314d472e61ba04ce85
DIST glusterfs-6.1.tar.gz 7510074 BLAKE2B 8002597f8f695d11578be250cafb3f32358ac29d873b27f87bb26edd38b64d896050322d9591b156793fe6ee7af111904961d5a3e7a933f7c5176cf0c6793305 SHA512 53f4195ecb565a8dcc0d66e74d07dd7334e3c8b1cc1671517612be32a00e9e9bbfb5e983955c4f116b25f7df990bcd1c05bbd3d0b740e9f8c76a16b9b16bec00
+DIST glusterfs-6.5.tar.gz 7536238 BLAKE2B 35c58da9e8564bda1f34b095f14316148cae2b5ff1820d22ae945a06d34ac57aea968e5914af3f5831250fd591a103fe4022e160bb96d491a7c915b5b68c54e7 SHA512 b7356de07e8126aea80b0489b9ac39ce0d10ea324fe38d05ff5740765e886f80fc7e6bdda9d4db1371d7b955b055cb76ea29e918e759a575db331a6436bad90f
EBUILD glusterfs-4.1.8.ebuild 6772 BLAKE2B a13e90db6317fa727cb64f9f1cf244a9276e8a9b3f9fd0c4808e2572fe5802d12663b5b768ee223fd78f92ae781d8d3a6f31706ab7f5e83d3eaa3cf1fe98bd82 SHA512 5436e666878df02b3b4af43a3c448329e4b94a2255fd91d35d9f520184a91aea6d381428e423baebef7c233c4ecee6c0142cc8b5ba223341f5b34ae79945bf2f
EBUILD glusterfs-6.1.ebuild 6212 BLAKE2B 4d57942e086b22e4ca1f9426c6d2f9c9c521b0ead729c3d7db22d51d7185cda54c850233e2140c0b139666b76ed4d882532bc269b8693ceb038492b7e3a13190 SHA512 37c5ceee736e05db6b5a0a25e38b1d2d89c9518b374086e3aea8d0d3270689d189b85a1168e6406649e8a2dcb4d18e1c244f5409d7b2d96eea498e6ae0a5a95d
+EBUILD glusterfs-6.5.ebuild 6212 BLAKE2B 4d57942e086b22e4ca1f9426c6d2f9c9c521b0ead729c3d7db22d51d7185cda54c850233e2140c0b139666b76ed4d882532bc269b8693ceb038492b7e3a13190 SHA512 37c5ceee736e05db6b5a0a25e38b1d2d89c9518b374086e3aea8d0d3270689d189b85a1168e6406649e8a2dcb4d18e1c244f5409d7b2d96eea498e6ae0a5a95d
EBUILD glusterfs-9999.ebuild 6779 BLAKE2B 0461134fcea8e8f237c6fcd4a7579426fa107e1d2c642ac009381e8a102623d37b15c33b696ecd5c127fe2db96e050dcccb2d100539fc16a506dd71a749401b4 SHA512 437fc1cda7440cf04a1c35c8d724542b20faf71fe70da2bf2f4a7048902c576fd5c4c4ee055585fa685933116e60eb161370faf1997bf35497faeb8c7fcad174
MISC metadata.xml 1724 BLAKE2B 8d164da1feb4e49490543de9841ec60282199451f2dcd6920c6781bcff41cb1248fcea7895501db0501f01a1b87b27e91a068adacd87842630f17efebf4d8954 SHA512 5bc076910d574a03f1b29db15fe1933e1b9b6f0f2cde654a6934397f7fa6f10c5063dd0318248d522da508af1ce56d16f1a204bc4be8429430f189143baaf043
diff --git a/sys-cluster/glusterfs/glusterfs-6.5.ebuild b/sys-cluster/glusterfs/glusterfs-6.5.ebuild
new file mode 100644
index 000000000000..e9acb97223c7
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-6.5.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit autotools elisp-common python-single-r1 systemd user
+
+if [[ ${PV#9999} != ${PV} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gluster/glusterfs.git"
+else
+ SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="https://www.gluster.org/"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+IUSE="debug emacs +fuse +georeplication infiniband ipv6 libressl +libtirpc rsyslog static-libs +syslog test vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ ipv6? ( libtirpc )"
+
+# the tests must be run as root
+RESTRICT="test"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="!elibc_glibc? ( sys-libs/argp-standalone )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0:0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ libtirpc? ( net-libs/libtirpc:= )
+ !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ !libressl? ( dev-libs/openssl:=[-bindist] )
+ libressl? ( dev-libs/libressl:= )
+ dev-libs/userspace-rcu:=
+ net-libs/rpcsvc-proto
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ virtual/acl
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ test? ( >=dev-util/cmocka-1.0.1
+ app-benchmarks/dbench
+ dev-vcs/git
+ net-fs/nfs-utils
+ virtual/perl-Test-Harness
+ dev-libs/yajl
+ sys-fs/xfsprogs
+ sys-apps/attr )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ python_setup "python3*"
+ python-single-r1_pkg_setup
+
+ # Needed for statedumps
+ # https://github.com/gluster/glusterfs/commit/0e50c4b3ea734456c14e2d7a578463999bd332c3
+ enewgroup gluster
+ enewuser gluster -1 -1 "${EPREFIX}"/var/run/gluster gluster
+}
+
+src_prepare() {
+ default
+
+ # build rpc-transport and xlators only once as shared libs
+ find rpc/rpc-transport xlators -name Makefile.am |
+ xargs sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' || die
+
+ # fix execution permissions
+ chmod +x libglusterfs/src/gen-defaults.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ --disable-fusermount \
+ $(use_enable debug) \
+ $(use_enable fuse fuse-client) \
+ $(use_enable georeplication) \
+ $(use_enable infiniband ibverbs) \
+ $(use_enable static-libs static) \
+ $(use_enable syslog) \
+ $(use_enable test cmocka) \
+ $(use_enable xml xml-output) \
+ $(use libtirpc || echo --without-libtirpc) \
+ $(use ipv6 && echo --with-ipv6-default) \
+ --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --localstatedir="${EPREFIX}"/var
+}
+
+src_compile() {
+ default
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ default
+
+ rm \
+ "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${ED}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r3.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd/{events,glusterfind/.keys}
+
+ # QA
+ rm -r "${ED}/var/run/" || die
+ if ! use static-libs; then
+ find "${D}" -type f -name '*.la' -delete || die
+ fi
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+ echo
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/heat/Manifest b/sys-cluster/heat/Manifest
index f6a6185b9995..ede51fada57e 100644
--- a/sys-cluster/heat/Manifest
+++ b/sys-cluster/heat/Manifest
@@ -1,12 +1,17 @@
AUX heat.initd 463 BLAKE2B c855fe1b4fe73fe93874add659c49133d1f83653acbb37e7ab9927641883196abb620f53e6b31f5cc39e7c59875d4af29b3d5b14eb2a1d67556e7fbf129c7705 SHA512 d6685d7751dfd6ece714c2b96c2d07419f13556f6f3d065a108943cb3bc90c4a51b66313b3e53db4f47f0577c411e859c89984d4764462857eb1ca1990ca847c
DIST heat.conf.sample-11.0.2 89219 BLAKE2B 6db6b6476c90bedb8bccb88d6e792fd62d599bf4721153f9cd79fc22d6e99f5096dbbbb560d5ead9ee2388529a9ff0514e591444c462621e37ecdc0879ed6f78 SHA512 aedde1cea25ecbdff4de8fe410bcb13cf937a4479b9fa27aab8170f92956499c678c2546cc3f373f58c287f13576b1561613b5ff71e6fae5b60bb3d580a90f4f
DIST heat.conf.sample-12.0.0 74064 BLAKE2B 8ed905ab27d0478a8ff7f705cddb00e1331e52570f799d0d7dda91563fc3a8567a76d50110403ce9e4810efb8c61e9e07fe4871953d66f6bbdcfe90ce3bae772 SHA512 aa4f4d0a306cff8a56b043c3891c5aaa2ec3582ab253adc2c0d4ed51f79086fdbe0286faa22cf57f87029e0f6895f12cd56db6feb51308679d42fcb956ea7b8c
+DIST heat.conf.sample-13.0.0 75054 BLAKE2B 294313cc94bea784536030f7b4cd6b87d8b1624cf842ad98c47451541745d0d0874cccd8167362722b18d9f6cd000dc42ff512ff97a9f40dd31985327a27dbc2 SHA512 53f7c8be06006f81316468144376cb8b6fefcd4d149609735ce491e677d2aca88337801598f2366f2b279d52e4c2f7a8422ec7fd0b8aae0ef21dd70553a289ec
DIST heat.conf.sample-2018.2.9999 89219 BLAKE2B 6db6b6476c90bedb8bccb88d6e792fd62d599bf4721153f9cd79fc22d6e99f5096dbbbb560d5ead9ee2388529a9ff0514e591444c462621e37ecdc0879ed6f78 SHA512 aedde1cea25ecbdff4de8fe410bcb13cf937a4479b9fa27aab8170f92956499c678c2546cc3f373f58c287f13576b1561613b5ff71e6fae5b60bb3d580a90f4f
DIST heat.conf.sample-2019.1.9999 74064 BLAKE2B 8ed905ab27d0478a8ff7f705cddb00e1331e52570f799d0d7dda91563fc3a8567a76d50110403ce9e4810efb8c61e9e07fe4871953d66f6bbdcfe90ce3bae772 SHA512 aa4f4d0a306cff8a56b043c3891c5aaa2ec3582ab253adc2c0d4ed51f79086fdbe0286faa22cf57f87029e0f6895f12cd56db6feb51308679d42fcb956ea7b8c
+DIST heat.conf.sample-2019.2.9999 75054 BLAKE2B 294313cc94bea784536030f7b4cd6b87d8b1624cf842ad98c47451541745d0d0874cccd8167362722b18d9f6cd000dc42ff512ff97a9f40dd31985327a27dbc2 SHA512 53f7c8be06006f81316468144376cb8b6fefcd4d149609735ce491e677d2aca88337801598f2366f2b279d52e4c2f7a8422ec7fd0b8aae0ef21dd70553a289ec
DIST openstack-heat-11.0.2.tar.gz 2320284 BLAKE2B 0bb16840cf0637dfd4783cf837f0b9eb8806275f9e292fcde54b18d14058004ce8382a17e433a785027c74653761412c3851a737c30b7a3e7100d6ef34a4f13e SHA512 fdc9dbdfd6c927c9df681a9d1213cd5ea8191d5efeb07c172f87baedad00a16687a074137f88d1d2dcce4081ca23f53cc7afbee8cb3c2a6add6fd01560684cdf
DIST openstack-heat-12.0.0.tar.gz 2366052 BLAKE2B 53c44cb20be0383c1dc7df6edea35bfc3547cb9ca652645879b7156a87fa645b74f3317ac28ce15587cee281bb0ba219ddacc2f03cfc56e528156412a104ce5e SHA512 2fcc42de118e2abf380c1b8c2637812f0f3dcaaad0f9ddcf349bd372e9880d2b45bc09ab349faa5c2d2c9384aba73d7679f6e80ba6b143a52b669e13d56fe0e9
+DIST openstack-heat-13.0.0.tar.gz 2342125 BLAKE2B 1fe46924ff491301f69d91979e3e1be9297a4b499e1dbf5004b1e37633afee1167fcd5e8bb79a2b87d7cf54c50ba9accfa6f3a56874555a3640e22ad69ccb4dc SHA512 b122cb864982730fa3ae5db0b41aa4f9cc0d2cf93c439595c85ed5946cdb25483b30d9dfaf066f4450d5cb4a9613b5527810dd2535f9090e568c5eb63c6e60a4
EBUILD heat-11.0.2.ebuild 6242 BLAKE2B baec7461119ef6a5126d8166f92c73c9bd3ffbdc620683a6691eba70513cfd5ebf8f2e63d19a46f0cff6e7a06da414f0882ec82ce8b3f4ccd4fd32a2408adb6a SHA512 aa33f7205856a4975a04f58ff7edcfab84d8ab958bec361c1e0b9729d94f5b510094f0750f8cc93d6efa9d8f8c7ac1a136eeb53e6418775e3021cf9cf18d81dc
EBUILD heat-12.0.0.ebuild 6323 BLAKE2B 05c35db627ffe887053274c5d48186ef40b77f369b7f8c1f7533c9e5789171266ca465a15568a193a3f6f2c4538ed65cdb73b5f9b97511b0e8527b3a1134c0a8 SHA512 14537652cd4e0d52cb80ad0ed074bcea434aad1fe7cc72ec31600cab3cec847647e98ffcba8a70d8d8053a1aaa36205b0b6d8094fccf7ca984d3a8eba5940ec1
+EBUILD heat-13.0.0.ebuild 6469 BLAKE2B b86c9328c0424cce8337a2a3f98b3c937ed3d748e935e79092f508eaac35d6221ff31be9b7ad8086adcb54904bede31b08c0a988a5cd7ba5b9cc549d66bbf049 SHA512 23b870af284910e3626ca1ef6d8e502c9fc845f273c6d3b0709a5e37646460244ffe8011076b203e04db87b26acabbb8e05ae7838e78ab3a80ce41905b04ece6
EBUILD heat-2018.2.9999.ebuild 6234 BLAKE2B 01e13a18b911d25f906cea867f7888fc47f0446f4710f12ca999ff6cacc3eecfa89330048515d2d0a380608840ae74454d82cf38ab901b5082f5aaff4689a744 SHA512 6f5d83c7e48a12b9aecbdfba4edf556e58d8356b816d6e2063ccd476ba4cfbce3c8ebcf987f9d92c74174ce7ae9d9f01333d8c4955c500aaf7ab19c233f0cfd1
EBUILD heat-2019.1.9999.ebuild 6295 BLAKE2B 276def78be9c584191c8b13dfbcac2a96ba3e026aa0ed80faf2cc0700618f63dd4cc34367efc3010cfd283d9ed9f34c7600113460f2f0f64c130e3428907fa73 SHA512 cae484cf3e0be1384befb47c13c5f5b206363379d78d0174152da6b330c04373fcc8b34ab824e62335ed2eb7566afd0ab212b8214c81931620f2a06a7b2d8798
+EBUILD heat-2019.2.9999.ebuild 6439 BLAKE2B a65d3296955ab0352783580bc1c0acf9d8fee255e40ebe692acda5356265278db20841215dea59259c18f1138975438bb612a4311edc3caa84fb88f667221c6e SHA512 6952cd040e91c0c4f0a51b921fce6b7c439440302b4c7248b7faed5daec243c86cdd97ae31e60b710ce1fcc2d63a0b5b9f790807a93965a8bb2e8a36d1a1a646
MISC metadata.xml 631 BLAKE2B 566d35b5533177a6d8b0ef428c9bd1a320aace6b43e186139c4b53cde224c1bf488340be8b6bcac14bf6c7a51212952dc13940d34edc38e24d7d2fbea5ce0c68 SHA512 44e741975cc462454bfd08fce461b019c5ef141997f272796052f7f3aa7297646304cdc7d75a2ed01319bcba753475ba5861306c3ac74f3d97218bce60d42429
diff --git a/sys-cluster/heat/heat-13.0.0.ebuild b/sys-cluster/heat/heat-13.0.0.ebuild
new file mode 100644
index 000000000000..883519e24876
--- /dev/null
+++ b/sys-cluster/heat/heat-13.0.0.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchestration engine."
+HOMEPAGE="https://launchpad.net/heat"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.train -> heat.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/heat.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.train -> heat.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+S="${WORKDIR}/openstack-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.20.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-blazarclient-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-octaviaclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zunclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.3[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+ rm -r "${ED}"/usr/etc
+}
diff --git a/sys-cluster/heat/heat-2019.2.9999.ebuild b/sys-cluster/heat/heat-2019.2.9999.ebuild
new file mode 100644
index 000000000000..e2d5eb4e2b2a
--- /dev/null
+++ b/sys-cluster/heat/heat-2019.2.9999.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchestration engine."
+HOMEPAGE="https://launchpad.net/heat"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.train -> heat.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/heat.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.train -> heat.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.20.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-blazarclient-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-octaviaclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zunclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.3[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+ rm -r "${ED}"/usr/etc
+}
diff --git a/sys-cluster/kube-apiserver/Manifest b/sys-cluster/kube-apiserver/Manifest
index 647686306cf7..d4432d98ffed 100644
--- a/sys-cluster/kube-apiserver/Manifest
+++ b/sys-cluster/kube-apiserver/Manifest
@@ -2,9 +2,11 @@ AUX kube-apiserver.confd 116 BLAKE2B 2cf2dff516674ba4dc0763985a070b75e23f9af51e7
AUX kube-apiserver.initd 541 BLAKE2B ddddc86735a9f90a0c232f2631ac21c028045783c737d041a808fb5012522844614a40059524c472b9b50fd077253b75e2bcf33d69518d71428fcb7e27143fba SHA512 2863ad6d1d238b5e9557874cd3f5413108ed9424604cf026e2fd8c2fd66ba867ca9a3d98f67fdac54f335bacddf0479547b28f71aaa1db6580beff49290de110
AUX kube-apiserver.logrotated 88 BLAKE2B e58f3f108f5f7dbbadacfcc1b401567ce79d511a4623f85f01830c5e40d4ad4e44fe0b3f90d4143042d82bd83b0a2b11517e89037755ef2ad7afeeb23401bb60 SHA512 1a4bcd54dafaedc614e34bbadc2a1163f003b5925d47552fb2c47049c033c147e612171e263d9659d189fc2d95688a0b7153322d8dba97c083c079fdef6c400e
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kube-apiserver-1.14.7.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
-EBUILD kube-apiserver-1.15.4.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
-EBUILD kube-apiserver-1.16.0.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
+EBUILD kube-apiserver-1.14.8.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
+EBUILD kube-apiserver-1.15.5.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
+EBUILD kube-apiserver-1.16.2.ebuild 1242 BLAKE2B 2b677d886d177f9a44759f0aff6529bb91fc95b9821b37b8f7c48fc71232a5cc8cc4a134299011e34273e1f9cfeea7516a343cddb0776cfb645f13162ac3b334 SHA512 32112ce3b97667ca5563a93c88723a159be8ae8657b2dcb2435470f25857b368e238aa689bb2ce76b3da61a27cab9dc84a78fea9945b4c56373a0e530e7633e5
MISC metadata.xml 331 BLAKE2B 0b26ad99c73f232971b31913e935ae852ff738c4a931d0cae848ab454aa44bab3b24f467ae527313af2d8f598bd1d5fd9a89027954df5146f1be0affb8893cce SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.15.4.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.14.8.ebuild
index a1931590ff31..a1931590ff31 100644
--- a/sys-cluster/kube-apiserver/kube-apiserver-1.15.4.ebuild
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.14.8.ebuild
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.16.0.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.15.5.ebuild
index a1931590ff31..a1931590ff31 100644
--- a/sys-cluster/kube-apiserver/kube-apiserver-1.16.0.ebuild
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.15.5.ebuild
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.16.2.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.16.2.ebuild
new file mode 100644
index 000000000000..a1931590ff31
--- /dev/null
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.16.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes API server"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata
+ >=dev-lang/go-1.11"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-controller-manager/Manifest b/sys-cluster/kube-controller-manager/Manifest
index 9707b6d2980e..c4c327e45420 100644
--- a/sys-cluster/kube-controller-manager/Manifest
+++ b/sys-cluster/kube-controller-manager/Manifest
@@ -2,9 +2,11 @@ AUX kube-controller-manager.confd 142 BLAKE2B d8d35c62bf5c04cc3f440e8b5fb8acab2c
AUX kube-controller-manager.initd 566 BLAKE2B c632b9bc357aead53a2c181af50201b544f214921672e60fffa2d6f77dbeb1912b3d1d138f867d8118cef5ae0843b75d3859ebfc71a4defc2b4cf66426a58101 SHA512 7e3baab9b034e7048ed3cda8d09444c76369874cecc0a747fb5484c482fef464adb5ccc25fcb4481fb4aff68415a60462f6cbee2138810316f0cf822637676c1
AUX kube-controller-manager.logrotated 97 BLAKE2B 00827bf3c3c68c978dc30839318dcdd9ca73e64a38d377168cca75de4764dbd303cdae35fe2c5f6ddded23c7c72976d274e1def66f48a81548e0561411879984 SHA512 e00cd9297d8ac75fcd504a2bfb80d5c5e145e7d475dd15edf9361dc28721afdc069c5b6e79438b75a774e972028841a17e8f7842dcfb3d7835c436a3e503704c
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kube-controller-manager-1.14.7.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
-EBUILD kube-controller-manager-1.15.4.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
-EBUILD kube-controller-manager-1.16.0.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
+EBUILD kube-controller-manager-1.14.8.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
+EBUILD kube-controller-manager-1.15.5.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
+EBUILD kube-controller-manager-1.16.2.ebuild 1250 BLAKE2B 367bbaa1890d0aea1d27b2768a7795b5669f6940f1f9c2c13928d6258df44130a87b98947836d8eccc3a33100075f022a249460cfd4b44b0655d39d942f67aa2 SHA512 b0c76c72a65347b41057f5e77c681a4d2692d94adcbf6a565e2c65bd2a32ed441a920abacaa53f29a91378a3467a09ec5d5e58de47bfc6902af7c1411fd3dca7
MISC metadata.xml 331 BLAKE2B 0b26ad99c73f232971b31913e935ae852ff738c4a931d0cae848ab454aa44bab3b24f467ae527313af2d8f598bd1d5fd9a89027954df5146f1be0affb8893cce SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.15.4.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.14.8.ebuild
index 6aa71f51b8b1..6aa71f51b8b1 100644
--- a/sys-cluster/kube-controller-manager/kube-controller-manager-1.15.4.ebuild
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.14.8.ebuild
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.16.0.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.15.5.ebuild
index 6aa71f51b8b1..6aa71f51b8b1 100644
--- a/sys-cluster/kube-controller-manager/kube-controller-manager-1.16.0.ebuild
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.15.5.ebuild
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.16.2.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.16.2.ebuild
new file mode 100644
index 000000000000..6aa71f51b8b1
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.16.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata
+ >=dev-lang/go-1.11"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-proxy/Manifest b/sys-cluster/kube-proxy/Manifest
index 60e54e20a442..16fe47314e9f 100644
--- a/sys-cluster/kube-proxy/Manifest
+++ b/sys-cluster/kube-proxy/Manifest
@@ -2,9 +2,11 @@ AUX kube-proxy.confd 53 BLAKE2B 0cd5fc844dc21f63786ef21d972210ac02ea55165b05cef8
AUX kube-proxy.initd 507 BLAKE2B 96697ce13e03c0a541bd8e7a3dc28a1c5647067d3bffe464d672d00ecf5b5fffd349a6affcd8ae3ea0ba06160be72f31cfa2d918c01050e83640fb9956917dc0 SHA512 088d91cd77e614f7857d65496f5b6d486741a8e3358b3e13bcd4203d35a76fa3aa390f658065e2826145525b6e83fcd33f8365a873e99b522f3ab7e8615ed364
AUX kube-proxy.logrotated 84 BLAKE2B d1a37cac3891f131b605edfe569ed545445d6993528059b11b4a8d20d0c958abbab8d7c6acfc7a9e0f17c64ac7f19ef2b4954ff475bededf406e718d04261d59 SHA512 7842a4585aaf9b7be0fac89dca58874354453fc6f17f00223c04aad2211217531ae6a942424a8a112808dcf9e52a499c4879730e435d2ad08931516c66d5441d
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kube-proxy-1.14.7.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
-EBUILD kube-proxy-1.15.4.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
-EBUILD kube-proxy-1.16.0.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
+EBUILD kube-proxy-1.14.8.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
+EBUILD kube-proxy-1.15.5.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
+EBUILD kube-proxy-1.16.2.ebuild 1194 BLAKE2B 0a479cb4eadeb456fb57064548556eec0c91c549a215b4044d0efe4cfb84c8824334e024a1130277a8a7dc3c817e1928495a01594577e7ca6f39286222bbe453 SHA512 8034a9eebac25ab13cad932623c3a672a3b89a0e004f87cc14328e05d30ea9d5a4cb0bdf3fe15e65d698082da14ec9f77b81df9536c976950286f97c9e598a6f
MISC metadata.xml 331 BLAKE2B 0b26ad99c73f232971b31913e935ae852ff738c4a931d0cae848ab454aa44bab3b24f467ae527313af2d8f598bd1d5fd9a89027954df5146f1be0affb8893cce SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.15.4.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.14.8.ebuild
index f519690e8b2f..f519690e8b2f 100644
--- a/sys-cluster/kube-proxy/kube-proxy-1.15.4.ebuild
+++ b/sys-cluster/kube-proxy/kube-proxy-1.14.8.ebuild
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.16.0.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.15.5.ebuild
index f519690e8b2f..f519690e8b2f 100644
--- a/sys-cluster/kube-proxy/kube-proxy-1.16.0.ebuild
+++ b/sys-cluster/kube-proxy/kube-proxy-1.15.5.ebuild
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.16.2.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.16.2.ebuild
new file mode 100644
index 000000000000..f519690e8b2f
--- /dev/null
+++ b/sys-cluster/kube-proxy/kube-proxy-1.16.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Proxy service"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata
+ >=dev-lang/go-1.11"
+
+RDEPEND="net-firewall/conntrack-tools"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN} /var/lib/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-scheduler/Manifest b/sys-cluster/kube-scheduler/Manifest
index 1f9fff31bb2a..4fdb13f4654b 100644
--- a/sys-cluster/kube-scheduler/Manifest
+++ b/sys-cluster/kube-scheduler/Manifest
@@ -2,9 +2,11 @@ AUX kube-scheduler.confd 133 BLAKE2B 6b88dfc011173f183a88a16d078cbb5d96d46c26912
AUX kube-scheduler.initd 548 BLAKE2B dd9373f659b87fcf12dca20527aebdb304a60ec559fd9fb9efcd0db8b3c155fdba2ce8a59461cd15ed3b4294cc5b335093e12d2b8411e400927e1307b37bc6d8 SHA512 151ea6f5cc36de9b83f0e5365579e33eea8002f9a03f5f61d195a349236e6baf192f701d3fb591b769aa90e8e1e620d525b20c95a1e8cda58d062971d8f587a3
AUX kube-scheduler.logrotated 88 BLAKE2B af29a5ba84cb29787b17368105c793868a2e61a28e9a5b02361cf4833982d4489364bd1291faa136df275988f02ce78c7b785c9209a54aec5eea6180b9041da0 SHA512 3692da349dd6ed0f5acc09d7b95ac562ffecb103e2270bebdfe4a7808d48dada9d2debff262d85b11c47f9ca3f0c20000712d03629ed813ff08a3e02d69267e6
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kube-scheduler-1.14.7.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
-EBUILD kube-scheduler-1.15.4.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
-EBUILD kube-scheduler-1.16.0.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
+EBUILD kube-scheduler-1.14.8.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
+EBUILD kube-scheduler-1.15.5.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
+EBUILD kube-scheduler-1.16.2.ebuild 1241 BLAKE2B 451442dcde047db8034591661d7187a8245f3aa0fee715d9bfab9144c6907f50a1bf0456b2776de157a2a1b94a9bfd9bac58837c200ae65a5c741dfe5c29e212 SHA512 9287cc5ce8688e053fab20a9c53412cf53df57c48b27b026f74b5ddba6097f21210dcca7fab9ce4f45839341f41204c1f313ab2317762d651c3195c3499b3274
MISC metadata.xml 331 BLAKE2B 0b26ad99c73f232971b31913e935ae852ff738c4a931d0cae848ab454aa44bab3b24f467ae527313af2d8f598bd1d5fd9a89027954df5146f1be0affb8893cce SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.15.4.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.14.8.ebuild
index 2830ac40ff36..2830ac40ff36 100644
--- a/sys-cluster/kube-scheduler/kube-scheduler-1.15.4.ebuild
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.14.8.ebuild
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.16.0.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.15.5.ebuild
index 2830ac40ff36..2830ac40ff36 100644
--- a/sys-cluster/kube-scheduler/kube-scheduler-1.16.0.ebuild
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.15.5.ebuild
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.16.2.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.16.2.ebuild
new file mode 100644
index 000000000000..2830ac40ff36
--- /dev/null
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.16.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Scheduler"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata
+ >=dev-lang/go-1.11"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kubeadm/Manifest b/sys-cluster/kubeadm/Manifest
index 8af30a76012c..0c714066d784 100644
--- a/sys-cluster/kubeadm/Manifest
+++ b/sys-cluster/kubeadm/Manifest
@@ -1,8 +1,10 @@
AUX kubeadm-1.14-openrc.patch 3523 BLAKE2B bbcc45a82984afe2a8ab567ce1319b6c14c84eade26aba21393ba6fe44de35b654000468e15fd44e49da329c85cd4d3dac3fe643d8c83183ab126edaf4a5f4c9 SHA512 8aec0a1cda24fcd7001e34ff6163aee7eaf679dea953068b58df3578c016f70e1406903e032a51519bc16ac0dbe583159d1cf4d504adbb2930d811cc2f762cfe
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kubeadm-1.14.7.ebuild 1346 BLAKE2B 5577bf77097cda800fa952f89ef6dc1f64748100e92b6b0f2b16cc9320ac41b629c5dcbb1d06c2ce5e7a4a65b6ee4e7ac29cfb9f5c08323a3b6acc201828968c SHA512 5c45b4ea190d63afb399e6c676de353d93212936cad1d7e8d22e9a103037f107bf4402430c6d67366aa8616cd2b28f79af8397df80248a3db7ae179d18fdfc6b
-EBUILD kubeadm-1.15.4.ebuild 1259 BLAKE2B c457240648b86a60b75e27b277caba17f98ab8488eebf619b36215a9b785da856cec30b926bdd4ed877886e985789304dd12e1325eb31beb0c82a9c08036ef08 SHA512 7123e4fda317531803d885a0593a5f00a8671321ea87984f4572b059735304552d66e61d0394338759b8c107ca9d7556b009eb088cdccda869ed31a2830abc4e
-EBUILD kubeadm-1.16.0.ebuild 1259 BLAKE2B c457240648b86a60b75e27b277caba17f98ab8488eebf619b36215a9b785da856cec30b926bdd4ed877886e985789304dd12e1325eb31beb0c82a9c08036ef08 SHA512 7123e4fda317531803d885a0593a5f00a8671321ea87984f4572b059735304552d66e61d0394338759b8c107ca9d7556b009eb088cdccda869ed31a2830abc4e
+EBUILD kubeadm-1.14.8.ebuild 1346 BLAKE2B 5577bf77097cda800fa952f89ef6dc1f64748100e92b6b0f2b16cc9320ac41b629c5dcbb1d06c2ce5e7a4a65b6ee4e7ac29cfb9f5c08323a3b6acc201828968c SHA512 5c45b4ea190d63afb399e6c676de353d93212936cad1d7e8d22e9a103037f107bf4402430c6d67366aa8616cd2b28f79af8397df80248a3db7ae179d18fdfc6b
+EBUILD kubeadm-1.15.5.ebuild 1259 BLAKE2B c457240648b86a60b75e27b277caba17f98ab8488eebf619b36215a9b785da856cec30b926bdd4ed877886e985789304dd12e1325eb31beb0c82a9c08036ef08 SHA512 7123e4fda317531803d885a0593a5f00a8671321ea87984f4572b059735304552d66e61d0394338759b8c107ca9d7556b009eb088cdccda869ed31a2830abc4e
+EBUILD kubeadm-1.16.2.ebuild 1259 BLAKE2B c457240648b86a60b75e27b277caba17f98ab8488eebf619b36215a9b785da856cec30b926bdd4ed877886e985789304dd12e1325eb31beb0c82a9c08036ef08 SHA512 7123e4fda317531803d885a0593a5f00a8671321ea87984f4572b059735304552d66e61d0394338759b8c107ca9d7556b009eb088cdccda869ed31a2830abc4e
MISC metadata.xml 1128 BLAKE2B b5ad31ef126f2d95646a37c256b82d2ad5e008968f928fb56b05c39514d4a9e0a252ebcefbeac8679f5349acac170886859af44f095aafea97fc8bf00a34bc44 SHA512 b9246624712068cf304fc5329ae851c26d52204b684b5f547892b23e68948b04b4ed4654a49d7bb5fe7eea658b58fbdbbe51a7a9ba1f4a94c5d0499a033b7f5a
diff --git a/sys-cluster/kubeadm/kubeadm-1.14.8.ebuild b/sys-cluster/kubeadm/kubeadm-1.14.8.ebuild
new file mode 100644
index 000000000000..763c3838067b
--- /dev/null
+++ b/sys-cluster/kubeadm/kubeadm-1.14.8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot bash-completion-r1
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="CLI to Easily bootstrap a secure Kubernetes cluster"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.12
+ dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+ pushd src/${EGO_PN} || die
+ eapply "${FILESDIR}/${PN}-1.14-openrc.patch"
+ popd || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+ pushd src/${EGO_PN} || die
+ _output/bin/${PN} completion bash > ${PN}.bash || die
+ _output/bin/${PN} completion zsh > ${PN}.zsh || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+
+ newbashcomp ${PN}.bash ${PN}
+ insinto /usr/share/zsh/site-functions
+ newins ${PN}.zsh _${PN}
+
+ popd || die
+}
diff --git a/sys-cluster/kubeadm/kubeadm-1.15.4.ebuild b/sys-cluster/kubeadm/kubeadm-1.15.5.ebuild
index ffd3646b62e1..ffd3646b62e1 100644
--- a/sys-cluster/kubeadm/kubeadm-1.15.4.ebuild
+++ b/sys-cluster/kubeadm/kubeadm-1.15.5.ebuild
diff --git a/sys-cluster/kubeadm/kubeadm-1.16.0.ebuild b/sys-cluster/kubeadm/kubeadm-1.16.2.ebuild
index ffd3646b62e1..ffd3646b62e1 100644
--- a/sys-cluster/kubeadm/kubeadm-1.16.0.ebuild
+++ b/sys-cluster/kubeadm/kubeadm-1.16.2.ebuild
diff --git a/sys-cluster/kubectl/Manifest b/sys-cluster/kubectl/Manifest
index 79db88119eb4..11744f262886 100644
--- a/sys-cluster/kubectl/Manifest
+++ b/sys-cluster/kubectl/Manifest
@@ -1,13 +1,9 @@
-DIST kubernetes-1.13.10.tar.gz 28887744 BLAKE2B 3d3e5d487c475a9cc648874f2e9b4c0012f5e2af50ec4be2cc7457ad7f36d61bc034686af4be88b32f5c46948ec20010d4bafe3492d2a5148f6e361355a8d0c2 SHA512 599dd3536b42ea469d8e021efdd52ed30b03dd4425acbe27a6eb730d81ca33dfe56167ca07c6b6ee4f988b46dab908419adce20d58368af5288f773d7e1f39d0
-DIST kubernetes-1.14.6.tar.gz 28077478 BLAKE2B 8d4d3904b465e97822695f51b0b0becdd55bd623147a2af6bfd5429971dc300a87ee59f45e105909170e41c4dbed1db56bb7d17441a561fbfe03914cbed796f9 SHA512 b6ea20955d15d9980154f1c4a5d9a3153702632cfbd18d3e727daee7307465c0d4694b9a0c20a405fbe491c130dae7bfa23b1459c2733a7239918bbca531076f
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.3.tar.gz 26635140 BLAKE2B 3189d1e79c47bd5e656972c9e2944a41b827f601e43d397fd2b1ea3f20b65acd80105556607a7699cacf8e0c819d2e09dd35e0283003c22972f4aeb83822ae98 SHA512 b4c3f65f7ae6c9b3e1bb8efd5182a0c922e372c0b8db77b71cd52025c7a00f592ad450c042d78b1d54b716c328c0b291296b36c102579a416b9cd8dda1be8ad2
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
-EBUILD kubectl-1.13.10.ebuild 1254 BLAKE2B 2743900120a1056c1a533a63144ffb2c2f76efdc4bc9efed8689126396ce83a80f55b9c65cfeb20e859471c3cb6f8a60d6c0c7e61a0bbcfb059858b72caa45a1 SHA512 b5d88e62e375cf74e1ffac496f5a931fe2df7fd119618cb0e0f6e062940a1f566cff14dcd74d27f0455b303b309de2f184a960a66d2e5e8b0f72572a6b699ce1
-EBUILD kubectl-1.14.6.ebuild 1255 BLAKE2B ac9e05e1da4524183f369898e5e4e492e43f8c17b1e2ebf71c7594cf7a55bbfcb5a4d19a8fd855e760028a722c0832c0e60299e97748c7bff599202e8e0d83e0 SHA512 25390c464c6b280185b525bb3a978e8e80b8309a174746603889627e18f9d564548a42a39600eac8ac39d4952c4ffc3e52add133061a9e4a4afcfe7d936184e3
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kubectl-1.14.7.ebuild 1254 BLAKE2B 3184f7cccfcc48fa97f23af40cdc5fbf6903741a78c1c1936e8aa1915b0e7d1f4ad8e263769eda8093a0b9cc2224c4992c201e5df0b214d88235e605223e38a3 SHA512 4392b86b8ef111139cea7abf6017becd26b292e2f0b3c4b0bbdc124ba5308752c4935049e7cf0cab76ca8d41b74bfc51eb35a72e1ac3010ddc9d9d9e4bdf1d78
-EBUILD kubectl-1.15.3.ebuild 1287 BLAKE2B 7ad8382c1d26cf19add47a321d36002be4af02839058cede08914b060487537d3d96364a5230a9e24f2e6c8043ab0adb3f0e443ab310462507fe880fdf35998f SHA512 f2771b09d63bd9b4a5ff836d45dbc44d92c4de6915f008755cc9eed84f47901ed0d0b1ec250849261c6f6fb209fc0bfba0cb8c8a3244e761f5d07dcf00d294e6
-EBUILD kubectl-1.15.4.ebuild 1287 BLAKE2B 7ad8382c1d26cf19add47a321d36002be4af02839058cede08914b060487537d3d96364a5230a9e24f2e6c8043ab0adb3f0e443ab310462507fe880fdf35998f SHA512 f2771b09d63bd9b4a5ff836d45dbc44d92c4de6915f008755cc9eed84f47901ed0d0b1ec250849261c6f6fb209fc0bfba0cb8c8a3244e761f5d07dcf00d294e6
-EBUILD kubectl-1.16.0.ebuild 1287 BLAKE2B 7ad8382c1d26cf19add47a321d36002be4af02839058cede08914b060487537d3d96364a5230a9e24f2e6c8043ab0adb3f0e443ab310462507fe880fdf35998f SHA512 f2771b09d63bd9b4a5ff836d45dbc44d92c4de6915f008755cc9eed84f47901ed0d0b1ec250849261c6f6fb209fc0bfba0cb8c8a3244e761f5d07dcf00d294e6
+EBUILD kubectl-1.14.8.ebuild 1255 BLAKE2B ac9e05e1da4524183f369898e5e4e492e43f8c17b1e2ebf71c7594cf7a55bbfcb5a4d19a8fd855e760028a722c0832c0e60299e97748c7bff599202e8e0d83e0 SHA512 25390c464c6b280185b525bb3a978e8e80b8309a174746603889627e18f9d564548a42a39600eac8ac39d4952c4ffc3e52add133061a9e4a4afcfe7d936184e3
+EBUILD kubectl-1.15.5.ebuild 1287 BLAKE2B 7ad8382c1d26cf19add47a321d36002be4af02839058cede08914b060487537d3d96364a5230a9e24f2e6c8043ab0adb3f0e443ab310462507fe880fdf35998f SHA512 f2771b09d63bd9b4a5ff836d45dbc44d92c4de6915f008755cc9eed84f47901ed0d0b1ec250849261c6f6fb209fc0bfba0cb8c8a3244e761f5d07dcf00d294e6
+EBUILD kubectl-1.16.2.ebuild 1287 BLAKE2B 7ad8382c1d26cf19add47a321d36002be4af02839058cede08914b060487537d3d96364a5230a9e24f2e6c8043ab0adb3f0e443ab310462507fe880fdf35998f SHA512 f2771b09d63bd9b4a5ff836d45dbc44d92c4de6915f008755cc9eed84f47901ed0d0b1ec250849261c6f6fb209fc0bfba0cb8c8a3244e761f5d07dcf00d294e6
MISC metadata.xml 331 BLAKE2B 5af758a2aff067b1d7e94cb6d87a27fb96825c56490b5a4c7d9554cbb5057cf10b0dfb7d069f3edf8f7bcdce88b0f6b4286c4622c3cdcf5e5b283c75760f6a1d SHA512 d44cef89f9f902c706b0f9c0c4106bfd6ca094d64c273d0a13da53aec7ba2b238cd6ff489f13765e895ee4a6f2bb4638436839c7c60cce2ece3013fdc27232a4
diff --git a/sys-cluster/kubectl/kubectl-1.13.10.ebuild b/sys-cluster/kubectl/kubectl-1.13.10.ebuild
deleted file mode 100644
index 6f0d80ff6350..000000000000
--- a/sys-cluster/kubectl/kubectl-1.13.10.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-build golang-vcs-snapshot bash-completion-r1
-
-EGO_PN="k8s.io/kubernetes"
-ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
-KEYWORDS="amd64"
-
-DESCRIPTION="CLI to run commands against Kubernetes clusters"
-HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
-SRC_URI="${ARCHIVE_URI}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.11
- dev-go/go-bindata"
-
-RESTRICT="test"
-
-src_prepare() {
- default
- sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
- sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
-}
-
-src_compile() {
- LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
- pushd src/${EGO_PN} || die
- _output/bin/${PN} completion bash > ${PN}.bash || die
- _output/bin/${PN} completion zsh > ${PN}.zsh || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin _output/bin/${PN}
-
- newbashcomp ${PN}.bash ${PN}
- insinto /usr/share/zsh/site-functions
- newins ${PN}.zsh _${PN}
-
- popd || die
-}
diff --git a/sys-cluster/kubectl/kubectl-1.14.6.ebuild b/sys-cluster/kubectl/kubectl-1.14.8.ebuild
index 7a61b25dce90..7a61b25dce90 100644
--- a/sys-cluster/kubectl/kubectl-1.14.6.ebuild
+++ b/sys-cluster/kubectl/kubectl-1.14.8.ebuild
diff --git a/sys-cluster/kubectl/kubectl-1.15.3.ebuild b/sys-cluster/kubectl/kubectl-1.15.5.ebuild
index 2ab1aefbcfc3..2ab1aefbcfc3 100644
--- a/sys-cluster/kubectl/kubectl-1.15.3.ebuild
+++ b/sys-cluster/kubectl/kubectl-1.15.5.ebuild
diff --git a/sys-cluster/kubectl/kubectl-1.16.0.ebuild b/sys-cluster/kubectl/kubectl-1.16.0.ebuild
deleted file mode 100644
index 2ab1aefbcfc3..000000000000
--- a/sys-cluster/kubectl/kubectl-1.16.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-build golang-vcs-snapshot bash-completion-r1
-
-EGO_PN="k8s.io/kubernetes"
-ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
-KEYWORDS="~amd64"
-
-DESCRIPTION="CLI to run commands against Kubernetes clusters"
-HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
-SRC_URI="${ARCHIVE_URI}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.12
- dev-go/go-bindata"
-
-RESTRICT="test"
-
-src_prepare() {
- default
- sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
- sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
- rm src/${EGO_PN}/go.mod || die
-}
-
-src_compile() {
- LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
- pushd src/${EGO_PN} || die
- _output/bin/${PN} completion bash > ${PN}.bash || die
- _output/bin/${PN} completion zsh > ${PN}.zsh || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin _output/bin/${PN}
-
- newbashcomp ${PN}.bash ${PN}
- insinto /usr/share/zsh/site-functions
- newins ${PN}.zsh _${PN}
-
- popd || die
-}
diff --git a/sys-cluster/kubectl/kubectl-1.15.4.ebuild b/sys-cluster/kubectl/kubectl-1.16.2.ebuild
index 2ab1aefbcfc3..2ab1aefbcfc3 100644
--- a/sys-cluster/kubectl/kubectl-1.15.4.ebuild
+++ b/sys-cluster/kubectl/kubectl-1.16.2.ebuild
diff --git a/sys-cluster/kubelet/Manifest b/sys-cluster/kubelet/Manifest
index de89a258dbdf..4b46b92786f3 100644
--- a/sys-cluster/kubelet/Manifest
+++ b/sys-cluster/kubelet/Manifest
@@ -4,9 +4,11 @@ AUX kubelet.initd 520 BLAKE2B 50edf888fed020a02f099189f8a5bdde54a4bfa2a005854898
AUX kubelet.logrotated 84 BLAKE2B 269b78dfd4ef7d4dea37da9be9e4009cbf231dfaba83207ae89aae4f2e151a8b32e21b8d5e92229cccd7b7aa2676328d3d1a5fa80cadde65fe80a8cde10535d4 SHA512 05ce9ea16d2ddf8e255adb406556c37bc04dcfc457a132a78d31deaed78963f4e1f31555f781b706909c02815a04370d5c0e02614eb79d602b1cb827cf2471d5
AUX kubelet.service 642 BLAKE2B 9f0fa5db48c09c2525cbc556cd520660302408a43aceb6c11da3a191b4b21607e824e46d9805b12b57a0ac7878c7da94d0cb86c69cd949814c77bb217973c6f1 SHA512 770cadae6afb68f0556c7c5969643642bbf09b596ff49d969d31b8d9f0d8907d6931eb7fb14485c78a3f75682e44e2355c7e51973a0dfdd1e665816f04ba21ae
DIST kubernetes-1.14.7.tar.gz 28086210 BLAKE2B 5731ce2796f4d5178ec3ee01c340c48af88fdfc7330b53bf04933ff26c00be0092f55f7e8717e60415423f74369db465ab260ac7ff60a9787b76e085c0e07301 SHA512 cc5eb12c4337a72c234fcc1bc660fa8e6f95957b53c774e2dafa2974a2eb5f0b05532766bac8dfc2f45d1f683ed6de425978c71a633a5782843aebed192f0337
-DIST kubernetes-1.15.4.tar.gz 26643115 BLAKE2B 7fa68a2deae73d92526a65a0c70f697ec831e158417a607ab1884ade53c652123370e0fdfb13bc6804fc3fece03d2a29d3bd91fd27f767585f3ea05eec759b47 SHA512 046305e572b743c4eb59fd9ee05af197961d1a5b47cf88d30cbcbb9be4cc7dddc497738cd3700a4ff047deb8c0057d809b2c7b98fcf160657b94ae7b71ea3299
-DIST kubernetes-1.16.0.tar.gz 31159351 BLAKE2B e140a8bcbd753e29dfe4367c5a81578327239e72e51d1dd9402094c7482ba159a27ba5fb9df9825e5c7f3e428a6855c598670932f53d63845cf18fcdec6a0a54 SHA512 2019c15ea952b9dea7cb2a1ce6df0402f8addc9e5786413cc9a734923c0fa0256881e59b9a36f859cac9072c91754baf2ba235793296ec870e1aee5a64c4a097
+DIST kubernetes-1.14.8.tar.gz 28096873 BLAKE2B a75fc2443475c9edc67328dc8a2c1b258ca02e675f665e4ea570889e4be76d6f55bfe8ca376b305c482dd12c7a7e9f9f8a452b69277d055b277ab37d24f8abdd SHA512 c751d04f59336186a9556f066bbd4c410cfd9748c2fdffaf14936d734a52de5cc044414d3f4d1e005914564858ceaac0451fd2360f1b9d97847d6f8515c50378
+DIST kubernetes-1.15.5.tar.gz 26658547 BLAKE2B a1b97329c7e8b7b54b682cb9cf5c35181a83fe7434dd02b4fc8731cd0a7abe67154a1f04ddf9f2e2bfa28a4e1b3940ebac167dc066b88565a9f12d7011966978 SHA512 2fe035e9cbef19582b1b5e732bf8afff2113281e1d4802a531233c8f6f04cd1538a9b59bc7f4407c0c483d06a5339b02f234337e453533b3e5c016a65f53d6b0
+DIST kubernetes-1.16.2.tar.gz 31202049 BLAKE2B e7bb9330c233959702545207ce3061559ecae6283332eae9eb57d38654a0b7a447d85ca016a674cf72b253c816662bffe2e04cf298ce43d3e5dd26d722783ac1 SHA512 44c600f3e9af64f66d2403340137cd162bfcc1ed30d5d6ad440b77be403656f624a1390489680134a7742626d3eb0affa92ff3e17c02ba2df91f7a75655046a9
EBUILD kubelet-1.14.7.ebuild 1370 BLAKE2B 266582d9525e760a83c267cee55e51402121c8b70f5392cfb428eb47da7a5087a3d8c419f22ee8d1f17ff8471e610b0cb29605079118f64470b0b3ebc4198731 SHA512 8efbd5783cf009f22ee4687d20fb09ad495cd8cb65be297c168f47871ed1d7a945066ad49b114511987d97c6196dc30c58e774a9ddbee3d5b292807ec9abae3a
-EBUILD kubelet-1.15.4.ebuild 1371 BLAKE2B 7628789a9bbc7a6b93daf01a31b120b29782fdd342aab3614b0d6ef79f2adff1e1d49813122dfb6e57c851a9c515999c9f7afd16c0d9e32bef5666895442a8b9 SHA512 fddab15ad061f5601e817cded247683f05df0ecc5cab1955cc25112cf8f6e0e6cd4cc96315918256f8e270d7db3b25d616439cc3c0c770b54eda2b05fa1f738f
-EBUILD kubelet-1.16.0.ebuild 1371 BLAKE2B 7628789a9bbc7a6b93daf01a31b120b29782fdd342aab3614b0d6ef79f2adff1e1d49813122dfb6e57c851a9c515999c9f7afd16c0d9e32bef5666895442a8b9 SHA512 fddab15ad061f5601e817cded247683f05df0ecc5cab1955cc25112cf8f6e0e6cd4cc96315918256f8e270d7db3b25d616439cc3c0c770b54eda2b05fa1f738f
+EBUILD kubelet-1.14.8.ebuild 1371 BLAKE2B 7628789a9bbc7a6b93daf01a31b120b29782fdd342aab3614b0d6ef79f2adff1e1d49813122dfb6e57c851a9c515999c9f7afd16c0d9e32bef5666895442a8b9 SHA512 fddab15ad061f5601e817cded247683f05df0ecc5cab1955cc25112cf8f6e0e6cd4cc96315918256f8e270d7db3b25d616439cc3c0c770b54eda2b05fa1f738f
+EBUILD kubelet-1.15.5.ebuild 1371 BLAKE2B 7628789a9bbc7a6b93daf01a31b120b29782fdd342aab3614b0d6ef79f2adff1e1d49813122dfb6e57c851a9c515999c9f7afd16c0d9e32bef5666895442a8b9 SHA512 fddab15ad061f5601e817cded247683f05df0ecc5cab1955cc25112cf8f6e0e6cd4cc96315918256f8e270d7db3b25d616439cc3c0c770b54eda2b05fa1f738f
+EBUILD kubelet-1.16.2.ebuild 1371 BLAKE2B 7628789a9bbc7a6b93daf01a31b120b29782fdd342aab3614b0d6ef79f2adff1e1d49813122dfb6e57c851a9c515999c9f7afd16c0d9e32bef5666895442a8b9 SHA512 fddab15ad061f5601e817cded247683f05df0ecc5cab1955cc25112cf8f6e0e6cd4cc96315918256f8e270d7db3b25d616439cc3c0c770b54eda2b05fa1f738f
MISC metadata.xml 331 BLAKE2B 0b26ad99c73f232971b31913e935ae852ff738c4a931d0cae848ab454aa44bab3b24f467ae527313af2d8f598bd1d5fd9a89027954df5146f1be0affb8893cce SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68
diff --git a/sys-cluster/kubelet/kubelet-1.15.4.ebuild b/sys-cluster/kubelet/kubelet-1.14.8.ebuild
index f38ce59e625d..f38ce59e625d 100644
--- a/sys-cluster/kubelet/kubelet-1.15.4.ebuild
+++ b/sys-cluster/kubelet/kubelet-1.14.8.ebuild
diff --git a/sys-cluster/kubelet/kubelet-1.16.0.ebuild b/sys-cluster/kubelet/kubelet-1.15.5.ebuild
index f38ce59e625d..f38ce59e625d 100644
--- a/sys-cluster/kubelet/kubelet-1.16.0.ebuild
+++ b/sys-cluster/kubelet/kubelet-1.15.5.ebuild
diff --git a/sys-cluster/kubelet/kubelet-1.16.2.ebuild b/sys-cluster/kubelet/kubelet-1.16.2.ebuild
new file mode 100644
index 000000000000..f38ce59e625d
--- /dev/null
+++ b/sys-cluster/kubelet/kubelet-1.16.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot systemd
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Node Agent"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="hardened"
+
+DEPEND="dev-go/go-bindata
+ >=dev-lang/go-1.11"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" -e "s/-s -w/-w/" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} GOFLAGS=-v
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ insinto /etc/kubernetes
+ newins "${FILESDIR}"/${PN}.env ${PN}.env
+}
diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
index a004fe358ee3..90442e4a900e 100644
--- a/sys-cluster/neutron/Manifest
+++ b/sys-cluster/neutron/Manifest
@@ -8,16 +8,27 @@ AUX neutron.initd 530 BLAKE2B 48900bdde5770a0b0db90490d6ae8541dafc96e3fa2aa1c8d7
AUX neutron.sudoersd 117 BLAKE2B 30e903fd3d681b779ad7e4758b56bfd78df6165ae030f0a5017dccd1873570db450efd3e7b232f77d6d2e3fcb81cb64d9d44901802310ebe2d88f882d334acda SHA512 143f8a1faa7650bc66b2566d0bd62f71eb743231b9efc4c7df265e53d664418b23182e3f271b86845ed76c537b7f60157e87af59413cf659379f367924d14366
DIST neutron-13.0.4.tar.gz 10609216 BLAKE2B 4e9da9796d66ac5f9b7be98f29338a9191a12c93ff2d5dcb6f98358fe491262d4f874b4defbdbb572319d0226f2bf4ea21af485aec404a7c76d879139aa6483b SHA512 a8276fba604ed7c2a047cb3a9c16286d760b17191cd650b8bbc2153f49a68ac3a16edde35c6631f538807d463cbd91d4d722a081b373eca0f34d0883624c1bc6
DIST neutron-14.0.2.tar.gz 10734311 BLAKE2B fea60def53a82bddf0815701d0f4998a51acc1e8fea6c589761852605c3a30b0f9c31656dc251f53698fe633befe40eb6eb32225e1ea6412f71fc6550d3698b5 SHA512 ab58e0fdf501e279532b78f02326e56722a81a8baa0800e2c28bf2d46ef7d9f20fc4516a8b8f84f2738aaaef83997b096223d3abbc07c6f712ca4d4fd587c731
+DIST neutron-14.0.3.tar.gz 10747068 BLAKE2B 47cbb470408781ab98573c6f3398e1d42e8005be3cdfbe7e4dd26ec50924cbc2c073b0198e578c7de88f3859ec010373f426712d78efaa39c898e22802790c55 SHA512 f3a65d43c13d80715709f355926ecb712a9c18c579c1bbc7b05e4efd38cdef13305c3c2cc317437eebc648a57115a109ff32d54a0819322e78b74fb40412c1ae
+DIST neutron-15.0.0.tar.gz 10512007 BLAKE2B a0cbd9a9279daf89ac6c162063c1e1f706335a53c24d9cdc946be2f44c42fc62c4755ad0c8414b5c67c26c916656491e24dcf398c670588815155a498a0cee56 SHA512 911cddb5521b8f3758895f91f638f28adeda8e5b2154376dd99eb78e189f8fd77074fbec8b9805b75db7002a71442630380f0aa37cd8a2e3c13d38c10f9dbcef
DIST neutron-configs-13.0.4.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
DIST neutron-configs-14.0.2.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-14.0.3.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-15.0.0.tar.gz 23546 BLAKE2B df706681e63e4f36b54be33a6619da15d642803f40afe737bd31426f9b3643a6a032cb8bfcb95899d1e67b759155fd14bb45f41460cefdc7d9f91d3377a90d5d SHA512 ef4555be50dfb81a0558ed28eb917a1d0634d913a2b0b58deeae3132a0e3c61521074b21d195e51e348a08b55c21919b537ac3c7122f4d5524ead824642292fe
DIST neutron-configs-2018.2.9999.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
DIST neutron-configs-2019.1.9999.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-2019.2.9999.tar.gz 23546 BLAKE2B df706681e63e4f36b54be33a6619da15d642803f40afe737bd31426f9b3643a6a032cb8bfcb95899d1e67b759155fd14bb45f41460cefdc7d9f91d3377a90d5d SHA512 ef4555be50dfb81a0558ed28eb917a1d0634d913a2b0b58deeae3132a0e3c61521074b21d195e51e348a08b55c21919b537ac3c7122f4d5524ead824642292fe
DIST neutron-ml2-plugins-13.0.4.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
DIST neutron-ml2-plugins-14.0.2.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-14.0.3.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-15.0.0.tar.gz 8669 BLAKE2B 3c34a857c0e7dd4e5313f5f9a1bb22384aeae6d1e43e719c50eab8dc3e842e98f202eb12cbb788127603931292deeed802f0592bad232e6a05121939e3b26fe0 SHA512 0e6858425ee3d3e2233c8ebf19aa8e62b5ff849532a2fdceb953f384f3b33432137537afbb2878f23ec5eb57e185eda36a6d6ff71d8be5f32b43abcb5c186082
DIST neutron-ml2-plugins-2018.2.9999.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
DIST neutron-ml2-plugins-2019.1.9999.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-2019.2.9999.tar.gz 8669 BLAKE2B 3c34a857c0e7dd4e5313f5f9a1bb22384aeae6d1e43e719c50eab8dc3e842e98f202eb12cbb788127603931292deeed802f0592bad232e6a05121939e3b26fe0 SHA512 0e6858425ee3d3e2233c8ebf19aa8e62b5ff849532a2fdceb953f384f3b33432137537afbb2878f23ec5eb57e185eda36a6d6ff71d8be5f32b43abcb5c186082
EBUILD neutron-13.0.4.ebuild 8347 BLAKE2B 329f7e858f922aaf211dcd925fefcbd61418f5198d63b644a109634765aef14142b99cd68e7a8436eba730078ae0f21179819b121c020ecd3d2d7e743ae305a5 SHA512 57d8d5f18f1d45d23418f4599770fb35b757c4ca1e584d559e64d839308a9d71928db37a7276abf074294718b54c83f7e485d6c88978ec7f2bf26de29aacb46a
EBUILD neutron-14.0.2.ebuild 8388 BLAKE2B 3716d11d139f7ecee31b49009e07f2b5219c6a953a83a375d933aa6fb67c961a697341cdbe13da38bf09819607eafd07e3df6a106e41cfa1eccd38fc209a30c1 SHA512 42759d4cb73245f0fd5ce6a75d8c659e06eb552dc58b7c1723ebc37a1e49f56e74dce78e0b74d5befa8dae0389ed5b089e1c9c4bae5eeeb4025ab5daf12c3fa2
+EBUILD neutron-14.0.3.ebuild 8390 BLAKE2B bcebc5151fa3acece8a94a35a25ee7cac43bc07a1bc23bb1aae30cbd6fc1200ea3d72667cb07f2ba1a3b71499c6c96ff877e69055c17ec7fd7cdf16851147e1b SHA512 02719097608bee0047a392f0a01df294b7a3dbcee9366d1e1a9356748c91be05bdc5eabd5abdd8cc54547fa696d854984f4abd99640271042ed84a7af4c1dc98
+EBUILD neutron-15.0.0.ebuild 8537 BLAKE2B 24b377e69afcb69349d7ec540c865db6067a378c2ee9c7f030a1ed72ab6fb1560f335716eee0db53bb7f357db473378698a5dfcf422d0e7b8746436d58aa427b SHA512 641a48216feabc2601d5f1a1bf21a78a67fc55243f88f29ebff0980deaedc1737564ffa493288790e4f487d792a8042bf10485676fc22a8751e6f0598c56f398
EBUILD neutron-2018.2.9999.ebuild 8350 BLAKE2B 40303975455b8e20a9b55d228b0653104ddaa8f1a20000188d86da895af95c7030b3931b1d71c3038235cac8efd37dfe547ee8da0a57611fedc2de743f388a96 SHA512 c9240d19364c27113ec1e63893f86c2a5df66af5e5610becf53d6366868ebe6777d20f4324905a5a502cfe224dd05a3820255b016b1cbdd3b30ac8678092e224
EBUILD neutron-2019.1.9999.ebuild 8391 BLAKE2B 6182fa27064f390f6dc459d7a0d6b926ff1e1ad43d380e654e6ef5ed63fa91e130bed6fdc93a815e0c7eca598848a61596766e9fedca44439a2b99b589757224 SHA512 56d78135fed5fbbd23c789ce9037bcaa805ab42da39492dc2d41b5256d1f7139db92f119ab6c03b74a898e18a5e20ba8295ca54b17fcf2629d8f8ca06bb4777b
+EBUILD neutron-2019.2.9999.ebuild 8537 BLAKE2B 24b377e69afcb69349d7ec540c865db6067a378c2ee9c7f030a1ed72ab6fb1560f335716eee0db53bb7f357db473378698a5dfcf422d0e7b8746436d58aa427b SHA512 641a48216feabc2601d5f1a1bf21a78a67fc55243f88f29ebff0980deaedc1737564ffa493288790e4f487d792a8042bf10485676fc22a8751e6f0598c56f398
MISC metadata.xml 1619 BLAKE2B 462b212e519778c98632ec3230e5f0d1a006a229edef034ed0d462559cb0c1763dafb997198241cca4f9c7cb056ebada214c82745dce35b269c2c27d554145a4 SHA512 8f9075719eeec3c3a939e8a1b05a5604bc1e801b227feb5775bfa9f2812e67c41165dc0b2b377685645d9fd9988523356ac77a8db8e73139ab3f035ae59b70ce
diff --git a/sys-cluster/neutron/neutron-14.0.3.ebuild b/sys-cluster/neutron/neutron-14.0.3.ebuild
new file mode 100644
index 000000000000..7993274f2a78
--- /dev/null
+++ b/sys-cluster/neutron/neutron-14.0.3.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/stein"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ haproxy? ( net-proxy/haproxy )
+ openvswitch? ( net-misc/openvswitch )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ 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
+}
+
+pkg_setup() {
+ 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() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ 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
+ 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"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-15.0.0.ebuild b/sys-cluster/neutron/neutron-15.0.0.ebuild
new file mode 100644
index 000000000000..db6f89678c2c
--- /dev/null
+++ b/sys-cluster/neutron/neutron-15.0.0.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite +mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.29.1[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ haproxy? ( net-proxy/haproxy )
+ openvswitch? ( net-misc/openvswitch )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ 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
+}
+
+pkg_setup() {
+ 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() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ 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
+ 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"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-2019.2.9999.ebuild b/sys-cluster/neutron/neutron-2019.2.9999.ebuild
new file mode 100644
index 000000000000..db6f89678c2c
--- /dev/null
+++ b/sys-cluster/neutron/neutron-2019.2.9999.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite +mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.29.1[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ haproxy? ( net-proxy/haproxy )
+ openvswitch? ( net-misc/openvswitch )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ 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
+}
+
+pkg_setup() {
+ 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() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ 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
+ 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"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
index d5a54ea98a8d..bc09076b62a5 100644
--- a/sys-cluster/nova/Manifest
+++ b/sys-cluster/nova/Manifest
@@ -7,16 +7,21 @@ DIST nova-18.2.2.tar.gz 11441554 BLAKE2B 7d92017bbf6370bf99358e5992aaf7f1a667d74
DIST nova-18.2.3.tar.gz 11450952 BLAKE2B 1e0b0afefe8281ab9024394194697d3aea81169da7a003a07890dfc11bd38511d39315152dab1b9a1d17b2d1c8109102112b245957e727d053de7fd67ad0c757 SHA512 1dcb3fa2ea80afcd5739efad01f3d65723a754fc8d79639e54cd3fbd6e4e4125593799a123b4572c63f8c074a10c244d91814f15d2c7135066d55cd2a991f7fc
DIST nova-19.0.2.tar.gz 11629406 BLAKE2B 026c123fc8ac98b6852a5fc8dfdeac7b46c913064e23723c4d322350d121dc2fb8258e24336eadab75f3da31cbac33e57ec2bb5d5e7bac0107dafb05420f21fb SHA512 a9bbdda3433a0f503029cc00a05d002088f3a8ac974c2775bfd77b0145ad2d4b76c07cacda3f21b40e5b2f1658718004b3bc5c276d2c8f9a10a52c10b8a7f9e3
DIST nova-19.0.3.tar.gz 11646820 BLAKE2B 31aa6ef44609f5698f24168fc79cd9c6d5dd2c5b0da5eed277ccd8d1aa4ee7d6a07a1318bd7f964dd141dbca8f0297a2d677ad2fdf949fcc7a72970d099197e9 SHA512 4869d705c165a909e13b27ac383b7be52f9d5925fbe9d8779f773d0b1ce87b6ae7642c4551e01f57c24221e6fe120a3e2b5de41d73dfdcd73f82252b48a2af39
+DIST nova-20.0.0.tar.gz 11585568 BLAKE2B 950fe23bfae72f9c960ef8f3929c077293fdf55f9e0400e6567643c418df648495223d0ac7f736d6c64c2c44f88939d689a6069a4ddf78705c11d250022c8211 SHA512 8d1a961a4ec4e2567de6b16d35fa008472759d4e3d29d06927b1bd23e928478bf40f90619c950e70f38203f75eec7b024c7336bab24a7dad4892ce5111fb1f37
DIST nova.conf.sample-18.2.2 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
DIST nova.conf.sample-18.2.3 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
DIST nova.conf.sample-19.0.2 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
DIST nova.conf.sample-19.0.3 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
+DIST nova.conf.sample-20.0.0 220110 BLAKE2B af98687c895ee091cc2e8d668eb50b52cc94618081f8a50b544faebed29b2b3a5dfa38309da70dcc6d0083792605b810081b50c15a6c960947e0c782f25717ab SHA512 cc6cce95943b06d60dfc1f85b87d527662eeb57388dca4a6037078b517302b86fd7f752c6e9e43c59c10be83ac5955f21c08284bbc946ffe2171f5bfa6edff38
DIST nova.conf.sample-2018.2.9999 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
DIST nova.conf.sample-2019.1.9999 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
+DIST nova.conf.sample-2019.2.9999 220110 BLAKE2B af98687c895ee091cc2e8d668eb50b52cc94618081f8a50b544faebed29b2b3a5dfa38309da70dcc6d0083792605b810081b50c15a6c960947e0c782f25717ab SHA512 cc6cce95943b06d60dfc1f85b87d527662eeb57388dca4a6037078b517302b86fd7f752c6e9e43c59c10be83ac5955f21c08284bbc946ffe2171f5bfa6edff38
EBUILD nova-18.2.2.ebuild 9493 BLAKE2B 1b9ec29a2a6ff3eb43933d2871d5c7c2caec586cbd2e15df1b79e98a39e852de164b43647c1c00ff2a3557d39c6b697686bee3a3c53a9201a8b0726e88406356 SHA512 fbb3e4561c7b5ff86da1216ad3ab9e891da0564ce77b290d1abeec910a13738da14b46caf902ddf388513f835e15dd0774811ec885ba6b919894db349c9a7b57
EBUILD nova-18.2.3.ebuild 9495 BLAKE2B 633aee31386dc637e9123e0c5b81f800b62a63dfef15f04e67c31be91f941181421bc9cfeaeb334b99a5d65649d04b4125029807e6db6d56bd7bd1cf2e3690a8 SHA512 a7c54a76052c62bd65782e62daedbb61b57de0aa12049b3d399b8a1c5c780ba3afb3b1b92a15e7e9b49f97a9b00eab348264db4b9afff18eaa714535022ce724
EBUILD nova-19.0.2.ebuild 9582 BLAKE2B 285306242428951b117928d492e8babe5786e03e4065e8556395c7cf67afaea3c10d04acc6cb74907a23aa44535b4c8661635dafe0727ade47fdae1359395a38 SHA512 9d61543f6809972a18843d122a3c098f956f27f1954e179fb0bbe235c974bc01c255c400563b4c21d4ffcb991174792548991c402aebedb76851d05cb9c15486
EBUILD nova-19.0.3.ebuild 9584 BLAKE2B 1a7eea28b4e868740a02a5882e55f88ff401011e2fbf376b2204369c604fd7a212d4f1b26b7e8a1b15e5935f9cf188a4c1c196ecf9419f1d3fa54979c1cb8806 SHA512 a8a8182045b8f399d2b0fc1cb278f6490eb4c2656803433e80650bbd039fb8ce084d3de8d130d0fbd7e39164258d1af28524038c0ddf5b5e26275ed4e50b0b70
+EBUILD nova-20.0.0.ebuild 7910 BLAKE2B bd87a12c33c67dcf08318ea0db235150ed3594018a5e2e18c05c17e789f44fc67c8714ee0bd541390c6bf2ec5877fb520b01ad73a4e4755e240522c40354133c SHA512 116e616c76ffadb59df78d5dae314daaf77b52494a616b5ec1104cc35fff78fe80cb020d64341b1a2f20a81e526a2a54f3921021c99bcb1384a69ede007450c3
EBUILD nova-2018.2.9999.ebuild 9496 BLAKE2B c962c25fe0107327d30eb0fde3163e4722763db4e2b3b0ff0250f9dbee071807db7a5dd9404e4425d758cb6408efafa571f79fa50cd0756355ca6754513668e6 SHA512 62756e826de4bed6fa6d185e92defe459e9e32ca53b7b860c882896e0dd306d04918cd932c25311d0700ccefc3effb16e5fadcc4e17d7e2074088d90e3f49734
EBUILD nova-2019.1.9999.ebuild 9354 BLAKE2B 92302f07eb36bcf62aaefaa51cec5795692823fa886978c70bbbcae000fa46f6b4baeb355831fa58bc8a9bd8fd57fe4dde23c7d50a250d6492c080929979c375 SHA512 cca0284a3e11f5b4509bc755e1390aa383809d8acb7baaa40345d41d09da9222ac7aa968fe14fa95528268410a1bc5f474c3acc7145256709109a4c26278ebd4
+EBUILD nova-2019.2.9999.ebuild 7910 BLAKE2B bd87a12c33c67dcf08318ea0db235150ed3594018a5e2e18c05c17e789f44fc67c8714ee0bd541390c6bf2ec5877fb520b01ad73a4e4755e240522c40354133c SHA512 116e616c76ffadb59df78d5dae314daaf77b52494a616b5ec1104cc35fff78fe80cb020d64341b1a2f20a81e526a2a54f3921021c99bcb1384a69ede007450c3
MISC metadata.xml 1172 BLAKE2B aa85fe6bed1e40717884d721c2633c5f6d380914c69cb8a4a4c31b3e4c779db52b90fdaa5ee63b66ad9bc6694f666dd37dceeffb8de4676014ef3bb688476ef7 SHA512 bb506fa680b064c3d6a48710cac11efedc9e8a340603e234bf5c4c48aaab773e4527d7a8fc66ae36ec894230a1d02a5be995e521d222914f652e03b6f72642e4
diff --git a/sys-cluster/nova/nova-20.0.0.ebuild b/sys-cluster/nova/nova-20.0.0.ebuild
new file mode 100644
index 000000000000..01dac558c9cb
--- /dev/null
+++ b/sys-cluster/nova/nova-20.0.0.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/train/nova.conf.sample -> nova.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/nova.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/train/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+compute compute-only iscsi +memcached +mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.20.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
+ !~dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ virtual/python-enum34[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.40.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.33.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.40.1[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
+ >=dev-python/zVMCloudConnector-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.8.0[$(python_gen_usedep 'python2_7')]
+ >=dev-python/openstacksdk-0.35.0[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ app-emulation/spice-html5
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ 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 nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+ rm -r "${ED}/usr/etc"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-2019.2.9999.ebuild b/sys-cluster/nova/nova-2019.2.9999.ebuild
new file mode 100644
index 000000000000..01dac558c9cb
--- /dev/null
+++ b/sys-cluster/nova/nova-2019.2.9999.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 eutils linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/train/nova.conf.sample -> nova.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/nova.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/train/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+compute compute-only iscsi +memcached +mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.20.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
+ !~dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ virtual/python-enum34[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.40.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.33.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.40.1[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
+ >=dev-python/zVMCloudConnector-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.8.0[$(python_gen_usedep 'python2_7')]
+ >=dev-python/openstacksdk-0.35.0[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ app-emulation/spice-html5
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ 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 nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+ rm -r "${ED}/usr/etc"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
index eb849e38165f..c642d4691696 100644
--- a/sys-cluster/openmpi/Manifest
+++ b/sys-cluster/openmpi/Manifest
@@ -14,6 +14,7 @@ DIST openmpi-2.1.6.tar.bz2 8324626 BLAKE2B 4aed4b397c0e0ead24ed5e9bbf45ee8f6719a
DIST openmpi-3.0.4.tar.bz2 9308341 BLAKE2B 84536082f8415c9a0e41db01d96d64bffc463ca84de7730b25789dfee74e2205db5467739a42f13b0938d0934b45c948cd2be406290cdb4b196a5b51a5a3fc88 SHA512 c9db432e89d680e8857444395fee3544bebd4d1535f3e85a9435ca21f9848fad9f181e6be1ab8b93241b88723395535e3b3bdb2a5dd4128ed26df887b9a55810
DIST openmpi-3.1.4.tar.bz2 9468371 BLAKE2B 70a93aa170086f43b2eb4f9b7c74673065bd309ae7a4c8f478a6db7523167fd1d25af19f87661149f6dd6033898ab47b86690a0421a01aa6f5a4d70478072e0e SHA512 5b4aafffc79fd85cb94a11a6e2fac563b142ac532191009eb35826c432ed3c391a6616e2ca92eacbf36137468eadb7c0f7ddc787034bc95c4214232ed5128338
DIST openmpi-4.0.1.tar.bz2 9838152 BLAKE2B 75657940e37c23fbe88032f116588960c6bcf34c4928d77b45e8fde6fb51e814f521adb6c5155cb588fff9d1b382c2470873d90979a68598ff13e1aa205fc811 SHA512 09f35dc2e44b4f84aab9c5af9d81f90bbdb030e4d90800a5d3ffae88cb32b7faecc9bea0abb113da53c21f73e9d19db68f961f997bc47bdd28d83a87beee0731
+DIST openmpi-4.0.2.tar.bz2 9819372 BLAKE2B 000faa8ff032f9aa6bf5f0a14fb9a363080cfcdd7c6f8ab90bc9507fd7a473d70502574ee1e75c88acecb06c516a643ef7b9e804fb580be9fc860b7b1fb1cc5d SHA512 634d45d989f1e0b8848bfb4eb4527c7edd76d4fccd77a5f8d85a46a5822f97ba653adf13df857c87ae56a8117b4ae2d45ec24249c6ee41a562446d4112ddb770
EBUILD openmpi-1.10.7.ebuild 6381 BLAKE2B 7d07db3b67d2df22416e862f2e3493be1bebb27beddf2aa333c6f45518ece0397ca360c354266dc84c1cd73af7a700064579279398c483d39064b923f2507d7f SHA512 956982cfffd3f7971031f7861ce93343665be39641d03afd6e2e0be8af0fdbe943e8ad3456ccc3b8159857cd292ee2c5b6e7dffa882cf530210976d3b242ee01
EBUILD openmpi-1.4.3.ebuild 2618 BLAKE2B a030b33a0fae59cf7e75cc8252af897ba703f95e259f938872182dfa97c86f587eb2259594f75114f939c7b0961490452ff3c11c2ed3a6b60ae3f2974d926446 SHA512 5c47bdf1192a6d2b95fa35c217a27ff6f69c0ca1bf5c5be3ff43f7785b354c214a371697006275efc08fc9ec3bf27d284db45a7f5d6cb1af9937c42340f79f83
EBUILD openmpi-1.4.5.ebuild 2627 BLAKE2B 3aef1a37d78c175dcf3e3a47321a52f03d2fd61b1dde797ac811b2444d100b29e3eb4686d9961848573055af62ce41f114055eb729e2cec469e5edbc630ec4aa SHA512 4c31cc8ae2986222645c873f30ba0aa53f612524e4019428c3d803a83d0d947b08770317b440749a93ef7485e71c174a39436589b4a73786253a5289a8d7e2bb
@@ -28,4 +29,5 @@ EBUILD openmpi-2.1.6.ebuild 5606 BLAKE2B 2303401b7048a5e5a05552f79e964e45f1d0df2
EBUILD openmpi-3.0.4.ebuild 5492 BLAKE2B 18dcd4347f186116781da19bce63083d0f0bda9c4096e8a38bcd066bea3d655fa348fed4a5b8ac760e110ec91ec205fc33d91dd407d57165362b3c03ae4e37e5 SHA512 fe63abca4c2883e5801ef1886a06e0300031400bdb2a28f39099159185c33f9998b6bc3066f4b9b9b6e0d7d86f98e8bdbe724050b7eeead3c83320bd1148588e
EBUILD openmpi-3.1.4.ebuild 5492 BLAKE2B 18dcd4347f186116781da19bce63083d0f0bda9c4096e8a38bcd066bea3d655fa348fed4a5b8ac760e110ec91ec205fc33d91dd407d57165362b3c03ae4e37e5 SHA512 fe63abca4c2883e5801ef1886a06e0300031400bdb2a28f39099159185c33f9998b6bc3066f4b9b9b6e0d7d86f98e8bdbe724050b7eeead3c83320bd1148588e
EBUILD openmpi-4.0.1-r1.ebuild 5434 BLAKE2B 30b8695cacf0f65506d99a63df4cccac15af7aaac3ad54b75ca3240b646fe6a6efc5952426b61b12fa1c35c9aab1303d98a9ecc19293dd9804f4bb9e5efa7aa9 SHA512 de78d49aea8df2db7e9e2c43d8d577e95c5a3064afe2f988ad45fa463d5ae8b3e87d12c626b24048354ece58bfdb50b7894e634d00f2b5a9febfea2bc7eabaf0
+EBUILD openmpi-4.0.2.ebuild 5434 BLAKE2B 30b8695cacf0f65506d99a63df4cccac15af7aaac3ad54b75ca3240b646fe6a6efc5952426b61b12fa1c35c9aab1303d98a9ecc19293dd9804f4bb9e5efa7aa9 SHA512 de78d49aea8df2db7e9e2c43d8d577e95c5a3064afe2f988ad45fa463d5ae8b3e87d12c626b24048354ece58bfdb50b7894e634d00f2b5a9febfea2bc7eabaf0
MISC metadata.xml 928 BLAKE2B f6cacb50815977ad28b83ec24725021a140db9592152d2a9e238da051058287c01c73ac557392946f83949caee2f75a847ba5e82c4b6f816ab3f8288aa38b719 SHA512 a7ba5e4bfc8e6c1a74667f31c4d8df580699fa84766cbc597a66c1a0ed12ece60bf1f683fcbd30529b042588ae4460741b4eef407e232532a3eede1766326f1e
diff --git a/sys-cluster/openmpi/openmpi-4.0.2.ebuild b/sys-cluster/openmpi/openmpi-4.0.2.ebuild
new file mode 100644
index 000000000000..aaf63224f630
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-4.0.2.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java romio
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )"
+
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ !sys-cluster/mpiexec
+ >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= )
+ elibc_FreeBSD? ( || ( dev-libs/libexecinfo >=sys-freebsd/freebsd-lib-10.0 ) )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ECONF_SOURCE=${S} econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --enable-pretty-print-stacktrace \
+ --enable-orterun-prefix-by-default \
+ --with-hwloc="${EPREFIX}/usr" \
+ --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-libltdl="${EPREFIX}/usr" \
+ --with-libevent="${EPREFIX}/usr" \
+ --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --enable-mpi-fortran=$(usex fortran all no) \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(multilib_native_use_enable java mpi-java) \
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(multilib_native_use_with openmpi_rm_pbs tm) \
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"/usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm \
+ "${ED}"/usr/include/mpif* \
+ "${ED}"/usr/bin/mpif* \
+ || die
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"/usr/include || die
+ fi
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+ einstalldocs
+}
diff --git a/sys-cluster/openstack-meta/Manifest b/sys-cluster/openstack-meta/Manifest
index d4d7ac6891cf..a5051f5af474 100644
--- a/sys-cluster/openstack-meta/Manifest
+++ b/sys-cluster/openstack-meta/Manifest
@@ -1,3 +1,5 @@
EBUILD openstack-meta-2018.2.9999.ebuild 604 BLAKE2B 4fbfae95d9d0086cbdaa27702cd6297ae1bcd1686c69fb03318a1ce74dce98f145b062bbaa8a7fde79924a33c85aaebdbde6d0517a327aab7df793f5aeac52ea SHA512 9b50a6cc30ed4cf7a6d55e2dca95531d05faeb2ba8ba114df340118e13ebfc816a10b06e81cae39bd9405e777c7fca12c0337827bc82f66444007445f890c4b6
EBUILD openstack-meta-2019.1.9999.ebuild 656 BLAKE2B 06798a7e12db582385e9d7fb15b24e6937d90516990ae5010a2bb67e70f2977a1c10a5289597e35bc8fae8308b0bbc7350f0c80f334cbed377b268772e1c5bcb SHA512 62531484de96b5ef0e70d2dde1c935a7c4aa3ea29c46b59bdb009543cf8dde94379f2e365a1bf28b6171695106ac05302d1a87b0b8beb7d51a48117dcec52e1b
+EBUILD openstack-meta-2019.2.0.ebuild 727 BLAKE2B a73cc30c7d788893833de19e50108a3a1e96f0cdb3d0a92bd217d049c8b93a1e13ad6f5d6496527832e2179f91978dd45d304c089c6e66d8eed9de0b18712028 SHA512 c8461bd0662c7826ff631a36f316e206543fd87a5c09becd6af35001c1b225ae46f9eba3f3377e2c286d1ca85f756007a4f8f5b9e53bfe912f4099fad0732f40
+EBUILD openstack-meta-2019.2.9999.ebuild 720 BLAKE2B 7b98e630cdf78a504a088f7cbef581ddb23cbd266058a4af622370c8deb5d58bc3d8a6fc65b77a4350ead39b3c120146b26edb23abac2cfb74b2b14a07dd313d SHA512 5d80cc2745055cc52c9b8d9ceb0c7d540e4295135ab8e4fc4af2b0c8cda1ea4e09f35d01634bb8ded59b880321f70cdf73397a741bda21999fa20bb1b4be3ef6
MISC metadata.xml 931 BLAKE2B 23cfe01ee67c4203f65ae6fe48c75c039948576ee98ce29e319ad7821e1bf7afe2f80dcb88994893a270d7902d37663159223639843f9b026a09c9f7a004d770 SHA512 5a37fd37399ecf64a4b655a117b2ed0bc118a08b281bf71d84cb5f2e0057f67322dd177c2e2572200bff90cef14bfe1d0323f8e3b84d6b8120d859f4c0d4576f
diff --git a/sys-cluster/openstack-meta/openstack-meta-2019.2.0.ebuild b/sys-cluster/openstack-meta/openstack-meta-2019.2.0.ebuild
new file mode 100644
index 000000000000..fc968b7fb156
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2019.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cinder glance heat keystone neutron nova placement swift"
+
+if [[ ${PV} != *9999 ]];then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DEPEND=""
+RDEPEND="
+ keystone? ( =sys-auth/keystone-16.0.0 )
+ swift? ( =sys-cluster/swift-2.23.0 )
+ neutron? ( =sys-cluster/neutron-15.0.0 )
+ glance? ( =app-admin/glance-19.0.0 )
+ cinder? ( =sys-cluster/cinder-15.0.0 )
+ nova? ( =sys-cluster/nova-20.0.0 )
+ heat? ( =sys-cluster/heat-13.0.0 )
+ placement? ( =sys-cluster/placement-2.0.0 )
+"
diff --git a/sys-cluster/openstack-meta/openstack-meta-2019.2.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2019.2.9999.ebuild
new file mode 100644
index 000000000000..b17a0a59978d
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2019.2.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cinder glance heat keystone neutron nova placement swift"
+
+if [[ ${PV} != *9999 ]];then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DEPEND=""
+RDEPEND="
+ keystone? ( ~sys-auth/keystone-${PV} )
+ swift? ( ~sys-cluster/swift-${PV} )
+ neutron? ( ~sys-cluster/neutron-${PV} )
+ glance? ( ~app-admin/glance-${PV} )
+ cinder? ( ~sys-cluster/cinder-${PV} )
+ nova? ( ~sys-cluster/nova-${PV} )
+ heat? ( ~sys-cluster/heat-${PV} )
+ placement? ( ~sys-cluster/placement-${PV} )
+"
diff --git a/sys-cluster/placement/Manifest b/sys-cluster/placement/Manifest
index 4b0ad49eb0a1..5c44894fcdbb 100644
--- a/sys-cluster/placement/Manifest
+++ b/sys-cluster/placement/Manifest
@@ -1,6 +1,11 @@
DIST openstack-placement-1.0.0.tar.gz 428179 BLAKE2B 342997d848f134de747e4fa7ac0c38c07c3ff0840b529a8664a0733aa9700592b00c9ef72ae27e3b0ce892c44a14eebc2c32edf078e1c1a77885be4655fc8bf4 SHA512 50c93d35868b0ee78a6f753e174b2c22742fed1287dfa5801db28692033fa92e21dbce8fe22d16eb8e3e1dbd798fb80e6c9631ac838455f8b91c3e4ba01e5fff
+DIST openstack-placement-2.0.0.tar.gz 500804 BLAKE2B 5747245c746ca28a3c77c10e5f979765b85972f3eef9583318245ded994c97ef84f3ee0d2c08f9205a3682b8c6a9d391454cae7ef655a1b06bbabde9556b811f SHA512 0964fcdd690c660168ce1f8a11b09a2f237613e81f6850f30b36f826fe51a967bf85ed632b7e4ee9faea1634346f9e0ecc8a79b1b5cc039ce97317a263b33d7c
DIST placement.conf.sample-1.0.0 19383 BLAKE2B 0088bffd3755ff589026856c977f241a1d98d151966ad7ece7b11e6fb382b1cc49fd606c66d857defba52db1927b6255f74144ce61d86e806e014baf97e6af1f SHA512 ea3c842145870fc51cf9d118734cab07498691fabc5313297e8956e2c8547eddfd0ef99b8529a8ad5e4d7b98e708276c3bed6549158b5ea774c39ef16777d1d3
+DIST placement.conf.sample-2.0.0 25512 BLAKE2B ddc802d500bc7f5b8627740ab5d8905fbf0c4629b18810907cee74dbe82a55b2440d89a4ddba496196627373c3f109daec33dd2841e73b8b1dbadb6407daa8f0 SHA512 3d4f81a00a2f98bfdb25b6a15f2db94c06547b4f98f22d503123475f9e73cdb65252c5958ba5e954cfcddfa64c60de362768fca88b83a4215ec462d9995ac1fc
DIST placement.conf.sample-2019.1.9999 19383 BLAKE2B 0088bffd3755ff589026856c977f241a1d98d151966ad7ece7b11e6fb382b1cc49fd606c66d857defba52db1927b6255f74144ce61d86e806e014baf97e6af1f SHA512 ea3c842145870fc51cf9d118734cab07498691fabc5313297e8956e2c8547eddfd0ef99b8529a8ad5e4d7b98e708276c3bed6549158b5ea774c39ef16777d1d3
+DIST placement.conf.sample-2019.2.9999 25512 BLAKE2B ddc802d500bc7f5b8627740ab5d8905fbf0c4629b18810907cee74dbe82a55b2440d89a4ddba496196627373c3f109daec33dd2841e73b8b1dbadb6407daa8f0 SHA512 3d4f81a00a2f98bfdb25b6a15f2db94c06547b4f98f22d503123475f9e73cdb65252c5958ba5e954cfcddfa64c60de362768fca88b83a4215ec462d9995ac1fc
EBUILD placement-1.0.0-r1.ebuild 4228 BLAKE2B b9d766b14374e388bad56ccc7a03fec6d7d8fa18f7fc6cf102492633a172bda1279a00924b390bb554e4967867a355f0877f8342ddd09e2ce8f424acd3eb611f SHA512 419299eb25b7ced1ff63b5925de32654d5e3639143292096de64b5d0f711e5ad0fbab6c80cd7d61efde9f5aa2712f39173279688b6f24bcda7a24eb84796256e
+EBUILD placement-2.0.0.ebuild 3499 BLAKE2B 6b5ca636190eca51f5715db4bac48af9772fc84235e8a2cc63d5aeefeed9985caa46381334fd10260aee4fcb5fce55d3656c7e91dfb83fde96b516476d0df24b SHA512 4e0a3da7584a9b02380e13e9c1d2f9c37848497ee47461666115628167909d4d8eb3c69b40da723d7d4876c6c9a3f7ef3f12775b69ad0e63ea7aa4295fa1b4f5
EBUILD placement-2019.1.9999.ebuild 4230 BLAKE2B 1e214d7aab53f15041f635d85f9338aec45baba58ff0ae65eb64cd5df38dcef1db33497d20728c6fcb2220841470ea7142ac66174b21a0c516bdd680aa99b7d9 SHA512 714a9960fe71dccebd2b2a166f0f387d908db83d40c5a8de2dadf5b9a82cf98c38bbd8ce378dac967b22cd6046ac377f379165badc7be5ca0377a04c449f8d26
+EBUILD placement-2019.2.9999.ebuild 3499 BLAKE2B 6b5ca636190eca51f5715db4bac48af9772fc84235e8a2cc63d5aeefeed9985caa46381334fd10260aee4fcb5fce55d3656c7e91dfb83fde96b516476d0df24b SHA512 4e0a3da7584a9b02380e13e9c1d2f9c37848497ee47461666115628167909d4d8eb3c69b40da723d7d4876c6c9a3f7ef3f12775b69ad0e63ea7aa4295fa1b4f5
MISC metadata.xml 590 BLAKE2B 52aa7d1deb487225f34afa59f668939abe56f4d377626b3cd6dc20c2c94fc1b104f2cac7047d7ba461c62c90515cd39e75b8a94d17a341dd8c549d6bdca6bee3 SHA512 188176cc3f839d3a53dbcaf38f74fc71f1c223f7e938bcc9627e71b2509b14e535647513a7c1bb2eb2d250a317b9e6f0ef906cf464e465697d5a26b4bb013f78
diff --git a/sys-cluster/placement/placement-2.0.0.ebuild b/sys-cluster/placement/placement-2.0.0.ebuild
new file mode 100644
index 000000000000..82a01ec98a97
--- /dev/null
+++ b/sys-cluster/placement/placement-2.0.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 user
+
+DESCRIPTION="A HTTP service for managing, selecting, and claiming cloud resources."
+HOMEPAGE="https://github.com/openstack/placement"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/train/placement.conf.sample -> placement.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/placement.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/train/placement.conf.sample -> placement.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/openstack-${P}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="mysql postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ >=dev-python/setuptools-21.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/keystonemiddleware-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.40.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]"
+BDEPEND=""
+
+pkg_setup() {
+ enewgroup placement
+ enewuser placement -1 -1 /var/lib/placement placement
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ diropts -m 0750 -o placement -g placement
+ insinto /etc/placement
+ insopts -m 0640 -o placement -g placement
+ newins "${DISTDIR}/placement.conf.sample-${PV}" placement.conf.sample
+
+ dobin tools/mysql-migrate-db.sh
+ dobin tools/postgresql-migrate-db.sh
+}
diff --git a/sys-cluster/placement/placement-2019.2.9999.ebuild b/sys-cluster/placement/placement-2019.2.9999.ebuild
new file mode 100644
index 000000000000..82a01ec98a97
--- /dev/null
+++ b/sys-cluster/placement/placement-2019.2.9999.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit distutils-r1 user
+
+DESCRIPTION="A HTTP service for managing, selecting, and claiming cloud resources."
+HOMEPAGE="https://github.com/openstack/placement"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/train/placement.conf.sample -> placement.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/placement.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/train/placement.conf.sample -> placement.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/openstack-${P}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="mysql postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ >=dev-python/setuptools-21.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/keystonemiddleware-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.40.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]"
+BDEPEND=""
+
+pkg_setup() {
+ enewgroup placement
+ enewuser placement -1 -1 /var/lib/placement placement
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ diropts -m 0750 -o placement -g placement
+ insinto /etc/placement
+ insopts -m 0640 -o placement -g placement
+ newins "${DISTDIR}/placement.conf.sample-${PV}" placement.conf.sample
+
+ dobin tools/mysql-migrate-db.sh
+ dobin tools/postgresql-migrate-db.sh
+}
diff --git a/sys-cluster/slurm/Manifest b/sys-cluster/slurm/Manifest
index 8c1e56b51675..832f1267c85a 100644
--- a/sys-cluster/slurm/Manifest
+++ b/sys-cluster/slurm/Manifest
@@ -1,13 +1,12 @@
AUX logrotate 360 BLAKE2B 36c5ce908a6434f03a3e140cd1fc0bfec50a6fa89d6120061a5a83d3b12d9a6137ae2fa3a83bd36f55f48c79d140f24d6933cda18fc79674e8b758cacc34a948 SHA512 f6edceef15960accbe72ddd34ff34934fa46b6d647c83e0d3a512d2ddc1ae6c60352e377cfa5332fd5cd817689e23680f7384f1b27fc49677b2e671e1bfe86b9
-AUX slurm-17.11.13.2-disable-sview.patch 2831 BLAKE2B d11df7a1b580f2d1064e5bc5107e257a35e95060f166c971523d24d55f19920c86ed231e88a207ae61c65b83eba33b309b33ed439c0ba09d0b1ea76119708d85 SHA512 3ea30226b721b982ddad78d538c280da78b311d66b0be63087ef606d7f9008731c583e276504b668d8fde74c45ac8aa80babf4d693eca1d274d27dc72479d5e7
AUX slurm-18.08.7-disable-sview.patch 2831 BLAKE2B d11df7a1b580f2d1064e5bc5107e257a35e95060f166c971523d24d55f19920c86ed231e88a207ae61c65b83eba33b309b33ed439c0ba09d0b1ea76119708d85 SHA512 3ea30226b721b982ddad78d538c280da78b311d66b0be63087ef606d7f9008731c583e276504b668d8fde74c45ac8aa80babf4d693eca1d274d27dc72479d5e7
AUX slurm.confd 155 BLAKE2B 4f0793808328b88ffa2b32b1accab6c0dfe0b01dc84210fee6a674361ddf9ea7b3f15ccc775c354198577849ab0791d403b153adee476fc7f1237d2177275bab SHA512 e4d21cdb6a427f0beaef0e157202308f9e86a41dea4532ee98b274a5979b5e82ec2ca4ca2996f6cb59045fd8b01e815aaad71673e2011cead788de3d879aa11f
AUX slurm.tmpfiles 31 BLAKE2B f08dbc53517cc15463be5264505d858fcf1f2196565868d164463a167459082a23eea25fa22edf2987e52c71f953160c12b29cdb5e5f437a3bdc89f1cd8395b5 SHA512 b7f116687e0dee0377b43cbb49f63569088d6f5f9b1514014999b1135b1b4da462e04887851b753161d7b9691436048b692b7697ffee2a4e45daa339a412c93c
AUX slurmctld.initd 1842 BLAKE2B 25c9fd76dc888544888abb2790d8a0ae66254c0f8807bf48433a54fd34f49d2f4f95b5c6dd9e4ab1f40938c274be6be2e88cdb8959ecb12b4a86d07bc0a5bc86 SHA512 4356552630d1a154bbf369012c0315baf08b5b98ff6411d66ea3b1b039bfff5f105091b110e8fa1e64209eb0990038abda86d980cf2316ca97a5c10a43243df6
AUX slurmd.initd 2001 BLAKE2B a0464ee0407406c7ceadd8e78f0229f5c6eda7081a691e24e609caa50f627d9bbf9c2d57bc6746b9c719a66cf2f4b0d756ecbbaf3bcd070846ad5ced6b289c9d SHA512 bb9447c25d2e96de1aea5935084ea78ea403701bd655d89d1a9d1d21bdbf88bdbae3888cfd618aabcc86dd8808401157ff84402ef35c4e138263457fd954046a
AUX slurmdbd.initd 1717 BLAKE2B e177a937f8bd97bb2f45e479e0f34b23cc23ab44b0000165a856ff8476560638a567baecad8aa8d57aeb76062f248039da7f440ddca8f5827e4729136a10d7de SHA512 6d21f667f4222ab62dc8d7f648e00205da982612d58b98e8e35e6b6602b3ad31c03e5130402437c77d3677b424da7b5226e2bfa8c5d29bc908fd618fc02697a8
-DIST slurm-17.11.13-2.tar.bz2 6261416 BLAKE2B bca7a06e703799371da11a7427ce009784c7236569f4b24b278078231192bb0e90604fb90a61f8269881ccacd154cbf03174b3e4600410a8c726beccf4aefd18 SHA512 d419984bfa1bf1be20d3439672eaf868e3e0c45549b8d696bb6f588a57e1bc1e765dbca8a9a62c54bf27c3dfbbd0f165f573459a22ef87d976bc511c22fde639
DIST slurm-18.08.7.tar.bz2 6186006 BLAKE2B a5458f72cbe93bc1103c2c7f3d428ae14239cb092edad2c683e448dda35f3e108fef0d9a3a86599da6058c9c98a86dafed9a087ffe6e8d7425db9cdb879954b3 SHA512 d0047086f1b716877cc5bb39539bf96a8fd08b1851c85fd85112c6432c1ce2a0f29fc9dd8803094c8fa44d063cec5f417e6bed231b6d338934ff4b48424a5a93
-EBUILD slurm-17.11.13.2.ebuild 8465 BLAKE2B cd0224921c0c2ded50e8a3143be3f30234b52ac5713c12aef1c1f31abe2f1cc302f8b5e2bbf003c692c568819a7a38ec19bf6fbba78fe4ba1ca732a169274830 SHA512 04616ec7aa3d9348156ac5a4232feb6e256b7e6fd11f7a0f38acd64f5762e1c996954f5a825f8d40de2b01fbd164a567e45b8e5379ef2a2f43f89e45f5d386b7
-EBUILD slurm-18.08.7.ebuild 8059 BLAKE2B b4f8fe8b77382da1370b53be41aae40b45959e53585e8505b80c3874daf1e68f0057c2e115087ca17e2874cbce813d2378937ebaf7e592cacdf240b5bfa73552 SHA512 be171643e43c58e9c778a6b530aeed8de38b8aa8aa47f901e51d315a1a915945df2b317edf8d13850176a7bc971d35a1e48b436559200409e935177b6d8e4c2a
-MISC metadata.xml 1126 BLAKE2B efecf11f76fd3ce8f09198a93cc05b22f1c7239eafe3f762c8938876d4265dad1134dbfd02c4391bd083e551f45a7b9be7bde0f8362d59d2236ef19dc6e9a4b2 SHA512 c856522195f9b0dcbcf7abc4eaf236f704d1a870aff91e59defb19c553b7737efecd429c30e905f3b8816b6751d59c08e5b8ce3b7137de51b768970a43875b99
+DIST slurm-19.05.3-2.tar.bz2 6233270 BLAKE2B be59d157e99353340f9801f0adac21cfb8c3051f8d6a1bd94ad76fc05d0f83d1f933f72bf4e33b603521ec94cc859185bf56ecbcab674fcbff526164dd39d3cc SHA512 15d63f1ba693458b220ece5512210f1dba52273946809b338e33d684b9daadecd3cc77fda84c1b3bf8b03bc0fe8b8be0f429a96a1bf72a8b5c8cf169e0e1f5bb
+EBUILD slurm-18.08.7.ebuild 8062 BLAKE2B b3534281cbb333b2ec2376a86b361324d34356d1cd1a48d01e4189070ca85d5d668165e34bedeb776f9342e5954c1fe2955ad0ef5cd199616194b488b39f1c86 SHA512 237ac5e4db3616906d5f40dc417a53ff6dc2b276ac178c287e578579528b20989bf27c32bea286681e95cf35f72ef17000736330598d4c9d827712d82c7ecda4
+EBUILD slurm-19.05.3.2.ebuild 8000 BLAKE2B e150b57f5e125dbd200a27baee3487b738acd88e1ac8f3955a9cd13a8ebc1b260f390c1c3d207c3856029f906d5a0b55ed9a59de0ed7b8c5c5eed401f147e2af SHA512 94bc73f29ea276cabc863a9b4c62aac4b043ba93a43bcaaaf64c7d34c8bf8e25916c05991071ea72075735ef7e653013c76d98efaa5e2e053c9253fdd30b0ec4
+MISC metadata.xml 1199 BLAKE2B b52e7cae7554d439e7f25da2a80d98993d5c7f7abd5ba8b76c09bf60731b035040f976ac1bfc3c153f81b8feed89e2ceb5e6b676c25cc7b6219c4bcd87bd7e50 SHA512 8f48d582e61789373fc07ffd1db123cb8f43d337b03611972e480179ca5b43f2866392203f470d3d69784f2aae79cbcffdf583cba0aa4a9c25969f2c72a3f55f
diff --git a/sys-cluster/slurm/files/slurm-17.11.13.2-disable-sview.patch b/sys-cluster/slurm/files/slurm-17.11.13.2-disable-sview.patch
deleted file mode 100644
index f7e2c5b26739..000000000000
--- a/sys-cluster/slurm/files/slurm-17.11.13.2-disable-sview.patch
+++ /dev/null
@@ -1,99 +0,0 @@
- configure.ac | 39 ---------------------------------------
- doc/man/man1/Makefile.am | 8 --------
- src/Makefile.am | 3 +--
- 3 files changed, 1 insertion(+), 49 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2f177ec..ff4d69b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -238,44 +238,6 @@ AC_SUBST(HAVE_SOME_CURSES)
- PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
- AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
-
--#
--# Tests for GTK+
--#
--
--# use the correct libs if running on 64bit
--if test -d "/usr/lib64/pkgconfig"; then
-- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH"
--fi
--
--if test -d "/opt/gnome/lib64/pkgconfig"; then
-- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH"
--fi
--
--AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread])
--
--if test ${glib_config_minor_version=0} -ge 32 ; then
-- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher])
--fi
--
--AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread])
--if test ${gtk_config_minor_version=0} -ge 10 ; then
-- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher])
--fi
--
--if test ${gtk_config_minor_version=0} -ge 12 ; then
-- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher])
--fi
--
--if test ${gtk_config_minor_version=0} -ge 14 ; then
-- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher])
--fi
--
--if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then
-- AC_MSG_WARN([cannot build sview without gtk library]);
--fi
--
--AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"])
--
- dnl Cray ALPS/Basil support depends on mySQL
- X_AC_CRAY
-
-@@ -477,7 +439,6 @@ AC_CONFIG_FILES([Makefile
- src/sshare/Makefile
- src/sstat/Makefile
- src/strigger/Makefile
-- src/sview/Makefile
- src/plugins/Makefile
- src/plugins/accounting_storage/Makefile
- src/plugins/accounting_storage/common/Makefile
-diff --git a/doc/man/man1/Makefile.am b/doc/man/man1/Makefile.am
-index 246f16d..ba39af2 100644
---- a/doc/man/man1/Makefile.am
-+++ b/doc/man/man1/Makefile.am
-@@ -29,10 +29,6 @@ if WITH_BLCR
- man1_MANS += srun_cr.1
- endif
-
--if BUILD_SVIEW
--man1_MANS += sview.1
--endif
--
- EXTRA_DIST = $(man1_MANS)
-
- if HAVE_MAN2HTML
-@@ -65,10 +61,6 @@ if WITH_BLCR
- html_DATA += srun_cr.html
- endif
-
--if BUILD_SVIEW
--html_DATA += sview.html
--endif
--
- MOSTLYCLEANFILES = ${html_DATA}
-
- EXTRA_DIST += $(html_DATA)
-diff --git a/src/Makefile.am b/src/Makefile.am
-index bcd5aa7..a8cbf17 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -28,5 +28,4 @@ SUBDIRS = \
- srun_cr \
- sshare \
- sstat \
-- strigger \
-- sview
-+ strigger
diff --git a/sys-cluster/slurm/metadata.xml b/sys-cluster/slurm/metadata.xml
index c588bb7a9527..f4298bcbe29f 100644
--- a/sys-cluster/slurm/metadata.xml
+++ b/sys-cluster/slurm/metadata.xml
@@ -24,5 +24,6 @@
<flag name="ofed">Add Infiniband support via ofed</flag>
<flag name="slurmdbd">Install SQL server for slurmdbd</flag>
<flag name="torque">Enable perl scripts that emulates pbs (qstat, qsub etc.)</flag>
+ <flag name="ucx">Enable Unified Communication X library support</flag>
</use>
</pkgmetadata>
diff --git a/sys-cluster/slurm/slurm-18.08.7.ebuild b/sys-cluster/slurm/slurm-18.08.7.ebuild
index b8797d5c1323..099916081505 100644
--- a/sys-cluster/slurm/slurm-18.08.7.ebuild
+++ b/sys-cluster/slurm/slurm-18.08.7.ebuild
@@ -67,7 +67,7 @@ REQUIRED_USE="torque? ( perl )"
LIBSLURM_PERL_S="${WORKDIR}/${MY_P}/contribs/perlapi/libslurm/perl"
LIBSLURMDB_PERL_S="${WORKDIR}/${MY_P}/contribs/perlapi/libslurmdb/perl"
-RESTRICT="primaryuri test"
+RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${P}-disable-sview.patch
@@ -107,6 +107,7 @@ src_prepare() {
sed \
-e 's:sysconfig/.*:conf.d/slurm:g' \
-e 's:var/run/:run/slurm/:g' \
+ -e '/^EnvironmentFile=.*/d' \
-i "${S}/etc"/*.service.in \
|| die "Can't sed systemd services for sysconfig or var/run/"
@@ -115,7 +116,6 @@ src_prepare() {
}
src_configure() {
- use debug || myconf+=( --disable-debug )
local myconf=(
--sysconfdir="${EPREFIX}/etc/${PN}"
--with-hwloc="${EPREFIX}/usr"
@@ -126,6 +126,7 @@ src_configure() {
use mysql || myconf+=( --without-mysql_config )
use amd64 && myconf+=( $(use_with netloc) )
econf "${myconf[@]}" \
+ $(use_enable debug) \
$(use_enable pam) \
$(use_enable X x11) \
$(use_with ssl) \
diff --git a/sys-cluster/slurm/slurm-17.11.13.2.ebuild b/sys-cluster/slurm/slurm-19.05.3.2.ebuild
index 1f9e31f25080..4c9d3cbf4ae4 100644
--- a/sys-cluster/slurm/slurm-17.11.13.2.ebuild
+++ b/sys-cluster/slurm/slurm-19.05.3.2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/SchedMD/slurm.git"
@@ -10,7 +10,6 @@ if [[ ${PV} == *9999* ]]; then
KEYWORDS=""
MY_P="${P}"
else
- inherit eapi7-ver
if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then
MY_PV=$(ver_rs '-0.') # pre-releases or release-candidate
else
@@ -20,19 +19,18 @@ else
INHERIT_GIT=""
SRC_URI="https://download.schedmd.com/slurm/${MY_P}.tar.bz2"
KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${MY_P}"
fi
-inherit autotools bash-completion-r1 eutils pam perl-module prefix toolchain-funcs user systemd ${INHERIT_GIT}
+inherit autotools bash-completion-r1 pam perl-module prefix toolchain-funcs systemd ${INHERIT_GIT}
DESCRIPTION="A Highly Scalable Resource Manager"
HOMEPAGE="https://www.schedmd.com"
LICENSE="GPL-2"
SLOT="0"
-IUSE="debug hdf5 html ipmi json lua multiple-slurmd +munge mysql netloc numa ofed pam perl slurmdbd ssl static-libs torque X"
+IUSE="debug hdf5 html ipmi json lua multiple-slurmd +munge mysql netloc numa ofed pam perl slurmdbd ssl static-libs ucx torque X"
-CDEPEND="
+COMMON_DEPEND="
!sys-cluster/torque
!net-analyzer/slurm
!net-analyzer/sinfo
@@ -52,28 +50,27 @@ CDEPEND="
hdf5? ( sci-libs/hdf5:= )
numa? ( sys-process/numactl )
ofed? ( sys-fabric/ofed )
+ ucx? ( sys-cluster/ucx )
X? ( net-libs/libssh2 )
>=sys-apps/hwloc-1.1.1-r1
sys-libs/ncurses:0=
app-arch/lz4:0=
sys-libs/readline:0="
-DEPEND="${CDEPEND}
+DEPEND="${COMMON_DEPEND}
html? ( sys-apps/man2html )"
-RDEPEND="${CDEPEND}
+RDEPEND="${OMMON_DEPEND}
+ acct-user/slurm
+ acct-group/slurm
dev-libs/libcgroup"
REQUIRED_USE="torque? ( perl )"
+S="${WORKDIR}/${MY_P}"
+
LIBSLURM_PERL_S="${WORKDIR}/${MY_P}/contribs/perlapi/libslurm/perl"
LIBSLURMDB_PERL_S="${WORKDIR}/${MY_P}/contribs/perlapi/libslurmdb/perl"
-RESTRICT="primaryuri test"
-
-PATCHES=(
- "${FILESDIR}"/${P}-disable-sview.patch
-)
-
-S="${WORKDIR}/${MY_P}"
+RESTRICT="test"
src_unpack() {
if [[ ${PV} == *9999* ]]; then
@@ -83,44 +80,36 @@ src_unpack() {
fi
}
-pkg_setup() {
- enewgroup slurm 500
- enewuser slurm 500 -1 /var/spool/slurm slurm
-}
-
src_prepare() {
tc-ld-disable-gold
default
# pids should go to /var/run/slurm
- sed -e "s:/var/run/slurmctld.pid:${EPREFIX}/run/slurm/slurmctld.pid:g" \
+ sed \
+ -e 's:/tmp:/var/tmp:g' \
+ -e "s:/var/run/slurmctld.pid:${EPREFIX}/run/slurm/slurmctld.pid:g" \
-e "s:/var/run/slurmd.pid:${EPREFIX}/run/slurm/slurmd.pid:g" \
+ -e "s:StateSaveLocation=.*:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \
+ -e "s:SlurmdSpoolDir=.*:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \
-i "${S}/etc/slurm.conf.example" \
- || die "Can't sed for /var/run/slurmctld.pid"
- sed -i "s:/var/run/slurmdbd.pid:${EPREFIX}/run/slurm/slurmdbd.pid:g" \
+ || die "Can't sed for /var/run/slurmctld.pid"
+ sed \
+ -e "s:/var/run/slurmdbd.pid:${EPREFIX}/run/slurm/slurmdbd.pid:g" \
-i "${S}/etc/slurmdbd.conf.example" \
- || die "Can't sed for /var/run/slurmdbd.pid"
- # also state dirs are in /var/spool/slurm
- sed -e "s:StateSaveLocation=*.:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \
- -e "s:SlurmdSpoolDir=*.:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \
- -i "${S}/etc/slurm.conf.example" \
- || die "Can't sed ${S}/etc/slurm.conf.example for StateSaveLocation=*. or SlurmdSpoolDir=*"
- # and tmp should go to /var/tmp/slurm
- sed -e 's:/tmp:/var/tmp:g' \
- -i "${S}/etc/slurm.conf.example" \
- || die "Can't sed for StateSaveLocation=*./tmp"
+ || die "Can't sed for /var/run/slurmdbd.pid"
# gentooify systemd services
- sed -e 's:sysconfig/.*:conf.d/slurm:g' \
+ sed \
+ -e 's:sysconfig/.*:conf.d/slurm:g' \
-e 's:var/run/:run/slurm/:g' \
+ -e '/^EnvironmentFile=.*/d' \
-i "${S}/etc"/*.service.in \
- || die "Can't sed systemd services for sysconfig or var/run/"
+ || die "Can't sed systemd services for sysconfig or var/run/"
hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4
eautoreconf
}
src_configure() {
- use debug || myconf+=( --disable-debug )
local myconf=(
--sysconfdir="${EPREFIX}/etc/${PN}"
--with-hwloc="${EPREFIX}/usr"
@@ -131,6 +120,7 @@ src_configure() {
use mysql || myconf+=( --without-mysql_config )
use amd64 && myconf+=( $(use_with netloc) )
econf "${myconf[@]}" \
+ $(use_enable debug) \
$(use_enable pam) \
$(use_enable X x11) \
$(use_with ssl) \
@@ -138,6 +128,7 @@ src_configure() {
$(use_with json) \
$(use_with hdf5) \
$(use_with ofed) \
+ $(use_with ucx) \
$(use_enable static-libs static) \
$(use_enable multiple-slurmd)
@@ -187,7 +178,7 @@ src_install() {
fi
if use torque; then
emake DESTDIR="${D}" -C contribs/torque
- rm -f "${ED}/usr/bin/mpiexec" || die
+ rm -f "${D}"/usr/bin/mpiexec || die
fi
use static-libs || find "${ED}" -name '*.la' -exec rm {} +
# install sample configs
@@ -196,12 +187,9 @@ src_install() {
doins \
etc/bluegene.conf.example \
etc/cgroup.conf.example \
- etc/cgroup_allowed_devices_file.conf.example \
etc/slurm.conf.example \
etc/slurmdbd.conf.example
exeinto /etc/slurm
- doexe \
- etc/slurm.epilog.clean
keepdir /etc/slurm/layouts.d
insinto /etc/slurm/layouts.d
newins etc/layouts.d.power.conf.example power.conf.example
@@ -228,7 +216,7 @@ src_install() {
pkg_preinst() {
if use munge; then
- sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${ED}"etc/conf.d/slurm || die
+ sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${D}"/etc/conf.d/slurm || die
fi
}
@@ -240,11 +228,11 @@ create_folders_and_fix_permissions() {
pkg_postinst() {
paths=(
- "${EROOT}"var/${PN}/checkpoint
- "${EROOT}"var/${PN}
- "${EROOT}"var/spool/${PN}/slurmd
- "${EROOT}"var/spool/${PN}
- "${EROOT}"var/log/${PN}
+ "${EROOT}"/var/${PN}/checkpoint
+ "${EROOT}"/var/${PN}
+ "${EROOT}"/var/spool/${PN}/slurmd
+ "${EROOT}"/var/spool/${PN}
+ "${EROOT}"/var/log/${PN}
/var/tmp/${PN}/${PN}d
/var/tmp/${PN}
/run/${PN}
diff --git a/sys-cluster/spark-bin/Manifest b/sys-cluster/spark-bin/Manifest
index af91bf813c67..2e163dfb3375 100644
--- a/sys-cluster/spark-bin/Manifest
+++ b/sys-cluster/spark-bin/Manifest
@@ -1,6 +1,6 @@
AUX 99spark 26 BLAKE2B c25fe3d379a16c8a51764ea5b4c27d8f34869687c882141f0428d102d921eb65fea8ac253e407fe07fd4cce1232dd513728b1340bc0bcd21bd19ce0aed0c2420 SHA512 6d64d751f1504bea332b16078804abcaf21c8ea9c69f94fef3a8929b6d6cb1107ec899a5dc49770997243cbfda61edbcfa4d505da29220a71f5be38c1008f4f0
DIST spark-bin-2.3.1.tgz 225883783 BLAKE2B d89e83a54aaabd39c5fa0d9c51a1bb5635f60ded4869672a387d13d87fffbb48385d4fbf67b55a96e709f27348f73a089624a0563c98eaba31f93d74bf4548ee SHA512 dc3a97f3d99791d363e4f70a622b84d6e313bd852f6fdbc777d31eab44cbc112ceeaa20f7bf835492fb654f48ae57e9969f93d3b0e6ec92076d1c5e1b40b4696
-DIST spark-bin-2.4.3.tgz 229988313 BLAKE2B 6d8dedcdc9419e3b59c021ff583d360a40dbcfd85c925ea3ee0ae4b82cd1ee7ae3a4caa080e7e871857e7e0e4e482148633e12b64b0dd875b09cb9a2d1ddcc35 SHA512 e8b7f9e1dec868282cadcad81599038a22f48fb597d44af1b13fcc76b7dacd2a1caf431f95e394e1227066087e3ce6c2137c4abaf60c60076b78f959074ff2ad
+DIST spark-bin-2.4.4.tgz 230091034 BLAKE2B 66f7e7bae6fe6959f233adc085560cf1b80a641b4018eb334d77f390eb88f5ab898e1ea59c1c17ca15a122f4f98eea4670ea7152bc2c83f6cb76cd11d3f586ec SHA512 2e3a5c853b9f28c7d4525c0adcb0d971b73ad47d5cce138c85335b9f53a6519540d3923cb0b5cee41e386e49ae8a409a51ab7194ba11a254e037a848d0c4a9e5
EBUILD spark-bin-2.3.1.ebuild 1414 BLAKE2B f103c0fc60b8914834cfafb9d100f21d7299dd4d03a06ff4c6ef88ed303374a54b42cfc297ca5918fb62066b9572c2111b3568b816f79a74e34aab79073e5e12 SHA512 e9fae04c42a84609bf483b9abb879e5ce5c1716604790d3f0478feace9f0df7604993751e8748c6a8495bf10e7d8826a56da53a1d2da07363fdaad28d30d661a
-EBUILD spark-bin-2.4.3.ebuild 1414 BLAKE2B 43756e3855cf97644e61b967d03d73626c2600b2cc566f10bb7eeebcb400a2056d3275c51f2c76311e7822eade73676b26deea13181111911b4482c6f03a950b SHA512 200f1c7457bf199e8623e403ab3bd154d69a1ae277c45d27afb78619d84b92a0f8bdf5d8149024375cc21d31ae772253123a2375c4f8b445af8c0164d7a82135
+EBUILD spark-bin-2.4.4.ebuild 1414 BLAKE2B eac5901a30018631d781380efe54edf419b3e542d8a7a514d6e3bd0eae558bf120b64a1cfed96947e7aa5e6f72020a5d94cd8ba588e46cafeaa0b32f651c25aa SHA512 3f25749852cf2eaa914e3aeedddc3765ca58b44eeb19352de3aa2177ca13b023837c1e899eb11ec582b1d9bd159be0f5bb1bb068da0c3f84776d5f50df8273e9
MISC metadata.xml 499 BLAKE2B 7116e88708f7dafb75197e46237ea5d405bc703feadece0bb65766537f64bd2f7ea2b34cf4a4c94d4f25d74f040b6cf5eb0b0072a20600a9d206087b38f63831 SHA512 273279c1235d9888e5b30073044687584699f7f26fd696f019c5b11545f32095319b6bfe52196ed6846cf74c8ffaa2c7f6c9f3a29749fa3315f18adba917094c
diff --git a/sys-cluster/spark-bin/spark-bin-2.4.3.ebuild b/sys-cluster/spark-bin/spark-bin-2.4.4.ebuild
index 5240cf90911a..ecd0c7b00f8a 100644
--- a/sys-cluster/spark-bin/spark-bin-2.4.3.ebuild
+++ b/sys-cluster/spark-bin/spark-bin-2.4.4.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit java-pkg-2
diff --git a/sys-cluster/swift/Manifest b/sys-cluster/swift/Manifest
index f91111a89e3a..3488c4b1549f 100644
--- a/sys-cluster/swift/Manifest
+++ b/sys-cluster/swift/Manifest
@@ -6,10 +6,12 @@ DIST swift-2.20.0.tar.gz 3012428 BLAKE2B 48cfb52bce8d89836ede3d82cde197e282b55ce
DIST swift-2.21.0.tar.gz 3025042 BLAKE2B 847b11fa61620cdd07acadd1d4fcc43c9fc53ecfc958e8cb617dde6b643bce116662df74b9b2a01df8551847c4577fedd25aab3951ce437cf5d046552e3b22e0 SHA512 ceb96401aa5d1ab36dc0a08455970f9c1704868d778970cad9783463bf8a25dddc7431df0aa73e4d2d7d4f6ef2908fa5faede749fe94e32d5f67e61768edd964
DIST swift-2.22.0.tar.gz 3070436 BLAKE2B 53049ba901cf5a46d4567c7fa3620b0ad486d88897beb75887d81c5beb747a08ff52e7eba93eab9e9e087c82447d99f0fd85c97211fb4e930ce5b27a1bba41f1 SHA512 855f9d35399251ac86d687b652a9372da4d2f03dff8dee1743357c14c79f6ea8903b7c67d99fed08b6b4cdfa2cfd6ecb78b010b2ee83195eda30c4a9463a5a0c
DIST swift-2.23.0.tar.gz 3091166 BLAKE2B ec08e2617adc1dbe430215eca49728c7fd96e4b644a251852e4c90a709e8dde0e554e996cc4879efe32017a4e7098c0aa787bb344f79706eb2e0afcb2d7f977c SHA512 e90fc1ebc9613ab3da9300b18c15c4661b06dc11e527a665d9a186926ba5640f4f261841d03e6215f7b0bb01cb04b5e242280ffd178e5d7af9343b11e5a661e2
+DIST swift-2.23.1.tar.gz 3044545 BLAKE2B b3b06aefa7c58b718f7d9c1c1b9bc92f442b83202b8d5c2dbbb777650088f2d939f5e9d0fbe83cea38fd6635d072cd8bb3894d64ed9767dde203064c1b81cfdb SHA512 48aa82b178f5e3901363c2b9eeeedeea12a58b1ba86cc46937dd9ec074ecc005b04a6ce732d4e9fce2497c6c62b659038da40ed43550256584bb371df4e596fb
EBUILD swift-2.20.0.ebuild 3930 BLAKE2B a34c98f02fe58bf7091945fc3730b40d8b8ffc4523dabf7b6e74daf665d5f41ace12f1907a2dafc96262ed13ab64601aef3d055963602d807d01da794a860ec9 SHA512 0e9f6d58e26c77ade950c749e91cfa0239c0f94ab116600ce20e4250c29618a56492ba93435225373edf2f165a9a6f4a2c3a6781381f571190d1e6e3db72f518
EBUILD swift-2.21.0-r1.ebuild 4016 BLAKE2B 2234265b662c37a0dcaf5eaab7662d4e8c756c254e25fd95ad02ead7dcb78039d6af7d61f53e17a19f1571e32a612a958e83797e05f568ad33a73adfe5ab0e09 SHA512 4e5a3fd19e2689652f14246401da49245f9d84716b92f1593de2444b5d003218054b957449354a3308bb8af62aa9e27d8b51e9117d6d264cb261c5205403a138
EBUILD swift-2.22.0.ebuild 3955 BLAKE2B 762991f57c3e94f7179f658402f864b3cb956c722725da35dd431c713e9cb15aa3e3a751513330bd7bb7a64df0d88955f21be73d4440c322f49364771dc4ec7f SHA512 5fd0d198687daf9da9ffe2d304620ed98355772071faa3929b83876599528837e47a732e534616d96b67d800ca94438bc14e52c9b4ee9f1499f55bffe2ecece6
EBUILD swift-2.23.0.ebuild 3958 BLAKE2B 5fbf673da99e0ce6b6bbf0afa77c1dc42dc5b6421b16bbcaccd18f63274fb012cf1f42f8afd1c0fc6a95c83c36c6baa308dc4cc7daf321d267721cf0f7fb099a SHA512 0791c7fd3b7791d89af332f00e24a88bd0e587e392ae246a58039deae1d91c3b1dd81d6c994adb600ebca0e90917013047a0f923347fbd46746cc24e5d350d68
+EBUILD swift-2.23.1.ebuild 3958 BLAKE2B 5fbf673da99e0ce6b6bbf0afa77c1dc42dc5b6421b16bbcaccd18f63274fb012cf1f42f8afd1c0fc6a95c83c36c6baa308dc4cc7daf321d267721cf0f7fb099a SHA512 0791c7fd3b7791d89af332f00e24a88bd0e587e392ae246a58039deae1d91c3b1dd81d6c994adb600ebca0e90917013047a0f923347fbd46746cc24e5d350d68
EBUILD swift-2018.2.9999.ebuild 3936 BLAKE2B 8aedceb1506d24c0a6f4c0d219c3d1a734eb220bb5528c1f4e71e036b78da65bb96a656ba1d253a2a2181362711ec3d121106b3bd2013f3db103f5a61f63745e SHA512 d14f2c823a0d900aab54f7d4c919874372f3f996a4dfcb54595564bc2bafdec9761c5fecb041c54308851b7a1ad1da0ccc3136a399ccf0dd9b94fd329c11918f
EBUILD swift-2019.1.9999.ebuild 4018 BLAKE2B ded5587949b6bcb9db88032898134cf177990cc6248618cece257093e018253dd343887c8ec106025fa0d999a3f87ffac2e071706b9b968f4522ffe6a2e94557 SHA512 263739a2220d4933511bd3ca8f7d0525f3cfca78511924125d84a02ce7012bc63e7b6c284af31908e769dd0fbb5e2b69eb09b4a436470f17d873f27e92ad7093
EBUILD swift-2019.2.9999.ebuild 3958 BLAKE2B 5fbf673da99e0ce6b6bbf0afa77c1dc42dc5b6421b16bbcaccd18f63274fb012cf1f42f8afd1c0fc6a95c83c36c6baa308dc4cc7daf321d267721cf0f7fb099a SHA512 0791c7fd3b7791d89af332f00e24a88bd0e587e392ae246a58039deae1d91c3b1dd81d6c994adb600ebca0e90917013047a0f923347fbd46746cc24e5d350d68
diff --git a/sys-cluster/swift/swift-2.23.1.ebuild b/sys-cluster/swift/swift-2.23.1.ebuild
new file mode 100644
index 000000000000..73b14dde3ae6
--- /dev/null
+++ b/sys-cluster/swift/swift-2.23.1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_6 python3_7 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openstack/swift.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="account container doc +memcached object proxy"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.15.0:0[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.8[${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/six-1.10.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/ipaddress-1.0.16[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ 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"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ 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_all() {
+ distutils-r1_python_install_all
+ 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
+
+ if use doc; then
+ doman doc/manpages/*
+ dodoc -r doc/{s3api,saio,source}
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+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"
+}
diff --git a/sys-cluster/torque/Manifest b/sys-cluster/torque/Manifest
index eb31a38a5a60..df6e3d3d1779 100644
--- a/sys-cluster/torque/Manifest
+++ b/sys-cluster/torque/Manifest
@@ -8,7 +8,9 @@ AUX torque-4.1.5.1-tcl8.6.patch 2546 BLAKE2B f0c1c2d5df20c53a58a47de3fc0e226d2e9
AUX torque-4.2-dont-mess-with-cflags.patch 806 BLAKE2B d4be6b841f354c5ab9eca24cd2ee330607f83000f1d7086d2cd885427f67537a9c75105b1afa9bdb1a8475bfa408d1aff903cc1d9bd5c7dfbe3d9aaf5f2fddaa SHA512 23aeb87fc75ec8b916817264501240b9f0fae7b3e81662496824dcccc21d1a07b2b58221ea22ca6551b6830e76347416a09da6c22de4aea173a32fe13c90c7ff
AUX torque-4.2-use-NULL-instead-of-char0.patch 3898 BLAKE2B 9d693f6fc8a7dc4d9a3e3517c41ece9cde8f4567cf75439b47bfbf1041cf043b69c7666eb44a477ca6dac79415bd396782ee62535f7f4c32aa3caac4431d2347 SHA512 af6bb3e257f8f4c232c83ed8d0a4a4b8a451acb42bfec36aa1caa3191ab242109f1712bbd639219254e5ab42fa518990343b917ebf9d21406eb23e8b7c9141f3
AUX torque-4.2.9-tcl8.6.patch 2702 BLAKE2B c1444b5f4da1d37e21fe5a8970e188926080805db83406f5caca2cf27dddebf069d9d9747c33e3a1e2b0ec5f36e95d80d1c69151129967d432cd2d11c5e1ecf8 SHA512 9844a1f633f049a66cf31d3721f6a5e205ede26186da1357e0b0aa2c0c4d064cbdff45e2f7e685d6c4afd09d961e59ff1759163e4a2ae349fa866e960c1bcf77
-AUX torque-6.0.3-fix-emptystring-comparison.patch 542 BLAKE2B c5acba0cfb1a4ca40a77710563fe42b928052253c3569d9e130357142a0456601bbf671d61db32f54881498f4bc77b588d0cfef3431a35b30c3e3858a6aed002 SHA512 0303c49ef2a407773b9cd14f15e825d13e9a5c9ae91118ed770d81ccb59bbe01fb3614e6865b1be81e6f9618fba3a09cc4fe447a0e6684f1e142c49e17970189
+AUX torque-6.0.3-fix-emptystring-comparison.patch 2062 BLAKE2B d8186eebb69669ac67141183370f8959945db295956c686107471f9e29bfdcd08fd0a6c659f3bb80a6a152cc2a2319089b4a7c17eb29d873c257a559753efec7 SHA512 d2bc25899337f799652b5f02d7fc5d7e894fb6e2eefa201853a2695a5140c85aff670f8af3f8cf1b77988ea51d5f296d0073287316cfb52dcc208acc42161099
+AUX torque-6.0.4-error_buf_overflow_prevent.patch 736 BLAKE2B ade2f842fd04d323aead973423c29a24237e189f0badf6033632a5245a243c55435a21fbec0434afc5cada34d72581f51a7d1a1b8c89b25aacb22aeb7e1ab98a SHA512 40aea81d470f485cc4330435c90e41ecaef911e73be17a8f0eb3277965c72d67275221f0c2d8ab5fde25448db93087fc02ef09625052dc80320f51d8fcdfed9c
+AUX torque-6.0.4-gcc7.patch 50412 BLAKE2B 43748e9bfd3811abdfeb56f93dd517fcb07a6902194120e2c9e16bbe5bbe0f04afd3f898616d46e0310902a6376671be0c8f3865e8f7dd5381fca46e7ad62fc8 SHA512 430ae6a80ebbfb2066831326f8ce25a34cb6fc17c1fbe4a202c495baceb2b7011c9f6782da31b78c34287f26765c76c587611d689791523b8bd53d634e3681b6
AUX torque-6.0.4-no-openssl.patch 1926 BLAKE2B 387843f6117ebdb1a9ca0f9fe3363dd2b2ab45aced82e3e9c60cb11009fef1dd97afeb9e525a3a5d70885b6cd19cc20333dc9d009453ade63bad8c39fb82d578 SHA512 1370c280860eb31d2a7e09b7bef6d9f2d6d7651ba0c67db7c7c912ec72b78f6ca33f7f5b716afc69a10f8c3efd55d5702f8e894596de78a91a346ec28d83e5dc
AUX torque-conf.d 649 BLAKE2B 819a53a96a35d77b45d3c536278a088845cbbbd4ac1606b7d822ae36909477428c692975edcd69b519e348fa2cfc7d01c013db33daae65b9a0ba169456324443 SHA512 b82f6c1d661bed03a32c3761530c4b303715167a317e467371091b11d3ae0e19e9784b1588577ee5f65397cb0699818ed5f621aeb66d3f2d218df12d0cf39bde
AUX torque-conf.d-munge 784 BLAKE2B fe4fc64377da0ed0232961462bd92fea4fae68760dd698cf2759105f75686c5c77c3cff2c3fac3531c4b4905244cbc9df0fe67fe62a410a63b35008429dd1261 SHA512 a78634a6f2bdf3c24e8c99d3cd7a9634daa32d69244a9ddfcc26199f4d04e901abbfa79ad057f5a4e4c492c9e21bc0c65edd8465ac6935fb7c67c8c639e75d68
@@ -19,6 +21,5 @@ DIST torque-4.2.10-gh-20150517.tar.gz 5836286 BLAKE2B 7108f1adcb6f674526b7db97df
DIST torque-6.0.4-gh-20170829.tar.gz 6182495 BLAKE2B f9156ae4ffe388a7f3fa0df142e5f2d48c16fd7b8c148a3a80cd1c977eb0c1ef4a455da275f993100867be043422526ed05c53734e707851083d6d23ee1a2cc4 SHA512 8f1101adb89e06617de501f7956e126633b78b495baeb7980d3c534d34537cc604a3cf0a7c23c48eb2554b26cc13672b0e00c75d0f722d63ac4d42d57388ed94
EBUILD torque-4.1.7-r1.ebuild 7491 BLAKE2B d4c4a0be3c07eca1ae0a79fbe52ea153c4c013155426aa9cba4d4f2cc70086883c3b5345026450cd5608ae4e26773dabb9a70742cf9e7cf7dc968a7cc8210380 SHA512 e7213e0df29564fa24a48bf8b96e59a69fbd56abf5c470b794eb19fbdefe705ead880d9d908f006c9c79eeab325b0f6ccc3ae64973cb1e50061c2020c64aa816
EBUILD torque-4.2.10-r1.ebuild 6086 BLAKE2B c685ce4e6b5b7f58c040f0b16779bb59540aa0c80fe9a55b76d603e336e63a5186d543d664caa0f6184c3145c9608b31fed379b2e827bdcd62e6e53f8334b5cc SHA512 2c64f7dfaa26e1648e32283c1dcc31df0dba8bf3c4177fdafbe713d408d931ca83c2386d3548b47e1d6d90552e4c5ceeadf96c50089f2d17eb56d79312dc70f8
-EBUILD torque-6.0.4-r1.ebuild 5428 BLAKE2B cc1a8ada29520b3af36457e25f639ed70d9c8d9f724702be6bf8cdad5c125ed8303fec67450c79f233a890340d5ff904982e89b2e2b22003bc69d81b197b915f SHA512 21fabe1c45f965af746e722b54478a183d48f4f3934f65e312bb57b1ada6024044cc966e0d729e05b3c3e83b75092687b2a5bd20acf47376deeb58b38503b0fb
-EBUILD torque-6.0.4.ebuild 5463 BLAKE2B b6202d1c5679637d7d305bef8ec3a5f6d09d6e61eb0dc42093fade8349bd014f30304b6d82f0dcab6267d5d1f5102c3c3246e41e68329e3c9219ccdc9ad5126c SHA512 710971b3b72dc388b7631cba09a46096b45022a803bd1570774cc276d416c6f6426bbb8304d56a30d49de9c940cac6574d1e20e324c42d5aa95813ceda035fdf
+EBUILD torque-6.0.4-r1.ebuild 5543 BLAKE2B ee956490a4cc94d9b6be9000b9886f0a04b5a1324a1447240f25de90abeedb78e237e98f6ff520a34eb6ae145cfc3a4f3e6d7bbac5de6620b10aeafa3fa198c2 SHA512 07a22cabbd04268d1a035aed2aba774a7bacb831879062e9f9f9c5638d13605a1e5716aeaded6ab3abe4417a9391aeed7c92426640045a60cab0d8b0c95e8f47
MISC metadata.xml 988 BLAKE2B 257e838c8bde7ceea876a84631c248fce2e3a347794459bbfd4ae23210c779f69e606e120438351783ebf1cdeab7bd5e5df196ee9af31306bebd6130a08bb46f SHA512 46f2eb41303c17e84aacf5b8548b645772ab923bf9a4847892260cc5c6aaf354acc0bb0128186acf312ed77a24d9429c97f18914d759c7c5c97c19ad62489a43
diff --git a/sys-cluster/torque/files/torque-6.0.3-fix-emptystring-comparison.patch b/sys-cluster/torque/files/torque-6.0.3-fix-emptystring-comparison.patch
index 0666eda15937..6584f0ea8b33 100644
--- a/sys-cluster/torque/files/torque-6.0.3-fix-emptystring-comparison.patch
+++ b/sys-cluster/torque/files/torque-6.0.3-fix-emptystring-comparison.patch
@@ -19,3 +19,52 @@
while ((current != NULL) &&
(*current != '\0'))
{
+--- a/src/cmds/qsub_functions.c 2017-01-24 18:35:27.000000000 -0500
++++ b/src/cmds/qsub_functions.c 2017-11-21 13:40:27.201964749 -0500
+@@ -900,7 +900,7 @@
+ else
+ {
+ char *tmp_host = pbs_default();
+- if (tmp_host == '\0')
++ if (*tmp_host == '\0')
+ hash_add_or_exit(job_attr, ATTR_pbs_o_server, qsub_host, LOGIC_DATA);
+ else
+ hash_add_or_exit(job_attr, ATTR_pbs_o_server, tmp_host, LOGIC_DATA);
+--- a/src/cmds/pbsnodes.c 2017-01-24 18:35:27.000000000 -0500
++++ b/src/cmds/pbsnodes.c 2017-11-21 13:40:27.201964749 -0500
+@@ -900,7 +900,7 @@
+ {
+ nodeargs = (char **)calloc(2, sizeof(char *));
+ nodeargs[0] = strdup("");
+- nodeargs[1] = '\0';
++ nodeargs[1] = NULL;
+ }
+ }
+ }
+@@ -1020,7 +1020,7 @@
+
+ MXMLCreateE(&DE, "Data");
+
+- for (lindex = 0;nodeargs[lindex] != '\0';lindex++)
++ for (lindex = 0;nodeargs[lindex] != NULL;lindex++)
+ {
+ bstatus = statnode(con, nodeargs[lindex]);
+
+@@ -1041,7 +1041,7 @@
+ }
+ else
+ {
+- for (lindex = 0;nodeargs[lindex] != '\0';lindex++)
++ for (lindex = 0;nodeargs[lindex] != NULL;lindex++)
+ {
+ bstatus = statnode(con, nodeargs[lindex]);
+
+@@ -1065,7 +1065,7 @@
+
+ /* list any node that is DOWN, OFFLINE, or UNKNOWN */
+
+- for (lindex = 0;nodeargs[lindex] != '\0';lindex++)
++ for (lindex = 0;nodeargs[lindex] != NULL;lindex++)
+ {
+ bstatus = statnode(con, nodeargs[lindex]);
+
diff --git a/sys-cluster/torque/files/torque-6.0.4-error_buf_overflow_prevent.patch b/sys-cluster/torque/files/torque-6.0.4-error_buf_overflow_prevent.patch
new file mode 100644
index 000000000000..639f4f0662f7
--- /dev/null
+++ b/sys-cluster/torque/files/torque-6.0.4-error_buf_overflow_prevent.patch
@@ -0,0 +1,11 @@
+--- a/src/daemon_client/trq_auth_daemon.c 2017-08-29 18:25:11.000000000 -0400
++++ b/src/daemon_client/trq_auth_daemon.c 2019-10-21 13:58:47.441212099 -0400
+@@ -134,7 +134,7 @@
+ {
+ openlog("daemonize_trqauthd", LOG_PID | LOG_NOWAIT, LOG_DAEMON);
+ syslog(LOG_ALERT, "Failed to create client_logs directory: %s errno: %d error message: %s", path_log, errno, strerror(errno));
+- sprintf(error_buf,"Failed to create client_logs directory: %s, error message: %s",path_log,strerror(errno));
++ snprintf(error_buf,sizeof(error_buf),"Failed to create client_logs directory: %s, error message: %s",path_log,strerror(errno));
+ log_err(errno,__func__,error_buf);
+ closelog();
+ return(PBSE_SYSTEM);
diff --git a/sys-cluster/torque/files/torque-6.0.4-gcc7.patch b/sys-cluster/torque/files/torque-6.0.4-gcc7.patch
new file mode 100644
index 000000000000..340eb9e1bfc0
--- /dev/null
+++ b/sys-cluster/torque/files/torque-6.0.4-gcc7.patch
@@ -0,0 +1,1606 @@
+From 8a0b748d3644dde30372ee25c4fe05bec10b2166 Mon Sep 17 00:00:00 2001
+From: Chad Vizino <cvizino@adaptivecomputing.com>
+Date: Fri, 29 Mar 2019 09:23:08 -0600
+Subject: [PATCH] TRQ-4330 - fix gcc/g++ 7 compile issues
+
+---
+ src/cmds/qdel.c | 6 +-
+ src/cmds/qsub_functions.c | 12 ++--
+ src/cmds/qterm.c | 2 +
+ src/include/array.h | 2 +-
+ src/include/attribute.h | 4 +-
+ src/lib/Libattr/attr_fn_acl.c | 4 +-
+ src/lib/Libattr/attr_fn_arst.c | 4 +-
+ src/lib/Libcmds/cvtdate.c | 8 +--
+ src/lib/Libdis/disrsc.c | 2 +
+ src/lib/Libdis/disrsi.c | 2 +
+ src/lib/Libdis/disrsl.c | 2 +
+ src/lib/Libdis/disrss.c | 2 +
+ src/lib/Libnet/net_client.c | 4 +-
+ src/lib/Libnet/net_common.c | 1 +
+ src/lib/Libutils/jsoncpp.cpp | 9 +++
+ src/lib/Libutils/numa_chip.cpp | 10 +--
+ src/resmom/checkpoint.c | 59 ++++++++++------
+ src/resmom/generate_alps_status.c | 7 +-
+ src/resmom/linux/mom_mach.c | 79 +++++++++++++--------
+ src/resmom/mom_main.c | 16 ++---
+ src/resmom/mom_req_quejob.c | 12 ++--
+ src/resmom/mom_server.c | 41 +++++------
+ src/resmom/parse_config.c | 4 +-
+ src/resmom/requests.c | 8 +--
+ src/scheduler.cc/samples/fifo/dedtime.c | 2 +-
+ src/server/array_func.c | 6 +-
+ src/server/array_func.h | 2 +-
+ src/server/geteusernam.c | 2 +-
+ src/server/job_func.c | 28 ++++++--
+ src/server/node_attr_def.c | 16 ++---
+ src/server/node_manager.c | 5 +-
+ src/server/pbsd_init.c | 2 +
+ src/server/process_request.c | 18 ++---
+ src/server/req_jobobit.c | 16 ++++-
+ src/server/req_quejob.c | 2 +-
+ src/server/req_runjob.c | 10 ++-
+ src/server/req_stat.c | 2 +-
+ src/server/svr_chk_owner.c | 47 +++++++++----
+ src/server/svr_jobfunc.c | 80 +++++++++++++++-------
+ src/test/catch_child/scaffolding.c | 1 +
+ src/test/geteusernam/scaffolding.c | 2 +-
+ src/test/node_manager/test_uut.c | 4 +-
+ src/test/pbs_log/scaffolding.c | 3 +-
+ src/test/pbsd_main/scaffolding.c | 2 +-
+ src/test/process_alps_status/scaffolding.c | 2 +
+ src/test/process_request/scaffolding.c | 6 +-
+ src/test/req_stat/scaffolding.c | 4 +-
+ src/test/svr_chk_owner/scaffolding.c | 2 +-
+ torque.setup.in | 2 +-
+ 49 files changed, 358 insertions(+), 208 deletions(-)
+
+diff --git a/src/cmds/qdel.c b/src/cmds/qdel.c
+index 909018da66..d7e64f6289 100644
+--- a/src/cmds/qdel.c
++++ b/src/cmds/qdel.c
+@@ -49,7 +49,7 @@ void process_config_file(
+
+
+
+-bool is_array(
++bool is_job_array(
+
+ char *job_id)
+
+@@ -66,7 +66,7 @@ bool is_array(
+ }
+
+ return(false);
+- } /* END is_array() */
++ } /* END is_job_array() */
+
+
+
+@@ -289,7 +289,7 @@ int qdel_main(
+ snprintf(job_id, sizeof(job_id), "%s", argv[optind]);
+
+ if ((dash_t == true) &&
+- (is_array(job_id) == false))
++ (is_job_array(job_id) == false))
+ {
+ fprintf(stderr, "qdel: Error: job id '%s' isn't a job array but -t was specified.\n",
+ job_id);
+diff --git a/src/cmds/qsub_functions.c b/src/cmds/qsub_functions.c
+index 4fdfac0a7b..9799c831f4 100644
+--- a/src/cmds/qsub_functions.c
++++ b/src/cmds/qsub_functions.c
+@@ -3363,14 +3363,14 @@ void process_opts(
+ if (add_verify_resources(ji->res_attr, optarg, data_type) != 0)
+ print_qsub_usage_exit("qsub: illegal -l value");
+
+- //If cpuclock gets set we need to set the node exclusive flag
++ //If cpuclock gets set we need to set the node exclusive flag
++ {
++ job_data *pData = NULL;
++ if (hash_find(ji->res_attr,"cpuclock",&pData))
+ {
+- job_data *pData = NULL;
+- if (hash_find(ji->res_attr,"cpuclock",&pData))
+- {
+- hash_add_or_exit(ji->job_attr, ATTR_node_exclusive, "TRUE", data_type);
+- }
++ hash_add_or_exit(ji->job_attr, ATTR_node_exclusive, "TRUE", data_type);
+ }
++ }
+
+ break;
+
+diff --git a/src/cmds/qterm.c b/src/cmds/qterm.c
+index d05bd42d4e..0519328c01 100644
+--- a/src/cmds/qterm.c
++++ b/src/cmds/qterm.c
+@@ -89,6 +89,8 @@ int main(
+
+ local = true;
+
++ break;
++
+ case 't':
+
+ type = optarg;
+diff --git a/src/include/array.h b/src/include/array.h
+index 74050d0a25..d53dec1d3a 100644
+--- a/src/include/array.h
++++ b/src/include/array.h
+@@ -176,7 +176,7 @@
+ #define TOKENS_TAG "tokens"
+ #define TOKEN_TAG "token"
+
+-int is_array(char *id);
++int is_id_array(char *id);
+ int array_delete(job_array *pa);
+ int array_save(job_array *pa);
+ int array_save(job_array *pa);
+diff --git a/src/include/attribute.h b/src/include/attribute.h
+index 8fbff163b8..3d025ab66f 100644
+--- a/src/include/attribute.h
++++ b/src/include/attribute.h
+@@ -512,12 +512,12 @@ int to_size(const char *val, struct size_value *psize);
+ void from_size(struct size_value *psize, char *cvnbuf);
+ void create_size_string(char *buf, struct size_value values);
+
+-#define NULL_FUNC '\0'
++#define NULL_FUNC NULL
+
+ /* other associated funtions */
+
+ int acl_check(pbs_attribute *, char *canidate, int type);
+-int acl_check_my_array_string(struct array_strings *, char *, int);
++int acl_check_my_array_string(struct array_strings *, const char *, int);
+ char *arst_string(const char *str, pbs_attribute *pattr);
+ void attrl_fixlink(tlist_head *svrattrl);
+ void recov_acl(pbs_attribute *, attribute_def *, const char *, const char *);
+diff --git a/src/lib/Libattr/attr_fn_acl.c b/src/lib/Libattr/attr_fn_acl.c
+index ebb2775bf4..a7368b9f3b 100644
+--- a/src/lib/Libattr/attr_fn_acl.c
++++ b/src/lib/Libattr/attr_fn_acl.c
+@@ -232,7 +232,7 @@ fptr_int get_my_match_func(
+ int acl_check_my_array_string(
+
+ struct array_strings *pas,
+- char *name,
++ const char *name,
+ int type)
+
+ {
+@@ -503,6 +503,8 @@ int set_allacl(
+
+ /* No break, "Set" falls into "Incr" to add strings */
+
++ // fall through
++
+ case INCR_OLD:
+ case INCR:
+
+diff --git a/src/lib/Libattr/attr_fn_arst.c b/src/lib/Libattr/attr_fn_arst.c
+index c63281637e..9d82e873a3 100644
+--- a/src/lib/Libattr/attr_fn_arst.c
++++ b/src/lib/Libattr/attr_fn_arst.c
+@@ -532,7 +532,8 @@ int encode_arst(
+
+ *pc++ = '\\';
+
+- // escape sequence added. Fall through.
++ // escape sequence added.
++ // fall through
+
+ default:
+
+@@ -735,6 +736,7 @@ int set_arst(
+ pas->as_next = pas->as_buf;
+
+ /* no break, "SET" falls into "MERGE" to add strings */
++ // fall through
+
+ case INCR_OLD:
+ case MERGE:
+diff --git a/src/lib/Libcmds/cvtdate.c b/src/lib/Libcmds/cvtdate.c
+index e936c6fbed..0e24639619 100644
+--- a/src/lib/Libcmds/cvtdate.c
++++ b/src/lib/Libcmds/cvtdate.c
+@@ -167,7 +167,7 @@ time_t cvtdate(
+ year = atoi(buf) * 100;
+ datestr += 2;
+
+- /* no break, fall into next case */
++ // fall through
+
+ case 10: /* YYMMDDhhmm */
+ buf[0] = datestr[0];
+@@ -187,7 +187,7 @@ time_t cvtdate(
+
+ datestr += 2;
+
+- /* no break, fall into next case */
++ // fall through
+
+ case 8: /* MMDDhhmm */
+ buf[0] = datestr[0];
+@@ -209,7 +209,7 @@ time_t cvtdate(
+
+ datestr += 2;
+
+- /* no break, fall into next case */
++ // fall through
+
+ case 6: /* DDhhmm */
+ buf[0] = datestr[0];
+@@ -229,7 +229,7 @@ time_t cvtdate(
+
+ datestr += 2;
+
+- /* no break, fall into next case */
++ // fall through
+
+ case 4: /* hhmm */
+ buf[0] = datestr[0];
+diff --git a/src/lib/Libdis/disrsc.c b/src/lib/Libdis/disrsc.c
+index ac7fec6cbb..2baf87b2b9 100644
+--- a/src/lib/Libdis/disrsc.c
++++ b/src/lib/Libdis/disrsc.c
+@@ -141,6 +141,8 @@ signed char disrsc(
+ else
+ locret = DIS_OVERFLOW;
+
++ // fall through
++
+ case DIS_OVERFLOW:
+ value = negate ? SCHAR_MIN : SCHAR_MAX;
+ }
+diff --git a/src/lib/Libdis/disrsi.c b/src/lib/Libdis/disrsi.c
+index a2417725fe..dd073b1bb0 100644
+--- a/src/lib/Libdis/disrsi.c
++++ b/src/lib/Libdis/disrsi.c
+@@ -141,6 +141,8 @@ int disrsi(
+ *retval = locret;
+ }
+
++ // fall through
++
+ case DIS_OVERFLOW:
+
+ value = negate ? INT_MIN : INT_MAX;
+diff --git a/src/lib/Libdis/disrsl.c b/src/lib/Libdis/disrsl.c
+index 9853056fcf..5fba4a4ba0 100644
+--- a/src/lib/Libdis/disrsl.c
++++ b/src/lib/Libdis/disrsl.c
+@@ -139,6 +139,8 @@ long disrsl(
+ else
+ locret = DIS_OVERFLOW;
+
++ // fall through
++
+ case DIS_OVERFLOW:
+ value = negate ? LONG_MIN : LONG_MAX;
+ }
+diff --git a/src/lib/Libdis/disrss.c b/src/lib/Libdis/disrss.c
+index 80eb98109b..e2496b8adf 100644
+--- a/src/lib/Libdis/disrss.c
++++ b/src/lib/Libdis/disrss.c
+@@ -140,6 +140,8 @@ short disrss(
+ else
+ locret = DIS_OVERFLOW;
+
++ // fall through
++
+ case DIS_OVERFLOW:
+ value = negate ? SHRT_MIN : SHRT_MAX;
+ }
+diff --git a/src/lib/Libnet/net_client.c b/src/lib/Libnet/net_client.c
+index 8f8542320b..a324c08197 100644
+--- a/src/lib/Libnet/net_client.c
++++ b/src/lib/Libnet/net_client.c
+@@ -532,7 +532,7 @@ int client_to_svr(
+ break;
+ }/* Interrupted system call */
+
+- /* fall through to next case */
++ // fall through
+
+ case EINVAL: /* Invalid argument */
+
+@@ -583,6 +583,8 @@ int client_to_svr(
+
+ goto retry;
+ }
++
++ // fall through
+
+ default:
+
+diff --git a/src/lib/Libnet/net_common.c b/src/lib/Libnet/net_common.c
+index 7b36d31aa1..80bb78bee5 100644
+--- a/src/lib/Libnet/net_common.c
++++ b/src/lib/Libnet/net_common.c
+@@ -405,6 +405,7 @@ int socket_connect_addr(
+ }
+
+ /* essentially, only fall through for a transient failure */
++ // fall through
+
+ /* socket not ready for writing after 5 timeout */
+ case EINVAL: /* Invalid argument */
+diff --git a/src/resmom/checkpoint.c b/src/resmom/checkpoint.c
+index f178f48408..7e94b8b00a 100644
+--- a/src/resmom/checkpoint.c
++++ b/src/resmom/checkpoint.c
+@@ -51,6 +51,8 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <string>
++#include <sstream>
+ #include <unistd.h>
+ #include <assert.h>
+ #include <dirent.h>
+@@ -950,6 +952,7 @@ int blcr_checkpoint_job(
+ char sid[20];
+ char *arg[20];
+ char buf[1024];
++ std::string err_msg;
+ int len;
+ char **ap;
+ FILE *fs;
+@@ -1107,9 +1110,10 @@ int blcr_checkpoint_job(
+
+ /* remove checkpoint directory that was created for this checkpoint attempt */
+
+- sprintf(buf, "Checkpoint failed for job %s, removing checkpoint directory\n",
+- pjob->ji_qs.ji_jobid);
+- log_ext(-1, __func__, buf, LOG_DEBUG);
++ err_msg = "Checkpoint failed for job ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += ", removing checkpoint directory\n";
++ log_ext(-1, __func__, err_msg.c_str(), LOG_DEBUG);
+
+ delete_blcr_checkpoint_files(pjob);
+
+@@ -1123,9 +1127,12 @@ int blcr_checkpoint_job(
+
+ if (err != 0)
+ {
+- sprintf(buf, "pbs_alterjob requested on job %s failed (%d-%s)\n",
+- pjob->ji_qs.ji_jobid, err, pbs_strerror(err));
+- log_err(-1, __func__, buf);
++ std::ostringstream buf_s;
++
++ buf_s << "pbs_alterjob requested on job " << pjob->ji_qs.ji_jobid <<
++ " failed (" << err << "-" << pbs_strerror(err) << ")\n";
++ err_msg = buf_s.str();
++ log_err(-1, __func__, err_msg.c_str());
+ if (err == PBSE_UNKJOBID)
+ {
+ /* TODO: GB - can the job exit while waiting for the checkpoint
+@@ -1190,9 +1197,12 @@ int blcr_checkpoint_job(
+
+ if (err != 0)
+ {
+- sprintf(buf, "pbs_alterjob requested on job %s failed (%d-%s)\n",
+- pjob->ji_qs.ji_jobid, err, pbs_strerror(err));
+- log_err(-1, __func__, buf);
++ std::ostringstream buf_s;
++
++ buf_s << "pbs_alterjob requested on job " << pjob->ji_qs.ji_jobid <<
++ " failed (" << err << "-" << pbs_strerror(err) << ")\n";
++ err_msg = buf_s.str();
++ log_err(-1, __func__, err_msg.c_str());
+ if (err == PBSE_UNKJOBID)
+ {
+ /* TODO: GB - can the job exit while waiting for the checkpoint
+@@ -1527,6 +1537,8 @@ int start_checkpoint(
+ pid_t pid;
+ int rc = PBSE_NONE;
+ char name_buffer[MAXPATHLEN + 1];
++ std::ostringstream buf_s;
++ std::string buf;
+ time_t time_now;
+
+ time_now = time((time_t *)0);
+@@ -1548,11 +1560,10 @@ int start_checkpoint(
+ * to the pbs_server until the checkpoint has completed successfully.
+ */
+
+- sprintf(name_buffer,"ckpt.%s.%d",
+- pjob->ji_qs.ji_jobid,
+- (int)time_now);
++ buf_s << "ckpt." << pjob->ji_qs.ji_jobid << "." << time_now;
++ buf = buf_s.str();
+
+- decode_str(&pjob->ji_wattr[JOB_ATR_checkpoint_name], NULL, NULL, name_buffer, 0);
++ decode_str(&pjob->ji_wattr[JOB_ATR_checkpoint_name], NULL, NULL, buf.c_str(), 0);
+
+ pjob->ji_wattr[JOB_ATR_checkpoint_name].at_flags =
+ ATR_VFLAG_SET | ATR_VFLAG_MODIFY;
+@@ -1760,8 +1771,8 @@ int blcr_restart_job(
+ int pid;
+ char sid[20];
+ char *arg[20];
++ std::string err_msg;
+ extern char restart_script_name[MAXPATHLEN + 1];
+- char buf[1024];
+ char namebuf[MAXPATHLEN + 1];
+ char restartfile[MAXPATHLEN + 1];
+ char script_buf[MAXPATHLEN + 1];
+@@ -1886,14 +1897,18 @@ int blcr_restart_job(
+ arg[6] = SET_ARG(pjob->ji_wattr[JOB_ATR_checkpoint_name].at_val.at_str);
+ arg[7] = NULL;
+
+- snprintf(buf, sizeof(buf), "restart args: %s %s %s %s %s %s %s",
+- restart_script_name, sid, pjob->ji_qs.ji_jobid,
+- SET_ARG(pjob->ji_wattr[JOB_ATR_euser].at_val.at_str),
+- SET_ARG(pjob->ji_wattr[JOB_ATR_egroup].at_val.at_str),
+- namebuf,
+- SET_ARG(pjob->ji_wattr[JOB_ATR_checkpoint_name].at_val.at_str));
+-
+- log_ext(-1, __func__, buf, LOG_DEBUG);
++ err_msg = "restart args: ";
++ err_msg += restart_script_name;
++ err_msg += " ";
++ err_msg += SET_ARG(pjob->ji_wattr[JOB_ATR_euser].at_val.at_str);
++ err_msg += " ";
++ err_msg += SET_ARG(pjob->ji_wattr[JOB_ATR_egroup].at_val.at_str);
++ err_msg += " ";
++ err_msg += namebuf;
++ err_msg += " ";
++ err_msg += SET_ARG(pjob->ji_wattr[JOB_ATR_checkpoint_name].at_val.at_str);
++
++ log_ext(-1, __func__, err_msg.c_str(), LOG_DEBUG);
+
+ log_close(0);
+
+diff --git a/src/resmom/generate_alps_status.c b/src/resmom/generate_alps_status.c
+index 305d603874..286d6b02ef 100644
+--- a/src/resmom/generate_alps_status.c
++++ b/src/resmom/generate_alps_status.c
+@@ -87,6 +87,7 @@
+ #include "alps_constants.h"
+ #include "alps_functions.h"
+ #include <string>
++#include <sstream>
+ #include <vector>
+ #include <set>
+ #include <time.h>
+@@ -586,9 +587,9 @@ int process_node(
+ ani.features += features.c_str();
+ }
+
+- char node_index_buf[MAXLINE];
+- snprintf(node_index_buf, sizeof(node_index_buf), "node_index=%lu", alps_nodes.size());
+- ani.node_index = node_index_buf;
++ std::ostringstream ostr;
++ ostr << "node_index=" << alps_nodes.size();
++ ani.node_index = ostr.str();
+
+ alps_nodes[nid] = ani;
+
+diff --git a/src/resmom/linux/mom_mach.c b/src/resmom/linux/mom_mach.c
+index acaf81d467..8d8011a868 100644
+--- a/src/resmom/linux/mom_mach.c
++++ b/src/resmom/linux/mom_mach.c
+@@ -3,6 +3,7 @@
+ #include "lib_mom.h" /* header */
+
+ #include <string>
++#include <sstream>
+ #include <vector>
+ #include <assert.h>
+ #include <limits.h>
+@@ -1221,6 +1222,7 @@ unsigned long cput_sum(
+ int fd;
+ int rc;
+ char buf[LOCAL_BUF_SIZE];
++ std::string err_msg;
+
+ pbs_attribute *pattr;
+ pattr = &pjob->ji_wattr[JOB_ATR_req_information];
+@@ -1234,8 +1236,11 @@ unsigned long cput_sum(
+ rc = cr->get_req_index_for_host(mom_alias, req_index);
+ if (rc != PBSE_NONE)
+ {
+- sprintf(buf, "Could not find req for host %s, job_id %s", mom_alias, pjob->ji_qs.ji_jobid);
+- log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf);
++ err_msg = "Could not find req for host ";
++ err_msg += mom_alias;
++ err_msg += ", job_id ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, err_msg.c_str());
+ return(cputime);
+ }
+
+@@ -1272,8 +1277,11 @@ unsigned long cput_sum(
+ {
+ if (pjob->ji_cgroups_created == true)
+ {
+- sprintf(buf, "failed to open %s: %s", full_cgroup_path.c_str(), strerror(errno));
+- log_err(-1, __func__, buf);
++ err_msg = "failed to open ";
++ err_msg += full_cgroup_path;
++ err_msg += ": ";
++ err_msg += strerror(errno);
++ log_err(-1, __func__, err_msg.c_str());
+ }
+ return(0);
+ }
+@@ -1281,8 +1289,11 @@ unsigned long cput_sum(
+ rc = read(fd, buf, LOCAL_BUF_SIZE);
+ if (rc == -1)
+ {
+- sprintf(buf, "failed to read %s: %s", full_cgroup_path.c_str(), strerror(errno));
+- log_err(-1, __func__, buf);
++ err_msg = "failed to read ";
++ err_msg += full_cgroup_path;
++ err_msg += ": ";
++ err_msg += strerror(errno);
++ log_err(-1, __func__, err_msg.c_str());
+ close(fd);
+ return(0);
+ }
+@@ -1567,6 +1578,7 @@ unsigned long long resi_sum(
+ char buf[LOCAL_BUF_SIZE];
+ int fd;
+ int rc;
++ std::string err_msg;
+
+ pbs_attribute *pattr;
+ pattr = &pjob->ji_wattr[JOB_ATR_req_information];
+@@ -1579,8 +1591,11 @@ unsigned long long resi_sum(
+ rc = cr->get_req_index_for_host(mom_alias, req_index);
+ if (rc != PBSE_NONE)
+ {
+- sprintf(buf, "Could not find req for host %s, job_id %s", mom_alias, pjob->ji_qs.ji_jobid);
+- log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf);
++ err_msg = "Could not find req for host ";
++ err_msg += mom_alias;
++ err_msg += ", job_id ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, err_msg.c_str());
+ return(resisize);
+ }
+
+@@ -1614,8 +1629,11 @@ unsigned long long resi_sum(
+ {
+ if (pjob->ji_cgroups_created == true)
+ {
+- sprintf(buf, "failed to open %s: %s", full_cgroup_path.c_str(), strerror(errno));
+- log_err(-1, __func__, buf);
++ err_msg = "failed to open ";
++ err_msg += full_cgroup_path;
++ err_msg += ": ";
++ err_msg += strerror(errno);
++ log_err(-1, __func__, err_msg.c_str());
+ }
+
+ return(0);
+@@ -1624,8 +1642,11 @@ unsigned long long resi_sum(
+ rc = read(fd, buf, LOCAL_BUF_SIZE);
+ if (rc == -1)
+ {
+- sprintf(buf, "failed to read %s: %s", full_cgroup_path.c_str(), strerror(errno));
+- log_err(-1, __func__, buf);
++ err_msg = "failed to read ";
++ err_msg += full_cgroup_path;
++ err_msg += ": ";
++ err_msg += strerror(errno);
++ log_err(-1, __func__, err_msg.c_str());
+ close(fd);
+ return(0);
+ }
+@@ -1637,8 +1658,9 @@ unsigned long long resi_sum(
+ buf2 = strstr(buf, "\nrss ");
+ if (buf2 == NULL)
+ {
+- sprintf(buf, "read failed finding rss %s", full_cgroup_path.c_str());
+- log_err(errno, __func__, buf);
++ err_msg = "read failed finding rss ";
++ err_msg += full_cgroup_path;
++ log_err(errno, __func__, err_msg.c_str());
+ close(fd);
+ return(0);
+ }
+@@ -4983,16 +5005,17 @@ void scan_non_child_tasks(void)
+
+ if (!found)
+ {
+- char buf[MAXLINE];
++ std::ostringstream sbuf;
++ std::string buf;
+
+ extern int exiting_tasks;
+
+- sprintf(buf, "found exited session %d for task %d in job %s",
+- pTask->ti_qs.ti_sid,
+- pTask->ti_qs.ti_task,
+- pJob->ji_qs.ji_jobid);
++ sbuf << "found exited session " << pTask->ti_qs.ti_sid <<
++ " for task " << pTask->ti_qs.ti_task << " in job " <<
++ pJob->ji_qs.ji_jobid;
++ buf = sbuf.str();
+
+- log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf);
++ log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf.c_str());
+
+ pTask->ti_qs.ti_exitstat = 0; /* actually unknown */
+ pTask->ti_qs.ti_status = TI_STATE_EXITED;
+@@ -5006,10 +5029,11 @@ void scan_non_child_tasks(void)
+
+ if (LOGLEVEL >= 7)
+ {
+- sprintf(buf, "marking job as MOM_JOB_RECOVERY for task %d",
+- pTask->ti_qs.ti_task);
++ sbuf << "marking job as MOM_JOB_RECOVERY for task " <<
++ pTask->ti_qs.ti_task);
++ buf = sbuf.str();
+
+- log_event(PBSEVENT_DEBUG, PBS_EVENTCLASS_JOB, pJob->ji_qs.ji_jobid, buf);
++ log_event(PBSEVENT_DEBUG, PBS_EVENTCLASS_JOB, pJob->ji_qs.ji_jobid, buf.c_str());
+ }
+ }
+ #endif /* USESAVEDRESOURCES */
+@@ -5075,7 +5099,6 @@ const char *idletime(
+ DIR *dp;
+
+ struct dirent *de;
+- char ttyname[50];
+ time_t curtm;
+
+ if (attrib)
+@@ -5104,16 +5127,18 @@ const char *idletime(
+
+ while ((de = readdir(dp)) != NULL)
+ {
++ std::string ttyname;
++
+ if (maxtm >= curtm)
+ break;
+
+ if (strncmp(de->d_name, "tty", 3))
+ continue;
+
+- sprintf(ttyname, "/dev/%s",
+- de->d_name);
++ ttyname = "/dev/";
++ ttyname += de->d_name;
+
+- setmax(ttyname);
++ setmax(ttyname.c_str());
+ }
+
+ closedir(dp);
+diff --git a/src/resmom/mom_main.c b/src/resmom/mom_main.c
+index 2d8453a15f..35896e58b1 100644
+--- a/src/resmom/mom_main.c
++++ b/src/resmom/mom_main.c
+@@ -1067,7 +1067,7 @@ char *conf_res(
+ goto done;
+ }
+
+- name[i] = '\0';
++ name[i] = NULL;
+
+ for (d = ret_string, resline++;*resline;)
+ {
+@@ -6519,17 +6519,17 @@ void prepare_child_tasks_for_delete()
+ for (unsigned int i = 0; i < pJob->ji_tasks->size(); i++)
+ {
+ task *pTask = pJob->ji_tasks->at(i);
+-
+- char buf[128];
++ std::ostringstream sbuf;
++ std::string buf;
+
+ extern int exiting_tasks;
+
+- sprintf(buf, "preparing exited session %d for task %d in job %s for deletion",
+- pTask->ti_qs.ti_sid,
+- pTask->ti_qs.ti_task,
+- pJob->ji_qs.ji_jobid);
++ sbuf << "preparing exited session " << pTask->ti_qs.ti_sid <<
++ " for task " << pTask->ti_qs.ti_task << " in job " <<
++ pJob->ji_qs.ji_jobid << " for deletion";
++ buf = sbuf.str();
+
+- log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf);
++ log_event(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, buf.c_str());
+
+ pTask->ti_qs.ti_exitstat = 0; /* actually unknown */
+ pTask->ti_qs.ti_status = TI_STATE_EXITED;
+diff --git a/src/resmom/mom_req_quejob.c b/src/resmom/mom_req_quejob.c
+index 2211f52d55..4e10581184 100644
+--- a/src/resmom/mom_req_quejob.c
++++ b/src/resmom/mom_req_quejob.c
+@@ -743,11 +743,15 @@ void req_mvjobfile(
+
+ if (pj == NULL)
+ {
+- snprintf(log_buffer, 1024, "cannot find job %s for move of %s file",
+- preq->rq_ind.rq_jobfile.rq_jobid,
+- TJobFileType[jft]);
++ std::string err_msg;
+
+- log_err(-1, __func__, log_buffer);
++ err_msg = "cannot find job ";
++ err_msg += preq->rq_ind.rq_jobfile.rq_jobid;
++ err_msg += " for move of ";
++ err_msg += TJobFileType[jft];
++ err_msg += " file";
++
++ log_err(-1, __func__, err_msg.c_str());
+
+ req_reject(PBSE_UNKJOBID, 0, preq, NULL, NULL);
+
+diff --git a/src/resmom/mom_server.c b/src/resmom/mom_server.c
+index f90c2cd227..e03395225a 100644
+--- a/src/resmom/mom_server.c
++++ b/src/resmom/mom_server.c
+@@ -1900,7 +1900,6 @@ void mom_server_diag(
+ std::stringstream &output)
+
+ {
+- char tmpLine[1024];
+ time_t Now;
+
+ if (pms->pbs_servername[0] == '\0')
+@@ -1910,22 +1909,18 @@ void mom_server_diag(
+
+ time(&Now);
+
+- sprintf(tmpLine, "Server[%d]: %s (%s)\n",
+- sindex,
+- pms->pbs_servername,
+- netaddr(&(pms->sock_addr)));
+-
+- output << tmpLine;
++ output << "Server[" << sindex << "]: " << pms->pbs_servername <<
++ " (" << netaddr(&(pms->sock_addr)) << ")\n";
+
+ if (pms->MOMSendStatFailure[0] != '\0')
+ {
+- sprintf(tmpLine, " WARNING: could not open connection to server, %s%s\n",
+- pms->MOMSendStatFailure,
+- (strstr(pms->MOMSendStatFailure, "cname") != NULL) ?
+- " (check name resolution - /etc/hosts?)" :
+- "");
++ output << " WARNING: could not open connection to server, " <<
++ pms->MOMSendStatFailure;
++
++ if (strstr(pms->MOMSendStatFailure, "cname") != NULL)
++ output << " (check name resolution - /etc/hosts?)";
+
+- output << tmpLine;
++ output << "\n";
+ }
+
+ if (TMOMRejectConn[0] != '\0')
+@@ -1935,30 +1930,26 @@ void mom_server_diag(
+
+ if (pms->MOMLastRecvFromServerTime > 0)
+ {
+- sprintf(tmpLine, " Last Msg From Server: %ld seconds (%s)\n",
+- (long)Now - pms->MOMLastRecvFromServerTime,
+- (pms->MOMLastRecvFromServerCmd[0] != '\0') ?
+- pms->MOMLastRecvFromServerCmd : "N/A");
++ output << " Last Msg From Server: " <<
++ ((long)Now - pms->MOMLastRecvFromServerTime) << " seconds (" <<
++ ((pms->MOMLastRecvFromServerCmd[0] != '\0') ?
++ pms->MOMLastRecvFromServerCmd : "N/A") << "\n";
+ }
+ else
+ {
+- sprintf(tmpLine, " WARNING: no messages received from server\n");
++ output << " WARNING: no messages received from server\n";
+ }
+
+- output << tmpLine;
+-
+ if (pms->MOMLastSendToServerTime > 0)
+ {
+- sprintf(tmpLine, " Last Msg To Server: %ld seconds\n",
+- (long)Now - pms->MOMLastSendToServerTime);
++ output << " Last Msg To Server: " <<
++ ((long)Now - pms->MOMLastSendToServerTime) << " seconds\n";
+ }
+ else
+ {
+- sprintf(tmpLine, " WARNING: no messages sent to server\n");
++ output << " WARNING: no messages sent to server\n";
+ }
+
+- output << tmpLine;
+-
+ return;
+ } /* END mom_server_diag() */
+
+diff --git a/src/resmom/parse_config.c b/src/resmom/parse_config.c
+index 8c4bb8585d..35efb7880e 100644
+--- a/src/resmom/parse_config.c
++++ b/src/resmom/parse_config.c
+@@ -2385,14 +2385,14 @@ void reset_config_vars()
+ mom_host[0] = '\0';
+ hostname_specified = 0;
+ MOMConfigRReconfig = 0;
+- TNoSpoolDirList[0] = '\0';
++ TNoSpoolDirList[0] = NULL;
+ is_reporter_mom = FALSE;
+ is_login_node = FALSE;
+ job_exit_wait_time = DEFAULT_JOB_EXIT_WAIT_TIME;
+ jobstarter_exe_name[0] = '\0';
+ jobstarter_set = 0;
+ server_alias = NULL;
+- TRemChkptDirList[0] = '\0';
++ TRemChkptDirList[0] = NULL;
+ tmpdir_basename[0] = '\0'; /* for $TMPDIR */
+ rcp_path[0] = '\0';
+ rcp_args[0] = '\0';
+diff --git a/src/resmom/requests.c b/src/resmom/requests.c
+index 588905e4e3..6fce46cdfb 100644
+--- a/src/resmom/requests.c
++++ b/src/resmom/requests.c
+@@ -1490,16 +1490,16 @@ void req_modifyjob(
+ int rc;
+ unsigned int momport = 0;
+
+- char tmpLine[1024];
++ std::string tmpLine;
+
+ pjob = mom_find_job(preq->rq_ind.rq_modify.rq_objname);
+
+ if (pjob == NULL)
+ {
+- sprintf(tmpLine, "modify job failed, unknown job %s",
+- preq->rq_ind.rq_modify.rq_objname);
++ tmpLine = "modify job failed, unknown job ";
++ tmpLine += preq->rq_ind.rq_modify.rq_objname;
+
+- req_reject(PBSE_UNKJOBID, 0, preq, mom_host, tmpLine);
++ req_reject(PBSE_UNKJOBID, 0, preq, mom_host, tmpLine.c_str());
+
+ return;
+ }
+diff --git a/src/scheduler.cc/samples/fifo/dedtime.c b/src/scheduler.cc/samples/fifo/dedtime.c
+index b919ec8946..246bd4f8af 100644
+--- a/src/scheduler.cc/samples/fifo/dedtime.c
++++ b/src/scheduler.cc/samples/fifo/dedtime.c
+@@ -118,7 +118,7 @@ int parse_ded_file(const char *filename)
+
+ i = 0;
+
+- memset(conf.ded_time, 0, MAX_DEDTIME_SIZE);
++ memset(conf.ded_time, 0, sizeof(struct timegap) * MAX_DEDTIME_SIZE);
+
+ while (fgets(line, 256, fp) != NULL)
+ {
+diff --git a/src/server/array_func.c b/src/server/array_func.c
+index fabe4541fa..8f5caf0520 100644
+--- a/src/server/array_func.c
++++ b/src/server/array_func.c
+@@ -4,7 +4,7 @@
+
+ included functions:
+
+- is_array() determine if jobnum is actually an array identifyer
++ is_id_array() determine if jobnum is actually an array identifyer
+ get_array() return array struct for given "parent id"
+ array_save() save array struct to disk
+ array_get_parent_id() return id of parent job if job belongs to a job array
+@@ -90,7 +90,7 @@ void force_purge_work(job *pjob);
+
+ /* search job array list to determine if id is a job array */
+
+-int is_array(
++int is_id_array(
+
+ char *id)
+
+@@ -154,7 +154,7 @@ int is_array(
+ allarrays.unlock();
+
+ return(rc);
+- } /* END is_array() */
++ } /* END is_id_array() */
+
+
+
+diff --git a/src/server/array_func.h b/src/server/array_func.h
+index 6cb1b84c9c..70e3d326f7 100644
+--- a/src/server/array_func.h
++++ b/src/server/array_func.h
+@@ -8,7 +8,7 @@
+ #include "batch_request.h" /* batch_request */
+
+
+-int is_array(char *id);
++int is_id_array(char *id);
+
+ int array_save(job_array *pa);
+
+diff --git a/src/server/job_func.c b/src/server/job_func.c
+index dbc47de458..8922deab35 100644
+--- a/src/server/job_func.c
++++ b/src/server/job_func.c
+@@ -2387,22 +2387,36 @@ int fix_cray_exec_hosts(
+
+
+
++// change job id from x.y to x-0.y
+
+ int change_external_job_name(
+
+ job *pjob)
+
+ {
+- char tmp_jobid[PBS_MAXSVRJOBID + 1];
+- char *dot = strchr(pjob->ji_qs.ji_jobid, '.');
++ std::string jobid_new;
++ size_t pos;
+
+- if (dot != NULL)
+- *dot = '\0';
++ // null job pointer
++ if (pjob == NULL)
++ return(-1);
+
+- snprintf(tmp_jobid, sizeof(tmp_jobid), "%s-0.%s",
+- pjob->ji_qs.ji_jobid, dot + 1);
++ // copy original job id
++ jobid_new = pjob->ji_qs.ji_jobid;
++
++ // make sure job id has a .
++ if ((pos = jobid_new.find('.', 0)) == std::string::npos)
++ return(-1);
++
++ // change "." to "-0."
++ jobid_new.replace(pos, 1, "-0.");
++
++ // confirm new string will fit
++ if (jobid_new.length() > PBS_MAXSVRJOBID)
++ return(-1);
+
+- strcpy(pjob->ji_qs.ji_jobid, tmp_jobid);
++ // update original
++ strncpy(pjob->ji_qs.ji_jobid, jobid_new.c_str(), PBS_MAXSVRJOBID);
+
+ return(PBSE_NONE);
+ } /* END change_external_job_name() */
+diff --git a/src/server/node_attr_def.c b/src/server/node_attr_def.c
+index 37aa121ca2..386f12b32d 100644
+--- a/src/server/node_attr_def.c
++++ b/src/server/node_attr_def.c
+@@ -380,7 +380,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -392,7 +392,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -404,7 +404,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -416,7 +416,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -428,7 +428,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -440,7 +440,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -452,7 +452,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+@@ -464,7 +464,7 @@ attribute_def node_attr_def[] =
+ set_l,
+ comp_null,
+ free_null,
+- NULL_FUNC,
++ NULL_FUNC,
+ NO_USER_SET,
+ ATR_TYPE_LONG,
+ PARENT_TYPE_NODE,
+diff --git a/src/server/node_manager.c b/src/server/node_manager.c
+index 663b741da6..92c4d73f8a 100644
+--- a/src/server/node_manager.c
++++ b/src/server/node_manager.c
+@@ -924,9 +924,10 @@ void process_legacy_job_attribute_information(
+ {
+ char *attr_name = threadsafe_tokenizer(&attr_val, "=");
+
+- if ((attr_name != NULL) &&
+- (attr_val != '\0'))
++ if ((attr_name != NULL) && (*attr_name != '\0') &&
++ (attr_val != NULL) && (*attr_val != '\0'))
+ {
++ // convert attr_name, attr_val strings to an attribute
+ if (str_to_attr(attr_name, attr_val, pjob->ji_wattr, job_attr_def, JOB_ATR_LAST) == ATTR_NOT_FOUND)
+ {
+ // should be resources used if not found as attribute
+diff --git a/src/server/pbsd_init.c b/src/server/pbsd_init.c
+index 0233800586..1a639ab2dc 100644
+--- a/src/server/pbsd_init.c
++++ b/src/server/pbsd_init.c
+@@ -2667,6 +2667,8 @@ int pbsd_init_job(
+
+ svr_setjobstate(pjob, JOB_STATE_COMPLETE, JOB_SUBSTATE_COMPLETE, FALSE);
+
++ // fall through
++
+
+ case JOB_SUBSTATE_COMPLETE:
+
+diff --git a/src/server/process_request.c b/src/server/process_request.c
+index e7f243f58e..ec1935cca4 100644
+--- a/src/server/process_request.c
++++ b/src/server/process_request.c
+@@ -795,7 +795,7 @@ int dispatch_request(
+ * req_deletejob() function.
+ */
+
+- if (is_array(request->rq_ind.rq_delete.rq_objname))
++ if (is_id_array(request->rq_ind.rq_delete.rq_objname))
+ rc = req_deletearray(request);
+ else
+ rc = req_deletejob(request);
+@@ -803,7 +803,7 @@ int dispatch_request(
+ break;
+
+ case PBS_BATCH_HoldJob:
+- if (is_array(request->rq_ind.rq_hold.rq_orig.rq_objname))
++ if (is_id_array(request->rq_ind.rq_hold.rq_orig.rq_objname))
+ rc = req_holdarray(request);
+ else
+ rc = req_holdjob(request);
+@@ -843,7 +843,7 @@ int dispatch_request(
+ case PBS_BATCH_AsyModifyJob:
+
+ case PBS_BATCH_ModifyJob:
+- if (is_array(request->rq_ind.rq_delete.rq_objname))
++ if (is_id_array(request->rq_ind.rq_delete.rq_objname))
+ rc = req_modifyarray(request);
+ else
+ req_modifyjob(request);
+@@ -888,7 +888,7 @@ int dispatch_request(
+
+ case PBS_BATCH_ReleaseJob:
+
+- if (is_array(request->rq_ind.rq_delete.rq_objname))
++ if (is_id_array(request->rq_ind.rq_delete.rq_objname))
+ rc = req_releasearray(request);
+ else
+ rc = req_releasejob(request);
+@@ -972,7 +972,7 @@ int dispatch_request(
+
+ case PBS_BATCH_RegistDep:
+
+- if (is_array(request->rq_ind.rq_register.rq_parent))
++ if (is_id_array(request->rq_ind.rq_register.rq_parent))
+ {
+ rc = req_registerarray(request);
+ }
+diff --git a/src/server/req_quejob.c b/src/server/req_quejob.c
+index e30acbb59d..5ce1ec3fdf 100644
+--- a/src/server/req_quejob.c
++++ b/src/server/req_quejob.c
+@@ -326,7 +326,7 @@ void sum_select_mem_request(
+ tmp = atoi(current);
+
+ /* advance past the digits to the units */
+- while ((current != '\0') &&
++ while ((*current != '\0') &&
+ (isdigit(*current)))
+ current++;
+
+diff --git a/src/server/req_runjob.c b/src/server/req_runjob.c
+index 8b128b8dba..59dbe77b48 100644
+--- a/src/server/req_runjob.c
++++ b/src/server/req_runjob.c
+@@ -1676,8 +1676,14 @@ job *chk_job_torun(
+
+ if ((pjob->ji_qs.ji_state != JOB_STATE_QUEUED) && (pjob->ji_qs.ji_state != JOB_STATE_HELD))
+ {
+- sprintf(EMsg, "job %s state %s", pjob->ji_qs.ji_jobid, PJobState[pjob->ji_qs.ji_state]);
+- req_reject(PBSE_BADSTATE, 0, preq, NULL, EMsg);
++ std::string err_msg;
++
++ err_msg = "job ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += " state ";
++ err_msg += PJobState[pjob->ji_qs.ji_state];
++
++ req_reject(PBSE_BADSTATE, 0, preq, NULL, err_msg.c_str());
+ return(NULL);
+ }
+
+diff --git a/src/server/req_stat.c b/src/server/req_stat.c
+index 21a608aeee..392f22772e 100644
+--- a/src/server/req_stat.c
++++ b/src/server/req_stat.c
+@@ -241,7 +241,7 @@ int req_stat_job(
+ {
+ /* status a single job */
+
+- if (is_array(name))
++ if (is_id_array(name))
+ {
+ if (type != tjstSummarizeArraysServer)
+ {
+diff --git a/src/server/svr_chk_owner.c b/src/server/svr_chk_owner.c
+index 4b33c57226..b98135710e 100644
+--- a/src/server/svr_chk_owner.c
++++ b/src/server/svr_chk_owner.c
+@@ -413,9 +413,8 @@ int authenticate_user(
+
+ {
+ int rc;
+- char uath[PBS_MAXUSER + PBS_MAXHOSTNAME + 1];
+ time_t time_now = time(NULL);
+- char error_msg[1024];
++ std::string error_msg;
+ long acl_enabled = FALSE;
+
+ #ifdef MUNGE_AUTH
+@@ -437,9 +436,14 @@ int authenticate_user(
+ if ((acl_check_my_array_string(my_acl, uh, ACL_User_Host)) == 0)
+ {
+ *autherr = strdup("User not in authorized user list.");
+- sprintf(error_msg, "%s Requested user %s: requested from host %s",
+- *autherr, preq->rq_user, preq->rq_host);
+- log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg);
++
++ error_msg = *autherr;
++ error_msg += " Requested user ";
++ error_msg += preq->rq_user;
++ error_msg += ": requested from host ";
++ error_msg += preq->rq_host;
++
++ log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg.c_str());
+ return(PBSE_BADCRED);
+ }
+ }
+@@ -447,9 +451,16 @@ int authenticate_user(
+ if (strncmp(preq->rq_user, pcred->username, PBS_MAXUSER))
+ {
+ *autherr = strdup("Users do not match");
+- sprintf(error_msg, "%s: Requested user %s: credential user %s: requested from host %s",
+- *autherr, preq->rq_user, pcred->username, preq->rq_host);
+- log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg);
++
++ error_msg = *autherr;
++ error_msg += " Requested user ";
++ error_msg += preq->rq_user;
++ error_msg += ": credential user ";
++ error_msg += pcred->username;
++ error_msg += ": requested from host ";
++ error_msg += preq->rq_host;
++
++ log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg.c_str());
+ return(PBSE_BADCRED);
+ }
+ #endif
+@@ -481,10 +492,14 @@ int authenticate_user(
+ (memcmp(sai1, sai2, sizeof(struct sockaddr_in))))
+ {
+ *autherr = strdup("Hosts do not match");
+-
+- sprintf(error_msg, "%s: Requested host %s: credential host: %s",
+- *autherr, preq->rq_host, pcred->hostname);
+- log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg);
++
++ error_msg = *autherr;
++ error_msg += ": Requested host ";
++ error_msg += preq->rq_host;
++ error_msg += ": credential host: ";
++ error_msg += pcred->hostname;
++
++ log_event(PBSEVENT_ADMIN, PBS_EVENTCLASS_SERVER, __func__, error_msg.c_str());
+
+ return(PBSE_BADCRED);
+ }
+@@ -520,10 +535,14 @@ int authenticate_user(
+ if (acl_enabled)
+ {
+ struct array_strings *acl_users = NULL;
+- snprintf(uath, sizeof(uath), "%s@%s", preq->rq_user, preq->rq_host);
++ std::string uath;
++
++ uath = preq->rq_user;
++ uath += "@";
++ uath = preq->rq_host;
+
+ get_svr_attr_arst(SRV_ATR_AclUsers, &acl_users);
+- if (acl_check_my_array_string(acl_users, uath, ACL_User) == 0)
++ if (acl_check_my_array_string(acl_users, uath.c_str(), ACL_User) == 0)
+ {
+ int my_err;
+ pbs_net_t connect_addr = get_hostaddr(&my_err, preq->rq_host);
+diff --git a/src/test/catch_child/scaffolding.c b/src/test/catch_child/scaffolding.c
+index 7db1077854..f08383d01e 100644
+--- a/src/test/catch_child/scaffolding.c
++++ b/src/test/catch_child/scaffolding.c
+@@ -1012,6 +1012,7 @@ int DIS_reply_read(struct tcp_chan *chan, struct batch_reply *preply)
+ {
+ case 1:
+ rc = 1;
++ // fall through
+ case 2:
+ preply->brp_code = PBSE_NONE;
+ LOGLEVEL = 4;
+diff --git a/src/test/geteusernam/scaffolding.c b/src/test/geteusernam/scaffolding.c
+index ec849ab6df..f2cb83be16 100644
+--- a/src/test/geteusernam/scaffolding.c
++++ b/src/test/geteusernam/scaffolding.c
+@@ -64,7 +64,7 @@ void get_jobowner(char *from, char *to)
+ exit(1);
+ }
+
+-int acl_check_my_array_string(struct array_strings *pas, char *name, int type)
++int acl_check_my_array_string(struct array_strings *pas, const char *name, int type)
+ {
+ return(0);
+ }
+diff --git a/src/test/node_manager/test_uut.c b/src/test/node_manager/test_uut.c
+index 75c23b39af..b4aa98912f 100644
+--- a/src/test/node_manager/test_uut.c
++++ b/src/test/node_manager/test_uut.c
+@@ -284,12 +284,12 @@ END_TEST
+ START_TEST(test_kill_job_on_mom)
+ {
+ struct pbsnode pnode;
+- char job_id[20];
++ char *job_id;
+ int rc;
+ unsigned long addr = 4567;
+
+ memset(&pnode, 0, sizeof(pnode));
+- strcpy(job_id, "33.torque-devtest-03");
++ job_id = strdup("33.torque-devtest-03");
+
+ pnode.change_name("numa3.ac");
+ pnode.nd_mom_port = 1234;
+diff --git a/src/test/pbs_log/scaffolding.c b/src/test/pbs_log/scaffolding.c
+index fc5878c601..d63f053851 100644
+--- a/src/test/pbs_log/scaffolding.c
++++ b/src/test/pbs_log/scaffolding.c
+@@ -37,8 +37,7 @@ DIR *opendir(const char *name)
+
+ int closedir(DIR *dirp)
+ {
+- if (dirp != NULL)
+- free(dirp);
++ free(dirp);
+ return(0);
+ }
+
+diff --git a/src/test/pbsd_main/scaffolding.c b/src/test/pbsd_main/scaffolding.c
+index 90110e8fe8..0d7179a795 100644
+--- a/src/test/pbsd_main/scaffolding.c
++++ b/src/test/pbsd_main/scaffolding.c
+@@ -407,7 +407,7 @@ int get_svr_attr_arst(int index, struct array_strings **arst)
+ return(0);
+ }
+
+-int acl_check_my_array_string(struct array_strings *pas, char *name, int type)
++int acl_check_my_array_string(struct array_strings *pas, const char *name, int type)
+ {
+ return(0);
+ }
+diff --git a/src/test/process_alps_status/scaffolding.c b/src/test/process_alps_status/scaffolding.c
+index dd8ab2c577..3c6449aa70 100644
+--- a/src/test/process_alps_status/scaffolding.c
++++ b/src/test/process_alps_status/scaffolding.c
+@@ -713,6 +713,8 @@ int set_arst(
+ pas->as_next = pas->as_buf;
+
+ /* no break, "SET" falls into "MERGE" to add strings */
++ // fall through
++
+ case INCR_OLD:
+ case MERGE:
+
+diff --git a/src/test/process_request/scaffolding.c b/src/test/process_request/scaffolding.c
+index 66618f8900..36aff63746 100644
+--- a/src/test/process_request/scaffolding.c
++++ b/src/test/process_request/scaffolding.c
+@@ -373,9 +373,9 @@ int req_modify_node(struct batch_request *preq)
+ }
+
+
+-int is_array(char *id)
++int is_id_array(char *id)
+ {
+- fprintf(stderr, "The call to is_array needs to be mocked!!\n");
++ fprintf(stderr, "The call to is_id_array needs to be mocked!!\n");
+ exit(1);
+ }
+
+@@ -489,7 +489,7 @@ int get_svr_attr_b(int index, bool *b)
+ return(0);
+ }
+
+-int acl_check_my_array_string(struct array_strings *pas, char *name, int type)
++int acl_check_my_array_string(struct array_strings *pas, const char *name, int type)
+ {
+ return(0);
+ }
+diff --git a/src/test/req_stat/scaffolding.c b/src/test/req_stat/scaffolding.c
+index cbba4d809a..80f1956d61 100644
+--- a/src/test/req_stat/scaffolding.c
++++ b/src/test/req_stat/scaffolding.c
+@@ -221,9 +221,9 @@ int svr_connect(pbs_net_t hostaddr, unsigned int port, int *err, struct pbsnode
+ exit(1);
+ }
+
+-int is_array(char *id)
++int is_id_array(char *id)
+ {
+- fprintf(stderr, "The call to is_array to be mocked!!\n");
++ fprintf(stderr, "The call to is_id_array to be mocked!!\n");
+ exit(1);
+ }
+
+diff --git a/src/test/svr_chk_owner/scaffolding.c b/src/test/svr_chk_owner/scaffolding.c
+index 6d00f6e381..59a8c84e95 100644
+--- a/src/test/svr_chk_owner/scaffolding.c
++++ b/src/test/svr_chk_owner/scaffolding.c
+@@ -79,7 +79,7 @@ int get_svr_attr_arst(int index, struct array_strings **arst)
+ return(0);
+ }
+
+-int acl_check_my_array_string(struct array_strings *pas, char *name, int type)
++int acl_check_my_array_string(struct array_strings *pas, const char *name, int type)
+ {
+ return(0);
+ }
+diff --git a/torque.setup.in b/torque.setup.in
+index 15716c9b97..b0f2ee305f 100644
+--- a/torque.setup.in
++++ b/torque.setup.in
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ #
+ # torque.setup - create pbs_server database and default queue
+ #
+--- a/src/server/svr_jobfunc.c 2017-08-29 22:25:11.000000000 -0000
++++ b/src/server/svr_jobfunc.c 2019-10-22 14:29:39.465723637 -0000
+@@ -4015,16 +4015,18 @@
+
+ {
+ int rc = PBSE_NONE;
+- char *err_msg = NULL;
+- char stub_msg[] = "no pos";
++ std::string err_msg;
+
+ if (logging >= 10)
+ {
+- err_msg = (char *)calloc(1, MSG_LEN_LONG);
+- if (msg == NULL)
+- msg = stub_msg;
+- snprintf(err_msg, MSG_LEN_LONG, "locking %s in method %s-%s", pjob->ji_qs.ji_jobid, id, msg);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "locking ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += " in method ";
++ err_msg += id;
++ err_msg += "-";
++ if (msg != NULL)
++ err_msg += msg;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+
+ if (pjob->ji_mutex != NULL)
+@@ -4033,9 +4035,11 @@
+ {
+ if (logging >= 20)
+ {
+- snprintf(err_msg, MSG_LEN_LONG, "ALERT: cannot lock job %s mutex in method %s",
+- pjob->ji_qs.ji_jobid, id);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "ALERT: cannot lock job ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += " mutex in method ";
++ err_msg += id;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+ rc = PBSE_MUTEX;
+ }
+@@ -4046,9 +4050,6 @@
+ log_err(rc, __func__, "Uninitialized mutex pass to pthread_mutex_lock!");
+ }
+
+- if (err_msg != NULL)
+- free(err_msg);
+-
+ return rc;
+ }
+
+@@ -4063,16 +4064,18 @@
+
+ {
+ int rc = PBSE_NONE;
+- char *err_msg = NULL;
+- char stub_msg[] = "no pos";
++ std::string err_msg;
+
+ if (logging >= 10)
+ {
+- err_msg = (char *)calloc(1, MSG_LEN_LONG);
+- if (msg == NULL)
+- msg = stub_msg;
+- snprintf(err_msg, MSG_LEN_LONG, "unlocking %s in method %s-%s", pjob->ji_qs.ji_jobid, id, msg);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "unlocking ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += " in method ";
++ err_msg += id;
++ err_msg += "-";
++ if (msg != NULL)
++ err_msg += msg;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+
+ if (pjob->ji_mutex != NULL)
+@@ -4081,9 +4084,11 @@
+ {
+ if (logging >= 20)
+ {
+- snprintf(err_msg, MSG_LEN_LONG, "ALERT: cannot unlock job %s mutex in method %s",
+- pjob->ji_qs.ji_jobid, id);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "ALERT: cannot unlock job ";
++ err_msg += pjob->ji_qs.ji_jobid;
++ err_msg += " mutex in method ";
++ err_msg += id;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+ rc = PBSE_MUTEX;
+ }
+@@ -4094,9 +4099,6 @@
+ log_err(rc, __func__, "Uninitialized mutex pass to pthread_mutex_unlock!");
+ }
+
+- if (err_msg != NULL)
+- free(err_msg);
+-
+ return rc;
+ }
+
+@@ -4110,32 +4112,33 @@
+
+ {
+ int rc = PBSE_NONE;
+- char *err_msg = NULL;
+- char stub_msg[] = "no pos";
++ std::string err_msg;
+
+ if (logging >= 10)
+ {
+- err_msg = (char *)calloc(1, MSG_LEN_LONG);
+- if (msg == NULL)
+- msg = stub_msg;
+- snprintf(err_msg, MSG_LEN_LONG, "locking %s in method %s-%s", pa->ai_qs.parent_id, id, msg);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "locking ";
++ err_msg += pa->ai_qs.parent_id,
++ err_msg += " in method ";
++ err_msg += id;
++ err_msg += "-";
++ if (msg != NULL)
++ err_msg += msg;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+
+ if (pthread_mutex_lock(pa->ai_mutex) != 0)
+ {
+ if (logging >= 20)
+ {
+- snprintf(err_msg, MSG_LEN_LONG, "ALERT: cannot lock job array %s mutex in method %s",
+- pa->ai_qs.parent_id, id);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "ALERT: cannot lock job array ";
++ err_msg += pa->ai_qs.parent_id,
++ err_msg += " mutex in method ";
++ err_msg += id;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+ rc = PBSE_MUTEX;
+ }
+
+- if (err_msg != NULL)
+- free(err_msg);
+-
+ return rc;
+ }
+
+@@ -4149,32 +4152,33 @@
+
+ {
+ int rc = PBSE_NONE;
+- char *err_msg = NULL;
+- char stub_msg[] = "no pos";
++ std::string err_msg;
+
+ if (logging >= 10)
+ {
+- err_msg = (char *)calloc(1, MSG_LEN_LONG);
+- if (msg == NULL)
+- msg = stub_msg;
+- snprintf(err_msg, MSG_LEN_LONG, "unlocking %s in method %s-%s", pa->ai_qs.parent_id, id, msg);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "unlocking ";
++ err_msg += pa->ai_qs.parent_id,
++ err_msg += " in method ";
++ err_msg += id;
++ err_msg += "-";
++ if (msg != NULL)
++ err_msg += msg;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+
+ if (pthread_mutex_unlock(pa->ai_mutex) != 0)
+ {
+ if (logging >= 20)
+ {
+- snprintf(err_msg, MSG_LEN_LONG, "ALERT: cannot unlock job array %s mutex in method %s",
+- pa->ai_qs.parent_id, id);
+- log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg);
++ err_msg = "ALERT: cannot unlock job array ";
++ err_msg += pa->ai_qs.parent_id,
++ err_msg += " mutex in method ";
++ err_msg += id;
++ log_record(PBSEVENT_DEBUG, PBS_EVENTCLASS_NODE, id, err_msg.c_str());
+ }
+ rc = PBSE_MUTEX;
+ }
+
+- if (err_msg != NULL)
+- free(err_msg);
+-
+ return rc;
+ }
+
diff --git a/sys-cluster/torque/torque-6.0.4-r1.ebuild b/sys-cluster/torque/torque-6.0.4-r1.ebuild
index bc520dc0ace3..93a88643f0d3 100644
--- a/sys-cluster/torque/torque-6.0.4-r1.ebuild
+++ b/sys-cluster/torque/torque-6.0.4-r1.ebuild
@@ -47,8 +47,10 @@ RDEPEND="${DEPEND_COMMON}
S="${WORKDIR}"/${PN}-6a0b37f85c7d644e9217cbab1542792d646f59a6
PATCHES=(
+ "${FILESDIR}"/${P}-gcc7.patch
"${FILESDIR}"/${PN}-6.0.3-fix-emptystring-comparison.patch
"${FILESDIR}"/${P}-no-openssl.patch
+ "${FILESDIR}"/${P}-error_buf_overflow_prevent.patch
)
pkg_setup() {
@@ -91,6 +93,8 @@ src_prepare() {
}
src_configure() {
+ append-cflags "-fpermissive"
+
econf \
$(use_enable tk gui) \
$(use_enable tk tcl-qstat) \
diff --git a/sys-cluster/torque/torque-6.0.4.ebuild b/sys-cluster/torque/torque-6.0.4.ebuild
deleted file mode 100644
index 42f1f078421e..000000000000
--- a/sys-cluster/torque/torque-6.0.4.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic linux-info
-
-DESCRIPTION="Resource manager and queuing system based on OpenPBS"
-HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
-SRC_URI="https://github.com/adaptivecomputing/torque/archive/6a0b37f85c7d644e9217cbab1542792d646f59a6.tar.gz -> ${P}-gh-20170829.tar.gz"
-
-LICENSE="torque-2.5"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="autorun cgroups cpusets +crypt doc drmaa kernel_linux libressl munge nvidia quickcommit server +syslog tk"
-
-DEPEND_COMMON="
- sys-libs/zlib
- sys-libs/readline:0=
- dev-libs/libxml2
- >=dev-libs/boost-1.41
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- cpusets? ( sys-apps/hwloc )
- munge? ( sys-auth/munge )
- nvidia? ( >=x11-drivers/nvidia-drivers-275 )
- tk? (
- dev-lang/tk:0=
- dev-lang/tcl:0=
- )
- syslog? ( virtual/logger )
- !!games-util/qstat"
-
-# libncurses.so is only needed for configure check on readline
-DEPEND="${DEPEND_COMMON}
- sys-libs/ncurses:*
- !!sys-cluster/slurm"
-
-RDEPEND="${DEPEND_COMMON}
- crypt? ( net-misc/openssh )
- !crypt? ( net-misc/netkit-rsh )
- !dev-libs/uthash"
-
-# Torque should depend on dev-libs/uthash but that's pretty much impossible
-# to patch in as they ship with a broken configure such that files referenced
-# by the configure.ac and Makefile.am are missing.
-# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html
-
-S="${WORKDIR}"/${PN}-6a0b37f85c7d644e9217cbab1542792d646f59a6
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.0.3-fix-emptystring-comparison.patch
-)
-
-pkg_setup() {
- PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}"
-
- # Find a Torque server to use. Check environment, then
- # current setup (if any), and fall back on current hostname.
- if [ -z "${PBS_SERVER_NAME}" ]; then
- if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
- PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
- else
- PBS_SERVER_NAME=$(hostname -f)
- fi
- fi
-
- if use cpusets || use cgroups; then
- if ! use kernel_linux; then
- einfo
- elog " Torque currently only has support for cpusets and cgroups in linux."
- elog "Assuming you didn't really want this USE flag and ignoring its state."
- einfo
- else
- linux-info_pkg_setup
- if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
- einfo
- elog " Torque support for cpusets will require that you recompile"
- elog "your kernel with CONFIG_CPUSETS enabled."
- einfo
- fi
- fi
- fi
-}
-
-src_prepare() {
- default
- # We install to a valid location, no need to muck with ld.so.conf
- # --without-loadlibfile is supposed to do this for us...
- sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable tk gui) \
- $(use_enable tk tcl-qstat) \
- $(use_enable syslog) \
- $(use_enable server) \
- $(use_enable drmaa) \
- $(use_enable munge munge-auth) \
- $(use_enable nvidia nvidia-gpus) \
- $(usex crypt "--with-rcp=scp" "--with-rcp=mom_rcp") \
- $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \
- $(usex kernel_linux $(use_enable cpusets geometry-request) --disable-geometry-request) \
- $(usex kernel_linux $(use_enable cgroups) --disable-cgroups) \
- $(use_enable autorun) \
- $(use_enable quickcommit) \
- --with-server-home=${PBS_SERVER_HOME} \
- --with-environ=/etc/pbs_environment \
- --with-default-server=${PBS_SERVER_NAME} \
- --disable-gcc-warnings \
- --disable-silent-rules \
- --with-tcp-retry-limit=2 \
- --without-loadlibfile
-}
-
-src_install() {
- local dir
-
- DOCS=( CHANGELOG README.* Release_Notes )
- use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf )
-
- default
-
- # The build script isn't alternative install location friendly,
- # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
- for file in $(find "${ED}" -iname tclIndex); do
- sed \
- -e "s/${ED//\// }/ /" \
- -i "${file}" || die
- done
-
- for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do
- keepdir "${dir#${ED}}"
- done
-
- if use server; then
- newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
- newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
- fi
- newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
- newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN}
- newinitd "${FILESDIR}"/trqauthd-init.d trqauthd
- newenvd "${FILESDIR}"/${PN}-env.d 25${PN}
-}
-
-pkg_preinst() {
- if [[ -f "${ROOT}etc/pbs_environment" ]]; then
- cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die
- fi
-
- if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then
- cp \
- "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \
- "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die
- fi
-
- echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die
-
- # Fix up the env.d file to use our set server home.
- sed \
- -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \
- -i "${ED}"/etc/env.d/25${PN} || die
-
- if use munge; then
- sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die
- fi
-}
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- elog "If this is the first time torque has been installed, then you are not"
- elog "ready to start the server. Please refer to the documentation located at:"
- elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/adminGuide/help.htm#topics/torque/1-installConfig/initializeConfigOnServer.htm"
- fi
-}