Opened 19 months ago

Closed 15 months ago

Last modified 11 months ago

#71755 closed defect (fixed)

Server-generated PortIndex contains superfluous compiler dependencies

Reported by: mohd-akram (Mohamed Akram) Owned by: admin@…
Priority: Normal Milestone: MacPorts 2.11.0
Component: server/hosting Version:
Keywords: Cc: jmroot (Joshua Root), ryandesign (Ryan Carsten Schmidt)
Port:

Description

The server-generated PortIndex for macOS 15 contains eg. clang-19 as a build dependency for many ports, even though it is not needed. This makes it difficult to see what the actual dependencies are, eg. when doing a port rdeps --index.

Change History (13)

comment:1 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

This was already reported in another ticket a couple days ago. If you can figure out what needs to be changed where to stop it from happening let us know.

comment:2 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

This is either a portindex (base) bug or an mprsyncup bug.

comment:3 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

Or a bug in the compiler selection logic which lives both in base and in the ports tree.

comment:4 Changed 19 months ago by jmroot (Joshua Root)

This can never be correct in all cases. Compiler selection often depends on the compiler versions present on the system, and that can easily be different between the system generating the PortIndex and the system using it.

comment:5 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

An alternative to generating the indexes on the buildmaster and faking the OS version and arch would be to do it on each buildworker. The problem with that would be that we wouldn't have portindexes until we set up a buildworker for that OS and arch.

comment:6 in reply to:  4 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to jmroot:

Compiler selection often depends on the compiler versions present on the system,

We could try to have mprsyncup provide faked compiler version info.

comment:7 Changed 19 months ago by jmroot (Joshua Root)

Sure, we can make it something plausible for the platform, but it still might be "wrong" compared to the result of parsing the Portfile.

comment:8 Changed 15 months ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

In d5ecda98d56985aa9c257a902ad13ffc5c592da8/macports-base (master):

Allow portindex -p to override arbitrary variables

Files containing overrides for each supported platform will be added to
an appropriate repo for the use of the portindex job.

Closes: #71755
Closes: https://github.com/macports/macports-base/pull/361

comment:9 Changed 14 months ago by jmroot (Joshua Root)

Milestone: MacPorts Future

comment:10 Changed 14 months ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 2.11.0

comment:11 Changed 11 months ago by mohd-akram (Mohamed Akram)

Have the servers been updated to use the platform files? Because I'm still seeing Clang build dependencies when doing port rdeps --index.

comment:12 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

No. I assumed that would just happen when we switch to the new buildmaster.

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:13 Changed 11 months ago by jmroot (Joshua Root)

Right. The GitHub Actions job that generates the indices that are uploaded to Carola is using the override files, but Carola is not yet being used for the rsync origin.

Note: See TracTickets for help on using tickets.