From e8a5d34885c5fdba7d951fb1bb85131cbafca432 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine@windriver.com>
Date: Wed, 19 Jun 2013 17:25:56 -0400
Subject: [PATCH] openvswitch: add target python handling

Allow the build to specify a path for the python instead of reusing
the PYTHON variable which can lead to inconsistencies if we are cross
compiling. The TARGET_PYTHON variable will be used for script
substitutions to ensure the scripts will be able to properly execute
if the target system has a different path for the python.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
---
 Makefile.am                        | 1 +
 configure.ac                       | 7 +++++++
 ovsdb/ovsdbmonitor/ovsdbmonitor.in | 2 +-
 utilities/bugtool/ovs-bugtool.in   | 2 +-
 utilities/ovs-check-dead-ifs.in    | 2 +-
 utilities/ovs-l3ping.in            | 2 +-
 utilities/ovs-parse-backtrace.in   | 2 +-
 utilities/ovs-pcap.in              | 2 +-
 utilities/ovs-tcpundump.in         | 2 +-
 utilities/ovs-test.in              | 2 +-
 utilities/ovs-vlan-test.in         | 2 +-
 11 files changed, 17 insertions(+), 9 deletions(-)

Index: openvswitch-2.1.2/Makefile.am
===================================================================
--- openvswitch-2.1.2.orig/Makefile.am
+++ openvswitch-2.1.2/Makefile.am
@@ -125,6 +125,7 @@
                 -e 's,[@]DBDIR[@],$(DBDIR),g' \
                 -e 's,[@]PERL[@],$(PERL),g' \
                 -e 's,[@]PYTHON[@],$(PYTHON),g' \
+                -e 's,[@]TARGET_PYTHON[@],$(TARGET_PYTHON),g' \
                 -e 's,[@]RUNDIR[@],$(RUNDIR),g' \
                 -e 's,[@]VERSION[@],$(VERSION),g' \
                 -e 's,[@]localstatedir[@],$(localstatedir),g' \
Index: openvswitch-2.1.2/configure.ac
===================================================================
--- openvswitch-2.1.2.orig/configure.ac
+++ openvswitch-2.1.2/configure.ac
@@ -118,6 +118,13 @@
 AC_SUBST(KARCH)
 OVS_CHECK_LINUX
 
+if test "$TARGET_PYTHON"; then
+    TARGET_PYTHON=$TARGET_PYTHON
+else
+    TARGET_PYTHON=$PYTHON
+fi
+AC_SUBST(TARGET_PYTHON)
+
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(datapath/Makefile)
 AC_CONFIG_FILES(datapath/linux/Kbuild)
Index: openvswitch-2.1.2/utilities/bugtool/ovs-bugtool.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/bugtool/ovs-bugtool.in
+++ openvswitch-2.1.2/utilities/bugtool/ovs-bugtool.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of version 2.1 of the GNU Lesser General Public
Index: openvswitch-2.1.2/utilities/ovs-check-dead-ifs.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-check-dead-ifs.in
+++ openvswitch-2.1.2/utilities/ovs-check-dead-ifs.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 
 import os
 import re
Index: openvswitch-2.1.2/utilities/ovs-l3ping.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-l3ping.in
+++ openvswitch-2.1.2/utilities/ovs-l3ping.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
Index: openvswitch-2.1.2/utilities/ovs-parse-backtrace.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-parse-backtrace.in
+++ openvswitch-2.1.2/utilities/ovs-parse-backtrace.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Copyright (c) 2012 Nicira, Inc.
 #
Index: openvswitch-2.1.2/utilities/ovs-pcap.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-pcap.in
+++ openvswitch-2.1.2/utilities/ovs-pcap.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Copyright (c) 2010 Nicira, Inc.
 #
Index: openvswitch-2.1.2/utilities/ovs-tcpundump.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-tcpundump.in
+++ openvswitch-2.1.2/utilities/ovs-tcpundump.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Copyright (c) 2010 Nicira, Inc.
 #
Index: openvswitch-2.1.2/utilities/ovs-test.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-test.in
+++ openvswitch-2.1.2/utilities/ovs-test.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
Index: openvswitch-2.1.2/utilities/ovs-vlan-test.in
===================================================================
--- openvswitch-2.1.2.orig/utilities/ovs-vlan-test.in
+++ openvswitch-2.1.2/utilities/ovs-vlan-test.in
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! @TARGET_PYTHON@
 #
 # Copyright (c) 2010 Nicira, Inc.
 #
