Bug 17760

Summary: rpm does unnecessary FTP downloads
Product: [Retired] Red Hat Linux Reporter: roystgnr
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-09-21 03:43:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description roystgnr 2000-09-21 03:42:59 UTC
running, for example:

rpm -Fvh ftp://linux.rice.edu/pub/redhat/updates/i386/emacs*,

rpm-4.0-0.66 will attempt to download all 50+ megabytes of RPM files,
*before* it checks the version number on each to discover that I already
have the latest versions of all my installed emacs RPMs.

In fact,

rpm -Fvh ftp://linux.rice.edu/pub/redhat/updates/i386/emacs-leim* will try
downloading that RPM, even though I do not have emacs-leim installed on my
system and so could not possibly want to freshen that package.

Running "rpm -qip", on the other hand, downloads only the package headers
necessary to determine the --info query.  Could this behavior be used for
upgrade and freshen commands as well?  When rpm reaches the end of the
headers on the file it is downloading, could it check package and version
information *then*, and so decide whether to continue or cancel the
download before it wastes bandwidth and disk space on the entire file?

Comment 1 Jeff Johnson 2000-10-03 17:17:13 UTC
On install/upgarde/freshen pathways, rpm always downloads the entire package
before
attempting an install, while query aborts. The rationale for this behavior is
that query
failure, due to network transport problems, is not as critical as package
install/erase failure.

If you don't like the behavior, then supply rpm a list of packages as in
	rpm -Fvh `cat <your_list_here>`