20063588 OpenSCAP should provide a Python 2.7 module
authorJohn Beck <John.Beck@Oracle.COM>
Thu, 20 Nov 2014 14:38:32 -0800
changeset 2219 01548f9a0b62
parent 2218 399aeeee867d
child 2220 f90102a64c23
20063588 OpenSCAP should provide a Python 2.7 module
components/openscap/Makefile
components/openscap/openscap-python-26.p5m
components/openscap/openscap-python-PYVER.p5m
components/openscap/openscap.p5m
components/openscap/resolve.deps
--- a/components/openscap/Makefile	Wed Nov 19 11:44:58 2014 -0800
+++ b/components/openscap/Makefile	Thu Nov 20 14:38:32 2014 -0800
@@ -41,20 +41,33 @@
 CFLAGS+=		-DNDEBUG
 CFLAGS+=		-DOSCAP_THREAD_SAFE
 
+PYTHON_VERSIONS=	2.7 2.6
+
 include $(WS_TOP)/make-rules/prep.mk
 include $(WS_TOP)/make-rules/configure.mk
 include $(WS_TOP)/make-rules/ips.mk
 
 CPPFLAGS +=	-I/usr/include/openldap
 
-#Need to do cloney, so that the schema files
-#can get packaged.
-COMPONENT_PRE_CONFIGURE_ACTION = \
-        ($(CLONEY) $(SOURCE_DIR) $(@D))
-
 # Perl related patch needs configure script recreation.
 COMPONENT_PREP_ACTION +=(cd $(@D); autoreconf);
 
+# Need to do cloney, so that the schema files can get packaged.
+COMPONENT_PRE_CONFIGURE_ACTION = \
+    ($(CLONEY) $(SOURCE_DIR) $(@D))
+
+# We could use a single regular expression to cover all of the following,
+# but we want to be as specific as possible to avoid accidentally catching
+# workspace paths in our substitution.
+COMPONENT_POST_CONFIGURE_ACTION = \
+    (cd $(@D) ; cp -rp swig swig2.7 ; \
+    $(GSED) -i -e 's|usr/include/python2.6|usr/include/python2.7|' \
+     -e 's|$(PYTHON.2.6.VENDOR_PACKAGES.32)|$(PYTHON.2.7.VENDOR_PACKAGES.32)|' \
+     -e 's|PYTHON_VERSION = 2.6|PYTHON_VERSION = 2.7|' swig2.7/Makefile)
+
+COMPONENT_POST_INSTALL_ACTION =	\
+	(cd $(@D)/swig2.7 ; $(GMAKE) $(COMPONENT_INSTALL_ARGS) install)
+
 # Needed to make "gmake test" work.
 CPPFLAGS +=	-I$(SOURCE_DIR)/src/OVAL
 CPPFLAGS +=	-I$(SOURCE_DIR)/src/OVAL/probes
@@ -74,6 +87,8 @@
 DOCS_DIR = $(PROTO_DIR)/usr/share/docs/openscap/html/
 
 # common targets
+configure:	$(CONFIGURE_32)
+
 build:		$(BUILD_32)
 
 install:	$(INSTALL_32)
--- a/components/openscap/openscap-python-26.p5m	Wed Nov 19 11:44:58 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#
-# 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) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/openscap-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Python 2.6 bindings for the Open implementation of SCAP"
-set name=com.oracle.info.description \
-    value="the Python 2.6 bindings for the Open implementation of SCAP"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification value=org.opensolaris.category.2008:System/Security
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2012/152
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-
-file path=usr/lib/python2.6/vendor-packages/_openscap_py.so
-file path=usr/lib/python2.6/vendor-packages/openscap.py
-file path=usr/lib/python2.6/vendor-packages/openscap_api.py
-license openscap.license license="LGPLv2.1, LGPLv3, OVAL"
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
-
-# force a dependency on the Python 2.6 runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/openscap/openscap-python-PYVER.p5m	Thu Nov 20 14:38:32 2014 -0800
@@ -0,0 +1,48 @@
+#
+# 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) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/python/openscap-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Python $(PYVER) bindings for the Open implementation of SCAP"
+set name=com.oracle.info.description \
+    value="the Python $(PYVER) bindings for the Open implementation of SCAP"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification value=org.opensolaris.category.2008:System/Security
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/152
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+
+file path=usr/lib/python$(PYVER)/vendor-packages/_openscap_py.so
+file path=usr/lib/python$(PYVER)/vendor-packages/openscap.py
+file path=usr/lib/python$(PYVER)/vendor-packages/openscap_api.py
+license openscap.license license="LGPLv2.1, LGPLv3, OVAL"
+
+# force the rename with an optional dependency on the old name
+$(PYTHON_2.6_ONLY)depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
+
+# force a dependency on the Python $(PYVER) runtime
+depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
+    pkg.debug.depend.path=usr/bin
--- a/components/openscap/openscap.p5m	Wed Nov 19 11:44:58 2014 -0800
+++ b/components/openscap/openscap.p5m	Thu Nov 20 14:38:32 2014 -0800
@@ -2081,3 +2081,6 @@
 depend type=conditional \
     fmri=library/python/openscap-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-26
+depend type=conditional \
+    fmri=library/python/openscap-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
+    predicate=runtime/python-27
--- a/components/openscap/resolve.deps	Wed Nov 19 11:44:58 2014 -0800
+++ b/components/openscap/resolve.deps	Thu Nov 20 14:38:32 2014 -0800
@@ -6,6 +6,7 @@
 library/pcre
 runtime/perl-512
 runtime/python-26
+runtime/python-27
 security/compliance/openscap
 system/library
 system/library/gcc-3-runtime