[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