WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] tools: simplify PYTHON_PATH computation (

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] tools: simplify PYTHON_PATH computation (and fixes for NetBSD)
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 09 Dec 2009 03:25:16 -0800
Delivery-date: Wed, 09 Dec 2009 03:25:56 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1260356332 0
# Node ID d820a6b813dbd42f7a74a877880f3469a3e05e75
# Parent  9e9746e635f9ec1ef1a3e0cbb425e89112f8e63b
tools: simplify PYTHON_PATH computation (and fixes for NetBSD)

Doesn't work when build-time python path differs from install-time. Do
we care about this given tools should be packaged/built for the
specific run-time distro?

Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
---
 tools/python/get-path     |   22 -------------------
 tools/Rules.mk            |    4 +--
 tools/python/install-wrap |   52 ++++++++++++++++++++++++++++++----------------
 3 files changed, 36 insertions(+), 42 deletions(-)

diff -r 9e9746e635f9 -r d820a6b813db tools/Rules.mk
--- a/tools/Rules.mk    Wed Dec 09 10:46:11 2009 +0000
+++ b/tools/Rules.mk    Wed Dec 09 10:58:52 2009 +0000
@@ -49,8 +49,8 @@ check-$(CONFIG_X86) = $(call cc-ver-chec
                         "Xen requires at least gcc-3.4")
 $(eval $(check-y))
 
-DEFAULT_PYTHON_PATH := $(shell $(XEN_ROOT)/tools/python/get-path)
-PYTHON_PATH ?= $(DEFAULT_PYTHON_PATH)
+_PYTHON_PATH := $(shell which $(PYTHON))
+PYTHON_PATH ?= $(_PYTHON_PATH)
 INSTALL_PYTHON_PROG = \
        $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
 
diff -r 9e9746e635f9 -r d820a6b813db tools/python/get-path
--- a/tools/python/get-path     Wed Dec 09 10:46:11 2009 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#! /usr/bin/env bash
-set -e
-
-check () {
-       set +e
-       p=`type -p python$v`
-       r=$?
-       set -e
-       if [ $r = 0 ]; then
-               echo >&2 "${0##*/}: will use #!$p for python programs"
-               printf "%s\n" "$p"
-               exit 0
-       fi
-}
-
-v="$(python -V 2>&1)"
-v="${v#* }"
-check
-v="${v%.*}"
-check
-echo >&2 'python version not determined, will use env to find python at 
runtime'
-printf "/usr/bin/env python\n"
diff -r 9e9746e635f9 -r d820a6b813db tools/python/install-wrap
--- a/tools/python/install-wrap Wed Dec 09 10:46:11 2009 +0000
+++ b/tools/python/install-wrap Wed Dec 09 10:58:52 2009 +0000
@@ -1,44 +1,60 @@
-#! /usr/bin/env bash
+#!/bin/sh
 # usage:
 #  .../install-wrap $(PYTHON_PATH) install <options-to-install> <src>... <dest>
 # where
 #  PYTHON_PATH is what to put after #! and may be `/usr/bin/env python'
 #
-# Used via $(INSTALL_PYTHON_PROG) in Rules.mk; PYTHON_PATH comes from
-# .../get-path alongside this script
+# Used via $(INSTALL_PYTHON_PROG) in Rules.mk; PYTHON_PATH comes from $(PYTHON)
 
 set -e
-if [ $# -lt 2 ]; then echo >&2 "${0##*/}: too few arguments"; exit 1; fi
-pythonpath="$1"; shift
+if test $# -lt 2; then
+       echo >&2 "${0##*/}: too few arguments"
+       exit 1
+fi
 
-install=("$1"); shift
-srcs=()
+pythonpath="$1"
+shift
+
+install="$1"
+shift
+srcs=""
 
 while [ $# != 0 ]; do
        case "$1" in
-       -|--)   install=("${install[@]}" "$1"); shift; break ;;
-       -*)     install=("${install[@]}" "$1"); shift ;;
-       *)      break ;;
+       -|--)   install=`echo "${install} $1"`
+               shift
+               break
+               ;;
+       -*)     install=`echo "${install} $1"`
+               shift
+               ;;
+       *)      break
+               ;;
        esac
 done
-while [ $# -gt 1 ]; do
-       srcs=("${srcs[@]}" "$1"); shift
+
+while test $# -gt 1; do
+       srcs=`echo "${srcs} $1"`
+       shift
 done
-dest="$1"; shift
+
+dest="$1"
+shift
 
 destf="$dest"
-for srcf in "${srcs[@]}"; do
+for srcf in ${srcs}; do
        if test -d "$dest"; then
-               destf="$dest/${srcf%%*/}";
+               destf="$dest/${srcf%%*/}"
        fi
        org="$(sed -n '2q; /^#! *\/usr\/bin\/env python *$/p' $srcf)"
-       if [ "x$org" = x ]; then
-               "${install[@]}" "$srcf" "$destf"
+       if test "x$org" = x; then
+               eval "${install} $srcf $destf"
                continue
        fi
        tmpf="$destf.tmp"
-       "${install[@]}" "$srcf" "$tmpf"
+       eval "${install} $srcf $tmpf"
        printf >"$tmpf" "#!%s\n" "$pythonpath"
        sed -e 1d "$srcf" >>"$tmpf"
        mv -f "$tmpf" "$destf"
 done
+exit 0

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] tools: simplify PYTHON_PATH computation (and fixes for NetBSD), Xen patchbot-unstable <=