This change also fixes an issue where the built utilities may not always be using shared library libnbt.so.1 due to parallel building. Originally this port has 'ALL_TARGET=libnbt.so all', so make(1) will be launched with these 2 targets together; if parallel building is enabled (by default in ports tree), it is not guaranteed to have 'libnbt.so' ready before building 'all'. As a result some programs built by 'all' may have linked with libnbt.a instead. Fixing this unpredictable behavior by using 2 make(1) passes for those 2 targets.
Created attachment 243519 [details] sysutils-fusefs-nbt-20230720.diff
Created attachment 243520 [details] sysutils-fusefs-nbt-20230720.diff Hide the make(1) command lines to prevent the output being too noisy.
portlint: WARN: sysutils/fusefs-nbt/pkg-plist: [15]: installing shared libraries, please define USE_LDCONFIG as appropriate Could you check this warning? Thanks
Created attachment 243549 [details] sysutils-fusefs-nbt-20230720.diff (added USE_LDCONFIG=yes) Apparently I missed this requirement mentioned in https://docs.freebsd.org/en/books/porters-handbook/special/, for the last port version too.
Results from build shows stripping Q/A warnings: ====> Running Q/A tests (stage-qa) Warning: 'sbin/mkfs.nbt' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} Warning: 'sbin/mount.nbt' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} Warning: 'bin/nbtdump' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} Warning: 'bin/regiondump' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} Warning: 'lib/libnbt.so.1' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Created attachment 243551 [details] sysutils-fusefs-nbt-20230720.diff (strip programs explicitly in 'post-install' target) Add 'post-install' target to run ${STRIP_CMD} on every executable file. Since this warning never show up in previous versions of ports tree, I presumes that stripping will be done automatically.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8c62ba28b5f02b787911950a17471f58fcfd6386 commit 8c62ba28b5f02b787911950a17471f58fcfd6386 Author: WHR <msl0000023508@gmail.com> AuthorDate: 2023-07-22 15:16:55 +0000 Commit: Nuno Teixeira <eduardo@FreeBSD.org> CommitDate: 2023-07-22 15:29:22 +0000 sysutils/fusefs-nbt: Update to 20230720-4d49ab2 - This change also fixes an issue where the built utilities may not always be using shared library libnbt.so.1 due to parallel building. Originally this port has 'ALL_TARGET=libnbt.so all', so make(1) will be launched with these 2 targets together; if parallel building is enabled (by default in ports tree), it is not guaranteed to have 'libnbt.so' ready before building 'all'. As a result some programs built by 'all' may have linked with libnbt.a instead. Fixing this unpredictable behavior by using 2 make(1) passes for those 2 targets. - Define USE_LDCONFIG - Strip binaries PR: 272636 sysutils/fusefs-nbt/Makefile | 14 +++++++++++--- sysutils/fusefs-nbt/distinfo | 6 +++--- 2 files changed, 14 insertions(+), 6 deletions(-)
Committed with small changes. Thanks!