Hello
Following the Metacello installation instructions [1] the following step A runs fine but the step B afterwards gives an error message 'File too short' [2], marked with '"ERROR FILE TOO SHORT' "A: Get the Metacello configuration (for Squeak users)" Installer gemsource project: 'metacello'; addPackage: 'ConfigurationOfMetacello'; install. "B: Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version" ((Smalltalk at: #ConfigurationOfMetacello) project version: #'previewBootstrap') load. Any suggestion how to fix this? Kind regards Hannes [1] https://github.com/dalehenrich/metacello-work [2] ZipArchive class findEndOfCentralDirectoryFrom: stream "Seek in the given stream to the end, then read backwards until we find the signature of the central directory record. Leave the file positioned right before the signature. Answers the file position of the EOCD, or 0 if not found." | data fileLength seekOffset pos maxOffset | stream setToEnd. fileLength := stream position. "If the file length is less than 18 for the EOCD length plus 4 for the signature, we have a problem" fileLength < 22 ifTrue: [^ self error: 'file is too short']. "ERROR FILE TOO SHORT" seekOffset := 0. pos := 0. data := ByteArray new: 4100. maxOffset := 40960 min: fileLength. "limit search range to 40K" [ seekOffset := (seekOffset + 4096) min: fileLength. stream position: fileLength - seekOffset. data := stream next: (4100 min: seekOffset) into: data startingAt: 1. pos := self lastIndexOfPKSignature: EndOfCentralDirectorySignature in: data. pos = 0 and: [seekOffset < maxOffset] ] whileTrue. ^ pos > 0 ifTrue: [ | newPos | stream position: (newPos := (stream position + pos - seekOffset - 1)). newPos] ifFalse: [0] |
Hi Hannes
> On 28.09.2017, at 11:45, H. Hirzel <[hidden email]> wrote: > > Hello > > Following the Metacello installation instructions [1] the following > step A runs fine but the step B afterwards gives an error message > 'File too short' [2], marked with '"ERROR FILE TOO SHORT' > > "A: Get the Metacello configuration (for Squeak users)" > Installer gemsource > project: 'metacello'; > addPackage: 'ConfigurationOfMetacello'; > install. > > > "B: Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' > symbolic version" > ((Smalltalk at: #ConfigurationOfMetacello) project > version: #'previewBootstrap') load. > > > Any suggestion how to fix this? Please make sure to clean your package cache, maybe an mcz got corrupted earlier during download. (I just recently fixed some things in the workflow) For reference, When I execute the snippet, My transcript output is as follows: ================================================================================================================================================ found ConfigurationOfMetacello-topa.803.mcz... ConfigurationOfMetacello class>>unloadMetacello (Gofer is Undeclared) loaded Loading 1.0-beta.31.1.8 of ConfigurationOfMetacello... Fetched -> ConfigurationOfGofer-dkh.45 --- http://seaside.gemtalksystems.com/ss/metacello --- http://seaside.gemtalksystems.com/ss/metacello Loaded -> ConfigurationOfGofer-dkh.45 --- http://seaside.gemtalksystems.com/ss/metacello --- http://seaside.gemtalksystems.com/ss/metacello Project: Gofer Core 1.0.5.1 Fetched -> Gofer-Core.squeak-dkh.135 --- http://seaside.gemtalksystems.com/ss/metacello --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-Core-dkh.494 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-Platform.squeak-dkh.17 --- http://seaside.gemtalksystems.com/ss/metacello --- http://smalltalkhub.com/mc/dkh/metacello/main Loaded -> Gofer-Core.squeak-dkh.135 --- http://seaside.gemtalksystems.com/ss/metacello --- cache Loaded -> Metacello-Core-dkh.494 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) MetacelloSqueakPlatform>>extractRepositoryFrom:to: (OSProcess is Undeclared) Loaded -> Metacello-Platform.squeak-dkh.17 --- http://seaside.gemtalksystems.com/ss/metacello --- cache ...finished 1.0-beta.31.1.8 Loading 1.0-beta.32.3 of ConfigurationOfMetacello... Fetched -> ConfigurationOfFileTree-dkh.67 --- http://ss3.gemtalksystems.com/ss/FileTree --- http://ss3.gemtalksystems.com/ss/FileTree Loaded -> ConfigurationOfFileTree-dkh.67 --- http://ss3.gemtalksystems.com/ss/FileTree --- /Users/tobias/dev/Squeak-Trunk/package-cache Project: FileTree stable Fetched -> MonticelloFileTree-Core.squeak43-dkh.169 --- http://ss3.gemtalksystems.com/ss/FileTree --- http://ss3.gemtalksystems.com/ss/FileTree Fetched -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- http://ss3.gemtalksystems.com/ss/FileTree --- http://ss3.gemtalksystems.com/ss/FileTree Project: Gofer stable Fetched -> Metacello-Base-dkh.109 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-Core-dkh.695 --- http://seaside.gemtalksystems.com/ss/metacello --- http://smalltalkhub.com/mc/dkh/metacello/main Fetched -> Metacello-MC-dkh.680 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-Platform.squeak-tfel.25 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-ToolBox-dkh.134 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello Fetched -> Metacello-FileTree-dkh.29 --- http://seaside.gemtalksystems.com/ss/metacello --- http://smalltalkhub.com/mc/dkh/metacello/main Fetched -> Metacello-GitHub-dkh.29 --- http://smalltalkhub.com/mc/dkh/metacello/main --- http://seaside.gemtalksystems.com/ss/metacello MCFileTreeStCypressWriter class>>fileNameForSelector:(specials is shadowed) Loaded -> MonticelloFileTree-Core.squeak43-dkh.169 --- http://ss3.gemtalksystems.com/ss/FileTree --- cache Loaded -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- http://ss3.gemtalksystems.com/ss/FileTree --- cache BaselineOf>>projectClass (MetacelloMCBaselineProject is Undeclared) ConfigurationOf>>versionNumberClass (MetacelloSemanticVersionNumber is Undeclared) Loaded -> Metacello-Base-dkh.109 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache MetacelloProjectRegistration>>version (MetacelloMCBaselineProject is Undeclared) MetacelloBaselineSpecGenerator>>projectSpecCreationBlock (MetacelloMCBaselineProject is Undeclared) Loaded -> Metacello-Core-dkh.695 --- http://seaside.gemtalksystems.com/ss/metacello --- cache Loaded -> Metacello-MC-dkh.680 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache Loaded -> Metacello-Platform.squeak-tfel.25 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache Loaded -> Metacello-ToolBox-dkh.134 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache Loaded -> Metacello-FileTree-dkh.29 --- http://seaside.gemtalksystems.com/ss/metacello --- cache Loaded -> Metacello-GitHub-dkh.29 --- http://smalltalkhub.com/mc/dkh/metacello/main --- cache Evaluated -> 1.0-beta.32.3 [ConfigurationOfMetacello] >> metacelloPrimeRegistry ...finished 1.0-beta.32.3 ================================================================================================================================================ Hope that helps. Best regards -Tobias PS: Metacello is now at https://github.com/Metacello/metacello but the bootstrap should work nonetheless. > > Kind regards > Hannes > > > [1] https://github.com/dalehenrich/metacello-work > > [2] ZipArchive class findEndOfCentralDirectoryFrom: stream > "Seek in the given stream to the end, then read backwards until we find the > signature of the central directory record. Leave the file positioned right > before the signature. > > Answers the file position of the EOCD, or 0 if not found." > > | data fileLength seekOffset pos maxOffset | > stream setToEnd. > fileLength := stream position. > "If the file length is less than 18 for the EOCD length plus 4 for > the signature, we have a problem" > fileLength < 22 ifTrue: [^ self error: 'file is too short']. > "ERROR FILE TOO SHORT" > > seekOffset := 0. > pos := 0. > data := ByteArray new: 4100. > maxOffset := 40960 min: fileLength. "limit search range to 40K" > > [ > seekOffset := (seekOffset + 4096) min: fileLength. > stream position: fileLength - seekOffset. > data := stream next: (4100 min: seekOffset) into: data startingAt: 1. > pos := self lastIndexOfPKSignature: EndOfCentralDirectorySignature in: data. > pos = 0 and: [seekOffset < maxOffset] > ] whileTrue. > > ^ pos > 0 > ifTrue: [ | newPos | stream position: (newPos := (stream position + > pos - seekOffset - 1)). newPos] > ifFalse: [0] > |
Thank you, Tobias, for the explanation
-------------------------------------------------------- Found that the file MultiByteFileStream: '/home/user20/Documents/Squeak6.0alpha-17382-64bit-All-in-One.app/Contents/Resources/package-cache/Metacello-MC-dkh.680.mcz' just had 0 bytes length. I deleted it and restarted [3]. Then the load process [4] as given in https://github.com/Metacello/metacello went fine. --Hannes ---------------------------------------------------- [3] "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version" ((Smalltalk at: #ConfigurationOfMetacello) project version: #'previewBootstrap') load. ------------------------------------------------------------------------------------------ [4] Installation instructions for Metacello ( http://wiki.squeak.org/squeak/6157 ) https://github.com/Metacello/metacello "Get the Metacello configuration (for Squeak users)" Installer gemsource project: 'metacello'; addPackage: 'ConfigurationOfMetacello'; install. "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version" ((Smalltalk at: #ConfigurationOfMetacello) project version: #'previewBootstrap') load. "Load the Preview version of Metacello from GitHub" (Smalltalk at: #Metacello) new configuration: 'MetacelloPreview'; version: #stable; repository: 'github://dalehenrich/metacello-work:configuration'; load. "Now load latest version of Metacello" (Smalltalk at: #Metacello) new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; get. (Smalltalk at: #Metacello) new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; load. On 9/28/17, Tobias Pape <[hidden email]> wrote: > Hi Hannes > >> On 28.09.2017, at 11:45, H. Hirzel <[hidden email]> wrote: >> >> Hello >> >> Following the Metacello installation instructions [1] the following >> step A runs fine but the step B afterwards gives an error message >> 'File too short' [2], marked with '"ERROR FILE TOO SHORT' >> >> "A: Get the Metacello configuration (for Squeak users)" >> Installer gemsource >> project: 'metacello'; >> addPackage: 'ConfigurationOfMetacello'; >> install. >> >> >> "B: Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' >> symbolic version" >> ((Smalltalk at: #ConfigurationOfMetacello) project >> version: #'previewBootstrap') load. >> >> >> Any suggestion how to fix this? > > > Please make sure to clean your package cache, maybe an mcz got corrupted > earlier during download. > (I just recently fixed some things in the workflow) > > For reference, When I execute the snippet, My transcript output is as > follows: > > ================================================================================================================================================ > found ConfigurationOfMetacello-topa.803.mcz... > > ConfigurationOfMetacello class>>unloadMetacello (Gofer is Undeclared) loaded > > Loading 1.0-beta.31.1.8 of ConfigurationOfMetacello... > Fetched -> ConfigurationOfGofer-dkh.45 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://seaside.gemtalksystems.com/ss/metacello > Loaded -> ConfigurationOfGofer-dkh.45 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://seaside.gemtalksystems.com/ss/metacello > Project: Gofer Core 1.0.5.1 > Fetched -> Gofer-Core.squeak-dkh.135 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-Core-dkh.494 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-Platform.squeak-dkh.17 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://smalltalkhub.com/mc/dkh/metacello/main > Loaded -> Gofer-Core.squeak-dkh.135 --- > http://seaside.gemtalksystems.com/ss/metacello --- cache > Loaded -> Metacello-Core-dkh.494 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) > MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) > MetacelloSqueakPlatform>>extractRepositoryFrom:to: (OSProcess is Undeclared) > Loaded -> Metacello-Platform.squeak-dkh.17 --- > http://seaside.gemtalksystems.com/ss/metacello --- cache > ...finished 1.0-beta.31.1.8 > Loading 1.0-beta.32.3 of ConfigurationOfMetacello... > Fetched -> ConfigurationOfFileTree-dkh.67 --- > http://ss3.gemtalksystems.com/ss/FileTree --- > http://ss3.gemtalksystems.com/ss/FileTree > Loaded -> ConfigurationOfFileTree-dkh.67 --- > http://ss3.gemtalksystems.com/ss/FileTree --- > /Users/tobias/dev/Squeak-Trunk/package-cache > Project: FileTree stable > Fetched -> MonticelloFileTree-Core.squeak43-dkh.169 --- > http://ss3.gemtalksystems.com/ss/FileTree --- > http://ss3.gemtalksystems.com/ss/FileTree > Fetched -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- > http://ss3.gemtalksystems.com/ss/FileTree --- > http://ss3.gemtalksystems.com/ss/FileTree > Project: Gofer stable > Fetched -> Metacello-Base-dkh.109 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-Core-dkh.695 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://smalltalkhub.com/mc/dkh/metacello/main > Fetched -> Metacello-MC-dkh.680 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-Platform.squeak-tfel.25 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-ToolBox-dkh.134 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > Fetched -> Metacello-FileTree-dkh.29 --- > http://seaside.gemtalksystems.com/ss/metacello --- > http://smalltalkhub.com/mc/dkh/metacello/main > Fetched -> Metacello-GitHub-dkh.29 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- > http://seaside.gemtalksystems.com/ss/metacello > MCFileTreeStCypressWriter class>>fileNameForSelector:(specials is shadowed) > Loaded -> MonticelloFileTree-Core.squeak43-dkh.169 --- > http://ss3.gemtalksystems.com/ss/FileTree --- cache > Loaded -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- > http://ss3.gemtalksystems.com/ss/FileTree --- cache > BaselineOf>>projectClass (MetacelloMCBaselineProject is Undeclared) > ConfigurationOf>>versionNumberClass (MetacelloSemanticVersionNumber is > Undeclared) > Loaded -> Metacello-Base-dkh.109 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > MetacelloProjectRegistration>>version (MetacelloMCBaselineProject is > Undeclared) > MetacelloBaselineSpecGenerator>>projectSpecCreationBlock > (MetacelloMCBaselineProject is Undeclared) > Loaded -> Metacello-Core-dkh.695 --- > http://seaside.gemtalksystems.com/ss/metacello --- cache > Loaded -> Metacello-MC-dkh.680 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > Loaded -> Metacello-Platform.squeak-tfel.25 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > Loaded -> Metacello-ToolBox-dkh.134 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > Loaded -> Metacello-FileTree-dkh.29 --- > http://seaside.gemtalksystems.com/ss/metacello --- cache > Loaded -> Metacello-GitHub-dkh.29 --- > http://smalltalkhub.com/mc/dkh/metacello/main --- cache > Evaluated -> 1.0-beta.32.3 [ConfigurationOfMetacello] >> > metacelloPrimeRegistry > ...finished 1.0-beta.32.3 > ================================================================================================================================================ > > Hope that helps. > > Best regards > -Tobias > > PS: Metacello is now at https://github.com/Metacello/metacello but the > bootstrap should work nonetheless. > > > >> >> Kind regards >> Hannes >> >> >> [1] https://github.com/dalehenrich/metacello-work >> >> [2] ZipArchive class findEndOfCentralDirectoryFrom: stream >> "Seek in the given stream to the end, then read backwards until we find >> the >> signature of the central directory record. Leave the file positioned >> right >> before the signature. >> >> Answers the file position of the EOCD, or 0 if not found." >> >> | data fileLength seekOffset pos maxOffset | >> stream setToEnd. >> fileLength := stream position. >> "If the file length is less than 18 for the EOCD length plus 4 for >> the signature, we have a problem" >> fileLength < 22 ifTrue: [^ self error: 'file is too short']. >> "ERROR FILE TOO SHORT" >> >> seekOffset := 0. >> pos := 0. >> data := ByteArray new: 4100. >> maxOffset := 40960 min: fileLength. "limit search range to 40K" >> >> [ >> seekOffset := (seekOffset + 4096) min: fileLength. >> stream position: fileLength - seekOffset. >> data := stream next: (4100 min: seekOffset) into: data startingAt: 1. >> pos := self lastIndexOfPKSignature: EndOfCentralDirectorySignature in: >> data. >> pos = 0 and: [seekOffset < maxOffset] >> ] whileTrue. >> >> ^ pos > 0 >> ifTrue: [ | newPos | stream position: (newPos := (stream position + >> pos - seekOffset - 1)). newPos] >> ifFalse: [0] >> > > > |
Hannes,
> On 28.09.2017, at 12:05, H. Hirzel <[hidden email]> wrote: > > Thank you, Tobias, for the explanation > > -------------------------------------------------------- > > Found that the file > > MultiByteFileStream: > '/home/user20/Documents/Squeak6.0alpha-17382-64bit-All-in-One.app/Contents/Resources/package-cache/Metacello-MC-dkh.680.mcz' > > just had 0 bytes length. I deleted it and restarted [3]. Then the load > process [4] as given in https://github.com/Metacello/metacello went > fine. That's great :) Best regards -Tobias > > --Hannes > > ---------------------------------------------------- > > [3] > "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' > symbolic version" > ((Smalltalk at: #ConfigurationOfMetacello) project > version: #'previewBootstrap') load. > > > ------------------------------------------------------------------------------------------ > [4] Installation instructions for Metacello ( > http://wiki.squeak.org/squeak/6157 ) > https://github.com/Metacello/metacello > > > > "Get the Metacello configuration (for Squeak users)" > Installer gemsource > project: 'metacello'; > addPackage: 'ConfigurationOfMetacello'; > install. > > "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' > symbolic version" > ((Smalltalk at: #ConfigurationOfMetacello) project > version: #'previewBootstrap') load. > > "Load the Preview version of Metacello from GitHub" > (Smalltalk at: #Metacello) new > configuration: 'MetacelloPreview'; > version: #stable; > repository: 'github://dalehenrich/metacello-work:configuration'; > load. > > "Now load latest version of Metacello" > (Smalltalk at: #Metacello) new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > get. > (Smalltalk at: #Metacello) new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > load. > > On 9/28/17, Tobias Pape <[hidden email]> wrote: >> Hi Hannes >> >>> On 28.09.2017, at 11:45, H. Hirzel <[hidden email]> wrote: >>> >>> Hello >>> >>> Following the Metacello installation instructions [1] the following >>> step A runs fine but the step B afterwards gives an error message >>> 'File too short' [2], marked with '"ERROR FILE TOO SHORT' >>> >>> "A: Get the Metacello configuration (for Squeak users)" >>> Installer gemsource >>> project: 'metacello'; >>> addPackage: 'ConfigurationOfMetacello'; >>> install. >>> >>> >>> "B: Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' >>> symbolic version" >>> ((Smalltalk at: #ConfigurationOfMetacello) project >>> version: #'previewBootstrap') load. >>> >>> >>> Any suggestion how to fix this? >> >> >> Please make sure to clean your package cache, maybe an mcz got corrupted >> earlier during download. >> (I just recently fixed some things in the workflow) >> >> For reference, When I execute the snippet, My transcript output is as >> follows: >> >> ================================================================================================================================================ >> found ConfigurationOfMetacello-topa.803.mcz... >> >> ConfigurationOfMetacello class>>unloadMetacello (Gofer is Undeclared) loaded >> >> Loading 1.0-beta.31.1.8 of ConfigurationOfMetacello... >> Fetched -> ConfigurationOfGofer-dkh.45 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://seaside.gemtalksystems.com/ss/metacello >> Loaded -> ConfigurationOfGofer-dkh.45 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://seaside.gemtalksystems.com/ss/metacello >> Project: Gofer Core 1.0.5.1 >> Fetched -> Gofer-Core.squeak-dkh.135 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-Core-dkh.494 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-Platform.squeak-dkh.17 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://smalltalkhub.com/mc/dkh/metacello/main >> Loaded -> Gofer-Core.squeak-dkh.135 --- >> http://seaside.gemtalksystems.com/ss/metacello --- cache >> Loaded -> Metacello-Core-dkh.494 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) >> MetacelloSqueakPlatform>>downloadFile:to: (OSProcess is Undeclared) >> MetacelloSqueakPlatform>>extractRepositoryFrom:to: (OSProcess is Undeclared) >> Loaded -> Metacello-Platform.squeak-dkh.17 --- >> http://seaside.gemtalksystems.com/ss/metacello --- cache >> ...finished 1.0-beta.31.1.8 >> Loading 1.0-beta.32.3 of ConfigurationOfMetacello... >> Fetched -> ConfigurationOfFileTree-dkh.67 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- >> http://ss3.gemtalksystems.com/ss/FileTree >> Loaded -> ConfigurationOfFileTree-dkh.67 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- >> /Users/tobias/dev/Squeak-Trunk/package-cache >> Project: FileTree stable >> Fetched -> MonticelloFileTree-Core.squeak43-dkh.169 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- >> http://ss3.gemtalksystems.com/ss/FileTree >> Fetched -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- >> http://ss3.gemtalksystems.com/ss/FileTree >> Project: Gofer stable >> Fetched -> Metacello-Base-dkh.109 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-Core-dkh.695 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://smalltalkhub.com/mc/dkh/metacello/main >> Fetched -> Metacello-MC-dkh.680 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-Platform.squeak-tfel.25 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-ToolBox-dkh.134 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> Fetched -> Metacello-FileTree-dkh.29 --- >> http://seaside.gemtalksystems.com/ss/metacello --- >> http://smalltalkhub.com/mc/dkh/metacello/main >> Fetched -> Metacello-GitHub-dkh.29 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- >> http://seaside.gemtalksystems.com/ss/metacello >> MCFileTreeStCypressWriter class>>fileNameForSelector:(specials is shadowed) >> Loaded -> MonticelloFileTree-Core.squeak43-dkh.169 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- cache >> Loaded -> MonticelloFileTree-FileDirectory-Utilities.squeak43-dkh.12 --- >> http://ss3.gemtalksystems.com/ss/FileTree --- cache >> BaselineOf>>projectClass (MetacelloMCBaselineProject is Undeclared) >> ConfigurationOf>>versionNumberClass (MetacelloSemanticVersionNumber is >> Undeclared) >> Loaded -> Metacello-Base-dkh.109 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> MetacelloProjectRegistration>>version (MetacelloMCBaselineProject is >> Undeclared) >> MetacelloBaselineSpecGenerator>>projectSpecCreationBlock >> (MetacelloMCBaselineProject is Undeclared) >> Loaded -> Metacello-Core-dkh.695 --- >> http://seaside.gemtalksystems.com/ss/metacello --- cache >> Loaded -> Metacello-MC-dkh.680 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> Loaded -> Metacello-Platform.squeak-tfel.25 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> Loaded -> Metacello-ToolBox-dkh.134 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> Loaded -> Metacello-FileTree-dkh.29 --- >> http://seaside.gemtalksystems.com/ss/metacello --- cache >> Loaded -> Metacello-GitHub-dkh.29 --- >> http://smalltalkhub.com/mc/dkh/metacello/main --- cache >> Evaluated -> 1.0-beta.32.3 [ConfigurationOfMetacello] >> >> metacelloPrimeRegistry >> ...finished 1.0-beta.32.3 >> ================================================================================================================================================ >> >> Hope that helps. >> >> Best regards >> -Tobias >> >> PS: Metacello is now at https://github.com/Metacello/metacello but the >> bootstrap should work nonetheless. >> >> >> >>> >>> Kind regards >>> Hannes >>> >>> >>> [1] https://github.com/dalehenrich/metacello-work >>> >>> [2] ZipArchive class findEndOfCentralDirectoryFrom: stream >>> "Seek in the given stream to the end, then read backwards until we find >>> the >>> signature of the central directory record. Leave the file positioned >>> right >>> before the signature. >>> >>> Answers the file position of the EOCD, or 0 if not found." >>> >>> | data fileLength seekOffset pos maxOffset | >>> stream setToEnd. >>> fileLength := stream position. >>> "If the file length is less than 18 for the EOCD length plus 4 for >>> the signature, we have a problem" >>> fileLength < 22 ifTrue: [^ self error: 'file is too short']. >>> "ERROR FILE TOO SHORT" >>> >>> seekOffset := 0. >>> pos := 0. >>> data := ByteArray new: 4100. >>> maxOffset := 40960 min: fileLength. "limit search range to 40K" >>> >>> [ >>> seekOffset := (seekOffset + 4096) min: fileLength. >>> stream position: fileLength - seekOffset. >>> data := stream next: (4100 min: seekOffset) into: data startingAt: 1. >>> pos := self lastIndexOfPKSignature: EndOfCentralDirectorySignature in: >>> data. >>> pos = 0 and: [seekOffset < maxOffset] >>> ] whileTrue. >>> >>> ^ pos > 0 >>> ifTrue: [ | newPos | stream position: (newPos := (stream position + >>> pos - seekOffset - 1)). newPos] >>> ifFalse: [0] >>> >> >> >> > |
Free forum by Nabble | Edit this page |