Bug 250989

Summary: ports-mgmt/pkg does not upgrade dependencies
Product: Ports & Packages Reporter: ml
Component: Individual Port(s)Assignee: freebsd-pkg (Nobody) <pkg>
Status: New ---    
Severity: Affects Only Me CC: dewayne
Priority: --- Flags: bugzilla: maintainer-feedback? (pkg)
Version: Latest   
Hardware: Any   
OS: Any   

Description ml 2020-11-09 17:16:58 UTC
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.