On Mon, 4 Jul 2005, Doug Way wrote:
On Jul 4, 2005, at 1:09 AM, Doug Way wrote:
... However, there's a problem with the MCConfiguration install. It generally works and gets most of the way through it, but it hits an error trying to install the SMBase-dew.64 package. Looking at the debugger, it looks like it's trying to install an .mcd diff file for this. Ah, maybe the base version has to be in the same repository? (which would be SMBase-gk.63)
Unfortunately, I can't look into this right now.
But there might be a bug in SqueakSource - the MCConf upgrade process tries to download the .mcd first (because that's much more efficient), and if that fails, it downloads the .mcz. So the server should return an error if it cannot build the diff. However, it might be that I never tried that because we usually have all package versions in the repository.
If that is not the problem, it might work if you just add another repository to the workingcopy which has the base version. But I'm not quite sure about that.
Forgot to attach the exception stack earlier... attached below.
The string parameter passed further down the stack in the method MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: is 'SMBase-dew.64(gk.63).mcd'.
I'll be looking at this problem shortly.
- Doug
4 July 2005 12:22:24 pm
VM: Mac OS - a SmalltalkImage Image: Squeak3.9alpha [latest update: #6675]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir Macintosh HD:Users:dway:Squeak:Squeak 3.8 Trusted Dir Macintosh HD:Users:dway:Squeak:Squeak 3.8 Untrusted Dir foobar:tooBar:forSqueak:bogus
ZipArchive(Object)>>error: Receiver: a ZipArchive Arguments and temporary variables: aString: 'can''t find EOCD position' Receiver's instance variables: members: an OrderedCollection() centralDirectorySize: nil centralDirectoryOffsetWRTStartingDiskNumber: nil zipFileComment: '' writeCentralDirectoryOffset: 0 writeEOCDOffset: 0
ZipArchive>>readFrom: Receiver: a ZipArchive Arguments and temporary variables: aStreamOrFileName: a RWBinaryOrTextStream a ByteArray(60 33 68 79 67 84 89 80 6...etc... stream: a RWBinaryOrTextStream a ByteArray(60 33 68 79 67 84 89 80 69 32 72 84 ...etc... name: 'a stream' eocdPosition: 0 Receiver's instance variables: members: an OrderedCollection() centralDirectorySize: nil centralDirectoryOffsetWRTStartingDiskNumber: nil zipFileComment: '' writeCentralDirectoryOffset: 0 writeEOCDOffset: 0
MCMcdReader(MCMczReader)>>zip Receiver: a MCMcdReader Arguments and temporary variables:
Receiver's instance variables: stream: a RWBinaryOrTextStream a ByteArray(60 33 68 79 67 84 89 80 69 32 72 84 ...etc... package: nil info: nil definitions: nil dependencies: nil stepChildren: nil zip: a ZipArchive infoCache: nil baseInfo: nil patch: nil
MCMcdReader(MCMczReader)>>parseMember: Receiver: a MCMcdReader Arguments and temporary variables: fileName: 'package' tokens: nil Receiver's instance variables: stream: a RWBinaryOrTextStream a ByteArray(60 33 68 79 67 84 89 80 69 32 72 84 ...etc... package: nil info: nil definitions: nil dependencies: nil stepChildren: nil zip: a ZipArchive infoCache: nil baseInfo: nil patch: nil
--- The full stack --- ZipArchive(Object)>>error: ZipArchive>>readFrom: MCMcdReader(MCMczReader)>>zip MCMcdReader(MCMczReader)>>parseMember:
MCMcdReader(MCMczReader)>>loadPackage MCMcdReader(MCVersionReader)>>package MCMcdReader>>basicVersion MCMcdReader(MCVersionReader)>>version [] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: {[:r | r version]} [] in MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: {[:class | aBlock value: (class on: s fileName: aString)]} MCMcdReader class(Object)>>ifNotNilDo: [] in MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: {[:s | (MCVersionReader readerClassForFileNamed: aString) ifNotNilDo: [:cla...]} MCHttpRepository>>readStreamForFileNamed:do: MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: [] in MCHttpRepository(MCFileBasedRepository)>>versionFromFileNamed: {[self loadVersionFromFileNamed: aString]} Dictionary>>at:ifAbsent: MCHttpRepository(MCFileBasedRepository)>>versionFromFileNamed: MCConfiguration>>versionNamed:for:from: [] in MCConfiguration>>depsSatisfying:versionDo:displayingProgress: {[:dep | ver := dep versionInfo name. repo := repoMap at: ver ifAbs...]} [] in OrderedCollection(SequenceableCollection)>>do:displayingProgress: {[:each :i | bar value: i. aBlock value: each]} OrderedCollection(SequenceableCollection)>>withIndexDo: [] in OrderedCollection(SequenceableCollection)>>do:displayingProgress: {[:bar | self withIndexDo: [:each :i | bar value: i. aBlock value: e...]} [] in ProgressInitiationException>>defaultMorphicAction {[result := workBlock value: progress]} BlockContext>>ensure: ProgressInitiationException>>defaultMorphicAction ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: OrderedCollection(SequenceableCollection)>>do:displayingProgress: MCConfiguration>>depsSatisfying:versionDo:displayingProgress: ...etc...