----- Original Message -----
From: "Hedayat Vatankhah" <hedayat.fwd(a)gmail.com>
To: "Development discussions related to Fedora"
<devel(a)lists.fedoraproject.org>
Sent: Saturday, January 3, 2015 9:42:01 PM
Subject: Yet another frustration with Fedora package management
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).
Hi, I understand the frustration. On the other hand, I personally hate anything that is
centralized. Just an idea: what about a simple modular tool (maybe installed by default)
which would be able to set options like this at all the places? Potentially it could be
able to synchronize a subset of settings between given programs.
--
Radek Holý
Associate Software Engineer
Software Management Team
Red Hat Czech