Modified: trunk/base/src/registry2.0/portimage.tcl (81561 => 81562)
--- trunk/base/src/registry2.0/portimage.tcl 2011-08-02 02:53:25 UTC (rev 81561)
+++ trunk/base/src/registry2.0/portimage.tcl 2011-08-02 03:46:51 UTC (rev 81562)
@@ -249,7 +249,17 @@
## @param [in] dstfile path to activate file to
## @return 1 if file needs to be explicitly deleted if we have to roll back, 0 otherwise
proc _activate_file {srcfile dstfile} {
- switch [file type $srcfile] {
+ if {[catch {set filetype [file type $srcfile]} result]} {
+ # this can happen if the archive was built on case-sensitive and we're case-insensitive
+ # we know any existing dstfile is ours because we checked for conflicts earlier
+ if {![catch {file type $dstfile}]} {
+ ui_debug "skipping case-conflicting file: $srcfile"
+ return 0
+ } else {
+ error $result
+ }
+ }
+ switch $filetype {
directory {
# Don't recursively copy directories
ui_debug "activating directory: $dstfile"