Zucca
Zucca

Reputation: 641

dnf/yum installs an old version of a transitive dependency

The package java-1.8.0-openjdk-headless-1:1.8.0.352.b08-2.el8_7 requires nss (any version as I could check with repoquery)

If you check the list of available versions of that package

# dnf list --showduplicates nss
nss.x86_64    3.41.0-5.el8
...
nss.x86_64    3.79.0-10.el8_6

However, when you install the java-1.8.0-openjdk-headless package, the oldest possible version of nss gets installed

# dnf install java-1.8.0-openjdk-headless-1:1.8.0.352.b08-2.el8_7.x86_64
Installing:
 java-1.8.0-openjdk-headless  x86_64   1:1.8.0.352.b08-2.el8_7
Installing dependencies:
 ...
 nss   3.44.0-15.el8
 nss-softokn   3.79.0-10.el8_6 
 nss-softokn-freebl   3.79.0-10.el8_6
 nss-sysinit  3.44.0-15.el8
 nss-util  3.79.0-10.el8_6

Why if there is a newer nss version available an older version is installed?

NOTE: This behaviour started some months ago I don't know why, previously the latest was installed

EDIT: check one by one, all the dependencies from java-1.8.0-openjdk-headless-1:1.8.0.352.b08-2.el8_7 installing them separately to see if any of them has 3.44.0-15.el8 as required version of nss, and did not find any

EDIT 2: There is also no Epoch number on nss package and if you try to install default version it will download the latest

EDIT 3: tried with --best option with same results

EDIT 4: more details

$ dnf repoquery --requires --resolve java-1.8.0-openjdk-headless-1:1.8.0.352.b08-2.el8_7.x86_64
...
nss-0:3.79.0-10.el8_6.x86_64

Upvotes: 1

Views: 569

Answers (1)

msuchy
msuchy

Reputation: 5427

My guess is that something requires nss-sysinit which is available only in 3.44 version and nss-sysinit requires nss of the same version. Which is 3.44.

Upvotes: 0

Related Questions