Index: client/lib/teapotclient0.1/teapotclient.tcl ================================================================== --- client/lib/teapotclient0.1/teapotclient.tcl +++ client/lib/teapotclient0.1/teapotclient.tcl @@ -16,11 +16,31 @@ } } return "/tmp" } - set pkgcachedir [file join [__get_tmpdir] "DELETEME_teapotclient_[string tolower [md5::md5 -hex [list [info script] $::tcl_platform(user)]]].cache"] + proc __get_homedir {} { + if {[info exists ::env(HOME)]} { + return $::env(HOME) + } + + catch { + set ::env(HOME) [file normalize ~] + } + if {[info exists ::env(HOME)]} { + return $::env(HOME) + } + + set ::env(HOME) [file join [__get_tmpdir] FAKEHOME_$tcl_platform(user)] + catch { + file mkdir $::env(HOME) + } + + return $::env(HOME) + } + + set pkgcachedir [file join [__get_homedir] ".teapot-client" "cachedir"] # Conversions from Teapot-style names to local ones set osTeapotToLocal(tcl) * set osTeapotToLocal(linux-*) linux set osTeapotToLocal(win32) windows @@ -274,8 +294,11 @@ } return [array get pkginfo] } + proc setcachedir {dir} { + set ::teapotclient::pkgcachedir $dir + } } package provide teapotclient 0.1