[MacPorts] #66604: colm @0.14.7_0 was published twice (was: ragel-devel again broken on Rosetta)

MacPorts noreply at macports.org
Thu Jan 12 07:16:43 UTC 2023


#66604: colm @0.14.7_0 was published twice
---------------------------+------------------------
  Reporter:  barracuda156  |      Owner:  ryandesign
      Type:  defect        |     Status:  accepted
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.8.0
Resolution:                |   Keywords:
      Port:  colm          |
---------------------------+------------------------
Changes (by ryandesign):

 * status:  assigned => accepted
 * keywords:  powerpc, rosetta, snowleopard =>
 * port:  ragel-devel => colm
 * owner:  barracuda156 => ryandesign


Comment:

 Replying to [ticket:66604 barracuda156]:
 > {{{
 > nragel.h:25: error: redefinition of ‘struct HostLang’
 > /opt/local/include/libfsm/common.h:226: error: previous definition of
 ‘struct HostLang’
 > }}}

 [changeset:78349a3b60611d4f25d0cd28f0e0447ca70c6f4c/macports-ports The
 colm port was updated from 0.13.0.7_0 to 0.14.7_0 in October 2021]. This
 version of the port [https://github.com/adrian-
 thurston/colm/blob/0.14.7/src/libfsm/common.h#L225-L239 provided a file
 /opt/local/include/libfsm/common.h] that defined `struct HostLang` on line
 226. This must be the version of the port that you have installed on your
 machine.

 [changeset:72b42af49259f0ae0143462a8c8731dc0834ee7c/macports-ports That
 update was reverted in November 2021] because it was incompatible with
 ragel and the port was downgraded back to 0.13.0.7_0. The epoch was
 increased to facilitate the downgrade. If you had run `sudo port
 selfupdate` and `sudo port upgrade outdated` at that time MacPorts should
 have downgraded your colm to 0.13.0.7_0, leaving the bad 0.14.7_0
 installed but inactive (unless you used the `-u` flag when upgrading).

 You submitted [changeset:c0a43a1d9912ddfd9a500a48a974a7edc83bf9be
 /macports-ports a new update to the port in October 2022 which set its
 version and revision back to 0.14.7_0] (typo'd as "0.4.17" in the commit
 message) but which actually updated the port to a later commit of the
 code. This version of colm [https://github.com/adrian-
 thurston/colm/blob/d00ef7930a9d42469c19a5880744a086065ee20c/src/libfsm/common.h
 provides a file /opt/local/include/libfsm/common.h] that does not define
 nor mention `struct HostLang` and is therefore compatible with ragel.
 However, if you still have the October 2021 0.14.7_0 version of the port
 installed (and you skipped the November 2021 downgrade to 0.13.0.7_0),
 MacPorts will not inform you of the new 0.14.7_0 because as far as
 MacPorts can tell they are the same since the version and revision are the
 same. The epoch is only consulted if the versions differ. It's even
 possible that, if you accepted the November 2021 0.13.0.7_0 downgrade but
 did not uninstall the October 2021 0.14.7_0 version, after October 2022
 MacPorts would have simply re-activated the October 2021 0.14.7_0 that you
 still had installed rather than installing the new one.

 The moral of the story is that a version and revision combination of a
 port must be considered unique. One must not publish the same version and
 revision combination more than once with different contents, as happened
 here. The solution is to increase the version and revision of the port to
 a combination that was never published before, such as 0.14.7_1, so that
 we can be assured that there are no remaining users who are inadvertently
 using the October 2021 0.14.7_0 build.

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


More information about the macports-tickets mailing list