CONFLICTS checks during the wrong stage
kamikaze at bsdforen.de
Sat Feb 6 10:31:15 UTC 2010
Matthew Seaman wrote:
> On 06/02/2010 09:36, Dominic Fandrey wrote:
>> It appears CONFLICTS is checked before build instead of checking
>> it before install. Why?
> There was a discussion about this over on questions recently, starting here:
Thanks a lot for the pointer. I see I'm not alone with that.
> Lots of people are less than completely satisfied with the change. The
> whole argument boils down to:
> * Having to jump through extra hoops in order to do some perfectly
> reasonable operations such as
> portupgrade -o new/port -f old/port-it-conflicts-with
> * Accidentally spending a long time compiling a port when a
> conflicting port is already installed.
It really boils down to the choice of wasting:
a) CPU time and bandwidth
b) brain time
I'd rather waste CPU time.
> Personally I feel that this change is in error -- it's ticking off the
> vast majority of people that manage their ports day-to-day for the sake
> of avoiding some newbie errors that you'ld only tend to make once or
> twice. Printing out great big warnings at fetch and compile time when a
> conflict is detected seems a much more reasonable response.
The pkg_delete stuff messes up the dependency record in /var/db/pkg.
One of the arguments is that some ports link against old versions of
themselves when old versions are around, so it's safer to remove stuff
before building a new version.
I can only disagree here (qt33 and kde3 do this). It means those
ports are broken and ought to be fixed! The ports framework shouldn't
be built to tolerate broken ports.
My workaround is to remove the CONFLICTS line from the Makefiles.
Also not really acceptable, but at least /var/db/pkg doesn't get
Anyway, I have decided to follow evil to its root and request
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Q: What is the most annoying thing on usenet and in e-mail?
More information about the freebsd-ports