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 (<< 1.2-3)
> +Breaks: foo (<< 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 (>= 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: