summaryrefslogtreecommitdiff
path: root/dbug/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dbug/install.sh')
-rw-r--r--dbug/install.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/dbug/install.sh b/dbug/install.sh
new file mode 100644
index 00000000000..7226e01b1cf
--- /dev/null
+++ b/dbug/install.sh
@@ -0,0 +1,64 @@
+
+# WARNING -- first line intentionally left blank for sh/csh/ksh
+# compatibility. Do not remove it! FNF, UniSoft Systems.
+#
+# Usage is:
+# install <from> <to>
+#
+# The file <to> is replaced with the file <from>, after first
+# moving <to> to a backup file. The backup file name is created
+# by prepending the filename (after removing any leading pathname
+# components) with "OLD".
+#
+# This script is currently not real robust in the face of signals
+# or permission problems. It also does not do (by intention) all
+# the things that the System V or BSD install scripts try to do
+#
+
+if [ $# -ne 2 ]
+then
+ echo "usage: $0 <from> <to>"
+ exit 1
+fi
+
+# Now extract the dirname and basename components. Unfortunately, BSD does
+# not have dirname, so we do it the hard way.
+
+fd=`expr $1'/' : '\(/\)[^/]*/$' \| $1'/' : '\(.*[^/]\)//*[^/][^/]*//*$' \| .`
+ff=`basename $1`
+td=`expr $2'/' : '\(/\)[^/]*/$' \| $2'/' : '\(.*[^/]\)//*[^/][^/]*//*$' \| .`
+tf=`basename $2`
+
+# Now test to make sure that they are not the same files.
+
+if [ $fd/$ff = $td/$tf ]
+then
+ echo "install: input and output are same files"
+ exit 2
+fi
+
+# Save a copy of the "to" file as a backup.
+
+if test -f $td/$tf
+then
+ if test -f $td/OLD$tf
+ then
+ rm -f $td/OLD$tf
+ fi
+ mv $td/$tf $td/OLD$tf
+ if [ $? != 0 ]
+ then
+ exit 3
+ fi
+fi
+
+# Now do the copy and return appropriate status
+
+cp $fd/$ff $td/$tf
+if [ $? != 0 ]
+then
+ exit 4
+else
+ exit 0
+fi
+