summaryrefslogtreecommitdiffhomepage
path: root/midipix_check.sh
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-09-12 18:12:51 +0200
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-09-12 18:40:56 +0200
commit222d371ae9448a5c163e3df9f58225e7f1e1f6fd (patch)
tree7027d11362ae6d8e0cdc5669f4124d4e62e00608 /midipix_check.sh
parent7a180c32c293e0e4d91fae0580aaea4cd5b5ad97 (diff)
downloadmidipix_build-222d371ae9448a5c163e3df9f58225e7f1e1f6fd.tar.bz2
midipix_build-222d371ae9448a5c163e3df9f58225e7f1e1f6fd.tar.xz
Adds midipix_check.sh and a simplified midipix.sh.
Diffstat (limited to 'midipix_check.sh')
-rwxr-xr-xmidipix_check.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/midipix_check.sh b/midipix_check.sh
new file mode 100755
index 00000000..f669de44
--- /dev/null
+++ b/midipix_check.sh
@@ -0,0 +1,51 @@
+#!/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";
+
+# vim:filetype=sh