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

Re: RFS: dbusada



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".

--
Ludovic Brenta.


Reply to: