On Mon, 25 Nov 2013, Frank Shearar wrote:
How about I re-add Utilities >> #setSystemVersionFromConfig: like this:
setSystemVersionFromConfig: aConfig self deprecated: 'Use MCConfiguration >> #setSystemVersion'. aConfig setSystemVersion
and then in a later step move this to 45Deprecated?
I think it doesn't matter which package has it the first time. The cause of the problem is that the method is missing, so adding it before the update finishes should work.
Levente
frank
On 25 November 2013 10:34, Frank Shearar frank.shearar@gmail.com wrote:
Ah crumbs. OK, so while System-fbs.623 re-adds the method, the existing method is still executing and so still fails. Hey, at least I broke the update stream in a _new_ way. I tried issuing a config to leap past this, but because the old version's executing, that doesn't help.
Help!
frank
On 24 November 2013 21:24, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
It seems that there is a load order problem, because I have a message not understood #setSystemVersionFromConfig: when updating... The old code below still invoke the Utilities (as well as TheWorldMenu and other senders...) TheWorldMainDockingBar>>updateSqueak Utilities updateFromServer
2013/11/23 commits@source.squeak.org
Frank Shearar uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-fbs.620.mcz
==================== Summary ====================
Name: System-fbs.620 Author: fbs Time: 23 November 2013, 9:13:28.936 pm UUID: a640a27d-9472-204b-8a5d-67c861e94eeb Ancestors: System-fbs.619
#setSystemVersionFromConfig: clearly belongs better with the parameter's class. #updateFromServer belongs (IMO at least) with the class involved with updating.
Keep the Utilities stubs, but deprecate them.
=============== Diff against System-fbs.619 ===============
Item was added:
- ----- Method: MCConfiguration>>setSystemVersion (in category
'*System-Support-updating') -----
- setSystemVersion
"Set the current system version date to the latest date found in
my configuration (or the associated working copy). Also set the highest update number to the sum of version numbers in my configuration."
| versionNumbers versionDates |
versionNumbers := self dependencies collect: [:d |
(d versionInfo name copyAfterLast: $.) asInteger].
versionDates := self dependencies collect: [:d |
d versionInfo date
ifNil: [d package workingCopy ancestors first
date]].
SystemVersion current
date: versionDates max;
highestUpdate: versionNumbers sum.!
Item was added:
- ----- Method: MCMcmUpdater class>>updateFromServer (in category
'*System-Support-updating') -----
- updateFromServer
"Update the image by loading all pending updates from the server."
| config |
"Flush all caches. If a previous download failed this is often
helpful"
MCFileBasedRepository flushAllCaches.
config := MCMcmUpdater updateFromDefaultRepository.
config ifNil: [^self inform: 'Unable to retrieve updates from
remote repository.' translated].
config setSystemVersion.
self inform: ('Update completed.
- Current update number: ' translated, SystemVersion current
highestUpdate).!
Item was removed:
- ----- Method: Utilities class>>setSystemVersionFromConfig: (in category
'fetching updates') -----
- setSystemVersionFromConfig: anMCConfiguration
"Set the current system version date to the latest date found in
anMCConfiguration (or the associated working copy). Also set the highest update number to the sum of version numbers in the config."
| versionNumbers versionDates |
versionNumbers := anMCConfiguration dependencies collect: [:d |
(d versionInfo name copyAfterLast: $.) asInteger].
versionDates := anMCConfiguration dependencies collect: [:d |
d versionInfo date
ifNil: [d package workingCopy ancestors first
date]].
SystemVersion current
date: versionDates max;
highestUpdate: versionNumbers sum.
- !
Item was removed:
- ----- Method: Utilities class>>updateFromServer (in category 'fetching
updates') -----
- updateFromServer
"Update the image by loading all pending updates from the server."
| config |
"Flush all caches. If a previous download failed this is often
helpful"
MCFileBasedRepository flushAllCaches.
config := MCMcmUpdater updateFromDefaultRepository.
config ifNil: [^self inform: 'Unable to retrieve updates from
remote repository.' translated].
self setSystemVersionFromConfig: config.
self inform: ('Update completed.
- Current update number: ' translated, SystemVersion current
highestUpdate).!