On 2021/12/12 12:10, Stefan Hagen wrote: > Anthony J. Bentley wrote: > > Stuart Henderson writes: > > > Please put them in LIB_DEPENDS/WANTLIB with the annotation in the > > > comment. > > > What they're doing is not safe/reliable because it relies on the library > > > ABI not changing. Adding as a LIB_DEPENDS ensures that yquake is updated > > > when required due to any incompatible changes to the libraries. > > > > This needs to be documented somewhere. bsd.port.mk(5) implies that > > LIB_DEPENDS is not necessary for dlopen'd libraries: > > > > LIB_DEPENDS <spec> not needed for <FULLPKGPATH> There doesn't seem to be > > any WANTLIB to match the given LIB_DEPENDS. Thus, the LIB_DEPENDS won't > > turn into a @depends line in the created package. This is often because > > of confusion between LIB_DEPENDS and RUN_DEPENDS: RUN_DEPENDS is needed > > for dlopen'd libraries. > > I thought so too. What about this? > > Index: ./share/man/man5/bsd.port.mk.5 > =================================================================== > RCS file: /home/cvs/src/share/man/man5/bsd.port.mk.5,v > retrieving revision 1.550 > diff -u -p -u -p -r1.550 bsd.port.mk.5 > --- ./share/man/man5/bsd.port.mk.5 22 Nov 2021 11:17:39 -0000 1.550 > +++ ./share/man/man5/bsd.port.mk.5 12 Dec 2021 11:10:05 -0000 > @@ -3566,6 +3566,10 @@ for instance. > Also, will happen for multi-packages, where one sets LIB_DEPENDS to have > a given build dependency (and corresponding WANTLIB for a given SUBPACKAGE). > .Pp > +It is safer to add dlopen'd libraries to LIB_DEPENDS to ensure that the > +port is rebuild when the library is updated. If this decision has been > +made, a comment should be added. > +.Pp > See > .Cm print-package-args Pq Cm lib-depends-args > for details.
This inserts unrelated text between two related paragraphs; "see print-package-args ..." is directly related to the previous bit talking about multi-packages. But I think maybe we should just stop suggesting that completely (I think it relates to a shortcut of just listing libraries for _all_ subpackages in LIB_DEPENDS so they end up in every LIB_DEPENDS-subpkg and relying on tools to prune the ones which aren't needed; in practice afaik no port does that intentionally). Secondly "is safer" isn't really informative. Safer why? Unless it's going to explain in more detail then something like "should be added" would be better than "is safer". (also a nit: for manpages the standard is "new sentence -> new line").
