When updating from googleearth 4 to 22.214.171.1241 wget "resumes" the download of GoogleEarthLinux.bin if you haven't deleted it from distfiles. Obviously this causes a checksum failure because it needs to re-download the whole file. The file name is the same so this is normal behavior for wget but portage needs to be smarter. Either delete GoogleEarthLinux.bin or rename it to include the version number.
Steps to Reproduce:
1. Have an old version of googleearth installed
2. Attempt to update to the newest version
3. Watch the fireworks
wget attempts to resume the download of GoogleEarthLinux.bin which causes the file to become corrupted.
The file should be renamed or deleted so that wget gets the whole file from scratch.
System is amd64
Full emerge log:
$ sudo emerge -1 googleearth
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) x11-misc/googleearth-126.96.36.1991 to /
>>> Resuming download...
>>> Downloading 'http://dl.google.com/earth/client/current/GoogleEarthLinux.bin'
Resolving dl.google.com... 188.8.131.52
Connecting to dl.google.com|184.108.40.206|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 23,042,785 (22M), 1,435,377 (1.4M) remaining [application/octet-stream]
100%[++++++++++++++++++++++++++++++++++++++++++++++++++++++++===>] 23,042,785 3.52M/s
utime(/usr/portage/distfiles/GoogleEarthLinux.bin): Operation not permitted
10:28:00 (3.52 MB/s) - `/usr/portage/distfiles/GoogleEarthLinux.bin' saved [23042785/23042785]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking GoogleEarthLinux.bin ;-) ... [ !! ]
!!! Digest verification failed:
!!! Reason: Failed on RMD160 verification
!!! Got: e2c9a00f4c1400381a975743d006779455af04ad
!!! Expected: ddf1490dc5037de60a235263e3d9bfe17210c977
I don't think the summary change that just happened is accurate. I'm pretty sure this is a portage problem, not upstream. When I went back and re-ran the emerge command after I posted this bug, it apparently deleted the GoogleEarthLinux.bin file and downloaded a fresh copy from scratch. The problem is just that wget tried to append to the end of the existing file instead of downloading it from scratch.
Note the +++++===> in the wget output.
THAT is the problem here.
To be clear, the existing GoogleEarthLinux.bin file was a complete download from the OLD version of google earth. So wget tried to append bytes from the NEW version onto the installer file from the OLD version.
seems to be an old portage version problem.