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

Bug#578854: New workding for Conflicts, Breaks, and related sections



On Wed, Jun 16, 2010 at 11:07:33AM -0700, Russ Allbery wrote:
>  	<p>
>  	  Normally a <tt>Breaks</tt> entry will have an "earlier than"
>  	  version clause; such a <tt>Breaks</tt> is introduced in the
> -	  version of an (implicit or explicit) dependency which
> -	  violates an assumption or reveals a bug in earlier versions
> -	  of the broken package.  This use of <tt>Breaks</tt> will
> -	  inform higher-level package management tools that broken
> -	  package must be upgraded before the new one.
> +	  version of an (implicit or explicit) dependency which violates
> +	  an assumption or reveals a bug in earlier versions of the broken
> +	  package, or which takes over a file from earlier versions of the
> +	  broken package.  This use of <tt>Breaks</tt> will inform
          ^^^^^^
> +	  higher-level package management tools that broken package must
> +	  be upgraded before the new one.
>  	</p>


The word broken there might be a little missleading, since nothing
broken, and it's just used to force an upgrade of the other
package.

> +	  breakage).  In other words, if a version number is specified,
> +	  this is a request to ignore all <tt>Provides</tt> for that
> +	  package name and consider only real packages.  The package
> +	  manager will assume that a package which package which provides
                                             ^^^^^^^^^^^^^

That should probably be removed.

> +	  Normally, <tt>Breaks</tt> should be used in conjunction
> +	  with <tt>Replaces</tt>.<footnote>
> +	    To see why <tt>Breaks</tt> is required in addition
                                          ^^^^^^^^

That's probably a too strong word, specially since you have a
should there.

>  	  <p>
>  	    For example, if a package <package>foo</package> is split
>  	    into <package>foo</package> and <package>foo-data</package>
> -	    starting at version 1.2-3, <package>foo-data</package> should
> -	    have the field
> +	    starting at version 1.2-3, <package>foo-data</package> would
> +	    have the fields
>  	    <example compact="compact">
>  Replaces: foo (&lt;&lt; 1.2-3)
> +Breaks: foo (&lt;&lt; 1.2-3)
> +	    </example compact="compact">
> +	    in its control file.  The new version of the
> +	    package <package>foo</package> would normally have the field
> +	    <example>
> +Depends: foo-data (&gt;= 1.2-3)
>  	    </example>

I'm not sure what it does exactly, but you've created one example
with compact, the other without.  And closing the example probably
doesn't need to set the compact.

I can see why which this breaks in the "foo-data" package is
useful, but find it non-obvious, and currently see no beter
way to get the same behaviour.


Kurt




Reply to: