Skip to content

Commit

Permalink
sys-auth/keystone: 12.0.0 bup PIKE
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.6, Repoman-2.3.3
  • Loading branch information
prometheanfire committed Aug 31, 2017
1 parent 5078ae5 commit 3b0d388
Show file tree
Hide file tree
Showing 2 changed files with 174 additions and 0 deletions.
1 change: 1 addition & 0 deletions sys-auth/keystone/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST keystone-10.0.3.tar.gz 1363347 SHA256 db2d29cd4b0e4b7672779ff3355093bbeda61620c58e3e7a4f0424a6f7e67513 SHA512 a6173cdcf0cbedefc2965e8f7b6a5924b45ada2d6ae18715e28071ab9c785fce3b4538acb6361a5e3ea89c5eb7bf01cf87591719d44469049602920254d47db4 WHIRLPOOL 25333195801923a999187dbe85cb2729f077efc71decd6d89556f10a5afbc7435cfac82e4be3ffbaae3b0aea0ba96ebe275918d4ba6a13a5ad0dd98e79b5d9f3
DIST keystone-11.0.3.tar.gz 1373880 SHA256 552dcca96d93ef06e28ced0f86cc142e2bb0f8b237297816b670b9b21aba7c85 SHA512 0468a834b1a44b27f4747aeb580f17f68b7dce0ee0cbc3693355d66e9c46383b7ad3a769b3ffa0146fac9b45a75c8a2c95aad0df4825d2be33cadb2cf6b1a659 WHIRLPOOL 1cb4c1de756b57b27142e613381dd7e9e50c10cdff16bb0c2734b67d5b43ca443e7233cd60324231d45dadeab1cc5693aa80d2c23c3fc40680acca13c82b9b3e
DIST keystone-12.0.0.tar.gz 1491044 SHA256 f4c1239beaf376568cf30d11ffa7011754ab2216f69ccd282f5ab09de8977b13 SHA512 7b7e6cb56b9d22e92834ccfb31dcd6d28d7318e2d8160da93cbc48cdb72aa626021db5b38068ca76caae88e68204c3650f7ce728bc8e1791df8fc8d36072483c WHIRLPOOL 719877102b8146841757262d65bb8f99f7af410b3ee1acc4ce4d255aef6b692f5c8a13690627bfea915bc904a09087449240a220b1c67fe09d0d7221d7d42683
173 changes: 173 additions & 0 deletions sys-auth/keystone/keystone-12.0.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python2_7 python3_{4,5} )

inherit distutils-r1 user

DESCRIPTION="The Openstack authentication, authorization, and service catalog"
HOMEPAGE="https://launchpad.net/keystone"
SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="+sqlite ldap memcached mongo mysql postgres test"
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}"
RDEPEND="
${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
>=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
dev-python/paste[${PYTHON_USEDEP}]
>=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.6[${PYTHON_USEDEP}]
!~dev-python/cryptography-2.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.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/passlib-1.7.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
>=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
>=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
>=dev-python/scrypt-0.8.0[${PYTHON_USEDEP}]
>=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
>=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
!~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
!~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
>=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
>=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
!~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
>=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
>=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
>=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
>=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
!~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
>=dev-python/oauthlib-0.6.0[${PYTHON_USEDEP}]
>=dev-python/pysaml2-2.4.0[${PYTHON_USEDEP}]
<dev-python/pysaml2-4.0.3[${PYTHON_USEDEP}]
>=dev-python/dogpile-cache-0.6.2[${PYTHON_USEDEP}]
>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
!~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
>=dev-python/pycadf-1.1.0[${PYTHON_USEDEP}]
!~dev-python/pycadf-2.0.0[${PYTHON_USEDEP}]
>=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
>=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
>=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
memcached? (
>=dev-python/python-memcached-1.56[${PYTHON_USEDEP}]
)
mongo? (
>=dev-python/pymongo-3.0.2[${PYTHON_USEDEP}]
!~dev-python/pymongo-3.1[${PYTHON_USEDEP}]
)
ldap? (
>=dev-python/pyldap-2.4.20[${PYTHON_USEDEP}]
>=dev-python/ldappool-2.0.0[${PYTHON_USEDEP}]
)
|| (
www-servers/uwsgi[python,${PYTHON_USEDEP}]
www-apache/mod_wsgi[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
)"

#PATCHES=(
#)

pkg_setup() {
enewgroup keystone
enewuser keystone -1 -1 /var/lib/keystone keystone
}

python_prepare_all() {
# it's in git, but not in the tarball.....
sed -i '/^hacking/d' test-requirements.txt || die
mkdir -p ${PN}/tests/tmp/ || die
cp etc/keystone-paste.ini ${PN}/tests/tmp/ || die
sed -i 's|/usr/local|/usr|g' httpd/keystone-uwsgi-* || die
sed -i 's|python|python27|g' httpd/keystone-uwsgi-* || die
distutils-r1_python_prepare_all
}

python_test() {
nosetests -I 'test_keystoneclient*' \
-e test_static_translated_string_is_Message \
-e test_get_token_id_error_handling \
-e test_provider_token_expiration_validation \
-e test_import --process-restartworker --process-timeout=60 || die "testsuite failed under python2.7"
}

python_install_all() {
distutils-r1_python_install_all

diropts -m 0750
keepdir /etc/keystone /var/log/keystone
insinto /etc/keystone
insopts -m0640 -okeystone -gkeystone
doins etc/keystone.conf.sample etc/logging.conf.sample
doins etc/default_catalog.templates
doins etc/policy.v3cloudsample.json etc/keystone-paste.ini
insinto /etc/keystone/httpd
doins httpd/*

fowners keystone:keystone /etc/keystone /etc/keystone/httpd /var/log/keystone
}

pkg_postinst() {
elog "You might want to run:"
elog "emerge --config =${CATEGORY}/${PF}"
elog "if this is a new install."
elog "If you have not already configured your openssl installation"
elog "please do it by modifying /etc/ssl/openssl.cnf"
elog "BEFORE issuing the configuration command."
elog "Otherwise default values will be used."
}

pkg_config() {
if [ ! -d "${ROOT}"/etc/keystone/ssl ] ; then
einfo "Press ENTER to configure the keystone PKI, or Control-C to abort now..."
read
"${ROOT}"/usr/bin/keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
else
einfo "keystone PKI certificates directory already present, skipping configuration"
fi
}

0 comments on commit 3b0d388

Please sign in to comment.