Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Oct 2023 15:53:00 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 262032] [NEW PORT] devel/xnvme: Cross-platform libraries and tools for NVMe devices
Message-ID:  <bug-262032-7788-8ztwPBnPrU@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-262032-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-262032-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D262032

--- 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 che=
ck
your code, I suspect you are using types with platform-specific length ther=
e.

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 erro=
r,
set BROKEN_... instead.  E.g. set

    BROKEN_armv7=3D sizeof(struct xnvme_cmd_ctx) !=3D 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 f=
or
you.

> Perhaps we should change this to always install them here `${PREFIX}/shar=
e/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., howeve=
r 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 =C2=A7 =
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 p=
orts
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 ex=
pect
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 to=
ols
are installed (but please do not install man pages for tools that are not
installed).  I was requested a DOCS option for additional documentation, su=
ch
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 provide=
d,
it's usually meant for additional debug features.  Just selecting a build t=
ype
is done through WITH_DEBUG, and in fact, USES=3Dmeson does so automatically=
.  No
need to put an extra option in (see Mk/Uses/meson.mk).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-262032-7788-8ztwPBnPrU>