Index: locker/bin/scripts-remove
===================================================================
--- locker/bin/scripts-remove	(revision 328)
+++ locker/bin/scripts-remove	(revision 328)
@@ -0,0 +1,161 @@
+#!/bin/bash
+
+if [ "$scriptsdev" != "" -a "$scriptsdev" != "dev" ]; then 
+    echo ERROR:
+    echo The \$scriptsdev variable is set to an invalid value.
+    echo \(The variable should not be set.\)
+    echo Please contact scripts@mit.edu.
+fi
+
+sshrun() {
+    athrun scripts sshmic "$lname@scripts.mit.edu" "/mit/scripts/$@" 2>/dev/null
+}
+
+checksqlpass() {
+    errors=`sshrun "sql/bin$scriptsdev/test-password"`
+    if [ "$errors" != "" ]; then
+        if [ "$1" -eq 1 ]; then
+          rm -f "$lroot/.sql/my.cnf"
+        fi
+        echo
+        echo ERROR:
+        printf "$2"
+        printf "$3"
+        exit 1
+    fi
+}
+attach scripts sql 2>/dev/null
+
+echo Welcome to the scripts.mit.edu uninstaller. This program will
+echo help you cleanly remove software that you have auto-installed.
+echo
+echo Are you removing an installation from:
+echo 1. Your personal Athena account
+echo 2. A locker that you control \(a club, a course, etc.\)
+echo If you do not understand this question, you should answer 1.
+printf "Please enter either 1 or 2: "
+read whofor
+if [ "$whofor" -eq 1 ]; then
+    lname=$USER
+    lroot=$HOME
+elif [ "$whofor" -eq 2 ]; then
+    echo
+    echo Please enter the name of the selected locker below.
+    echo "(For the locker /mit/sipb, you would enter sipb.)"
+    read lname
+    lroot="/mit/$lname"
+else
+    echo
+    echo ERROR:
+    echo You must select either 1 or 2.
+    exit 1
+fi
+attach "$lname" 2>/dev/null
+
+echo 
+echo When you installed the software, you chose a URL
+echo that starts with http://scripts.mit.edu/~"$lname"/.
+echo Please enter the full URL where this software was
+echo installed. \(This should correspond to a directory
+echo in /mit/"$lname"/web_scripts/.\)
+printf "URL: http://scripts.mit.edu/~$lname/"
+read addrend
+
+addrend=`echo "$addrend" | sed -n 's/^\([a-z0-9A-Z\/-]*[a-z0-9A-Z-]\)\/\?$/\1/ p'`
+if [ "$addrend" = "" ]; then
+    echo
+    echo ERROR:
+    echo You must enter one or more characters after "~$lname/"
+    echo The completed address must only contain a-z, 0-9, and /.
+    exit 1
+fi
+
+if [ ! -d "$lroot/web_scripts/$addrend" ]; then
+    echo
+    echo ERROR:
+    echo The directory "$lroot/web_scripts/$addrend"
+    echo does not exist. Please make sure that this is the
+    echo correct installation directory, and try again, or
+    echo contact scripts@mit.edu for assistance.
+    exit 1
+fi
+
+echo
+
+sqlinfo=`sshrun "sql/bin$scriptsdev/get-password"`
+if [ "$sqlinfo" = "" ]; then
+    echo 
+    echo You have a MySQL account but you do not have a .my.cnf file.
+    echo If you do not remember your MySQL account password, you can change it
+    echo at http://sql.mit.edu using MIT certificates. 
+    printf "Please type your MySQL password and press [enter]: "
+    stty -echo
+    read sqlpass
+    stty echo
+    echo
+    sqlhost="sql.mit.edu"
+    sqluser=$lname
+    . "/mit/scripts/sql/bin$scriptsdev/save-password"
+    checksqlpass 1 'The MySQL password that you typed appears to be incorrect.\n' ''
+    echo
+    echo OK.  Continuing with the uninstaller...
+else
+    checksqlpass 0 'The MySQL login information in your .my.cnf file\n' 'appears to be incorrect.\n'
+fi
+
+sqldb=`sshrun "sql/bin$scriptsdev/get-next-database" "$addrend"`
+if [ "$sqldb" != "${addrend}1" -a "$sqldb" != "$addrend" ]; then
+    echo
+    echo ERROR:
+    echo The auto-uninstaller was unable to find the appropriate
+    echo database to drop. Please examine the installation to
+    echo find the database it uses, drop the database from
+    echo http://sql.mit.edu/, and manually remove the "$addrend"
+    echo directory \(or re-run the auto-installer\). Contact
+    echo scripts@mit.edu if you need assistance.
+    exit 1
+fi
+
+echo Removing files. Please wait...
+echo \(This may take several seconds for large software.\)
+if rm -rf "$lroot/web_scripts/$addrend"; then
+    echo The directory "$lroot/web_scripts/$addrend"
+    echo was successfully removed.
+    if [ -d "$lroot/OldFiles/web_scripts/$addrend" ]; then
+        echo A one-day-old backup of the installation is
+        echo available from "$lroot/OldFiles/web_scripts/$addrend".
+    fi
+else
+    echo ERROR:
+    echo The directory "$lroot/web_scripts/$addrend"
+    echo could not be removed. Please ensure that you have
+    echo access to this directory and try again, or
+    echo contact scripts@mit.edu for assistance.
+    exit 1
+fi
+
+echo 
+if [ "$sqldb" = "${addrend}1" ]; then
+    sqldb="$lname+$addrend"
+    dropped=`sshrun sql/bin$scriptsdev/drop-database "$sqldb"`
+    if [ "$dropped" ]; then
+        echo The database "$sqldb"
+        echo was successfully removed.
+        attach sql 2>/dev/null
+	if [ -f "/mit/sql/backup/$lname/$sqldb.sql.gz" ]; then
+            echo A one-day-old backup of your SQL database is
+            echo available in /mit/sql/backup/"$lname".
+        fi
+        exit
+    else
+        echo ERROR:
+        echo The database "$lname+$addrend"
+        echo could not be automatically removed. You can
+        echo try removing it from http://sql.mit.edu/,
+        echo or you can contact sql@mit.edu for assistance.
+        exit 1
+    fi
+fi
+echo
+echo The installation in "scripts.mit.edu/~$lname/$addrend"
+echo has been successfully uninstalled.
