Discussion:
createrepo doesn't handle RPMs larger than 2.0GB correctly
Afik Cohen
2013-07-01 19:42:20 UTC
Permalink
Hi everyone, I'm using createrepo 0.9.8 and I have a package in my
repository that is 8.7GB in size. The package itself installs correctly if
I just install the RPM manually, but I cannot integrate it successfully
with my repo. After I run createrepo, and run a yum install from the client
machine, yum sees the package as listed as 2.0GB - which causes yum to fail
during the download.

====================================================================================================================
Package Arch Version
Repository Size
====================================================================================================================
Updating:
datamapper x86_64 0.1-53609
tripit-test-source 2.0 G

Transaction Summary
====================================================================================================================
Upgrade 1 Package(s)

Total download size: 2.0 G
Is this ok [y/N]: y
Downloading Packages:
http://10.24.25.198/yum/tripit/centos//datamapper-0.1-53609.x86_64.rpm:
[Errno 14] Downloaded more than max size for
http://10.24.25.198/yum/tripit/centos//datamapper-0.1-53609.x86_64.rpm:
2362247600 > 2147483647
Trying other mirror.

Error Downloading Packages:
datamapper-0.1-53609.x86_64: failed to retrieve
datamapper-0.1-53609.x86_64.rpm from tripit-test-source
error was [Errno 14] Downloaded more than max size for
http://10.24.25.198/yum/tripit/centos//datamapper-0.1-53609.x86_64.rpm:
2362247600 > 2147483647


Remember, the package is actually 8.7GB in size, which leads me to believe
based on reading https://bugzilla.redhat.com/show_bug.cgi?id=531243 that
createrepo is still incorrectly listing the size in the repo. Any ideas?
Should I file a bug report?

Thank you, Afik
Zdenek Pavlas
2013-08-12 14:36:34 UTC
Permalink
Hi everyone, I'm using createrepo 0.9.8 and I have a package in my repository
that is 8.7GB in size. The package itself installs correctly if I just
install the RPM manually, but I cannot integrate it successfully with my
repo. After I run createrepo, and run a yum install from the client machine,
yum sees the package as listed as 2.0GB - which causes yum to fail during
the download.
I've tested with createrepo-0.9.9-18.fc19 and yum-3.4.3-105.fc19
that both the primary.xml and the sqlite database contains valid data:

$ dd if=/dev/zero bs=1k count=5M >>testrepo/alacarte-0.13.4-4.fc17.noarch.rpm
$ createrepo testrepo
$ bzip2 -dc testrepo/repodata/*-primary.sqlite.bz2 >primary.sqlite
$ sqlite3 primary.sqlite 'select max(size_package) from packages'
5368836793
$ ls -l testrepo/alacarte-0.13.4-4.fc17.noarch.rpm
-rw-rw-r--. 1 zpavlas zpavlas 5368836793 Aug 12 16:19 testrepo/alacarte-0.13.4-4.fc17.noarch.rpm

Seems the problem is on the client.. Could you uncompress and check
the generated primary.sqlite to confirm this?

Loading...