#!/bin/sh xdir="%%XDIR%%" userdir="$HOME/.x-plane" portversion="%%PORTVERSION%%" programs="%%PROGRAMS%%" targets="athlon-xp i586 pentium-3" # The executables need to be run from the data directory, and need to # write files in it. We therefore mirror the data directory hierarchy # in $userdir, and create symlinks to the data files. if [ "x`cat $userdir/version 2>/dev/null`" != "x$portversion" ]; then if [ -e $userdir ]; then cd $userdir || exit 1 echo "Removing dangling symlinks from $userdir" find * -type l ! -exec stat -L {} \; -delete >/dev/null 2>&1 echo "Removing obsolete configuration from $userdir" rm -f Resources/Preferences/* rm -f $userdir/cpu echo "Removing empty directories from $userdir" find -d * -type d -empty -delete fi echo "Updating hierarchy in $userdir" cd $xdir || exit 1 find * -type d -exec mkdir -p "$userdir/{}" \; || exit 1 find * -type f ! -name '*.prf' -exec ln -sf "$xdir/{}" "$userdir/{}" \; || exit 1 for p in $programs; do for t in $targets; do if [ -e $p-$t ]; then rm -f $userdir/$p-$t cp -p $p-$t $userdir || exit 1 fi done done echo "$portversion" > $userdir/version || exit 1 fi program=`basename $0` cd $userdir || exit 1 for t in $targets; do if [ -e $program-$t ]; then exec ./$program-$t "$@" fi done echo "$program not found. Check your X-Plane installation." >&2 exit 1