On Fri, 2018-12-21 at 15:58:52 +0100, Steinar H. Gunderson wrote:
> On Fri, Dec 21, 2018 at 03:46:29PM +0100, Guillem Jover wrote:
> > I see that the ancillary data files are stored under an unversioned
> > directory. Depending on whether these can and do change every time a
> > SOVERSION is bumped, the solutions would be either to split them into
> > (say) a new libmovit-data binary package, or to keep them in the
> > shared library package but under a version pathname such as f.ex.
> > «/usr/share/movitN/» for libmovit.so.N.
> 
> The first solution won't fly; the shaders are part of the source code
> and not version-independent.

Ah, ok.

> Having /usr/share/movitN may work, but would require patching. Also note that
> this path is built into every binary depending on libmovit; it is not part of
> the .so (it comes from the pkg-config file).

But it's something that seems worth fixing upstream anyway for the
benefit other distributions. Also I don't see any problem with the
path being cooked into the pkg-config file, if a package needs to be
rebuilt against a new SONAME then it would get at the same time a
bumper shaders dir path. That last sentence of yours read to me as if
this was a problem, so maybe you had something else in mind?

> Longer-term, it would probably be nice to just build the shaders into the .so,
> with loose files just used for development. But that requires changes 
> upstream,
> which I doubt we'll be doing before buster freeze -- not the least because it
> would likely require yet another ABI (or possibly even API) break.

Ah, right that's another option, I guess the main advantage might be
that it makes linking against the library easier. OTOH I could also
see perhaps hardcoding the shaders path inside the .so as another
possibility?

Thanks,
Guillem

Reply via email to