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

Re: Packing Matreshka for Debian



Ludovic Brenta wrote:
> On Fri, 9 Nov 2018 14:12:55 +0200, Maxim Reznik wrote:
> >  * There is some mess related to names:
> >  ** project file is matreshka_league.gpr and I would prefer to keep
> > this name to compatibility with other distros
> >  ** but library is libleague*.so and package names are libleague*.so
> > and directories in ada/include/ and ada/adalib/  
> 
> Upstreams and distros that do not have a sound and consistent naming
> policy are their own problem, not for Debian users to put up with.
> The purpose of the Debian Policy for Ada is to enforce consistency.
> Therefore you must provide league.gpr and only this in libleagueX-dev,
> even if upstream is inconsistent.
> 
> However, you may provide an additional package named
> libmatreshka_league-dev, providing matreshka_league.gpr as a symlink
> to league.gpr.  Of course libmatreshka_league-dev must depend on
> libleagueX-dev.  This package can go away if and when upstream becomes
> consistent in their naming.

Some context may be appropriate here. When Matreshka was packaged for
Fedora back in 2011 there were files named "sql.gpr" and "fastcgi.gpr".
I rejected those names as too prone to collisions and noncompliant with
Fedora policy, so "matreshka_" was prepended to all the project names
to comply with Fedora policy.

The name "league.gpr", seen in isolation, isn't prone to collisions as
far as I know. If League were an independent library, then "league.gpr"
would be an appropriate filename, but as long as it's part of Matreshka
it's Fedora policy that "matreshka" shall be part of the project name.
Consistency within Matreshka is also desirable.

We should find a solution that makes Matreshka compliant with both
Debian and Fedora policies and allows it to remain consistent across
distros. I wouldn't want a situation where developers working in Debian
reference league.gpr in their project files, release their project, and
much later discover that their code doesn't compile in Fedora because
the project name is different. Changing the name is also undesirable
because presumably there are by now project files that reference
matreshka_league.gpr, that would be broken by the change.

Could this be resolved by renaming the shared library to something like
libmatreshka_league*.so? That filename doesn't have to be the same in
all distros, and also doesn't have to remain unchanged. (The soname
should not be changed in a Fedora release that is already released, but
changing it in the next release would be all right as long as the
project file points to the right files.)

Björn Persson

Attachment: pgp07gBAIE9YJ.pgp
Description: OpenPGP digital signatur


Reply to: