[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Size mismatch ...



Hi Sylvain Milot,

First of all: Thanks for your questions/bugreport. :)

Am 2. Juni 2010 00:33:03 UTC+2 schrieb Sylvain Milot
<sylvain@bic.mni.mcgill.ca>:
> This is for a little home made package that I've created and I get
> size mismatch errors when trying to install it via apt-get or aptitude
> while it installs fine with dpkg -i.

dpkg doesn't have a hashvalue available for checking, only apt
(and with it also aptitude) have with the files it downloads
in the "update" step a facility to check for integrity.

> # apt-cache show matlab10a
> MD5sum: 72b93bb6a88ee6a671e8fe7fcf759dba

> # apt-cache showpkg matlab10a
> Package: matlab10a
> Versions:
> 7.10R2010a (/var/lib/apt/lists/_mirror_lenny_extras_._Packages)
>  Description Language:
>                 File: /var/lib/apt/lists/_mirror_lenny_extras_._Packages
>                  MD5: ae90a9bbf811978261e35bc5c1ab22d7
>
> At this point, the odd thing is that MD5 sums are reported as different

These MD5's are different as they are for different stuff.
The first is for the downloaded deb file.
The second is for the Description of this package -
used to check if translated Descriptions are up-to-date.


> # apt-get install matlab10a
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following NEW packages will be installed:
>  matlab10a
> 0 upgraded, 1 newly installed, 0 to remove and 35 not upgraded.
> 2.29203e+09,-2.00293e+09
> How odd.. The sizes didn't match, email apt@packages.debian.org

> The question that keeps buzzing in my head is :
> Is there a file size limit for a debian package ?

In theory not but more than two gigabytes is big.

I have a theory:
APT uses a signed long - which is as big as an int on 32bit and
can store ~ 2GB, but a long is on 64bit a bit bigger
(and i guess you are on a 64bit machine),
so somewhere in the code long is put into an int resulting
in a lovely integer overflow - and in your error.
So we "just" need to find this one - and switch to long long
to have 64bit (~ 9 Exabyte) on all architectures for squeeze.

I don't think this is fixable for lenny - or it is but it requires
most likely the recompilation of all apt reverse dependencies
which is quite a bit of work.
Especially as the usecase is currently small:
There are not many 2 GB packages around i guess… ;)


Best regards,

David Kalnischkies


Reply to: