From owner-freebsd-questions@FreeBSD.ORG Sat Jan 16 08:22:04 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC542106566C for ; Sat, 16 Jan 2010 08:22:04 +0000 (UTC) (envelope-from sonicy@otenet.gr) Received: from kane.otenet.gr (kane.otenet.gr [83.235.67.31]) by mx1.freebsd.org (Postfix) with ESMTP id 4FC918FC17 for ; Sat, 16 Jan 2010 08:22:03 +0000 (UTC) Received: from pulstar.local (athedsl-4553510.home.otenet.gr [94.70.71.46]) by kane.otenet.gr (8.13.8/8.13.8/Debian-3) with ESMTP id o0G8M0gX026410; Sat, 16 Jan 2010 10:22:01 +0200 Message-ID: <4B517728.4020709@otenet.gr> Date: Sat, 16 Jan 2010 10:22:00 +0200 From: Manolis Kiagias User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 MIME-Version: 1.0 To: glarkin@freebsd.org References: <4B509B51.3060809@strauser.com> <85E67FE7-4B01-40D0-A52E-BE8F3F083FAA@gmail.com> <4B51473F.90302@FreeBSD.org> In-Reply-To: <4B51473F.90302@FreeBSD.org> X-Enigmail-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: FreeBSD Questions Subject: Re: Dislike the way port conflicts are handled now X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jan 2010 08:22:04 -0000 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.