Extended Summary: Disable network connection and ability to automatically download dependencies. Rationale: System-install-packages is one of the best applications of the Fedora Desktop repertoire. However in its current state, if a user does not have a network connection, the program is pretty much useless. The proposed enhancement would be to: * Not connect to the repositories to fetch updated repository data until after showing the summary of the package which was clicked on. * In that same window have a check box to “Disable network dependency resolution”. So that when the user clicks OK: * if the package has no dependencies, install and warn if the package is signed but the key has not been imported. * State the missing dependencies, and suggesting that the user enables a network connection so the dependencies could be fetched and the package installed. * Make this an option of the proposed configuration dialog for the package manager in the [pirut and pup – Yum configuration and repositories management] enhancement request, so it would be the default action.
We shouldn't be going out to the network until you specify to install the package. And trying to do checkboxes for network or not is insane... we should be using the network if it's available and if not, fall back gracefully. And all of this should already be happening AFAIK. What behavior are you seeing that's prompting otherwise?
The problem is for instance if a network interface is active, but can't reach the repositories. Has happened to me in both Core 5 and 6 thus far. So the program does see a network connection (the ethernet connection is live, and has a static IP), but the program can't reach the repos, and the problem in my case was that the program was refusing to install an rpm (which had no deps by the way) because it couldn't fetch the repodata. There was an active network connection, but no Internet connection. The same could be said for systems which are part of a Network without access to the Internet, and only Intranet connectivity is available, the program will see the connection, but will never install as it cannot reach the internet. That's why (instead of having the checkbox-hell) I'd say that a central application where all the setting could be configured globally is better. It shouldn't need to be cluttered with options (for fine tuning you can as always modify the config files), but those which make sense. And I believe this one makes sense. Suppose a home user wants to click on an RPM he got on disk, but his router is off-line as his ISP is doing maintainance of the line or whatever, but he's still connected to his router and the rest of the home network. In the current state, the program will not reach the repositories, even when the program may "see" a network connection, instead of "gracefully falling back" the users are greeted with a message that pretty much sais that you don't have an internet connection and to check that. In my case the RPM had no extra deps, so I got a bit angry. Not all the users will know of 'rpm -ivh /path/to/package.rpm', hence the proposed enhancement.
For packages without deps, we shouldn't be trying to connect to the network; I'll fix that up. In other cases, we should rightfully say that we can't install it because we can't get to the network.
Things should be handled gracefully for packages without deps (or with deps which are already fulfilled) in pirut-1.2.7 or later.