PSARC 2016/190 Castellan - Generic Key Manager interface for OpenStack
authorLaszlo Peter <laszlo.peter@oracle.com>
Wed, 07 Sep 2016 14:48:22 -0700
changeset 6748 af3ce72662d4
parent 6747 361ff516c0ca
child 6749 d380d0db5fa3
PSARC 2016/190 Castellan - Generic Key Manager interface for OpenStack 22966289 The Python castellan key manager module should be added to userland
components/python/castellan/Makefile
components/python/castellan/castellan-PYVER.p5m
components/python/castellan/patches/01-entry_points.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/castellan/Makefile	Wed Sep 07 14:48:22 2016 -0700
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		castellan
+COMPONENT_VERSION=	0.4.0
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH=	\
+    sha256:2ccefefc2036ed0d6c76d735fb70b813e2a02f7adb7fd57e0640d064dce1c883
+COMPONENT_ARCHIVE_URL=	$(call pypi_url)
+COMPONENT_PROJECT_URL=	http://docs.openstack.org/developer/castellan/
+COMPONENT_BUGDB=	python-mod/castellan
+
+TPNO=			27374
+
+# Depends on keystoneclient which is not Python 3 ready.
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/setup.py.mk
+include $(WS_MAKE_RULES)/ips.mk
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+# common targets
+build:		$(BUILD_NO_ARCH)
+
+install:	$(INSTALL_NO_ARCH)
+
+# See $(COMPONENT_SRC)/test-requirements.txt for the Python modules
+# required to execute unittests.
+test:		$(NO_TESTS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/castellan/castellan-PYVER.p5m	Wed Sep 07 14:48:22 2016 -0700
@@ -0,0 +1,120 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/python/castellan-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Generic Key Manager interface for OpenStack"
+set name=pkg.description \
+    value="Castellan is a Key Manager Interface for OpenStack projects."
+set name=com.oracle.info.description value="the Python castellan module"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value=org.opensolaris.category.2008:Development/Python \
+    value=org.opensolaris.category.2008:System/Security
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream value="OpenStack <[email protected]>"
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2016/190
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+#
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/entry_points.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/pbr.json
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/credential.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/keystone_password.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/keystone_token.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/password.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/credentials/token.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/exception.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/certificate.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/key.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/managed_object.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/opaque_data.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/passphrase.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/private_key.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/public_key.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/symmetric_key.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/objects/x_509.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/common/utils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/key_manager/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/key_manager/barbican_key_manager.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/key_manager/key_manager.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/key_manager/not_implemented_key_manager.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/openstack/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/openstack/common/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/openstack/common/_i18n.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/openstack/common/fileutils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/openstack/common/local.py
+file path=usr/lib/python$(PYVER)/vendor-packages/castellan/options.py
+#
+license LICENSE license="Apache v2.0"
+
+# force a group dependency on the optional oslo.i18n; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/oslo.i18n-$(PYV)
+
+# force a dependency on the Python runtime
+depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
+    pkg.debug.depend.path=usr/bin
+
+# force a dependency on barbicanclient; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/barbicanclient-$(PYV)
+
+# force a dependency on the castellan package
+depend type=require \
+    fmri=library/python/castellan@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+# force a dependency on cryptography; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/cryptography-$(PYV)
+
+# force a dependency on keystoneclient; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/keystoneclient-$(PYV)
+
+# force a dependency on oslo.config; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/oslo.config-$(PYV)
+
+# force a dependency on oslo.log; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/oslo.log-$(PYV)
+
+# force a dependency on oslo.utils; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/oslo.utils-$(PYV)
+
+# force a dependency on pbr; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/pbr-$(PYV)
+
+# force a dependency on six; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/six-$(PYV)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/castellan/patches/01-entry_points.patch	Wed Sep 07 14:48:22 2016 -0700
@@ -0,0 +1,14 @@
+In-house patch to remove the castellan.tests.functional.config from the
+oslo.config.opts entry point since tests are not delivered.
+This patch is not suitable for pushing upstream.
+
+--- castellan-0.4.0/setup.cfg.~1~	2016-08-30 02:32:30.279797199 -0800
++++ castellan-0.4.0/setup.cfg	2016-08-30 02:34:06.069242220 -0800
+@@ -24,7 +24,6 @@ packages =
+ 
+ [entry_points]
+ oslo.config.opts = 
+-	castellan.tests.functional.config = castellan.tests.functional.config:list_opts
+ 	castellan.config = castellan.options:list_opts
+ 
+ [build_sphinx]