# portmaster shoots itself in the foot with -P and pkg



## scotia (Jun 16, 2020)

Hi.

if I add the `-P` option to `portmaster`, and postmaster decides to re-install `pkg`, I get the following:


```
Installed packages to be REMOVED:
        pkg: 1.13.2

Number of packages to be removed: 1

The operation will free 13 MiB.
[1/1] Deinstalling pkg-1.13.2...
You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
[1/1] Deleting files for pkg-1.13.2: 100%

===>>> Starting check for runtime dependencies
===>>> Gathering dependency list for ports-mgmt/pkg from ports
===>>> No dependencies for ports-mgmt/pkg

===>>> Installing package from: /usr/ports/packages/portmaster-download/pkg-1.14.4.txz
/usr/local/sbin/portmaster: /usr/local/sbin/pkg-static: not found

===>>> A backup package for pkg-1.13.2 should
       be located in /usr/ports/packages/portmaster-backup

===>>> Installation of pkg-1.14.4.txz (ports-mgmt/pkg) failed
===>>> Aborting update
```

It appears portmaster deletes `pkg`, then tries to reinstall it via packages (-P) which fails without `pkg`.

I'm updating a bunch of ports (not `pkg` explicitly) and really don't want to build them ALL from ports (but rather packages where available).  Is there a way to stop `portmaster` deinstalling `pkg`?

And a couple of follow-up questions:

portmaster seems to love re-installing ports when it's not necessary (eg: when updating `perl` you upgrade it by itself first, then when you upgrade the perl modules it re-installs `perl`).  Is there a way to prevent this?

is updating ports harder these days?  (ok, this is just a minor rant).

Thanks


----------

