Bug 679760

Summary: Cannot install >2 GB package on i686 platform
Product: Red Hat Enterprise Linux 6 Reporter: Karel Srot <ksrot>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: high Docs Contact:
Priority: high    
Version: 6.1CC: rprice, tcapek
Target Milestone: rc   
Target Release: ---   
Hardware: i686   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
On the i686 platform, if a user tried to install a package bigger than 2 GB, yum terminated. With this update, support for such packages has been added.
Story Points: ---
Clone Of:
: 704600 (view as bug list) Environment:
Last Closed: 2011-05-19 13:34:12 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:
Bug Depends On:    
Bug Blocks: 612409, 704600    

Description Karel Srot 2011-02-23 12:52:20 UTC
This is slightly related to a bug 612409. 

Description of problem:
In i686 platform yum cannot install packages bigger that 2 GB.

Version-Release number of selected component (if applicable):
yum-3.2.29-5.el6

How reproducible:
always

Steps to Reproduce:
1. prepare a repo with > 2 GB rpm package
2. yum install largepkg
  
Actual results:
raceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 267, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 203, in main
    return_code = base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 492, in doTransaction
    problems = self.downloadPkgs(downloadpkgs, callback_total=self.download_callback_total_cb) 
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1941, in downloadPkgs
    cache=po.repo.http_caching != 'none',
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 865, in getPackage
    size=package.size,
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 837, in _getFile
    size=size
  File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 408, in urlgrab
    return self._mirror_try(func, url, kw)
  File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 394, in _mirror_try
    return func_ref( *(fullurl,), **kwargs )
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 967, in urlgrab
    apply(cb_func, (obj, )+cb_args, cb_kwargs)        
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1787, in verifyPkg
    if not po.verifyLocalPkg():
  File "/usr/lib/python2.6/site-packages/yum/packages.py", line 879, in verifyLocalPkg
    datasize=self.packagesize)
  File "/usr/lib/python2.6/site-packages/yum/misc.py", line 326, in checksum
    if datasize is not None and len(data) > datasize:
TypeError: __len__() should return an int

Expected results:
Package is installed.

Additional info:

Comment 23 Tomas Capek 2011-05-17 12:04:43 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
On the i686 platform, if a user tried to install a package bigger than 2 GB, yum terminated. With this update, support for such packages has been added.

Comment 24 errata-xmlrpc 2011-05-19 13:34:12 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0602.html