What in MacPorts decides that files are 'broken'?
Nils Breunese
nils at breun.nl
Tue May 4 06:35:02 UTC 2021
> Op 4 mei 2021 om 03:39 heeft Daniel J. Luke <dluke at geeklair.net> het volgende geschreven:
>
>
>>
>> On May 3, 2021, at 6:33 PM, Nils Breunese <nils at breun.nl> wrote:
>> I maintain the openjdk* ports. These ports install prebuilt x86_64 binaries from AdoptOpenJDK. A MacPorts user with an M1 created https://trac.macports.org/ticket/62802 to report that installing the openjdk11 port on his machine makes rev-upgrade reports a couple of files in this port as ‘broken’. I’ve asked the reporter to manually download the prebuilt x86_64 tarball, and that seems to work fine on his M1 machine.
>>
>> I am not sure what MacPorts runs that decides these files are broken. Can anyone tell me more about this?
>
>
> That's rev-upgrade, from the manpage (man 1 port-rev-upgrade):
>
> port rev-upgrade will check all binaries (i.e., executables and
> libraries) installed by MacPorts for consistency. If any linking
> problems such as missing or incompatible libraries are found,
> rev-upgrade will rebuild broken ports in an attempt to fix the
> problems.
>
> By default, rev-upgrade is run automatically after each installation or
> upgrade, unless you pass the --no-rev-upgrade option or disable this
> beahvior in macports.conf(5) using the revupgrade_autorun switch.
Ah, thanks!
What can I do to the Portfile to fix this for M1 users? I don’t get these errors on my Intel Mac. Although the prebuilt binary is for x86_64 it runs on arm64 as well, as tested by the issue reporter.
The reporter now gets stuck in a rev-upgrade loop. Is there a way to configure a port to skip the broken file check? Or will I need to change the Portfile to remove the files that got reported as broken from the extracted prebuilt archive when running on arm64?
Nils.
More information about the macports-dev
mailing list