A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-kph.308.mcz
==================== Summary ====================
Name: Installer-Core-kph.308 Author: kph Time: 24 February 2009, 7:32:29 am UUID: 4ad6641c-0245-11de-a647-000a95edb42a Ancestors: Installer-Core-kph.307
made bootstrap more upbiquitous and use MczInstaller if available
=============== Diff against Installer-Core-kph.307 ===============
Item was added: + ----- Method: Installer class>>log: (in category 'logging') ----- + log: aString + + Transcript show: aString; cr.!
Item was changed: ----- Method: InstallerUrl>>bootstrap (in category 'accessing') ----- bootstrap
" (Installer url: 'http://www.squeaksource.com/Sake/Sake-Core-kph.47.mcz') bootstrap. "
+ | pkg splitPos repo getFileName fileName | - | pkg wc splitPos repo getFileName getSource fileName | - - splitPos := url lastIndexOf: $/. - - pkg := url copyFrom: splitPos + 1 to: url size. - repo := url copyFrom: 1 to: splitPos. - - wc := Smalltalk at: #MCWorkingCopy ifAbsent: [ nil ]. - wc ifNotNil: [ - (wc allManagers select: [:each | each packageName = pkg ]) do: [ :ea | ea unregister ] - ]. - - getFileName := [ :pkgName | pkgName , ((HTTPSocket httpGet: repo) upToAll: pkgName; upTo: $") ]. - getSource := [ :pkgUrl | ((ZipArchive new readFrom: (HTTPSocket httpGet: pkgUrl)) - memberNamed: 'snapshot/source.st') contents ].
+ isBootstrap := true. + + splitPos := url lastIndexOf: $/. + + pkg := url copyFrom: splitPos + 1 to: url size. + repo := url copyFrom: 1 to: splitPos. + + getFileName := [ :pkgName | pkgName , ((HTTPSocket httpGet: repo) upToAll: pkgName; upTo: $") ]. + fileName := getFileName value: pkg.
+ url := repo,fileName. + + self install! - [ - SystemChangeNotifier uniqueInstance doSilently: [ - (getSource value: (repo,fileName)) readStream fileInAnnouncing: 'Booting ' , fileName. - ] - ] on: Warning do: [ :ex | ex resume: true ].!
Item was added: + ----- Method: Installer>>bootstrap (in category 'public interface') ----- + bootstrap + + isBootstrap := true. + self install.!
Item was added: + ----- Method: Installer class>>bootstrapTheRestOfInstaller (in category 'action report') ----- + bootstrapTheRestOfInstaller + + (Installer url: 'www.squeaksource.com/Installer/Installer-Scripts') bootstrap. + (Installer url: 'www.squeaksource.com/Installer/Installer-Formats') + bootstrap; + logCR: 'installer bootstrap - loaded'.!
Item was changed: ----- Method: Installer>>mcThing:from: (in category 'mantis') ----- mcThing: aFileName from: stream "dont use monticello for .cs or for .st use monticello for .mcs"
| reader | + + isBootstrap ifTrue: [ ^ nil ]. + reader := self classMCReader readerClassForFileNamed: aFileName. reader name = 'MCStReader' ifTrue: [ ^ nil ]. reader ifNil: [ ^ nil ]. (reader respondsTo: #on:fileName:) ifTrue: [ reader := reader on: stream fileName: aFileName. ^ reader version ] ifFalse: [ reader := reader on: stream. ^ reader snapshot ].!
Item was changed: Object subclass: #Installer + instanceVariableNames: 'answers packages messagesToSuppress isBootstrap' - instanceVariableNames: 'answers packages messagesToSuppress' classVariableNames: 'IsSetToTrapErrors Remembered SkipLoadingTests InstallerBindings ValidationBlock' poolDictionaries: '' category: 'Installer-Core'!
+ !Installer commentStamp: 'kph 2/24/2009 06:32' prior: 0! - !Installer commentStamp: 'kph 12/19/2007 14:42' prior: 0! Documentation now available at http://installer.pbwiki.com/Installer + + isBootstrap - flag to load source.st rather than using Monticello! - !
Item was changed: ----- Method: Installer>>installMCZ:from: (in category 'mantis') ----- installMCZ: aFileName from: stream
+ | source pkg wc | + + pkg := aFileName copyUpToLast: $-. + + wc := Smalltalk at: #MCWorkingCopy ifAbsent: [ nil ]. + wc ifNotNil: [ + (wc allManagers select: [:each | each packageName = pkg ]) do: [ :ea | ea unregister ] + ]. + + self classMczInstaller ifNotNilDo: [ :reader | ^ reader install: aFileName stream: stream]. - self classMczInstaller ifNotNilDo: [ :reader | ^reader installStream: stream].
+ source := ((ZipArchive new readFrom:stream) memberNamed: 'snapshot/source.st') contents. + + [ + SystemChangeNotifier uniqueInstance doSilently: [ + source readStream fileInAnnouncing: 'Booting ' , aFileName. + ] + ] on: Warning do: [ :ex | ex resume: true ].! - self error: 'no monticello readers available'. - !
packages@lists.squeakfoundation.org