On 2010/11/03 12:11, onteria wrote: > First off regarding SHARED_LIBS. I have some unversioned .so files that > are installed (ie. libname.so versus libname.so.2.0, not symlinked. Some > are plugins, and I'm not sure if we handle those differently. I suppose > one solution would be to rename them to have version info and make the > nonversioned name simply symlink to that.
dlopen()'d plugins are generally unversioned. > it seems that WANTLIB is to declare all the libraries (shared only?) > that are required by the package, while LIB_DEPENDS is to indicate the > actual ports that provide the required libs (save those in userland > layout, such as libc, Xorg libs, etc.). If so, I notice that LIB_DEPENDS > let you indicate required libraries from the package as well. that is legacy usage. for anything new, LIB_DEPENDS should just have (optionally) packages-specs(5) and (always) the package path. > Finally, how does conditional requirements work? Say there are two > packages that provide libfoo, and conflict with each other. However, a > package that depends on libfoo can use either version. Is there a way > to handle marking this sort of conditional dep? see packages-specs(5). in this case the package path specifies the default to be installed if nothing matching the packages-specs was already installed at build time. also note well: if port A depends on port B, and if port C depends on port D, and ports B and D conflict, then there will be failures in bulk builds. (the actual failing packages will be unpredictable because it depends on the build order, and how many machines were used in the build).