To make the shell script setuptex more robust I would add at the beginning:
set -o errexit
set -o nounset

function isVarSet() {
  if [[ ${#} -ne 1 ]] ; then
    fatal "${FUNCNAME} <VARIABLE-NAME>"
    return
  fi

  declare -p ${1} &>/dev/null
  return
}

And use:
    if  ! isVarSet PS1  ; then
instead of:
    if [ "x$PS1" != "x" ] ; then

I use in my script that calls setuptex
set -o errexit
set -o nounset

and that breaks the script. With my change there is no problem.

--
Cecil Westerhof