#!/bin/busybox ash # (c) Robert Shingledecker 2010 # After boot setup for TCE directory and backup . /etc/init.d/tc-functions useBusybox MYDATA=mydata [ -r /etc/sysconfig/mydata ] && read MYDATA < /etc/sysconfig/mydata fetchDriveList() { TMP="/tmp/tcesetdev" TMP2="/tmp/tcesetdev2.$$" awk '/mnt/{printf "%s\n",$2}' /etc/fstab|sort -n > "$TMP" while read F; do if grep -qv ${F##*/} /etc/sysconfig/cdroms 2>/dev/null; then echo $F >> "$TMP2"; fi done < "$TMP" [ -s "$TMP2" ] && mv "$TMP2" "$TMP" [ -s "$TMP" ] || rm "$TMP" } setupSelectedDrive() { DEVICE="$ANSWER" LOCAL_DEVICE="${DEVICE##/*/}" [ -z "$LOCAL_DEVICE" ] && exit 1 find_mountpoint "$LOCAL_DEVICE" if [ -n "$MOUNTPOINT" ]; then if [ "$MOUNTED" == "no" ]; then mount "$MOUNTPOINT" fi fi TCEDIR="$ANSWER"/tce if [ ! -d "$TCEDIR"/optional ]; then sudo /bin/mkdir -p "$TCEDIR"/optional [ "$?" == 0 ] || exit 1 sudo /bin/chown -R ${USER}.staff "$TCEDIR" 2>/dev/null sudo /bin/chmod -R g+w "$TCEDIR" 2>/dev/null fi [ -f "$TCEDIR"/${MYDATA}.tgz ] || touch "$TCEDIR"/${MYDATA}.tgz [ -s /etc/sysconfig/backup_device ] || echo "${TCEDIR#/mnt/}" > /etc/sysconfig/backup_device sudo /bin/rm -f /etc/sysconfig/tcedir sudo /bin/ln -s ${TCEDIR} /etc/sysconfig/tcedir } abort() { echo "Usage: tce-setdrive { -l | -s }" exit 1 } # Main unset LIST SETUP while getopts ls OPTION do case ${OPTION} in l) LIST=TRUE ;; s) SETUP=TRUE ;; *) abort ;; esac done shift `expr $OPTIND - 1` if [ ${LIST} ]; then fetchDriveList [ -s "$TMP" ] || exit 1 exit 0 fi if [ ${SETUP} ]; then ANSWER="$1" [ -z ${ANSWER} ] && exit 1 setupSelectedDrive exit 0 fi TCEDIR="$(readlink /etc/sysconfig/tcedir)" [ -d "$TCEDIR" ] || exit 1 if [ "${TCEDIR:0:8}" != "/tmp/tce" ]; then echo sudo /bin/chown -R "$USER".staff "$TCEDIR" 2>/dev/null sudo /bin/chmod -R g+w "$TCEDIR" 2>/dev/null echo -n "${GREEN}Your TCE Drive, $TCEDIR, has already been selected!${NORMAL}" sleep 3 exit 1 fi fetchDriveList [ -s "$TMP" ] || exit 1 echo "${GREEN}" select "tce-setdrive - Choose Drive for TCE directory" "$TMP" 1 echo "${NORMAL}" ANSWER=`cat /tmp/select.ans`;rm "$TMP" [ "$ANSWER" == "q" ] && exit 1 setupSelectedDrive echo echo -n "${GREEN}Your TCE Drive, $TCEDIR, is now enabled!${NORMAL}" sleep 5 echo exit 0