From owner-freebsd-ports@freebsd.org Fri Jun 3 17:53:56 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF4BAB6837A; Fri, 3 Jun 2016 17:53:56 +0000 (UTC) (envelope-from freebsd-ports-local@be-well.ilk.org) Received: from be-well.ilk.org (be-well.ilk.org [23.30.133.173]) by mx1.freebsd.org (Postfix) with ESMTP id 8E7B51BB1; Fri, 3 Jun 2016 17:53:56 +0000 (UTC) (envelope-from freebsd-ports-local@be-well.ilk.org) Received: from lowell-desk.lan (router.lan [172.30.250.2]) by be-well.ilk.org (Postfix) with ESMTP id AF7B233C26; Fri, 3 Jun 2016 13:53:37 -0400 (EDT) Received: by lowell-desk.lan (Postfix, from userid 1147) id 046C439828; Fri, 3 Jun 2016 13:53:36 -0400 (EDT) From: Lowell Gilbert To: Patrick Powell Cc: FreeBSD Ports ML , freebsd-pkg@freebsd.org Subject: Re: how do you force make install to overwrite conflicting files from another port? References: <5b020f89-8f29-5c52-e3de-6c067019b7e9@astart.com> Date: Fri, 03 Jun 2016 13:53:36 -0400 In-Reply-To: <5b020f89-8f29-5c52-e3de-6c067019b7e9@astart.com> (Patrick Powell's message of "Fri, 3 Jun 2016 08:26:25 -0700") Message-ID: <44poryi2fz.fsf@lowell-desk.lan> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2016 17:53:56 -0000 Patrick Powell writes: > Suppose that you have a portA which is a dependency of a lot of other ports. > > You also have a portB which is a replacement/update/upgrade for portA. > > PortB provides replacements for the executables generated/supplied by > PortA but for various reasons you still want to use some of PortA > installed items such as libraries, etc. > > I tried doing the following: > > # pkg install PortA > # cd /usr/ports/xxx/PortB > # make install > > Installing PortB... > pkg-static: PortB conflicts with PortA (installs files into the same > place). Problematic file: /usr/local/bin/utilityl > *** Error code 70 > > Is there an option, or a way similar to using 'make > FORCE_PGK_REGISTER=YES install' > to force overwriting the conflicting files? Not directly, no. The way to do it straight from the ports tree is to remove the "PortA" *first* (with "pkg delete -f"), and then install "PortB". You end up losing the dependency information that PortA had formerly had, but things will work. Upgrade tools (pkg, portmaster, portupgrade, at least) have a "-o" option that fixes up the dependency information.