Hi!
Summary: Try to prevent a package from being updated/installed from
repositories regardless of the package management tool you use. As
it seems, then only way you can do this is to exclude it from the
repositories themselves inside their configuration file in
/etc/yum.repos.d/, because these are the only common settings
between all three (yum/dnf/PackageKit). TBH, I'm not sure about
PackageKit, but I feel that it don't read /etc/dnf/dnf.conf as it
doesn't use DNF but its backends. This is fine if the package is in
a single known repository, but what if it is in 3 repositories that
you might not be aware of all of them?
More details:
As you might already know, nvidia drivers in RPMFusion F21
repositories doesn't work for all nvidia cards. In one system, I
finally installed akmod-nvidia from RPMFusion F20 repositories which
worked fine. Soon after I realized that I should exclude
akmod-nvidia and dependencies from F21 repositories. I added
"exclude=*nvidia*" to /etc/yum.conf as I was lazy to check which
repository these packages come from. But then I noticed that dnf
doesn't consider it excluded. Then I thought that probably
PackageKit doesn't use dnf.conf too. So, how should I excluded these
packages? Well, these were in rpmfusion-nonfree-updates repository,
so I added the exclude directive there. Then I found that I should
add it to rpmfusion-nonfree repository too. However, since I use
yum-plugin-local I also have a local repository (I actually copied
the repository from another system, so it was enabled on this system
so that I could install software from it) which also included these
packages. Therefore, I should exclude "*nvidia*" in 3 repository
configuration files to make sure (hopefully!) that these will not be
installed by any package manager I know.
Suggestion: Please add a single configuration file to configure
common package manager options (Specially between DNF and
PackageKit, which are there to stay). As I mentioned in "F21
downloads repository metadata in 3 places!" thread, Fedora package
management should be consistent and integrated; and the current
situation is really frustrating. If I want to exclude some packages,
I should be able to do it once for all. If I want to disable
automatic download of metadata/packages, there should be a single
place where I can define my desired package management policy. If I
want to specify default metadata_expire timeout for all
repositories, there should be one place to do it. There really
should be a single package management policy that must be respected
by every package manager in Fedora, specially the main ones: DNF and
PackageKit (and currently Yum).
Regards,
Hedayat