HOWTO: specify a run dependency on a port without a single executable?
Date: Wed, 25 May 2022 20:47:35 UTC
I'm trying to update the devel/pmdk port and found 2 issues due to dependency checks that are not alignment with reality: 1) The port wants the ports version of ncurses. But the following definition does not work: LIP_DEPENDS= libncurses.so:devel/libncurses The reason is that lib/libncurses.so is a loader script with the following contents: INPUT(libncurses.so.6 AS_NEEDED(-ltinfo)) This file is not a valid shared library as understood by the LIB_DEPENDS logic in bsd.port.mk. When building the port on the base system the ncurses port is rebuild every time and then the build fails since it is already installed. 2) The port wants the terminfo-db lpackage as a run dependency. I can specify it as such, but this does not work in poudriere: RUN_DEPENDS= share/terminfo/a/ansi:misc/terminfo-db There is not a single executable file in this package, and the build fails with: ===> pmdk-1.12.0 depends on executable: share/terminfo/a/ansi - not found ===> Installing existing package /packages/All/terminfo-db-20210816.pkg [P_13_1_amd64-default] Installing terminfo-db-20210816... [P_13_1_amd64-default] Extracting terminfo-db-20210816: .......... done ===> pmdk-1.12.0 depends on executable: share/terminfo/a/ansi - not found I need to specify the run dependency, but RUN_DEPENDS works only if the file tested in the dependency is executable, and none exists in terminfo-db. These two issues prevent building on the base system due to 1) and building in poudriere due to 2). Any ideas how to work around these two issues? Regards, STefan