#!/bin/sh -f # Prepend /bin to ${PATH} if it does not contain it. case "${PATH}" in /bin:*|*:/bin:*|*:/bin) ;; *) export PATH="/bin${PATH:+:${PATH}}"; ;; esac; # # Process -h/${#} > 1. Set and cd into ${MIDIPIX_PATH} from either # ${1} or `native,' prepended w/ ${PWD}. if [ "x${1}" = "x-h" ]\ || [ ${#} -gt 1 ]; then echo "usage: $0 [-h] [path]"; echo "path: absolute or relative Cygwin pathname to Midipix root, e.g. minipix or native."; exit 0; fi; MIDIPIX_PATH="${1:-native}"; if [ "${1#/}" = "${1}" ]; then MIDIPIX_PATH="${PWD}/${MIDIPIX_PATH}"; fi; cd ${MIDIPIX_PATH} || exit 1; # # Log variables and backup the last libpsxscl.log to libpsxscl.last. # Launch chroot(1)ed bash(1) inside ntctty and mintty. Obtain and # log the PID of the ntctty process for convenience. printf "%-35s: %s\n" "Absolute Midipix pathname" "${MIDIPIX_PATH}"; if [ -f libpsxscl.log ]; then echo Found libpsxscl.log, copying to libpsxscl.last. if ! cp -p -- libpsxscl.log libpsxscl.last; then echo "(cp(1) returned ${?}, ignored.)"; fi; fi; if [ "$(uname -o)" = "Msys" ]; then # MingW workaround (via Elieux.) export MSYS2_ARG_CONV_EXCL="*"; fi; mintty -h always -s 120,80 -e /bin/sh -c " set -o errexit; stty raw -echo; env PATH=${MIDIPIX_PATH}/lib \ bin/ntctty.exe -p -e \ bin/chroot . \ /bin/env PATH=/bin:/lib bash -l" & sleep ${SLEEP_DELAY:=0.25}; printf "%-35s: %s\n" "ntctty PID" "$(ps -W | awk '$NF ~ /ntctty\.exe$/{print $1}')"; # vim:filetype=sh