@@ -6,6 +6,7 @@ set -o noglob
66# prevent existing env breaking this script
77unset TEA_DESTDIR
88unset TEA_VERSION
9+ unset TEA_MAGIC
910
1011unset stop
1112while test " $# " -gt 0 -a -z " $stop " ; do
@@ -28,6 +29,9 @@ while test "$#" -gt 0 -a -z "$stop"; do
2829 --yes|-y)
2930 TEA_YES=1
3031 shift ;;
32+ --magic)
33+ TEA_INSTALL_MAGIC=1
34+ shift ;;
3135 --help|-h)
3236 echo " tea: docs: https://github.com/teaxyz/setup"
3337 exit ;;
@@ -139,15 +143,19 @@ prepare() {
139143 TEA_DESTDIR=" $( mktemp -dt tea-XXXXXX) "
140144 else
141145 TEA_DESTDIR=" $HOME /.tea"
142- # make our configurations portable
143- TEA_DESTDIR_WRITABLE=" \$ HOME/.tea"
144146 fi
145147 fi
146148 fi
147149
148- if test -z " $TEA_DESTDIR_WRITABLE " ; then
149- TEA_DESTDIR_WRITABLE=" $TEA_DESTDIR "
150- fi
150+ # be portable
151+ case " $TEA_DESTDIR " in
152+ " $HOME " /* )
153+ TEA_DESTDIR_WRITABLE=" \$ HOME${TEA_DESTDIR# $HOME } "
154+ ;;
155+ * )
156+ TEA_DESTDIR_WRITABLE=" $TEA_DESTDIR "
157+ ;;
158+ esac
151159
152160 if test -z " $CURL " ; then
153161 if command -v curl > /dev/null 2>&1 ; then
@@ -502,7 +510,7 @@ gum_func spin --title "$title pantry" -- "$TEA_EXENAME" --sync --cd / /bin/echo
502510
503511case $MODE in
504512install)
505- if ! test -n " $ALREADY_INSTALLED " ; then
513+ if ! test -n " $ALREADY_INSTALLED " -a " $TEA_INSTALL_MAGIC " ! = 1 ; then
506514 if ! check_shell_magic; then
507515 check_path
508516 gum_func format -- << -EoMD
@@ -550,7 +558,7 @@ exec)
550558
551559 echo # spacer
552560 else
553- export PATH=" $TEA_PREFIX /tea.xyz/v*/bin:$PATH "
561+ export PATH=" $TEA_PREFIX /tea.xyz/v*/bin:$PATH "
554562 exec $TEA_EXENAME " $@ "
555563 fi
556564 ;;
0 commit comments