patch-scripts.bash - relocate interpreter paths of Isabelle scripts.
authorwenzelm
Mon, 09 Dec 1996 16:47:11 +0100
changeset 2350 da4f8b250e1a
parent 2349 e9475a7be4ad
child 2351 873ffd6f70c3
patch-scripts.bash - relocate interpreter paths of Isabelle scripts.
patch-scripts.bash
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patch-scripts.bash	Mon Dec 09 16:47:11 1996 +0100
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+# patch-scripts.bash - relocate interpreter paths of Isabelle scripts.
+#
+
+## find binaries
+
+function findbin()
+{
+  local DEFAULT="$1"
+  local BASE=""
+  local BINARY=""
+
+  if [ -f "$DEFAULT" ]; then	# preferred location
+    echo "found $DEFAULT" >&2
+    echo "$DEFAULT"
+    return
+  else				# find in PATH
+    BASE=$(basename "$DEFAULT")
+    BINARY=$(type -path "$BASE")
+    if [ -n "$BINARY" ]; then
+      echo "found $BINARY" >&2
+      echo "$BINARY"
+      return
+    else
+      echo "WARNING: $BASE not found!" >&2
+      echo "$DEFAULT"
+      return
+    fi
+  fi
+}
+
+
+## main
+
+BASH=$(findbin /bin/bash)
+PERL=$(findbin /usr/bin/perl)
+
+for FILE in $(find . -type f -print)
+do
+  if [ -x "$FILE" ]; then
+    sed -e "s:^#!.*/bash:#!$BASH:" -e "s:^#!.*/perl:#!$PERL:" $FILE >$FILE~~
+    if cmp $FILE $FILE~~ -s; then
+      rm $FILE~~
+    else
+      rm -f $FILE
+      mv $FILE~~ $FILE
+      chmod +x $FILE
+      echo fixed $FILE
+    fi
+  fi
+done