| #!/bin/sh |
| |
| set -o errexit -o noglob; |
| if [ "${1}" = "-m" ]; then |
| MIDIPIX_DNAME_DIST=minipix; shift; |
| fi; |
| if [ -n "${1}" ]; then |
| MIDIPIX_PATH=$(cygpath -am "${1}"); |
| else |
| MIDIPIX_PATH=$(cygpath -am .); |
| fi; |
| : ${MIDIPIX_DNAME_DIST:=native}; |
| echo "Absolute Midipix pathname: ${MIDIPIX_PATH}"; |
| echo "Distribution name : ${MIDIPIX_DNAME_DIST}"; |
| printf "%-85s" "Checking if all binaries are present..."; |
| for __ in chroot env ntctty.exe; do |
| if [ ! -e ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/bin/${__} ]; then |
| printf "\nerror: missing file ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/bin/${__}\n"; |
| exit 2; |
| fi; |
| done; |
| printf "\033[97m[ \033[92mOK \033[97m]\033[0m\n"; |
| printf "%-85s" "Checking ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib for symbolic links..."; |
| if [ -n "$(find ${MIDIPIX_DNAME_DIST}/lib \ |
| -maxdepth 1 -name \*.so -type l -print -quit)" ]; then |
| echo; |
| echo "Warning: ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib contains shared objects (library" |
| echo "images) that are symbolic links. This is not supported by Midipix at" |
| echo "present and commonly occurs if the binary distribution tarball was" |
| echo "extracted by an application that does not support symbolic links" |
| echo "correctly. This also occurs when a binary distribution was built locally." |
| printf "Convert all shared object symbolic links to hard links? (y|N) "; |
| read __; |
| case "${__}" in |
| [yY]) break; ;; |
| *) echo "Exiting."; exit 3; ;; |
| esac; |
| for LINK_NAME in $(find ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib \ |
| -maxdepth 1 -name \*.so -type l); do |
| LINK_TARGET="$(readlink -- "${LINK_NAME}")"; |
| if [ -f "${MIDIPIX_PATH}/native/lib/${LINK_TARGET}" ]; then |
| echo rm -f -- "${LINK_NAME}"; |
| rm -f -- "${LINK_NAME}"; |
| echo ln -f -- "${LINK_TARGET}" "${LINK_NAME}"; |
| ln -f -- "${LINK_TARGET}" "${LINK_NAME}"; |
| fi; |
| done; |
| fi; |
| printf "\033[97m[ \033[92mOK \033[97m]\033[0m\n"; |
| |
| |