[Monticello][SmaCC] Dependency problem?

Colin Putney cputney at wiresong.ca
Tue Mar 2 15:43:04 UTC 2004


On Feb 29, 2004, at 7:05 PM, Hernan Tylim wrote:

> Hi,
> 	Today I had a problem with the SmaCC-Development package and I
> though in giving feedback to the package maintainers.
>
> 	The problem I had I am not sure if it's a Monticello or a SmaCC
> problem. This is what happened:
>
> 	I downloaded a new Squeak 3.7a 5707 image and from the Package
> Loader I installed Monticello, then the Refactoring Browser and then 
> the
> SmaCC Development package.
> 	
> 	The Monticello and the Refactory package installed OK. But the
> SmaCC got interrupted with a "Could not find version:
> 'Refactory-dvf.21'" error.
>
> 	Investigating a little I found that the version of the
> Refactoring Browser that got installed was the Refactory-dvf.22.
>
> 	I don’t know if this is why I couldn't install SmaCC. But if it
> is I suggest to use Refactory-dvf.22 as dependency as Refactory-dvf.21
> it's not anymore available on SM.

This sounds like a Monticello problem, although since Avi wrote that 
bit of code, I can't say offhand whether it's a bug or a feature. I 
can't look at it until tonight, but will do so if Avi doesn't beat me 
to it.

> 	Another related thing. In one of my many attempts installing
> SmaCC I forgot to install Monticello and the SmaCC installed 
> flawlessly.
> Why was that? The MCZ Installer doesn’t do this dependency checking?

MCInstaller does do dependency checking, but handles this case 
explicitly. That is, it considers a dependency satisfied if the 
depended-upon item *or a descendent* is present.

I suspect this boils down to a difference in desired behaviour between 
development and deployment. When loading a package for development (ie, 
with Monticello), you probably want the exact versions of the 
dependencies loaded. This lets you, for example, go back to an earlier 
release to fix a bug, and know that you'll be debugging in exactly the 
same environment that your users are running. And typically, the 
required dependencies will be available from some repository.

On the other hand, for deployment you probably want to be a little more 
lenient about dependencies. MC dependencies aren't really appropriate 
for deployment anyway, and we should be using Göran's scheme for 
SqueakMap when it finally arrives.

I'm not sure what the fix here is. Would it be enough for MC to give 
the option, since it can't find Refactory-dvf.2, of using the 
possibly-acceptable-and-already-loaded Refactory-dvf.22?

Colin




More information about the Squeak-dev mailing list