how do you force make install to overwrite conflicting files from another port?

Lowell Gilbert freebsd-ports-local at be-well.ilk.org
Fri Jun 3 17:53:56 UTC 2016


Patrick Powell <papowell at astart.com> 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.


More information about the freebsd-pkg mailing list