16828763 Pure python should build with its own macros, not _32/_64 s11-update
authorNorm Jacobs <Norm.Jacobs@Oracle.COM>
Thu, 25 Jul 2013 22:11:17 -0700
branchs11-update
changeset 2693 2aa48dc32866
parent 2692 ee922fed53a7
child 2694 81998dae8a30
16828763 Pure python should build with its own macros, not _32/_64
components/logilab-astng/Makefile
components/logilab-common/Makefile
components/python/cherrypy/Makefile
components/python/jsonrpclib/Makefile
components/python/jsonrpclib/resolve.deps
components/python/ldtp/Makefile
components/python/mako/Makefile
components/python/mock/Makefile
components/python/nose/Makefile
components/python/pep8/Makefile
components/python/ply/Makefile
components/python/pybonjour/Makefile
components/python/setuptools/Makefile
make-rules/setup.py.mk
--- a/components/logilab-astng/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/logilab-astng/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -41,9 +41,9 @@
 
 # common targets
 
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 # The tests are run using python 2.7 only and require that
 # the python-27 package is installed (does not have to be the default python). 
@@ -82,7 +82,7 @@
 # failures: unittest_builder [2/55], unittest_lookup [1/21], 
 # unittest_inference [1/75]
 
-test:		$(TEST_32)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/logilab-common/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/logilab-common/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -42,17 +42,18 @@
 # rename pytest to its versioned name; mediated links (depending on
 # the python version) in the manifest will create the link from pytest
 # to the correct pytest-${PYTHON_VERSION}
+# compile all of the python .py files in the proto area since setup.py doesn't
+# seem to be doing it for this component.
 COMPONENT_POST_INSTALL_ACTION = \
-	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f pytest pytest-$(PYTHON_VERSION))
+	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f pytest pytest-$(PYTHON_VERSION)) ; \
+	($(PYTHON) -m compileall $(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES))
 
 
 # common targets
 
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/usr/lib/python2.6/vendor-packages
-	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/python2.7/vendor-packages
+install:	$(INSTALL_NO_ARCH)
 	
 # The tests are run using python 2.7 only and require that the
 # python-27 package is installed (does not have to be the default python). 
@@ -72,7 +73,7 @@
 # 21 modules OK (2 failed)
 # failures: unittest_shellutils [1/23], unittest_date [1/45]
 
-test:	$(TEST_32)
+test:	$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/cherrypy/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/cherrypy/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -45,9 +45,9 @@
 
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/jsonrpclib/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/jsonrpclib/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -40,9 +40,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32_and_64)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32_and_64)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/jsonrpclib/resolve.deps	Thu Jul 25 22:11:17 2013 -0700
@@ -0,0 +1,2 @@
+runtime/python-26
+runtime/python-27
--- a/components/python/ldtp/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/ldtp/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -44,9 +44,9 @@
 	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f ldtp ldtp$(PYTHON_VERSION))
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/mako/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/mako/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -39,9 +39,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/mock/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/mock/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -36,15 +36,15 @@
 include $(WS_TOP)/make-rules/setup.py.mk
 include $(WS_TOP)/make-rules/ips.mk
 
-COMPONENT_TEST_DIR =    $(SOURCE_DIR)
-COMPONENT_TEST_ARGS =   setup.py test
+COMPONENT_TEST_DIR =	$(SOURCE_DIR)
+COMPONENT_TEST_ARGS =	setup.py test
 
 # common targets
-build:		$(BUILD_32_and_64)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32_and_64)
+install:	$(INSTALL_NO_ARCH)
 
-test:		$(TEST_32_and_64)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/nose/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/nose/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -40,9 +40,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/pep8/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/pep8/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -56,9 +56,9 @@
 	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f pep8 pep8-$(PYTHON_VERSION))
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/ply/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/ply/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -39,9 +39,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/pybonjour/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/pybonjour/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -39,9 +39,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/components/python/setuptools/Makefile	Thu Jul 25 22:11:17 2013 -0700
+++ b/components/python/setuptools/Makefile	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -41,9 +41,9 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_NO_ARCH)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_NO_ARCH)
 
 test:		$(NO_TESTS)
 
--- a/make-rules/setup.py.mk	Thu Jul 25 22:11:17 2013 -0700
+++ b/make-rules/setup.py.mk	Thu Jul 25 22:11:17 2013 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
 #
 
 $(BUILD_DIR)/%-2.6/.built:		PYTHON_VERSION=2.6
@@ -33,13 +33,21 @@
 
 BUILD_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.built)
 BUILD_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
+BUILD_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.built)
 
 INSTALL_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.installed)
 INSTALL_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.installed)
+INSTALL_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.installed)
+
+TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested)
 
 PYTHON_ENV =	CC="$(CC)"
 PYTHON_ENV +=	CFLAGS="$(CFLAGS)"
 
+COMPONENT_BUILD_ENV += $(PYTHON_ENV)
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+COMPONENT_TEST_ENV += $(PYTHON_ENV)
+
 # if we are building python 2.7 support, build it and install it first
 # so that python 2.6 is installed last and is the canonical version.
 # when we switch to 2.7 as the default, it should go last.
@@ -61,7 +69,7 @@
 $(BUILD_DIR)/%/.built:	$(SOURCE_DIR)/.prep $(BUILD_DIR)/config-%/$(CFG)
 	$(RM) -r $(@D) ; $(MKDIR) $(@D)
 	$(COMPONENT_PRE_BUILD_ACTION)
-	(cd $(SOURCE_DIR) ; $(ENV) HOME=$(BUILD_DIR)/config-$* $(PYTHON_ENV) \
+	(cd $(SOURCE_DIR) ; $(ENV) HOME=$(BUILD_DIR)/config-$* $(COMPONENT_BUILD_ENV) \
 		$(PYTHON.$(BITS)) ./setup.py build)
 	$(COMPONENT_POST_BUILD_ACTION)
 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
@@ -111,3 +119,7 @@
 
 clean::
 	$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
+
+# Make it easy to construct a URL for a pypi source download.
+PYPI_BASE = http://pypi.python.org/packages/source
+pypi_url = $(PYPI_BASE)/$(shell echo $(COMPONENT_NAME) | cut -c1)/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)