#!/bin/sh

# =========================================================================
# Uninstall Script
# =========================================================================

# =========================================================================
# Parameters
# =========================================================================
Device=UM1

AandM="0"
RDIDAandM=0000
AUDIO="0"
RDIDAudio=0000
MIDI="1"
RDIDMidi=0009
INST="UM1USBDriver"
ALTINST="UM1_USBDriver104"
fRet=1


if [ "$AandM" = "1" -a "$AUDIO" = "1" ]
then
	exit -1
fi
if [ "$AandM" = "1" -a "$MIDI" = "1" ]
then
	exit -1
fi


echo "Start Script"
echo "$1"

if [ "$1" = "RUN" ]
then
   echo "RUN"
fi

# =========================================================================
# Delete PKG in Receipts (Installer)
# =========================================================================

osVer=`sw_vers -productVersion`
majorVer=`echo $osVer | cut -d '.' -f 1`
minorVer=`echo $osVer | cut -d '.' -f 2`

# old pkg receipt
if [ -e "/Library/Receipts/"$INST".pkg" ]
then
	if [ "$1" = "RUN" ] ; 	then
		rm -R "/Library/Receipts/"$INST".pkg"
	fi
	fRet=0
fi

if [ -e "/Library/Receipts/"$ALTINST".pkg" ]
then
	if [ "$1" = "RUN" ] ; then
		rm -R "/Library/Receipts/"$ALTINST".pkg"
	fi
	fRet=0
fi

if [ $majorVer -eq 10 -a $minorVer -ge 6 ]
then
    if [ $minorVer -ge 9 ]
    then
        echo "10.9 or later"
        pkgId="jp.co.roland.""$Device"".kext.""$majorVer""$minorVer"".pkg"
        if pkgutil --pkg-info $pkgId
        then
            if [ "$1" = "RUN" ] ; then
                pkgutil --forget $pkgId
            fi
            fRet=0
        fi
        pkgId="jp.co.roland.""$Device"".midi.""$majorVer""$minorVer"".pkg"
        if pkgutil --pkg-info $pkgId
        then
            if [ "$1" = "RUN" ] ; then
                pkgutil --forget $pkgId
            fi
            fRet=0
        fi
        pkgId="jp.co.roland.""$Device"".pref.""$majorVer""$minorVer"".pkg"
        if pkgutil --pkg-info $pkgId
        then
            if [ "$1" = "RUN" ] ; then
                pkgutil --forget $pkgId
            fi
            fRet=0
        fi
        pkgId="jp.co.roland.""$Device"".start.""$majorVer""$minorVer"".pkg"
        if pkgutil --pkg-info $pkgId
        then
            if [ "$1" = "RUN" ] ; then
                pkgutil --forget $pkgId
            fi
            fRet=0
        fi
        pkgId="jp.co.roland.""$Device"".app.""$majorVer""$minorVer"".pkg"
        if pkgutil --pkg-info $pkgId
        then
            if [ "$1" = "RUN" ] ; then
                pkgutil --forget $pkgId
            fi
            fRet=0
        fi
    fi
    echo "10.6 or later"
    if [ "$AandM" = "1" ]
    then
        pkgId=jp.co.roland.RDUSB0000.SN
        altPkgId=jp.co.roland.RDUSB0000.SN"$majorVer""$minorVer"
    elif [ "$AUDIO" = "1" ]
    then
        pkgId=jp.co.roland.RDUSB0000.SN
        altPkgId=jp.co.roland.RDUSB0000.SN"$majorVer""$minorVer"
    elif [ "$MIDI" = "1" ]
    then
        pkgId=jp.co.roland.RDUSB0009.SN
        altPkgId=jp.co.roland.RDUSB0009.SN"$majorVer""$minorVer"
    fi
    if pkgutil --pkg-info $pkgId
    then
        if [ "$1" = "RUN" ] ; then
            pkgutil --forget $pkgId
        fi
        fRet=0
    fi
    if pkgutil --pkg-info $altPkgId
    then
        if [ "$1" = "RUN" ] ; then
            pkgutil --forget $altPkgId
        fi
        fRet=0
    fi
fi

# =========================================================================
# Delete Kext (Audio)
# =========================================================================

if [ "$AUDIO" = "1" ]
then
	if [ -e "/System/Library/Extensions/RDUSB"$RDIDAudio"Dev.kext" ]
	then
		if [ "$1" = "RUN" ]
		then
		    echo "RUN"
	            mv "/System/Library/Extensions/RDUSB"$RDIDAudio"Dev.kext" "/tmp"
		    rm -R "/tmp/RDUSB"$RDIDAudio"Dev.kext"
		    touch "/System/Library/Extensions/"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAudio"Dev.kext does not exist"
	fi

    #For 10.9
    if [ -e "/Library/Extensions/RDUSB"$RDIDAudio"Dev.kext" ]
    then
        if [ "$1" = "RUN" ]
        then
            echo "RUN"
            mv "/Library/Extensions/RDUSB"$RDIDAudio"Dev.kext" "/tmp"
            rm -R "/tmp/RDUSB"$RDIDAudio"Dev.kext"
            touch "/Library/Extensions/"
        fi
        fRet=0
	else
		echo "RDUSB"$RDIDAudio"Dev.kext does not exist"
	fi
fi

# =========================================================================
# Delete Kext (Midi)
# =========================================================================

if [ "$MIDI" = "1" ]
then
	if [ -e "/System/Library/Extensions/RDUSB"$RDIDMidi"Dev.kext" ]
	then
		if [ "$1" = "RUN" ]
		then
		    echo "RUN"
	            mv "/System/Library/Extensions/RDUSB"$RDIDMidi"Dev.kext" "/tmp"
		    rm -R "/tmp/RDUSB"$RDIDMidi"Dev.kext"
		    touch "/System/Library/Extensions/"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDMidi"Dev.kext does not exist"
	fi

    #For 10.9
    if [ -e "/Library/Extensions/RDUSB"$RDIDMidi"Dev.kext" ]
    then
        if [ "$1" = "RUN" ]
        then
            echo "RUN"
            mv "/Library/Extensions/RDUSB"$RDIDMidi"Dev.kext" "/tmp"
            rm -R "/tmp/RDUSB"$RDIDMidi"Dev.kext"
            touch "/Library/Extensions/"
        fi
        fRet=0
	else
		echo "RDUSB"$RDIDMidi"Dev.kext does not exist"
	fi
fi

# =========================================================================
# Delete Kext (AandM)
# =========================================================================

if [ "$AandM" = "1" ]
then
	if [ -e "/System/Library/Extensions/RDUSB"$RDIDAandM"Dev.kext" ]
	then
		if [ "$1" = "RUN" ]
		then
		    echo "RUN"
	            mv "/System/Library/Extensions/RDUSB"$RDIDAandM"Dev.kext" "/tmp"
		    rm -R "/tmp/RDUSB"$RDIDAandM"Dev.kext"
		    touch "/System/Library/Extensions/"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAandM"Dev.kext does not exist"
	fi

    #For 10.9
    if [ -e "/Library/Extensions/RDUSB"$RDIDAandM"Dev.kext" ]
    then
        if [ "$1" = "RUN" ]
        then
            echo "RUN"
            mv "/Library/Extensions/RDUSB"$RDIDAandM"Dev.kext" "/tmp"
            rm -R "/tmp/RDUSB"$RDIDAandM"Dev.kext"
            touch "/Library/Extensions/"
        fi
        fRet=0
	else
		echo "RDUSB"$RDIDAandM"Dev.kext does not exist"
	fi
fi


# =========================================================================
# Delete Preference Pane (Audio)
# =========================================================================

if [ "$AUDIO" = "1" ]
then
	if [ -e "/Library/PreferencePanes/RDUSB"$RDIDAudio"Pref.prefPane" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/PreferencePanes/RDUSB"$RDIDAudio"Pref.prefPane" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDAudio"Pref.prefPane"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAudio"Pref.prefPane does not exist"		
	fi
fi

# =========================================================================
# Delete Preference Pane (AandM)
# =========================================================================

if [ "$AandM" = "1" ]
then
	if [ -e "/Library/PreferencePanes/RDUSB"$RDIDAandM"Pref.prefPane" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/PreferencePanes/RDUSB"$RDIDAandM"Pref.prefPane" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDAandM"Pref.prefPane"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAandM"Pref.prefPane does not exist"		
	fi
fi

# =========================================================================
# Delete Startup Item (Audio)
# =========================================================================

if [ "$AUDIO" = "1" ]
then
	if [ -e "/Library/StartupItems/RDUSB"$RDIDAudio"Startup" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/StartupItems/RDUSB"$RDIDAudio"Startup" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDAudio"Startup"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAudio"Startup does not exist"
	fi
fi

# =========================================================================
# Delete Startup Item (AandM)
# =========================================================================

if [ "$AandM" = "1" ]
then
	if [ -e "/Library/StartupItems/RDUSB"$RDIDAandM"Startup" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/StartupItems/RDUSB"$RDIDAandM"Startup" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDAandM"Startup"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAandM"Startup does not exist"
	fi
fi


# =========================================================================
# Delete Preference (Audio)
# =========================================================================

if [ "$AUDIO" = "1" ]
then
	if [ -e "/Library/Preferences/jp_co_roland_RDUSB"$RDIDAudio"Dev.pref.plist" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/Preferences/jp_co_roland_RDUSB"$RDIDAudio"Dev.pref.plist" "/tmp"
			rm -R "/tmp/jp_co_roland_RDUSB"$RDIDAudio"Dev.pref.plist"
		fi
		fRet=0
	else
		echo "jp_co_roland_RDUSB"$RDIDAudio"Dev.pref.plist does not exist"
	fi
fi

# =========================================================================
# Delete Preference (AandM)
# =========================================================================

if [ "$AandM" = "1" ]
then
	if [ -e "/Library/Preferences/jp_co_roland_RDUSB"$RDIDAandM"Dev.pref.plist" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/Preferences/jp_co_roland_RDUSB"$RDIDAandM"Dev.pref.plist" "/tmp"
			rm -R "/tmp/jp_co_roland_RDUSB"$RDIDAandM"Dev.pref.plist"
		fi
		fRet=0
	else
		echo "jp_co_roland_RDUSB"$RDIDAandM"Dev.pref.plist does not exist"
	fi
fi

# =========================================================================
# Delete MIDI plugin (MIDI)
# =========================================================================

if [ "$MIDI" = "1" ]
then
	if [ -e "/Library/Audio/MIDI Drivers/RDUSB"$RDIDMidi"Midi.plugin" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/Audio/MIDI Drivers/RDUSB"$RDIDMidi"Midi.plugin" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDMidi"Midi.plugin"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDMidi"Midi.plugin does not exist"
	fi
fi

# =========================================================================
# Delete MIDI plugin (MIDI)
# =========================================================================

if [ "$AandM" = "1" ]
then
	if [ -e "/Library/Audio/MIDI Drivers/RDUSB"$RDIDAandM"Midi.plugin" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "/Library/Audio/MIDI Drivers/RDUSB"$RDIDAandM"Midi.plugin" "/tmp"
			rm -R "/tmp/RDUSB"$RDIDAandM"Midi.plugin"
		fi
		fRet=0
	else
		echo "RDUSB"$RDIDAandM"Midi.plugin does not exist"
	fi
fi

# =========================================================================
# Delete Uninstaller / Readme
# =========================================================================
TempDir="/tmp/$Device.$RANDOM"
UninstName=Uninstaller.app
ReadmeDir=Readme
ReadmeName=Readme.htm
InstRoot="/Applications/Roland"
InstDir="$InstRoot"/"UM-1 Driver"

if [ "$1" = "RUN" ]
then
	if [ ! -e "$TempDir" ]
	then
		mkdir "$TempDir"
	else
		echo $TempDir is already existed.
	fi
fi

for Target in "$InstDir/$UninstName" "$InstDir/$ReadmeName" "$InstDir/$ReadmeDir"
do
	if [ -e "$Target" ]
	then
		if [ "$1" = "RUN" ]
		then
			mv "$Target" "$TempDir"
		fi
		fRet=0
	else
		echo $Target" does not exist"
	fi
done

if [ "$1" = "RUN" ]
then
	rm -R "$TempDir"
	rm "$InstDir/.DS_Store"
	rmdir "$InstDir"
	rm "$InstRoot/.DS_Store"
	rmdir "$InstRoot"
fi


# =========================================================================
# Return Value
# =========================================================================

exit $fRet
