Ticket #34480: mp-base-no-progress-if-stdout-no-tty.patch

File mp-base-no-progress-if-stdout-no-tty.patch, 4.6 KB (added by neverpanic (Clemens Lang), 12 years ago)

Patch against base to prevent the use of \r when stdout is not a tty

  • src/macports1.0/macports.tcl

     
    41364136
    41374137    set files [registry::file search active 1 binary -null]
    41384138    set files_count [llength $files]
     4139    set fancy_output [expr ![macports::ui_isset ports_debug] && [isatty stdout]]
    41394140    if {$files_count > 0} {
    41404141        registry::write {
    41414142            try {
    41424143                ui_msg -nonewline "$macports::ui_prefix Updating database of binaries"
    41434144                set i 1
    41444145                foreach f $files {
    4145                     if {![macports::ui_isset ports_debug]} {
     4146                    if {$fancy_output} {
    41464147                        if {$files_count < 10000 || $i % 10 == 1 || $i == $files_count} {
    41474148                            ui_msg -nonewline "\r$macports::ui_prefix Updating database of binaries: [expr ($i * 1000 / $files_count) / 10.0]%"
    41484149                            flush stdout
     
    41544155
    41554156                    if {0 != [catch {$f binary [fileIsBinary $fpath]} fileIsBinaryError]} {
    41564157                        # handle errors (e.g. file not found, permission denied) gracefully
    4157                         if {![macports::ui_isset ports_debug]} {
     4158                        if {$fancy_output} {
    41584159                            ui_msg ""
    41594160                        }
    41604161                        ui_warn "Error determining file type of `$fpath': $fileIsBinaryError"
     
    41834184
    41844185        set i 1
    41854186        foreach b $binaries {
    4186             if {![macports::ui_isset ports_debug]} {
     4187            if {$fancy_output} {
    41874188                if {$binary_count < 10000 || $i % 10 == 1 || $i == $binary_count} {
    41884189                    ui_msg -nonewline "\r$macports::ui_prefix Scanning binaries for linking errors: [expr ($i * 1000 / $binary_count) / 10.0]%"
    41894190                    flush stdout
     
    42034204                    # ignore silently, these are only static libs anyway
    42044205                    #ui_debug "Error parsing file ${bpath}: [machista::strerror $returncode]"
    42054206                } else {
    4206                     if {![macports::ui_isset ports_debug]} {
     4207                    if {$fancy_output} {
    42074208                        ui_msg ""
    42084209                    }
    42094210                    ui_warn "Error parsing file ${bpath}: [machista::strerror $returncode]"
     
    42254226                                } else {
    42264227                                    set portname "<unknown-port>"
    42274228                                }
    4228                                 if {![macports::ui_isset ports_debug]} {
     4229                                if {$fancy_output} {
    42294230                                    ui_msg ""
    42304231                                }
    42314232                                ui_warn "ID load command in ${bpath}, arch [machista::get_arch_name [$architecture cget -mat_arch]] (belonging to port $portname) contains relative path"
     
    42364237                                } else {
    42374238                                    set portname "<unknown-port>"
    42384239                                }
    4239                                 if {![macports::ui_isset ports_debug]} {
     4240                                if {$fancy_output} {
    42404241                                    ui_msg ""
    42414242                                }
    42424243                                ui_warn "ID load command in ${bpath}, arch [machista::get_arch_name [$architecture cget -mat_arch]] refers to non-existant file $idloadcmdpath"
     
    42534254                                    } else {
    42544255                                        set portname "<unknown-port>"
    42554256                                    }
    4256                                     if {![macports::ui_isset ports_debug]} {
     4257                                    if {$fancy_output} {
    42574258                                        ui_msg ""
    42584259                                    }
    42594260                                    ui_warn "ID load command in ${bpath}, arch [machista::get_arch_name [$architecture cget -mat_arch]] refers to file $idloadcmdpath, which is a different file"
     
    43664367            incr broken_port_counts($portname)
    43674368            if {$broken_port_counts($portname) > 3} {
    43684369                ui_error "Port $portname is still broken after rebuiling it more than 3 times."
    4369                 if {![macports::ui_isset ports_debug]} {
     4370                if {$fancy_output} {
    43704371                    ui_error "Please run port -d -y rev-upgrade and use the output to report a bug."
    43714372                }
    43724373                error "Port $portname still broken after rebuilding [expr $broken_port_counts($portname) - 1] time(s)"