Re: Bug#582423: tech-ctte: reaffirm that violating Debian Policy deserves RC bug
Jonathan Nieder <jrnieder@gmail.com> writes:
> Ian Jackson wrote:
>
>> A. Open a new bug against policy, asking that 7.6.2 be replaced with
>> something like this (exercising our power to specify what should
>> be in policy):
>>
>> Secondly, Replaces allows the packaging system to resolve which
>> package should be removed when there is a conflict - see
>> Conflicting binary packages - Conflicts, Section 7.4. This
>> usage only takes effect when the two packages do conflict, so
>> that the two usages of this field do not interfere with each
>> other.
>>
>> Conflicts+Replaces should be used only to ensure that obsolete
>> packages are removed in favour of new packages. A package
>> should not declare Replaces against any non-obsolete package,
>> and it should not declare Replaces against any virtual package
>> it itself provides.
>>
>> (In previous versions of policy there was a recommendation to do
>> the opposite. That was incorrect and inconsistent with the
>> purpose of Replaces, and was not fully honoured by dpkg.
>
> For what itâ??s worth, I like this proposal and think itâ??s the right thing
> to do. Thank you for making it.
>
> Jonathan
Just to make sure that means now the following is to be used, right?
Action | A Flags | B Flags
------------------------+-----------------------+---------------------
Move file from A to B | Depends: B (>=) | Replaces: A (<<)
| or Breaks: B (<<) |
| as needed |
------------------------+-----------------------+---------------------
Rename A to B | optional make A | Conflicts: A
| dummy/transitional | Replaces: A
| Depends: B | Provides: A optional
------------------------+-----------------------+---------------------
Never work together | Conflicts: B | Conflicts: A
------------------------+-----------------------+---------------------
Makes older A not work | Breaks: B (<<) | Breaks: A (<<)
but newer A is ok | if it conflicted |
------------------------+-----------------------+---------------------
Implements virtual pkg | Conflicts: virt | Conflicts: virt
| Provides: virt | Provides: virt
------------------------+-----------------------+---------------------
MfG
Goswin
PS: If this is all correct maybe this overview could be added to the
Debian Developer's Reference 6.7. Common packaging situations.
Reply to: