On 17.04.13 20:43, Michael G. Schwern wrote:
On 4/15/13 7:06 PM, Jens Rehsack wrote:
On 15.04.13 18:56, Michael G. Schwern wrote:
TL;DR version...
IMO we only need to clarify what "conflicts" means and what actions CPAN
tools should take.

We talked in the Consensus Dome about the need for and meaning of the
"conflicts" relationship in the CPAN::Meta::Spec.
https://metacpan.org/module/CPAN::Meta::Spec#Prereq-Spec

IIRC the conclusion was...
* We need it.
* It's not clear what it means. (I don't recall what the confusion was)

The difference between "A conflicts with B op VER" and "A breaks B op
VER" and "A superflous B".

IIRC those meant...

"A conflict B" is A and B cannot be on the machine at the same time.
For example, they're both http servers and need the same port.  I can't
think of an example where CPAN has needed that for modules.

Or - maybe - an ancient distribution (META spec is per dist)
is mis-using a module name, and my shiny-new-dist uses the same.
This might be a candidate for superfluous, but doesn't need to...

"A breaks B" is if A is installed B will break.  This is what we need on
CPAN for things like Test::Builder breaks Test::Class < 0.39.

Yes.

"A superfluous B" is if A is installed B is no longer necessary.
Usually called "obsoletes".  This is mostly useful if you rename a
package, though I'd rather that was made more explicit in the meta data.
  Most of the use cases I can think of are better handled by the
installed modules database and CPAN distribution meta data.

Looking to XML-LibXML, that extra knowlegde of consequences of
splitting and remerging dists could had helped to avoid a lot
of confusion around XML::LibXML::XPathContext.

* Let's see what Debian does.

Or MacPorts, HomeBrew or pkgsrc :P

Whatever packaging system I may actually use, I go to Debian first
because they extensively document this sort of thing, both the meanings
and the rationales.

I don't know how Debian docs are - I see only the results ;)

Let's have a look at what the others do...

I suggest we're asking some of the developers there ...

pkgsrc has CONFLICTS=Some-Name-[0-9]* essentially a regex.
http://www.netbsd.org/docs/pkgsrc/fixes.html#conflicts
All they say is the "package may conflict with other packages a user
might already have installed on his system"

We also allow "patterns" like "scrnsaverproto<1.2.0".
That's why I recommended to look what "the others do" - not
what is somewhere described ;)

...

Cheers,
Jens

Reply via email to