diff options
author | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2016-06-15 16:01:06 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2016-06-15 16:16:41 +0000 |
commit | 7927966d8799ccceeee04d1e9e7119f0cac65d7b (patch) | |
tree | 1ed6dafe26d90b7b9f712bcc2c220ceb16ed790d /midipix.sh | |
parent | afcefa6fa131bbcca37337471be260e3f9f22bae (diff) | |
download | midipix_build-7927966d8799ccceeee04d1e9e7119f0cac65d7b.tar.bz2 midipix_build-7927966d8799ccceeee04d1e9e7119f0cac65d7b.tar.xz |
Disable NLS for all packages minus the runtime components.
Followup to <2696b7e8fb2972e72fab7ca8b5a3ab87022814af>:
- Restore src/process/_execve.c NT_SEC_IMAGE vs. NT_SEC_RESERVE patch for
builds on lucio-vm.local. to allow for running Midipix from a network share.
Move previous psxscl patches into psxscl.local@lucio-vm.local.patch.
Prevent Irssi from using g_child_watch_add_full() when resolving hostnames
for testing purposes as clone(2) is not currently implemented.
Updated Create `Midipix mintty shell' shortcut.vbs:
- Always update the shortcut file.
- Launch sh(1) instead of Mintty (via Elieux.)
- Obtain the pathname to Cygwin from the command line, defaulting to `C:\cygwin64'.
Updated midipix.sh:
- Automatically determine ${MIDIPIX_DRIVE} and ${MIDIPIX_PNAME} via cygpath(1) (via Elieux.)
- Export MSYS2_ARG_CONV_EXCL="*" when running within Msys (via Elieux.)
- Prepend `/bin' to ${PATH} if not present (via Elieux.)
- Set and restore the previous cygdrive prefix.
- Use /proc/cygdrive instead of /cygdrive (via Elieux.)
Diffstat (limited to 'midipix.sh')
-rwxr-xr-x | midipix.sh | 62 |
1 files changed, 36 insertions, 26 deletions
@@ -1,45 +1,55 @@ #!/bin/sh # -MIDIPIX_PATH_DEFAULTS="/c/Midipix /z"; +prepend_path() { + local _pname _pname_prepend="${1}" IFS=":"; + for _pname in ${PATH}; do + if [ "${_pname}" = "${_pname_prepend}" ]; then + return; + fi; + done; export PATH="${_pname_prepend}${PATH:+:${PATH}}"; +}; + +prepend_path /bin; if [ "${1}" = -h ]; then - echo "usage: $0 [drive_letter [dirname]]"; - exit 1; + echo "usage: $0 [drive_letter [dirname]]"; exit 0; 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; + PWD_ABSOLUTE="$(cygpath -am .)" || exit 1; + MIDIPIX_DRIVE="${PWD_ABSOLUTE%:*}"; + MIDIPIX_PNAME="${PWD_ABSOLUTE#${MIDIPIX_DRIVE}:}"; + unset PWD_ABSOLUTE; 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 +UNAME_OS="$(uname -o)" || exit 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 3; +fi; +MIDIPIX_PATH=/${MIDIPIX_DRIVE}${MIDIPIX_PNAME:+/${MIDIPIX_PNAME#/}}; +MIDIPIX_PATH=${MIDIPIX_PATH%/}; +if [ ! -d /proc/cygdrive${MIDIPIX_PATH} ]; then echo "Error: Midipix path non-existent or invalid (\`${MIDIPIX_PATH}'.)"; - exit 1; + exit 4; else - if [ -f /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log ]; then - echo Found libpsxscl.log, copying to /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last. - cp /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log \ - /cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last; + if [ -f /proc/cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log ]; then + echo Found libpsxscl.log, copying to /proc/cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last. + cp /proc/cygdrive${MIDIPIX_PATH}/bin/libpsxscl.log \ + /proc/cygdrive${MIDIPIX_PATH}/bin/libpsxscl.last || exit 5; fi; + OLD_CYGDRIVE_PREFIX="$(readlink /proc/cygdrive)" || exit 6; 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 reset to its previous value of ${OLD_CYGDRIVE_PREFIX} after it exits. echo -------------------------------------------------------- + if [ "${UNAME_OS}" = "Msys" ]; then + export MSYS2_ARG_CONV_EXCL="*"; + fi; mintty -h always -e /bin/sh -c " set -o errexit; stty raw -echo; mount --change-cygdrive-prefix /; @@ -47,7 +57,7 @@ else 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 Resetting cygdrive path prefix to ${OLD_CYGDRIVE_PREFIX}. echo -------------------------------------------------------- - mount --change-cygdrive-prefix /cygdrive; + mount --change-cygdrive-prefix "${OLD_CYGDRIVE_PREFIX}"; fi; |