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

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



Hello Ian,

On Tue 20 Nov 2018 at 03:24pm GMT, Ian Jackson wrote:

> Sean Whitton writes ("Bug#824495: debian-policy: Source packages "can" declare relationships"):
>> I still don't see how we can implement such new rules, though, because
>> of the problem of how to determine whether we're making masses of
>> packages RC-buggy.
>
> I'm going to go back to my table:

Thank you again for your table.  I hope that we can improve the
guidelines in Policy that are designed to ensure that packages remain
buildable outside of chroots, in reasonable circumstances.  I don't
doubt we have a project consensus that that is worth doing.

> |   Package builds MAY be affected, sometimes adversely, by the
> |   installation of additional packages beyond the Build-Depends
> |   and build-essential, subject to the following rules:
> |
> |     Nature of package          Effect            Permitted
> |                                on build output
> |
> |     Installed by default       Any effect        MUST NOT
> |     with any Build-Depends
>
> (I take your point about deferring to apt, but bear with me for now as
> this wording is clearer for discussion.)
>
> I think almost everyone would already agree that a situation where a
> package build is affected by the presence or otherwise of packages
> Recommended by the Build-Depends, is an RC bug.  This should be fixed
> by adding the affecting package(s) to Build-Depends or Build-Conflicts
> as applicable.

Indeed.

> |     Part of any reasonble      Additional        SHOULD NOT
> |     default install for         features
> |     development workstation
> |                                Build fails       SHOULD NOT,
>
> I think this is uncontroversial.  NB violations are not RC.

Agreed.

> |                                                  MUST Build-Conflict
>
> This is newly an RC bug in my proposal.  But it is pretty close to
> existing practice.  In practice people, including maintainers, do lots
> of ad-hoc builds other than in clean chroots.  That's how one does
> much of one's development.  So must such bugs will be detected
> already.
>
> And the RC bug is very easy to fix: add a Build-Conflicts.

This is the kind of case that prompted Santiago to file this bug, so I
am not so confident about how maintainers will feel about bugs requiring
a Build-Conflicts change being filed against their packages.

> |                                Builds broken     MUST NOT
> |                                packages
>
> I think everyone agrees that this is an RC bug.
>
> |     Other packages             Additional        MAY
> |                                 features
>
> This `MAY' seems a bit controversial but I am not adding a new rule.
> I'm just documenting the existing rule.

Right.

> |                                Build fails       SHOULD NOT,
> |                                                  MUST Build-Conflict
>
> This latter part is newly an RC bug in my proposal.  I think that this
> is questionable and warrants further discussion.  Personally I think
> most people would agree that any missing Build-Conflicts is a serious
> bug, even if all that happens is that the build fails.  But I could be
> wrong.
>
> If this is controversial then I suggest:
>
> |     Other packages             Build fails       MAY,
> |                                                  SHOULD Build-Conflict

I am much less confident than you that there is such a difference, in
terms of RC-bugginess, between the case of a package that is part of a
standard development workstation install, and the case of other
packages.

> And finally:
>
> |                                Builds broken     MUST NOT
> |                                packages
>
> This again is surely not controversial.  Admittedly it is not clear
> how many packages we are making rc-buggy here, but the fix is easy,
> again: add a Build-Conflicts.

People would already consider packages RC-buggy in this case.  So the
Policy change does not /make/ them RC-buggy, so we're fine.

=====

Most of your table is uncontroversial.  There are two cases where your
proposal would make packages RC-buggy where we are not completely
confident that they would already be considered RC-buggy:

(1) the package FTBFSs when a package that is part of a reasonable
    standard development workstation install is present, and the package
    does not declare a Build-Conflicts

(2) the package FTBFSs when a package that is not part of a reasonable
    standard development workstation install is present, and the package
    does not declare a Build-Conflicts

In both cases, as you've noted, the fix is highly non-disruptive: adding
a Build-Conflicts.  Doing that cannot break any maintainer workflows
because the package doesn't build with the item in the Build-Conflicts
installed.  Nevertheless, even if maintainers are quite willing to add
the Build-Conflicts entries, they might not consider the RC-severity of
the bugs to be justified.

It is okay for a Policy change to make a small number of packages
RC-buggy that would not already be considered RC-buggy, but given the
nature of (1) and (2), it is impossible for us to determine by ourselves
how many packages this change would affect.

So, it seems that the only way forward is to go ahead and ask the
project what they think about (1) and (2): would they consider those
bugs to be of RC severity?  We can see if we can get a consensus on
debian-devel on this question, with text like this:

    Hello,

    Use of the Build-Conflicts field is currently mostly optional but we
    are working on text for Debian Policy that would require its use in
    certain cases.  There are two cases which we think that everyone
    would agree there is a bug, but we are not sure that the bug would
    be considered to be RC.  We are posting to -devel to see if, in
    fact, we do have a consensus that these bugs would be RC, or not.

    [statement of (1) and (2)]

If we can't get consensus, and we still think the change is worth
making, we could ask the TC to make a ruling on the RC-bugginess of (1)
and (2) (the Policy Team are trying to make better use of the TC to move
ordinary bugs forward, rather than only going to the TC for the most
controversial issues).

Is my analysis of what's needed for this Policy change right?

Thanks again.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature


Reply to: