Dislike the way port conflicts are handled now

Ruben de Groot mail25 at bzerk.org
Sat Jan 16 10:38:34 UTC 2010


On Fri, Jan 15, 2010 at 11:57:35PM -0500, Greg Larkin typed:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Craig Whipp wrote:
> > 
> > On Jan 15, 2010, at 9:44 AM, Kirk Strauser wrote:
> > 
> >> Until recently, it seems like port dependencies were handled at
> >> installation time. Lately, they're handled any time I try to do
> >> anything with a port. I absolutely detest the new behavior. Example
> >> cases:
> >>
> >> OLD WAY:
> >>
> >> $ cd /usr/ports/something/foo22
> >> $ make
> >> $ pkg_delete foo21-2.1
> >> $ make install
> >>
> >> NEW WAY
> >>
> >> $ cd /usr/ports/something/foo22
> >> $ make
> >> ===>  foo22 conflicts with installed package(s): foo21-2.1
> >> $ make fetch
> >> ===>  foo22 conflicts with installed package(s): foo21-2.1
> >> $ curse --type=copious
> >> $ pkg_delete foo21-2.1
> >> $ make install
> >>
> >> This isn't just a hypothetical pain in the butt. An example was being
> >> unable to build databases/mysql51-client because
> >> mysql-client-5.0.something was installed. I understand not being able
> >> to *install* it, but to be prevented from *building* it? In most
> >> circumstances, I want to be able to delete the old package and install
> >> the new one with minimal downtime. As another example, can you imagine
> >> not being able to even run "make fetch" on something huge like
> >> OpenOffice until you uninstalled the old version?
> >>
> >> In the mean time, I've been editing the port's Makefile to remove the
> >> CONFLICTS line long enough to finish building. That's not very helpful
> >> for those ports that don't actually build until you run "make
> >> install", but at least I can get the distfile download out of the way.
> >> -- 
> >>
> >> Kirk Strauser
> >>
> > 
> > I agree.  I've found that this can interfere with portmaster's "-o"
> > option, used to replace an installed port with one of a different
> > origin.  In my case, databases/mysql41-server with
> > databases/mysql55-server.
> > 
> > - Craig
> 
> This change was based on a recent PR
> (http://www.freebsd.org/cgi/query-pr.cgi?pr=137855) and made it into the
> tree a couple of weeks ago:
> http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk.diff?r1=1.631;r2=1.632
> 
> Since some folks like the old behavior and some folks like the new
> behavior, what do you all think of a user-selectable make.conf option to
> choose where the check-conflicts target appears in the port build sequence?

The fetch and build targets do NOT create any conflicts. I think this "solution"
was totally wrong and the commit should be reverted.

Ruben



More information about the freebsd-questions mailing list