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

Bug#824495: debian-policy: Source packages "can" declare relationships



control: tag -1 +pending

Hello Santiago,

On Mon 16 May 2016 at 08:16PM +0200, Santiago Vila wrote:

> Policy 7.7 says: (Bold in "can" is mine)
>
>   Source packages that require certain binary packages to be installed
>   or absent at the time of building the package *can* declare
>   relationships to those binary packages.
>
> I interpret this "can" in the sense that this is the vocabulary that
> the maintainer is allowed to use when writing control files.
>
> To my surprise, however, today a maintainer has quoted this "can" word
> as a rationale for a missing Build-Conflicts not to be a bug of serious
> severity:
>
>   "No _must_ directive here. It is not a Policy violation if you don't
>   use Build-Conflicts."

This maintainer's interpretation matches how I'd understand the quoted
wording from 7.7.

> If my idea that policy is just describing the vocabulary is close to
> reality, I would perhaps suggest something like this:
>
>   The following relationsips are available for source packages to
>   express the fact that they require certain binary packages to be
>   installed or absent at the time of building the package.

I tried implementing something like this wording, but I don't think it
reads any better, when considered as part of the section as a whole.

What I've done instead is replace 'can' with 'may', which is the
standard Policy language to express that things are optional.

> but then it would be nice to state somewhere later that Build-Depends
> and Build-Conflicts are not just "optional" but mandatory when the
> referenced packages are either required to be present or required to
> be absent.
>
>
> While we are at it, I understand, because it would involve a huge
> amount of computation to determine, that we can't test every package
> against every other binary package to discover undeclared
> build-conflicts.

Well, indeed.  In fact, this is the reason why I don't see how we could
introduce a requirement to use Build-Conflicts into Policy.  We would
not be able to determine whether we were making packages buggy by doing
that.

Thus, I'm marking this bug as done with the s/can/may/ change, since I
don't think the normative change is one we can feasibly make.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature


Reply to: