From owner-freebsd-pkg@freebsd.org Sat Jun 4 14:00:38 2016 Return-Path: Delivered-To: freebsd-pkg@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 773CEB69315; Sat, 4 Jun 2016 14:00:38 +0000 (UTC) (envelope-from papowell@astart.com) Received: from astart2.astart.com (wsip-72-214-30-30.sd.sd.cox.net [72.214.30.30]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6182C14E4; Sat, 4 Jun 2016 14:00:37 +0000 (UTC) (envelope-from papowell@astart.com) Received: from laptop_103.private (localhost [127.0.0.1]) by astart2.astart.com (8.14.9/8.14.9) with ESMTP id u54DxKmm079718; Sat, 4 Jun 2016 06:59:20 -0700 (PDT) (envelope-from papowell@astart.com) Reply-To: papowell@astart.com Subject: Re: how do you force make install to overwrite conflicting files from another port? References: <5b020f89-8f29-5c52-e3de-6c067019b7e9@astart.com> <44poryi2fz.fsf@lowell-desk.lan> To: Lowell Gilbert Cc: FreeBSD Ports ML , freebsd-pkg@freebsd.org From: Patrick Powell Organization: Astart Technologies Message-ID: Date: Sat, 4 Jun 2016 06:59:20 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <44poryi2fz.fsf@lowell-desk.lan> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jun 2016 14:00:38 -0000 On 06/03/16 10:53, Lowell Gilbert wrote: > 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. > When you do the 'pkg delete -f PortA' then it will also delete the libraries installed by PortA. if you do 'cd ...PortB; make install' and it will now install the files that were in conflict, but there are now some libraries installed by PortA which are missing. I understand that this is on the outskirts of package/port management, but there are times when you want to install a test version of a utility which has only part of the functionality of another port. -- Patrick Powell Astart Technologies papowell@astart.com 1530 Jamacha Rd, Suite X Network and System San Diego, CA 92019 Consulting 858-874-6543 FAX 858-751-2435 Web: www.astart.com