#28084: Registry error for ports with underscore ('_') in version ---------------------------------+------------------------------------------ Reporter: ken@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.9.2 Keywords: registry version | Port: ---------------------------------+------------------------------------------ Comment(by ken@…): Replying to [comment:6 jmr@…]:
Actually I do see this for the ports you mention, but not for all ports with an underscore in the version. I believe I have identified the issue. It's the underscore '''and the dash''' in "2.2_20050523-0". iozone's version is 3_373, which has no dash.
Now, look at proc decode_spec (/opt/local/share/macports/Tcl/registry2.0/registry_util.tcl:55): {{{ proc decode_spec {specifier version revision variants} { upvar 1 $version ver $revision rev $variants var return [regexp {^([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} $specifier - ver - rev v ar] } }}} Experimenting interactively with that regexp: {{{ $ tclsh % echo [regexp {^([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} "2.2_20050523-0_0" - ver - rev var] 1 % echo $ver 2.2 % echo $rev 20050523 % echo $var -0_0 % echo [regexp {^([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} "3_373_0" - ver - rev var] 1 % echo $ver 3_373 % echo $rev 0 % echo $var % }}} -- Ticket URL: <https://trac.macports.org/ticket/28084#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS