For several years I’ve been avoiding learning about the dnf command as a form
of pointless protest at it’s replacement of yum. I mean it largely does the same thing as yum, works with yum repositories, and still seems fairly complicated.
Also it seems pretty slow. and it wants to synchronize its cache all the time, usually
at inconvenient moments.
I also suspect that one of the reasons to change the command from yum to dnf
was to eliminate the reference to the origins i.e. the “yellow dog updater” flavour
of linux. But possibly not. However 15 years of typing yum update -y is going
to take some unlearning in the fingers.
However at some point I was going to have to read the man-page, and work out how
to do some more sophisticated querying of packages and capabilties and today that opportunity arose…
I was trying to install the Sequeler package from the fedora repos, and
unfortunately it has some package dependency issues getting it to work with mysql. The package itself installs, but then there are “No MySQL support” error messages when
you try to connect to the database. The solution seems to be to install libgda-mysql
but this package is not compatible with the current stable mariadb package in fedora.
If you try to install the libga-mysql package you get this nasty message;
Some troubleshooting must be done.
This message indicates that libga-mysql package depends on something in mariadb-libs-3:10.2.9-3
(an older package) which is no longer available in the current package mariadb-libs-10.2.12-5
We can inspect the libgda-mysql package and see what capabilities its actually
dependent on, and dnf helpfully suggests solutions at the same time.
So dnf seems to think that on old version of mariadb-libs is the only package
that can provide those specific capabilities e.g. libmysqlclient.so.18()(64bit)
Looking at the currently installed package for mariadb-libs we can see that its
capabilities are similar but do not match that required and provided.
the 10.2.9-3 version of mariadb-libs declares capabilities including;
and those capabilities have been removed from the current package