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

Re: RFS: dbusada



On 03/07/2012 12:02 PM, Ludovic Brenta wrote:
> Reto Buerki wrote:
>> On 03/07/2012 10:50 AM, Ludovic Brenta wrote:
>>> Reto Buerki wrote:
>>>>> * Build-Depend on gnat in addition to gnat-4.6
>>>> I don't exactly understand the rationale for this rule. In contrast to
>>>> other packages the gnatgcc command is not needed to build dbusada.
>>>> And I
>>>> explicitly Build-Depend on the upcoming default compiler gnat-4.6 so
>>>> ABI
>>>> compatibility to other Ada packages is guaranteed.
>>>
>>> In section 4:
>>>
>>> "Rule: Package ‘gnat’ is the default Ada compiler for Debian. All
>>> packages
>>> containing Ada programs or libraries SHALL use this compiler."
>>>
>>> This rule makes it explicit that the package 'gnat-4.6' is NOT the
>>> default
>>> Ada compiler; the package 'gnat' is.
>>
>> And the package description of 'gnat' is:
>> "This is an empty package that depends on the default Ada compiler for
>>  Debian, which is part of the GNU Compiler Collection."
>>
>> gnat currently depends on gnat-4.6, making it the 'current' default Ada
>> compiler.
>>
>> I see no real (besides policy compliance) benefit here for depending on
>> gnat in addition to gnat-4.6. The dbusada package defines that it needs
>> exactly gnat-4.6 to build and that every package that depends on dbusada
>> MUST also use this compiler.
> 
> This is not sufficient. The policy is designed so that all Ada packages use
> the *same* compiler.  We want to prevent a situation where maintainer A
> uploads package libfoo1-dev (depending on gnat-4.6) and maintainer B
> uploads
> package libbar2-dev (depending on gnat-4.7).  This is not an error as
> far as
> the compiler is concerned but it is a policy violation because we want end
> users to be able to link their executables against *all* libraries if they
> so wish.  Worse, nothing tells maintainer B about this violation.
> 
> Now suppose maintainer B adds Build-Depends: gnat to libbar; the policy
> violation immediately becomes apparent; the package FTBFS because it
> does not
> use the default compiler.
> 
> In your case, you happen to be using the current default compiler "by
> accident"; the policy requires you to use the default compiler
> explicitly and
> "by design".

Ok, I see your point. Thanks for the nice explanatory example. Maybe it
would be good to include it in the Debian Ada policy as additional
rationale for these rules.

- reto



Reply to: