#!/bin/sh
#####################################################################################################
#
# ABOUT THIS PROGRAM
#
# NAME
#   Rosetta2.sh -- Installs Rosetta2 if the architecture is correct
#
# SYNOPSIS
#   sudo Rosetta2.sh
#
####################################################################################################
#
# HISTORY
#
#   Version: 1.2
#
#   - 1.0 Martyn Watts, 25.06.2021 Initial Build
#   - 1.1 Martyn Watts, 29.09.2021 Removed erroneous space in deplog path, moved the Open Console section to below the initial creation event
#                                  & Created a scriptver variable that is recorded in the log files
#   - 1.2 Martyn Watts, 03.12.2012 Changed the /tmp paths to /Library/Caches/com.purplecomputing.mdm/
#
####################################################################################################
# Script to identify architecture and install Rosetta2 if needed
#

logfile="/Library/Caches/com.purplecomputing.mdm/Logs/Rosetta2InstallScript.log"
deplog="/var/tmp/depnotify.log"
scriptver="1.2"

# Making Purple Cache directories for in the event that the helper script hasn't been run
mkdir -p /Library/Caches/com.purplecomputing.mdm/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Logs/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Apps/

/bin/echo "Status: Installing ${appName}" >> ${deplog}
/bin/echo "Status: Installing ${appName}" >> ${logfile}

if [[ $1 == "openconsole" ||  $2 == "openconsole" ]]; then
	open ${logfile}
	open ${deplog}
fi

/bin/echo "Script Version: ${scriptver}" >> ${logfile}

arch=$(/usr/bin/arch)
if [ "$arch" == "arm64" ]; then
    echo "Apple Silicon - Installing Rosetta" >> ${logfile}
    echo "Apple Silicon - Installing Rosetta" >> ${deplog}
    echo "Apple Silicon - Installing Rosetta"
    sleep 1
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license
    echo "Rosetta 2 Now Installed" >> ${deplog}
    echo "Rosetta 2 Now Installed" >> ${logfile}
    echo "Rosetta 2 Now Installed" 
    sleep 2
elif [ "$arch" == "i386" ]; then
    echo "Intel - Skipping Rosetta" >> ${deplog}
    echo "Intel - Skipping Rosetta" >> ${logfile}
    echo "Intel - Skipping Rosetta"
    sleep 1
else
    echo "Unknown Architecture" >> ${deplog}
    echo "Unknown Architecture" >> ${logfile}
    echo "Unknown Architecture"
    sleep 1
fi

if [[ $1 == "jamf" ||  $2 == "jamf" ]]; then
echo "Found the jamf parameter so running a recon" >> ${logfile}
echo "Running recon so Architecture gets updated and arch based smart groups work" >> ${deplog}
echo "Running recon so Architecture gets updated and arch based smart groups work" >> ${logfile}
jamf recon
fi
exit 0
