Hi All,
so yes, softwareupdate is antiquated, but we struggle to match apple to get our new builds out due to internally required security agents that take months to source from the relevant teams. for this reason we do lock off the sysprefs and we haven't used MDM patching as yet as getting the apple silicon requirements needed after all our requirements set its still not very reliable.
due to Apple amazing(!) decision to label ventura as a minor upgrade and bring it in to the softwareupdate system has thrown a spanner in the works as its our only viable method right now
this is what happens on the term during testing:-
$ echo $pass | /usr/sbin/softwareupdate --install --force --user myuser --stdinpass 'Command Line Tools for Xcode-13.2' 'Command Line Tools for Xcode-13.4' 'Command Line Tools for Xcode-14.0' 'Command Line Tools for Xcode-14.2'
Software Update Tool
Finding available software
Downloaded Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode, Command Line Tools for Xcode, Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.
$ softwareupdate -l
Software Update Tool
Finding available software
No new software available.
groovy... so far...
that has been engineered/taken from the last part of my script where im trying to use labels to install its that have grep'd from the softwareupdate list command
# prepare string to be ready for the command
NAMEOFUPDATE=$(echo "'${NAMEOFUPDATE//$'\\n'/' '}'" )
#NAMEOFUPDATE=$(echo ""${NAMEOFUPDATE//$'\\n'/' '}"" )
# set command
PatchingCmd="$pass_start /usr/sbin/softwareupdate ${OPTIONS} ${NAMEOFUPDATE}"
ScriptLog "full update string is: $OPTIONS $NAMEOFUPDATE"
# execute
eval "$PatchingCMD"
and this is what the echo comes back with when i check our jamf.log we put scripting for this due to stuff getting lost in install.log due to churn
Tue Feb 21 13:37:12: full update string is: --install --force --user myuser --stdinpass 'Command Line Tools for Xcode-13.2' 'Command Line Tools for Xcode-13.4' 'Command Line Tools for Xcode-14.0' 'Command Line Tools for Xcode-14.2'
Am i going crazy? I have tried every permutation i can think of including using xargs to clear out any white or non-ascii issues, the shebang on the script is Bash as well... i think at this points its probably something easy i havent noticed due to code blindness
Thanks