From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: [PATCH] tools: python portability fixes Date: Thu, 23 Jul 2009 15:58:12 +0200 Message-ID: <200907231558.12957.Christoph.Egger@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary-00=_0xGaK1vM+vK2akv" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ian Jackson , Keir Fraser List-Id: xen-devel@lists.xenproject.org --Boundary-00=_0xGaK1vM+vK2akv Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi! Attached patch applies portability fixes for NetBSD: - remove useless get-path. It is a bash specific script which tries to gain information the build system already has. - make install-wrap work with bourne shell on NetBSD - pass `which $(PYTHON)` to install-wrap. It is safe to assume this always works because in case it doesn't the build system errors out very early in tools/check/check_python Signed-off-by: Christoph Egger -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 --Boundary-00=_0xGaK1vM+vK2akv Content-Type: text/x-diff; charset="us-ascii"; name="xen_python.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="xen_python.diff" diff -r bc3aca17cb88 tools/misc/Makefile --- a/tools/misc/Makefile Thu Jul 23 09:01:30 2009 +0100 +++ b/tools/misc/Makefile Thu Jul 23 15:45:48 2009 +0200 @@ -25,8 +25,7 @@ INSTALL_BIN := $(INSTALL_BIN-y) INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview gtracestat INSTALL_SBIN := $(INSTALL_SBIN-y) -DEFAULT_PYTHON_PATH := $(shell $(XEN_ROOT)/tools/python/get-path) -PYTHON_PATH ?= $(DEFAULT_PYTHON_PATH) +PYTHON_PATH := $(shell which $(PYTHON)) INSTALL_PYTHON_PROG = $(XEN_ROOT)/tools/python/install-wrap \ "$(PYTHON_PATH)" $(INSTALL_PROG) diff -r bc3aca17cb88 tools/python/get-path --- a/tools/python/get-path Thu Jul 23 09:01:30 2009 +0100 +++ /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 bc3aca17cb88 tools/python/install-wrap --- a/tools/python/install-wrap Thu Jul 23 09:01:30 2009 +0100 +++ b/tools/python/install-wrap Thu Jul 23 15:45:48 2009 +0200 @@ -1,44 +1,60 @@ -#! /usr/bin/env bash +#!/bin/sh # usage: # .../install-wrap $(PYTHON_PATH) install ... # 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 --Boundary-00=_0xGaK1vM+vK2akv Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --Boundary-00=_0xGaK1vM+vK2akv--