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