https://bugzilla.redhat.com/show_bug.cgi?id=1308985 --- Comment #10 from Adam Jackson <ajax@xxxxxxxxxx> --- (In reply to Jonathan Underwood from comment #9) > > > I'm pretty sure the .so's aren't actually devel libs so shouldn't be > > moved to the devel package, but they do need to be versioned. > > Not yet. Not ever, in fact. > Why not? This needs at the very least an explicit comment in the spec file, > and an FPC exception - right now, you're breaking guidelines. "Not yet" just > doesn't cut it. Because they are not things applications link against. Vulkan layers are requested by the application explicitly, through OS configuration, or by the user through environment variables, and the loader is responsible for inserting them into the call chain. They do not provide useful functionality on their own, and there is no plausible application that would try to use them on their own. There is no functional benefit to moving them to a directory other than %{_libdir}, so I chose not to. Khronos intentionally left that decision up to the operating system. > OK, so comments need adding to the spec file indicating this, in order to > comply with guidelines. Sure, we can do that. Those patches are probably not _currently_ acceptable to upstream as they make some policy decisions that other OSes might want to do differently. I'm happy to get that delta down as close to zero as possible. > The libraries are currently installed in the linker path and so are public > at the moment. They either need versioning, or moving to a non-public > location. I really can't agree with this logic. All library paths are public. It would certainly be _nice_ if there existed the complement of 'ld -z nodlopen' to mean "no really, do not link against this library", but there does not. And the set of packages extant that explicitly link against libraries with these names is empty. There is no danger here, only missing linker features. The relevant section of the packaging guidelines seems simply to be missing a clause of the conditional: "As an additional complication, some software generates unversioned shared objects which are not intended to be used as system libraries. These files are usually plugins or modular functionality specific to an application, and are not located in the ld library paths or cache. [...] Usually, these unversioned shared objects can be found in a dedicated subdirectory under /usr/lib or /usr/lib64 (e.g. /usr/lib/purple-2/ is the plugin directory used for libpurple applications). In these cases, the unversioned shared objects do not need to be placed in a -devel package." "In these cases" could be read to mean _either_ "in cases where such libraries exist at all" or "in cases where such libraries are packaged in a subdir below %{_libdir}". -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review