manuallly controlling dependencies, at least for SAR

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Wed Nov 27 14:28:11 UTC 2002


"Jeff Sparkes" <jsparkes at databeacon.com> wrote:
> > > I'm attacking error reporting in the SMInstaller download/install 
> > > process right now; perhaps I could do something about what 
> > you found.
> > 
> > Ok, Ned - don't put too many hours into it though - I want to change
> > that stuff into dynamically registered services instead. But for 3.4 I
> > gladly take "fixes"!
> > 
> > And regarding the dependency stuff - we can add stuff like 
> > you showed -
> > and I did outline these things in a posting about "load scripts"
> > earlier. But I don't want people hacking too much for dependencies
> > because in 1.1 (or 2.0 or whatever) of SM (for Squeak 3.5 I guess) we
> > will add package releases and the API will be reworked to take these
> > things into account. I am working on this as we speak.
> 
> I'd like  to get some sort of dependency support into 3.4,
> hopefully without making more work for you Goran.
> 
> Something low cost that will help late adopters of 3.4 to easily 
> use SqueakMap with as few problems and questions as possible.

Again - you can do this today using "load scripts".

I don't want people to add stuff like this "inside" the packages though
because that will lead to problems later. The packages should be
"clean"! So, what to do then? Simply write a .st file that uses the
SqueakMap API and register that file as a "Dynamic/static load script"
on SM.

The deadsimple example would be:

"This load script installs the latest version of VersionNumber and
version 1.61 of DVS if that one is still around - yep, not very
intelligent - but hey, we have no releases yet."
| map |
map _ SMSqueakMap default loadUpdates.
map installPackageNamed: 'versionnumber'. "Just picks the newest one"

"...or make a check"
((map cardWithNameBeginning: 'dvs') currentVersion = '1.61')
	ifTrue:[map installPackageNamed: 'dvs']
	ifFalse:[self error: 'DVS has changed to a new version! Aaarrgh!']


regards, Göran




More information about the Squeak-dev mailing list