Changeset 25461


Ignore:
Timestamp:
May 22, 2007, 8:53:46 AM (13 years ago)
Author:
eridius@…
Message:

For some reason port clean stopped removing work symlinks. Fix that.
Also start using delete command instead of exec rm -rf commands.
Make variable access consistent - only use surrounding braces if necessary.
Stop declaring global errorInfo when $::errorInfo works just as well.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/port1.0/portclean.tcl

    r25283 r25461  
    8989        foreach file $distfiles {
    9090                if {[info exist distpath] && [info exists dist_subdir]} {
    91                         set distfile [file join ${distpath} ${dist_subdir} ${file}]
     91                        set distfile [file join $distpath $dist_subdir $file]
    9292                } else {
    93                         set distfile [file join ${distpath} ${file}]
     93                        set distfile [file join $distpath $file]
    9494                }
    9595                if {[file isfile $distfile]} {
    9696                        ui_debug "Removing file: $distfile"
    97                         if {[catch {exec rm -f ${distfile}} result]} {
    98                                 global errorInfo
    99                                 ui_debug "$errorInfo"
    100                                 ui_error "${result}"
     97                        if {[catch {delete $distfile} result]} {
     98                                ui_debug "$::errorInfo"
     99                                ui_error "$result"
    101100                        }
    102101                        set count [expr $count + 1]
     
    114113        if {($dist_subdir != $portname)} {
    115114                if {[info exists dist_subdir]} {
    116                         set distfullpath [file join ${distpath} ${dist_subdir}]
     115                        set distfullpath [file join $distpath $dist_subdir]
    117116                        if {!([info exists ports_force] && $ports_force == "yes")
    118                                 && [file isdirectory ${distfullpath}]
    119                                 && [llength [readdir ${distfullpath}]] > 0} {
    120                                 ui_warn [format [msgcat::mc "Distfiles directory '%s' may contain distfiles needed for other ports, use the -f flag to force removal" ] [file join ${distpath} ${dist_subdir}]]
     117                                && [file isdirectory $distfullpath]
     118                                && [llength [readdir $distfullpath]] > 0} {
     119                                ui_warn [format [msgcat::mc "Distfiles directory '%s' may contain distfiles needed for other ports, use the -f flag to force removal" ] [file join $distpath $dist_subdir]]
    121120                        } else {
    122121                                lappend dirlist $dist_subdir
     
    132131        set count 0
    133132        foreach dir $dirlist {
    134                 set distdir [file join ${distpath} ${dir}]
    135                 if {[file isdirectory ${distdir}]} {
     133                set distdir [file join $distpath $dir]
     134                if {[file isdirectory $distdir]} {
    136135                        ui_debug "Removing directory: ${distdir}"
    137                         if {[catch {exec rm -rf ${distdir}} result]} {
    138                                 global errorInfo
    139                                 ui_debug "$errorInfo"
    140                                 ui_error "${result}"
     136                        if {[catch {delete $distdir} result]} {
     137                                ui_debug "$::errorInfo"
     138                                ui_error "$result"
    141139                        }
    142140                        set count [expr $count + 1]
     
    154152        global workpath worksymlink
    155153
    156         if {[file isdirectory ${workpath}]} {
     154        if {[file isdirectory $workpath]} {
    157155                ui_debug "Removing directory: ${workpath}"
    158                 if {[catch {exec rm -rf ${workpath}} result]} {
    159                         global errorInfo
    160                         ui_debug "$errorInfo"
    161                         ui_error "${result}"
     156                if {[catch {delete $workpath} result]} {
     157                        ui_debug "$::errorInfo"
     158                        ui_error "$result"
    162159                }
    163160        } else {
     
    166163
    167164        # Clean symlink, if necessary
    168         if {[file exists $worksymlink] && [file type $worksymlink] == "link"} {
    169                 ui_debug "Removing symlink: ${worksymlink}"
    170                 file delete -force -- ${worksymlink}
     165        if {![catch {file type $worksymlink} result] && $result eq "link"} {
     166                ui_debug "Removing symlink: $worksymlink"
     167                delete $worksymlink
    171168        }
    172169
     
    178175
    179176        # Define archive destination directory and target filename
    180         if {![string equal ${portarchivepath} ${workpath}] && ![string equal ${portarchivepath} ""]} {
    181                 set archivepath [file join ${portarchivepath} [option os.platform] [option os.arch]]
     177        if {$portarchivepath ne $workpath && $portarchivepath ne ""} {
     178                set archivepath [file join $portarchivepath [option os.platform] [option os.arch]]
    182179        }
    183180
     
    185182                # Match all possible archive variatns that match the version
    186183                # glob specified by the user for this OS.
    187                 set fileglob "${portname}-[option ports_version_glob]*.[option os.arch].*"
     184                set fileglob "$portname-[option ports_version_glob]*.[option os.arch].*"
    188185        } else {
    189186                # Match all possible archive variants for the current version on
     
    194191                # first part of the name (e.g. trying to remove foo-*, it will
    195192                # pick up anything foo-bar-* as well, which is undesirable).
    196                 set fileglob "${portname}-${portversion}*.[option os.arch].*"
     193                set fileglob "$portname-$portversion*.[option os.arch].*"
    197194        }
    198195
    199196        # Remove the archive files
    200197        set count 0
    201         if {![catch {set archivelist [glob [file join ${archivepath} ${fileglob}]]} result]} {
     198        if {![catch {set archivelist [glob [file join $archivepath $fileglob]]} result]} {
    202199                foreach path $archivelist {
    203200                        set file [file tail $path]
    204201                        # Make sure file is truly a port archive file, and not
    205202                        # and accidental match with some other file that might exist.
    206                         if {[regexp "^${portname}-\[-_a-zA-Z0-9\.\]+_\[0-9\]*\[+-_a-zA-Z0-9\]*\[\.\][option os.arch]\[\.\]\[a-z\]+\$" $file]} {
    207                                 if {[file isfile ${path}]} {
    208                                         ui_debug "Removing archive: ${path}"
    209                                         if {[catch {exec rm -f ${path}} result]} {
    210                                                 global errorInfo
    211                                                 ui_debug "$errorInfo"
    212                                                 ui_error "${result}"
     203                        if {[regexp "^$portname-\[-_a-zA-Z0-9\.\]+_\[0-9\]*\[+-_a-zA-Z0-9\]*\[\.\][option os.arch]\[\.\]\[a-z\]+\$" $file]} {
     204                                if {[file isfile $path]} {
     205                                        ui_debug "Removing archive: $path"
     206                                        if {[catch {delete $path} result]} {
     207                                                ui_debug "$::errorInfo"
     208                                                ui_error "$result"
    213209                                        }
    214210                                        set count [expr $count + 1]
Note: See TracChangeset for help on using the changeset viewer.