[MacPorts] #53335: `port outdated` seems to fail on macOS Sierra, 10.12.2

MacPorts noreply at macports.org
Tue Jan 17 12:49:52 UTC 2017


#53335: `port outdated` seems to fail on macOS Sierra, 10.12.2
------------------------+--------------------
  Reporter:  ballapete  |      Owner:
      Type:  defect     |     Status:  new
  Priority:  Normal     |  Milestone:
 Component:  base       |    Version:  2.3.5
Resolution:             |   Keywords:  sierra
      Port:             |
------------------------+--------------------
Changes (by ryandesign):

 * keywords:  port, sierra => sierra
 * component:  ports => base
 * port:  port =>


Old description:

> {{{
> ort outdated
> The following installed ports are outdated:
> cmake                          3.7.1_0 < 3.7.2_0
> can't use non-numeric string as operand of "-"
>     while executing
> "expr {$installed_revision - $latest_revision}"
>     (procedure "action_outdated" line 84)
>     invoked from within
> "$action_proc $action $portlist [array get global_options]"
>     (procedure "process_cmd" line 103)
>     invoked from within
> "process_cmd $remaining_args"
>     invoked from within
> "if { [llength $remaining_args] > 0 } {
>
>     # If there are remaining arguments, process those as a command
>     set exit_status [process_cmd $remaining..."
>     (file "/opt/local/bin/port" line 5286)}}}
>
> and similarly:
>
> {{{
> sudo port upgrade outdated
> Password:
> can't use non-numeric string as operand of "-"
>     while executing
> "expr {$installed_revision - $latest_revision}"
>     (procedure "get_outdated_ports" line 65)
>     invoked from within
> "get_${name}_ports"
>     ("^outdated(@.*)?$" arm line 8)
>     invoked from within
> "switch -regex -- $token {
>         ^\\)$               -
>         ^\;                 -
>         ^_EOF_$             { # End of expression/cmd/file
>      ..."
>     (procedure "element" line 12)
>     invoked from within
> "element reslist"
>     (procedure "unaryExpr" line 17)
>     invoked from within
> "unaryExpr reslist"
>     (procedure "andExpr" line 4)
>     invoked from within
> "andExpr reslist"
>     (procedure "orExpr" line 4)
>     invoked from within
> "orExpr blist"
>     (procedure "seqExpr" line 16)
>     invoked from within
> "seqExpr reslist"
>     (procedure "portExpr" line 3)
>     invoked from within
> "portExpr portlist"
>     (procedure "process_cmd" line 93)
>     invoked from within
> "process_cmd $remaining_args"
>     invoked from within
> "if { [llength $remaining_args] > 0 } {
>
>     # If there are remaining arguments, process those as a command
>     set exit_status [process_cmd $remaining..."
>     (file "/opt/local/bin/port" line 5286)
> }}}

New description:

 {{{
 ort outdated
 The following installed ports are outdated:
 cmake                          3.7.1_0 < 3.7.2_0
 can't use non-numeric string as operand of "-"
     while executing
 "expr {$installed_revision - $latest_revision}"
     (procedure "action_outdated" line 84)
     invoked from within
 "$action_proc $action $portlist [array get global_options]"
     (procedure "process_cmd" line 103)
     invoked from within
 "process_cmd $remaining_args"
     invoked from within
 "if { [llength $remaining_args] > 0 } {

     # If there are remaining arguments, process those as a command
     set exit_status [process_cmd $remaining..."
     (file "/opt/local/bin/port" line 5286)
 }}}

 and similarly:

 {{{
 sudo port upgrade outdated
 Password:
 can't use non-numeric string as operand of "-"
     while executing
 "expr {$installed_revision - $latest_revision}"
     (procedure "get_outdated_ports" line 65)
     invoked from within
 "get_${name}_ports"
     ("^outdated(@.*)?$" arm line 8)
     invoked from within
 "switch -regex -- $token {
         ^\\)$               -
         ^\;                 -
         ^_EOF_$             { # End of expression/cmd/file
      ..."
     (procedure "element" line 12)
     invoked from within
 "element reslist"
     (procedure "unaryExpr" line 17)
     invoked from within
 "unaryExpr reslist"
     (procedure "andExpr" line 4)
     invoked from within
 "andExpr reslist"
     (procedure "orExpr" line 4)
     invoked from within
 "orExpr blist"
     (procedure "seqExpr" line 16)
     invoked from within
 "seqExpr reslist"
     (procedure "portExpr" line 3)
     invoked from within
 "portExpr portlist"
     (procedure "process_cmd" line 93)
     invoked from within
 "process_cmd $remaining_args"
     invoked from within
 "if { [llength $remaining_args] > 0 } {

     # If there are remaining arguments, process those as a command
     set exit_status [process_cmd $remaining..."
     (file "/opt/local/bin/port" line 5286)
 }}}

--

Comment:

 It sounds like maybe you have a port installed whose `revision` is not a
 number. `revision` is supposed to always be a number, but nothing prevents
 portfile authors from committing `revision`s that are not numbers.

 Does `port installed` work? If so, can you show us its output?

--
Ticket URL: <https://trac.macports.org/ticket/53335#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list