Opened 4 years ago

Last modified 5 months ago

#52436 assigned defect

osxfuse @3.5.0: incorrect assumption about build worker kernel arch

Reported by: ryandesign (Ryan Schmidt) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: dliessi (Davide Liessi)
Port: osxfuse

Description

As I mentioned on the mailing list, the port makes an incorrect assumption about the kernel arch of our buildbot build workers. The port says:

# If building for different kernel arch than our buildslaves use, force a build
# from source. The binary package IDs don't encode the kernel arch.
if {${kernel_arch} ne "x86_64"} {
   archive_sites
}

This assumes all of our buildbot workers have x86_64 kernels, which is not correct.

snowleopard-i386-legacy:~ buildbot$ uname -m
i386
leopard-ppc-legacy:~ buildbot$ uname -m
Power Macintosh

osxfuse is not the only port that install a kernel extension. Maybe the handling of whether to build from source (the knowledge of which kernel archs our buildworkers use), and how to determine the kernel arch, should be moved into a portgroup, so as to avoid duplication of effort.

Change History (4)

comment:1 Changed 4 years ago by dliessi (Davide Liessi)

Cc: davide.liessi@… added

Cc Me!

comment:2 Changed 4 years ago by drkp (Dan Ports)

The bigger issue is that there's no way to encode the kernel arch in the package name in order to make sure that we download the right one. It's safe right now since we're only building packages for x86_64 (or, rather, only fetching them)

We might be able to (ab)use variants to achieve this.

comment:3 Changed 4 years ago by drkp (Dan Ports)

Also worth mentioning: this really only affects legacy platforms as everything since 10.9 needs kexts to be signed. (IIRC, these are the only platforms where the kernel and user space arch can be different, though). osxfuse already uses a precompiled and signed binary rather than building its own on 10.9 and greater.

comment:4 Changed 5 months ago by mf2k (Frank Schima)

Owner: drkp deleted
Status: newassigned
Note: See TracTickets for help on using tickets.