From "man pkg-upgrade": "pkg upgrade tries to upgrade dependencies of packages matched"; however I see several situations where this does not happen. I was able to find a trivial example: > # pkg version |grep lynis > lynis-3.0.0 = > # pkg version | grep lsof > lsof-4.93.2_11,8 < > # pkg info -d lynis > lynis-3.0.0: > lsof-4.93.2_11,8 > # pkg info -r lsof > lsof-4.93.2_11,8: > lynis-3.0.0 > # pkg upgrade lynis > Updating custom repository catalogue... > custom repository is up to date. > All repositories are up to date. > Checking integrity... done (0 conflicting) > Your packages are up to date. So lsof is a dependency of lynis and can be upgraded, but this does not happen. When run with debug info, I get: # pkg -d -d upgrade lynis DBG(1)[32115]> pkg initialized Updating custom repository catalogue... DBG(1)[32115]> PkgRepo: verifying update for custom DBG(1)[32115]> Pkgrepo, begin update of '/var/db/pkg/repo-custom.sqlite' DBG(1)[32115]> Request to fetch https://poudriere.url/121amd64-default/meta.conf DBG(1)[32115]> opening libfetch fetcher DBG(1)[32115]> Fetch > libfetch: connecting DBG(1)[32115]> Fetch: fetching from: https://poudriere.url/121amd64-default/meta.conf with opts "i" DBG(1)[32115]> Request to fetch https://poudriere.url/121amd64-default/meta.txz DBG(1)[32115]> opening libfetch fetcher DBG(1)[32115]> Fetch > libfetch: connecting DBG(1)[32115]> Fetch: fetching from: https://poudriere.url/121amd64-default/meta.txz with opts "i" DBG(1)[32115]> Request to fetch https://poudriere.url/121amd64-default/packagesite.txz DBG(1)[32115]> opening libfetch fetcher DBG(1)[32115]> Fetch > libfetch: connecting DBG(1)[32115]> Fetch: fetching from: https://poudriere.url/121amd64-default/packagesite.txz with opts "i" custom repository is up to date. All repositories are up to date. DBG(1)[32115]> want to get an advisory lock on a database DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> universe: add new local pkg: pkg, (pkg-1.15.10:2$2$bttb1fthuk9dbc51q8ik4bb5a4fniq9wz8pznz1cch71npsohuoe4swtiygrsqhnom6hft3qjik5k3g1y67tezidzmbcbm7b4iu4axb) DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> Pkg> adding options: DOCS = on DBG(2)[32115]> universe: add new local pkg: lynis, (lynis-3.0.0:2$2$9oja9fuao15bdd161479ng1k6z8b7i69iffiicoqxdxg9tre1885jq1ouzmm9b4wik4wnx998646hbuspgo6btrdaucbnpt36oih6iy) DBG(2)[32115]> cannot find variable dependency lsof DBG(2)[32115]> cannot find any suitable dependency for lynis DBG(1)[32115]> problem has no requests DBG(2)[32115]> decided local pkg-2$2$bttb1fthuk9dbc51q8ik4bb5a4fniq9wz8pznz1cch71npsohuoe4swtiygrsqhnom6hft3qjik5k3g1y67tezidzmbcbm7b4iu4axb to install DBG(2)[32115]> decided local lynis-2$2$9oja9fuao15bdd161479ng1k6z8b7i69iffiicoqxdxg9tre1885jq1ouzmm9b4wik4wnx998646hbuspgo6btrdaucbnpt36oih6iy to install DBG(2)[32115]> solver: ignoring package pkg(2$2$bttb1fthuk9dbc51q8ik4bb5a4fniq9wz8pznz1cch71npsohuoe4swtiygrsqhnom6hft3qjik5k3g1y67tezidzmbcbm7b4iu4axb) as its state has not been changed DBG(2)[32115]> solver: ignoring package lynis(2$2$9oja9fuao15bdd161479ng1k6z8b7i69iffiicoqxdxg9tre1885jq1ouzmm9b4wik4wnx998646hbuspgo6btrdaucbnpt36oih6iy) as its state has not been changed Checking integrity...DBG(1)[32115]> check integrity for 0 items added done (0 conflicting) Your packages are up to date. DBG(1)[32115]> release an advisory lock on a database I find "cannot find variable dependency lsof" and "cannot find any suitable dependency for lynis" suspicious.