ptxdist heavily uses "readlink -f" which only works with GNU readlink. So add the usual check here.
However, because "readlink -f" is also used before the symlinks in the ptxdist directory is added to the PATH, that "readlink -f" call is replaced by a bash-only implementation. This one is copied from http://mailman.archlinux.org/pipermail/pacman-dev/2009-February/008130.html. Tested on Mac OS 10.7. Signed-off-by: Bernhard Walle <bernh...@bwalle.de> --- Makefile.in | 1 + bin/ptxdist | 25 ++++++++++++++++++++++++- configure.ac | 1 + 3 files changed, 26 insertions(+), 1 deletions(-) diff --git a/Makefile.in b/Makefile.in index e8544d1..2181608 100644 --- a/Makefile.in +++ b/Makefile.in @@ -55,6 +55,7 @@ environment: @ln -sf @PYTHON@ "$(abs_srcdir)/bin/python" @ln -sf @SED@ "$(abs_srcdir)/bin/sed" @ln -sf @TAR@ "$(abs_srcdir)/bin/tar" + @ln -sf @READLINK@ "$(abs_srcdir)/bin/readlink" @echo " done" clean: diff --git a/bin/ptxdist b/bin/ptxdist index eb3366a..9355b1f 100755 --- a/bin/ptxdist +++ b/bin/ptxdist @@ -1843,6 +1843,29 @@ EOF ################ setup stuff only ################################ ################################################################## +# +# bash implementation of realpath / readlink -f +# arg1 - filename +realpath() +{ + local fname oldfname + + fname=${1%/} # strips trailing '/' + while [ -L "$fname" ]; do + oldfname="$fname" + fname="$(command ls -l $fname)" + fname="${fname#*\> }" + if [ "$fname" = . ] ; then + fname="$(dirname $oldfname)" + elif echo $fname | grep -vq '^/' - ; then + fname="$(dirname $oldfname)/$fname" + fi + done + pushd $(dirname $fname) > /dev/null + fname=$(pwd -P)/$(basename $fname) + popd > /dev/null + echo $fname +} # # figure out PTXDIST_TOPDIR @@ -1859,7 +1882,7 @@ EOF setup_topdir() { local ptxdist topdir - ptxdist="$(readlink -f "${0}")" && + ptxdist="$(realpath "${0}")" && topdir="$(cd "$(dirname "${ptxdist}")"/.. && pwd)" || return # diff --git a/configure.ac b/configure.ac index 00c2521..497441c 100644 --- a/configure.ac +++ b/configure.ac @@ -152,6 +152,7 @@ GNU_COREUTILS(md5sum) GNU_COREUTILS(mkdir) GNU_COREUTILS(install) GNU_COREUTILS(stat) +GNU_COREUTILS(readlink) dnl Check for egrep AC_PROG_EGREP -- 1.7.9 -- ptxdist mailing list ptxdist@pengutronix.de