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

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: