iSqueak

Bert Freudenberg bert at impara.de
Sun Jun 19 15:40:38 UTC 2005


Am 19.06.2005 um 16:17 schrieb Avi Bryant:

> On 6/18/05, Bert Freudenberg <bert at impara.de> wrote:
>
>> "upgrading" from a config map loads (*) all the packages in it, but
>> only if there is not a newer version already in the system. So after
>> updating you can be sure to have at least these versions.
>
> How is "newer" defined?  By the ancestry tree, or just by version
> number?  Hopefully the former, ie, you have to have that version or
> some descendant of it.

The former, yes. A config map is just a collection of  
MCVersionDependencies, and a dependency's version is loaded if the  
"dependency isFulfilledByAncestors not" (literally from  
MCConfiguration>>upgrade). (*)

The version number is only used when updating the config map from a  
repository's file listing, to quickly determine the latest version  
for each package. That version is retrieved and its UUID put into the  
config map.
When installing, the exact version specified in the config map is  
loaded, nothing else.

- Bert -

(*) Basically, an MCConfiguration is just the dependencies part of an  
MCVersion. It's the reification of that "versions without code"  
concept others have been using. It probably would be a good idea to  
unify both, or to factor out the dependencies from the versions. Is  
there anything planned along that direction in MC2?




More information about the Packages mailing list