Re: policy: library should not depend on virtual ada-compiler
Nicolas Boulenguez writes:
> On Thu, Nov 24, 2011 at 11:40:10PM +0100, Ludovic Brenta wrote:
>> I think
>>
>> Depends: gnat-x.y | ada-compiler
>>
>> would be even better. Note that lintian says: "depends on a virtual
>> package without listing a real package as an alternative first."
>> Alternatives are separated by | in Depends and Build-Depends lines.
>
> Every gnat-*.* package does provide ada-compiler, so
>
> "Depends: gnat, gnat-4.6 | ada-compiler" is satisfied with gnat (=4.4)
> and gnat-4.4 installed.
>
> "Depends: gnat | ada-compiler, gnat-4.6" is satisfied with gnat (=4.4)
> and gnat-4.6 installed but not used by default.
>
> If I understand well, we want to avoid both these situations.
>
> I cannot see why the dependency has to be as strong as "Depends".
> Depends:, Recommends: and Suggests: are equally highlighted in the
> reverse-dependency search of aptitude, but Depends: may cause
> problems.
Hmm, you're right, of course. I see no solution that really satisfies
me; I think "Recommends:" and "Suggests:" have the same problem as
"Depends:", i.e. they also should contain "gnat-x.y | ada-compiler".
However, I just reviewed the authoritative list of virtual packages[1]
(which is part of Debian Policy) and to my astonishment found that
ada-compiler is not in it.
So perhaps the best solution is simply to drop ada-compiler altogether?
There are additional reasons for dropping ada-compiler:
- other virtual packages correspond to a command available to other
packages in /usr/bin, but there is no /usr/bin/ada-compiler
- the only Ada compiler in Debian is GNAT; there is no real need
for a virtual package provided by several real packages.
[1] http://www.debian.org/doc/packaging-manuals/virtual-package-names-list.txt
--
Ludovic Brenta.
Reply to: