Previously, I talked about the problem of Fedora package management (yum in that case) for offline users: lack of out-of-box support for using installation media to install programs. Then, I provided a simple rpm package to make the process of enabling Fedora DVD as a repository for yum a bit easier.
Today, I remembered another so annoying problem with PackageKit (not yum in this case): it does not distinguish between online and offline repositories (with “file://” at the beginning of their baseurl), and so, with default configuration it doesn’t let you install any packages from your offline repositories if you are not connected to any networks. It says: cannot install packages when offline!
This is not acceptable at all. First, I want to install a package in an offline repository (like Fedora DVD) and so I don’t need network connection for it. Second, PackageKit is satisfied when you are connected to ANY networks, like a simple local LAN between 2 computers (one of them could be a virtual one, so you have 1 real computer anyway!). In such cases, you can’t still access the online repositories.
Therefore, I think the current effort of PackageKit in detecting network availability is not so bright, and also doesn’t provide almost any benefit (it is not useful). On the other hand, it is problematic in the case I mentioned (using offline repositories). I wonder why such a facility, which not only doesn’t provide much goodness but also is problematic, should be turned on be default.
Personally, I think it should be disabled until it is at least not “in the way”.
Anyway, if you face such problem now, you can work around it using the following options in /etc/PackageKit/PackageKit.conf:
UseNetworkManager=false
UseNetworkHeuristic=false
I filled a bug against it long time ago, but if I remember correctly that bug was closed saying that such options are available. But I should probably reopen it, since I still think that it is definitely a bug.