[Bug 262032] [NEW PORT] devel/xnvme: Cross-platform libraries and tools for NVMe devices
Date: Mon, 09 Oct 2023 15:53:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262032 --- Comment #8 from Robert Clausecker <fuz@FreeBSD.org> --- (In reply to Karl Bonde Torp from comment #7) Thank you for the update. Note that the build error (not warning) was on armv7, not arm64 (but I see that you disabled this platform). It also happens on i386. I recommend you check your code, I suspect you are using types with platform-specific length there. If you disable platforms, use NOT_FOR_ARCHS if there is a fundamental reason why it won't work (e.g. lack of platform-specific code) and then define NOT_FOR_ARCHS_REASON. If the reason is just some sort of bug or build error, set BROKEN_... instead. E.g. set BROKEN_armv7= sizeof(struct xnvme_cmd_ctx) != 128 This informs other people working on the ports tree that it may be worth investigating the problem. Perhaps someone then comes along and fixes it for you. > Perhaps we should change this to always install them here `${PREFIX}/share/bash-completion/completions` on FreeBSD. Yes, this would be correct for ports, however, it might not be correct for other users who want to install your software directly from source. Perhaps add an option to install the shell completion files and have that option default to whether bash is installed or not, but make it overridable. > Do we need completions for Fish and ZSH as well? It's not a requirement, but you are of course free to do so. > Finally, I have added options for the Tools, tests, examples etc., however this makes the pkg-plist inaccurate, since it only reflects the default. Is this okay, or is there something I need to do to fix this? The pkg-plist must be accurate for whatever options are set. Check ยง 5.14.3.1 Porter's Handbook for the OPTIONS_SUB mechanism designed to address this requirement. That said, note that options are a build-time thing. Most users download ports using binary package and won't use them. Hence my request if it was appropriate to split the libraries into a separate port, so they can be installed separately (and e.g. other ports can just depend on the libraries without also installing the tools). However, this is only needed if you expect 3rd party software to use the libraries. If you do not expect that, just having options is good enough. Note also that man pages should always be installed if the corresponding tools are installed (but please do not install man pages for tools that are not installed). I was requested a DOCS option for additional documentation, such as the one shipped in the docs directory of your project (apparently it's available on line at https://xnvme.io/docs/latest/). I also saw that you added a DEBUG option. While this option can be provided, it's usually meant for additional debug features. Just selecting a build type is done through WITH_DEBUG, and in fact, USES=meson does so automatically. No need to put an extra option in (see Mk/Uses/meson.mk). -- You are receiving this mail because: You are the assignee for the bug.