[Bug 1308985] Review Request: vulkan - Vulkan loader and validation layers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]