Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 408901

Summary: net-proxy/http-replicator-3.0-r2 does not invalidate cached file after contents changed
Product: Gentoo Linux Reporter: Robin Bankhead <gentoo>
Component: Current packagesAssignee: Gentoo Network Proxy Developers (OBSOLETE) <net-proxy+disabled>
Status: RESOLVED INVALID    
Severity: normal CC: bkohler
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Robin Bankhead 2012-03-19 18:38:02 UTC
When running "emerge -f adobe-flash" on ~x86 client, via http-replicator on ~amd64 LAN host:

Saving to: `/usr/portage/distfiles/adobe-flash-11.1.102.63.i386.tar.gz'

100%[======================================>] 6,747,720   11.1M/s   in 0.6s

2012-03-19 18:10:57 (11.1 MB/s) - `/usr/portage/distfiles/adobe-flash-11.1.102.63.i386.tar.gz' saved [6747720/6747720]

!!! Fetched file: adobe-flash-11.1.102.63.i386.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      6747720
!!! Expected: 6746733
Refetching... File renamed to '/usr/portage/distfiles/adobe-flash-11.1.102.63.i386.tar.gz._checksum_failure_.7CKYkV'

File is not saved in http-replicator's cache.  When running

http_proxy="" emerge -f adobe-flash

...fetch and verification completes successfully.
Comment 1 Ben Kohler gentoo-dev 2012-03-19 18:48:28 UTC
http-replicator uses the original upstream filename and not the "->" target name that is used in distfiles.  This creates a problem when upstream bumps the version but still uses the original tarball name.  Look for a file at /var/cache/http-replicator/install_flash_player_11_linux.i386.tar.gz or similar, and remove it.
Comment 2 Robin Bankhead 2012-03-19 19:43:50 UTC
Thanks, there was indeed and with it gone, the fetch occurs fine.

That is, I must say, an obscure and very infuriating gotcha. Bad Adobe!
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2012-03-20 15:05:21 UTC
I don't think this is a problem with http-replicator (since it would strive to not download the same file twice, and would need to still retrieve a file twice to make sure the contents haven't changed, which kind of goes against its purpose as a caching proxy).