HomeFreeBSD

sysutils/cpu-x@ncurses: unbreak the port's packaging under Poudriere

Description

sysutils/cpu-x@ncurses: unbreak the port's packaging under Poudriere

Back in 2020 diizzy@ had reported that daemon was installed in the wrong
path when the port was built under Poudriere without X11 (GTK+) support.
This seemed totally odd (and not reproducible in the Tinderbox) so I've
scratched my head and put it off for better times.

When the port was converted to flavors, the problem had resurfaced: now
the ncurses flavor was failing on the cluster!

Looking at the CMake code, it calls `include(GNUInstallDirs)' which
correctly sets CMAKE_INSTALL_FULL_LIBEXECDIR to `/usr/local/libexec'.
The code then checks for its existence, the failure logs indicate that
it does not exist, which should not be possible because it is part of
the `Templates/BSD.local.dist', so it should be mtree'd inside the build
jail. Tinderbox does exactly this, but not Poudriere, so unless this
directory is created (populated) by the dependencies or e.g. ccache(1),
one cannot assume that it really exists in pristine environment.

Regardless of whether mtree'ing jail with `BSD.local.dist' is the right
thing or not, checking for some common path existence and setting it to
something else if it's not found is definitely wrong.

This was a joint investigation by fluffy@ and yours truly.

PR: 251785
(cherry picked from commit eb6c9c8c4aa5981078c6b9b69527ecdaee5f22c9)

Details

Provenance
danfeAuthored on Apr 8 2023, 1:05 PM
jrmCommitted on Apr 12 2023, 3:23 PM
Parents
R11:2f8328651233: sysutils/cpu-x: try to further improve the port (part one)
Branches
Unknown
Tags
Unknown