diff --git a/399.midipix_sh.build b/399.midipix_sh.build index 4aa41da..906cd24 100644 --- a/399.midipix_sh.build +++ b/399.midipix_sh.build @@ -5,15 +5,53 @@ if ! is_build_script_done install; then IFS=""; cat < ${PREFIX}/midipix.sh; #!/bin/sh -MIDIPIX_DRIVE=\${1:-z}; -MIDIPIX_DNAME="\${2:-}"; -MIDIPIX_PATH="/\${MIDIPIX_DRIVE}\${MIDIPIX_DNAME:+/\${MIDIPIX_DNAME}}"; -mintty -h always -e /bin/sh -c " - set -o errexit; stty raw -echo; - mount --change-cygdrive-prefix /; - cd \"\${MIDIPIX_PATH}/native/bin\"; - export PATH=\"\${MIDIPIX_PATH}/native/bin:\${MIDIPIX_PATH}/native/lib\"; - ./ntctty.exe -e chroot /native /bin/bash"; +# +MIDIPIX_PATH_DEFAULTS="/c/Midipix /z"; + +if [ "\${1}" = -h ]; then + echo "usage: \$0 [drive_letter [dirname]]"; + exit 1; +elif [ \${#} -eq 0 ]; then +for MIDIPIX_PATH in \${MIDIPIX_PATH_DEFAULTS}; do + [ -d /cygdrive\${MIDIPIX_PATH} ] || continue; + MIDIPIX_DRIVE=\${MIDIPIX_PATH#/}; + MIDIPIX_DRIVE=\${MIDIPIX_DRIVE%%/*}; + MIDIPIX_PNAME=\${MIDIPIX_PATH#/\${MIDIPIX_DRIVE}}; + MIDIPIX_PNAME=\${MIDIPIX_PNAME#/}; + break; +done; +else + MIDIPIX_DRIVE="\${1}"; MIDIPIX_PNAME="\${2}"; + if [ "\${MIDIPIX_DRIVE#*[ ]*}" != "\${MIDIPIX_DRIVE}" ]\\ + || [ "\${MIDIPIX_PNAME#*[ ]*}" != "\${MIDIPIX_PNAME}" ]; then + echo "Error: drive_letter/dirname must not contain SP (\\\` ') or VT (\\\`\\\\\t') characters."; + exit 1; + fi; +fi; +MIDIPIX_PATH=/\${MIDIPIX_DRIVE}\${MIDIPIX_PNAME:+/\${MIDIPIX_PNAME}}; +if [ ! -d /cygdrive\${MIDIPIX_PATH} ]; then + echo "Error: Midipix path non-existent or invalid (\\\`\${MIDIPIX_PATH}'.)"; + exit 1; +else + echo "Midipix drive letter.....: \${MIDIPIX_DRIVE}"; + echo "Midipix pathname.........: \${MIDIPIX_PNAME}"; + echo "Absolute Midipix pathname: \${MIDIPIX_PATH}"; + echo -------------------------------------------------------- + echo WARNING: The cygdrive path prefix will be changed to / + echo whilst the Midipix shell window is running. It will be + echo reset to its original value of /cygdrive after it exits. + echo -------------------------------------------------------- + mintty -h always -e /bin/sh -c " + set -o errexit; stty raw -echo; + mount --change-cygdrive-prefix /; + cd \${MIDIPIX_PATH}/native/bin; + export PATH=\${MIDIPIX_PATH}/native/bin:\${MIDIPIX_PATH}/native/lib; + ./ntctty.exe -e chroot //\${MIDIPIX_PATH#/}/native /bin/bash"; + echo -------------------------------------------------------- + echo Resetting cygdrive path prefix to /. + echo -------------------------------------------------------- + mount --change-cygdrive-prefix /cygdrive; +fi; EOF chmod +x ${PREFIX}/midipix.sh; set_build_script_done install finish; diff --git a/build.sh b/build.sh index d19fab4..a4be77e 100755 --- a/build.sh +++ b/build.sh @@ -109,7 +109,7 @@ if [ $(( ${BUILD_NFINI} + ${BUILD_NSKIP} )) -ge 0 ] \ log_msg info "Converted symbolic links in ${PREFIX_BASENAME}/lib to hard links."; tar -cJpf ${TARBALL_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.xz\ $(find_with_no_paths "${TARBALL_EXCLUDE_PATHS} native/lib.bak" . \ - -mindepth 1 -maxdepth 2 -type d -not -path ./native); + -mindepth 1 -maxdepth 2 -type d -not -path ./native) midipix.sh; log_msg info "Finished building distribution tarball."; rm -rf ${PREFIX_BASENAME}/lib; mv ${PREFIX_BASENAME}/lib.bak ${PREFIX_BASENAME}/lib; log_msg info "Restored ${PREFIX_BASENAME}/lib.";