Hi all!
Decided to give the new client cache a run for its money.
Using a 3.7-5623 image I first hacked HTTPSocket>>getResponseUpTo:ignoring: by changing the "data was late"-lines to:
(self waitForDataUntil: (Socket deadlineSecs: 15)) ifFalse: [ self error: 'Timeout'. "Transcript show: 'data was late'; cr"].
...and thus it actually times out when trying to download things. Then I executed this which downloads all releases (not just the latest) of all packages that are downloadable:
SMSqueakMap default packages do: [:p | p releases do: [:rel | rel isDownloadable ifTrue: [rel ensureInCache. Transcript show: 'Loaded ', rel package name;cr ]]]
After a while this filled up my cache with about 35Mb and 373 files. Neat! Finally, to see how it looks:
SMSqueakMap default packages do: [:p | p releases isEmpty ifTrue: [Transcript show: 'Not released ', p printString; cr.] ifFalse:[ p releases do: [:rel | rel isDownloadable ifFalse: [Transcript show: 'Not downloadable ', rel printString; cr] ifTrue: [rel isCached ifFalse: [Transcript show: 'Not cached ', rel printString;cr ]]]]]
This gave me this list:
Not cached SMPackageRelease[X10 Driver for Squeak 1] Not cached SMPackageRelease[ECE Toolkit 1] Not downloadable SMPackageRelease[WarGame Demo 1] Not downloadable SMPackageRelease[Comanche 1] Not cached SMPackageRelease[Hierarchy List Morph - Lines 1] Not cached SMPackageRelease[MultiColumn List Morph 1] Not released SMPackage[JDepper] Not downloadable SMPackageRelease[SqueakAmp 1] Not cached SMPackageRelease[Zurgle for Squeak 3.2 1] Not cached SMPackageRelease[FractalMorph 1] Not cached SMPackageRelease[IRCBot 1]
Disregarding JDepper (which has no release) and the three packages that aren't downloadable: - Comanche has been deprecated. Stephen could actually now delete the release and type that into the package description instead. - WarGame Demo simply has no download url entered in the release (note that the releases were autocreated when we migrated from SM1) - SqueakAmp has a URL but no filename since it is packaged as a zip etc.
...then we find these that simply failed to download: - X10 Driver for Squeak 1 - ECE Toolkit 1 - Hierarchy List Morph - Lines 1 - MultiColumn List Morph 1 - Zurgle for Squeak 3.2 1 - FractalMorph 1 - IRCBot 1
Ok, lets revisit the script above and find out the emails and names of those package maintainers: | emails| emails _ Set new. SMSqueakMap default packages do: [:p | p releases isEmpty ifFalse:[ p releases do: [:rel | rel isDownloadable ifTrue: [rel isCached ifFalse: [emails add: rel package owner name -> rel package owner email]]]]]. emails
...alt-p and we get:
a Set('Webb McDonald'->'knightofsadcountenance@yahoo.com' 'Thierry Reignier'->'thierry_reignier@hotmail.com' 'Kevin Fisher'->'kgf@golden.net' 'Chris Cunningham'->'csque0@lycos.com' 'Jim Benson'->'zurgle@attbi.com')
I cc:ed you guys so perhaps you can fix them. :)
regards, Göran
PS. Also zipped up the cache directory to see how well it would compress. Ended up about 30.5 Mb.
squeak-dev@lists.squeakfoundation.org