Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jan 2010 10:22:00 +0200
From:      Manolis Kiagias <sonicy@otenet.gr>
To:        glarkin@freebsd.org
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Dislike the way port conflicts are handled now
Message-ID:  <4B517728.4020709@otenet.gr>
In-Reply-To: <4B51473F.90302@FreeBSD.org>
References:  <4B509B51.3060809@strauser.com>	<85E67FE7-4B01-40D0-A52E-BE8F3F083FAA@gmail.com> <4B51473F.90302@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 16/01/2010 6:57 π.μ., Greg Larkin wrote:
> 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?
>
> Regards,
> Greg

While I build most of my personal packages using ports-mgmt/tinderbox,
this option would be very useful. I routinely run make fetch on remote
machines to retrieve large distfiles, and wouldn't want the installed
dependencies to interfere with that.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B517728.4020709>