Hi,
I need to test Voyage for a project in development but... installing Voyage on Pharo4 with Seaside already installed (from Pharo4 configuration) produces a broken Seaside installation. Voyage installation installs Seaside-core, which in turn break the installed Seaside. It is strange Seaside is needed by Voyage. Is there a way to get a recent Voyage installed without altering an existing Seaside set up? Thanks Hilaire -- Dr. Geo http://drgeo.eu |
Some more info.
Installing the configuration of Voyage from Pharo4 itself also breaks the installed Seaside, which was previously installed from the Pharo4 configuration too. Now when installing the Voyage configuration, it warns about installing Seaside-Core and the conflict with installed version, there are three options: Load, Merge, Cancel. All break the image. I don't see on Voyage configuration a Seaside dependency, so I guess one of its used configurations do so. -- Dr. Geo http://drgeo.eu |
Trying to understand this problem:
From my development image, I uninstalled all seaside, then I installed Voyage. This time it went fine AND Seaside-core *was not* installed during the process. What the heck is going on? When Seaside was present in my dev. image, installing Voyage make Seaside-core to be installed/upgraded (it was marked as dirty in Monticello, but no code change in fact) and it resulted in a broken Seaside installation?? Is it Metacello voodoo? -- Dr. Geo http://drgeo.eu |
Hilaire, You don't mention how you are loading Voyage. If I had the load expression and Transcript output from the load, I'd pretty much be able to tell pretty much what is going on. I have a couple of theories about what could be going wrong, but without the load expression and Transcript output, I'd only be guessing and of course there is the possibility that you've discovered a bug in Metacello:) If you'd like to get to the bottom of this, send me the load
expression and Transcript output and we'll go from there ... Dale On 02/17/2017 08:56 AM, Hilaire wrote:
Trying to understand this problem: From my development image, I uninstalled all seaside, then I installed Voyage. This time it went fine AND Seaside-core *was not* installed during the process. What the heck is going on? When Seaside was present in my dev. image, installing Voyage make Seaside-core to be installed/upgraded (it was marked as dirty in Monticello, but no code change in fact) and it resulted in a broken Seaside installation?? Is it Metacello voodoo? |
Hi Dale,
At first I was more thinking of a problem in the dependencies of Voyage, but then it seems not as with unload Seaside, Voyage get load. It did not help anyway becasue Seaside can't be reinstalled (Obsolete class syndrom hit there) Voyage is installed as: "VoyageMongo EstebanLorenzano.47" ConfigurationOfVoyageMongo load The transcript output in the attached document Thanks Le 17/02/2017 à 18:54, Dale Henrichs a écrit : > You don't mention how you are loading Voyage. If I had the load > expression and Transcript output from the load, I'd pretty much be able > to tell pretty much what is going on. > > I have a couple of theories about what could be going wrong, but without > the load expression and Transcript output, I'd only be guessing and of > course there is the possibility that you've discovered a bug in Metacello:) > > If you'd like to get to the bottom of this, send me the load expression > and Transcript output and we'll go from there ... > Dr. Geo http://drgeo.eu VoyageTranscript.txt (17K) Download Attachment |
Hilaire,
Thanks for the detailed information ... I see that you are using the old-style loading of Voyage (`ConfigurationOfVoyageMongo load`) ... when using this style of loading, Metacello has to guess about which projects are loaded and what version of the project is loaded. I is possible that the behavior you are seeing is a direct result of Metacello guessing wrong. I recommend that you load projects using the new style based on `Metacello new`: Metacello new configuration: 'Voyage'; version: '???'; repository: '???'; load When using this style of loading, Metacello maintains a registry of loaded projects and no longer makes guesses what is loaded in the image... From a cursory glance at the transcript output I see that version 3.2.1 of Seaside is being loaded and there appears to be a pretty much wholesale upgrade of Seaside as a bunch of new package versions are being loaded ... Do you happen to know what version of Seaside you originally loaded. I assume that you have an older version of Seaside loaded -- perhaps even Seaside 3.1? As to "Why is a Seaside load being triggered at all?", there is nothing obvious -- I am suspicious that the old-style loading is causing the problem, but I don't have any hard evidence, yet. I will have to start downloading specific configuration versions to complete my analysis and I have limited time left before I have to run some errands so I might not have answers until later this afternoon. If you want to run an experiment in the meantime, you could try using the new-style Metacello load, just to see what happens ... if Seaside is still upgraded, the Transcript output would be useful as it will give me additional information. If VoyageMongo loads correctly, then you are in business:) BTW, you should probably load the latest version of Metacello into your Pharo4.0 image[1] before using the new-style load. Dale [1] https://github.com/dalehenrich/metacello-work#pharo30-pharo40-and-pharo50 On 02/17/2017 10:14 AM, Hilaire wrote: > Hi Dale, > > At first I was more thinking of a problem in the dependencies of Voyage, > but then it seems not as with unload Seaside, Voyage get load. It did > not help anyway becasue Seaside can't be reinstalled (Obsolete class > syndrom hit there) > > Voyage is installed as: > > "VoyageMongo EstebanLorenzano.47" > ConfigurationOfVoyageMongo load > > The transcript output in the attached document > > Thanks > > Le 17/02/2017 à 18:54, Dale Henrichs a écrit : >> You don't mention how you are loading Voyage. If I had the load >> expression and Transcript output from the load, I'd pretty much be able >> to tell pretty much what is going on. >> >> I have a couple of theories about what could be going wrong, but without >> the load expression and Transcript output, I'd only be guessing and of >> course there is the possibility that you've discovered a bug in Metacello:) >> >> If you'd like to get to the bottom of this, send me the load expression >> and Transcript output and we'll go from there ... >> |
Hi Dale,
Thanks for your detailed suggestions. I follow instructions, here the report bellow. Installed newest Metacello, then Voyage with new style: Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; get. Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex | ex allow]; load. "Fetch from voyage repo at github" Metacello new repository: 'github://pharo-nosql/voyage/mc'; baseline: 'Voyage'; load: 'mongo tests'. It still have the same error, do an upgrade of Seaside. Enclosed is the transcript for both Metacello and Voyage install. Seaside installed was 3.1.x. I don't know the x digit, it is not documented in an obvious way :( Hope it helps Thanks Hilaire -- Dr. Geo http://drgeo.eu VoyageTranscript-NewestMetacello-NewestLoadStyle.txt (22K) Download Attachment |
Again, thanks for detailed info ...
The fact that you loaded Seaside3.1.x is good enough for my purposes .. the fact that Seaside3.2 is getting installed implies that there is a hard dependency on Seaside in one of the projects (Magritte3 perhaps?) ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around --- Can you get the package version of ConfigurationOfSeaside3 that's in the image after the `Metacello new` loads?... I'll have to dive into the configurations now ... Dale On 02/17/2017 12:44 PM, Hilaire wrote: > Hi Dale, > > Thanks for your detailed suggestions. I follow instructions, here the > report bellow. > > Installed newest Metacello, then Voyage with new style: > > Metacello new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > get. > Metacello new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > onConflict: [:ex | ex allow]; > load. > > "Fetch from voyage repo at github" > Metacello new > repository: 'github://pharo-nosql/voyage/mc'; > baseline: 'Voyage'; > load: 'mongo tests'. > > It still have the same error, do an upgrade of Seaside. > Enclosed is the transcript for both Metacello and Voyage install. > > Seaside installed was 3.1.x. I don't know the x digit, it is not > documented in an obvious way :( > > Hope it helps > > Thanks > > Hilaire > |
The configuration of seaside is the same before and after the
'Monticello new' loads. #278 It match the fact you don't see a ConfigurationOfSeaside3 download in the transcript. As I wrote in a previous email, if Seaside is not installed, the install of Voyage doesn't trigger a Seaside install. Don't know if that specific may help. Thanks Le 17/02/2017 à 22:15, Dale Henrichs a écrit : > The fact that you loaded Seaside3.1.x is good enough for my purposes > .. the fact that Seaside3.2 is getting installed implies that there is a > hard dependency on Seaside in one of the projects (Magritte3 perhaps?) > ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around > --- Can you get the package version of ConfigurationOfSeaside3 that's in > the image after the `Metacello new` loads?... I'll have to dive into the > configurations now ... -- Dr. Geo http://drgeo.eu |
In reply to this post by Dale Henrichs-3
Dale,
May be you don't want to waste anymore time on that. Thanks for your effort. I got a way to get Voyage installed in my development image. Not sure what wrong, because something is wrong[1], but I got the things installed, first update to Seaside, which break when upgrading the Seaside installed from the configuration browser, fix the seaside broken installation, then install Voyage which went fine. Did not test Voyage is working though. Hilaire [1]The Pharo4 configuration browser's Magritte3 is installing Seaside update, this should NOT happen. Now image comes with a Configuration Browser, if I understand correctly its intend, an user is expected those configurations to work happily together, but it looks like not, some configurations will request update breaking package previously installed from this configuration browser. May be it is more a policy problem on the quality of the configuration than a tool problem, a lot can be learn from Debian packaging. For example Debian stable is released only when quality is ok, don't know the details but they don't like to rush for release and people complain new stable release take too much time to emerge, the price for quality? For me Pharo fells too fuzzy, and it makes me very sceptical for reliability; may be not nice to write and to read but it is how I fell. I may be biased and I don't mean bad to anyone writing this, I know how quality is hard to achieve and Pharo teams did great endeavour in many aspects. Le 17/02/2017 à 22:15, Dale Henrichs a écrit : > Again, thanks for detailed info ... > > The fact that you loaded Seaside3.1.x is good enough for my purposes > .. the fact that Seaside3.2 is getting installed implies that there is a > hard dependency on Seaside in one of the projects (Magritte3 perhaps?) > ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around > --- Can you get the package version of ConfigurationOfSeaside3 that's in > the image after the `Metacello new` loads?... I'll have to dive into the > configurations now ... -- Dr. Geo http://drgeo.eu |
Hilaire
I do not understand what Voyage would be dependent from Seaside. Stef On Sat, 18 Feb 2017 16:32:48 +0100, Hilaire <[hidden email]> wrote: > Dale, > > May be you don't want to waste anymore time on that. Thanks for your > effort. I got a way to get Voyage installed in my development image. > > Not sure what wrong, because something is wrong[1], but I got the things > installed, first update to Seaside, which break when upgrading the > Seaside installed from the configuration browser, fix the seaside broken > installation, then install Voyage which went fine. Did not test Voyage > is working though. > > Hilaire > > [1]The Pharo4 configuration browser's Magritte3 is installing Seaside > update, this should NOT happen. > Now image comes with a Configuration Browser, if I understand correctly > its intend, an user is expected those configurations to work happily > together, but it looks like not, some configurations will request update > breaking package previously installed from this configuration browser. > May be it is more a policy problem on the quality of the configuration > than a tool problem, a lot can be learn from Debian packaging. For > example Debian stable is released only when quality is ok, don't know > the details but they don't like to rush for release and people complain > new stable release take too much time to emerge, the price for quality? > For me Pharo fells too fuzzy, and it makes me very sceptical for > reliability; may be not nice to write and to read but it is how I fell. > I may be biased and I don't mean bad to anyone writing this, I know how > quality is hard to achieve and Pharo teams did great endeavour in many > aspects. > > > > > Le 17/02/2017 à 22:15, Dale Henrichs a écrit : >> Again, thanks for detailed info ... >> >> The fact that you loaded Seaside3.1.x is good enough for my purposes >> .. the fact that Seaside3.2 is getting installed implies that there is a >> hard dependency on Seaside in one of the projects (Magritte3 perhaps?) >> ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around >> --- Can you get the package version of ConfigurationOfSeaside3 that's in >> the image after the `Metacello new` loads?... I'll have to dive into the >> configurations now ... > -- Using Opera's mail client: http://www.opera.com/mail/ |
In reply to this post by HilaireFernandes
On 2/18/17 7:32 AM, Hilaire wrote: > Dale, > > May be you don't want to waste anymore time on that. Thanks for your > effort. I got a way to get Voyage installed in my development image. Well I am still curious why you are having trouble ... > > Not sure what wrong, because something is wrong[1], but I got the things > installed, first update to Seaside, which break when upgrading the > Seaside installed from the configuration browser, fix the seaside broken > installation, then install Voyage which went fine. Did not test Voyage > is working though. I am glad that you've found a formula ... But I am still curious ... I've looked at the configurations and I don't see anything odd ... as you have observed, without Seaside pre-installed Voyage/Magritte will not cause Seaside to get loaded ... In addition if just Seaside is installed, there is no reason I can see that Voyage/Magritte would cause Seaside to be updated ... UNLESS, Magritte-Seaside is installed. Below you mention that Magritte3 from ConfigurationBrowser is installing Seaside update as well, and that would be consistent with the Magritte-Seaside package being loaded for some reason ... I would be interested to see how you loaded Seaside in the first place. Were you loading Magritte first? I am wondering about how Magritte-Seaside package is getting installed ... I have some ideas about better ways to solve your installation problem, but I've run out of time tonight ... I will send more mail tomorrow... Dale > Hilaire > > [1]The Pharo4 configuration browser's Magritte3 is installing Seaside > update, this should NOT happen. > Now image comes with a Configuration Browser, if I understand correctly > its intend, an user is expected those configurations to work happily > together, but it looks like not, some configurations will request update > breaking package previously installed from this configuration browser. > May be it is more a policy problem on the quality of the configuration > than a tool problem, a lot can be learn from Debian packaging. For > example Debian stable is released only when quality is ok, don't know > the details but they don't like to rush for release and people complain > new stable release take too much time to emerge, the price for quality? > For me Pharo fells too fuzzy, and it makes me very sceptical for > reliability; may be not nice to write and to read but it is how I fell. > I may be biased and I don't mean bad to anyone writing this, I know how > quality is hard to achieve and Pharo teams did great endeavour in many > aspects. > > > > > Le 17/02/2017 à 22:15, Dale Henrichs a écrit : >> Again, thanks for detailed info ... >> >> The fact that you loaded Seaside3.1.x is good enough for my purposes >> .. the fact that Seaside3.2 is getting installed implies that there is a >> hard dependency on Seaside in one of the projects (Magritte3 perhaps?) >> ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around >> --- Can you get the package version of ConfigurationOfSeaside3 that's in >> the image after the `Metacello new` loads?... I'll have to dive into the >> configurations now ... |
In reply to this post by HilaireFernandes
Hilaire,
I mentioned last night that I thought that there was a better solution to your problem and I think that if you load the latest Metacello and then lock Seaside3: Metacello image configuration: 'Seaside3'; version: '3.1.5'; "most recent 3.1.x version" lock. Then load Voyage, you shouldn't have the problem with Seaside being updated to 3.2. Seaside does not support upgrade across minor version numbers like 3.1 to 3.2 ... if the upgrade to 3.2 was allowed, you wouldn't have this particular problem. The Metacello lock command was invented so that a developer could take ownership of the version of the projects used in their image. It is not always desirable to upgrade to a later version of a project without extensive testing (whether or not the actual load to the new version is successful), so the lock command allows you to control which versions of projects are loaded by Metacello by overriding the choices made by other developers ... You can even lock versions of projects that are not yet loaded. I am still curious as to my Seaside and Magritte are linked together --- I suspect that somehow the Magritte-Seaside package got loaded and once that happened you were off to the races. Dale [1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#locking On 2/18/17 7:32 AM, Hilaire wrote: > Dale, > > May be you don't want to waste anymore time on that. Thanks for your > effort. I got a way to get Voyage installed in my development image. > > Not sure what wrong, because something is wrong[1], but I got the things > installed, first update to Seaside, which break when upgrading the > Seaside installed from the configuration browser, fix the seaside broken > installation, then install Voyage which went fine. Did not test Voyage > is working though. > > Hilaire > > [1]The Pharo4 configuration browser's Magritte3 is installing Seaside > update, this should NOT happen. > Now image comes with a Configuration Browser, if I understand correctly > its intend, an user is expected those configurations to work happily > together, but it looks like not, some configurations will request update > breaking package previously installed from this configuration browser. > May be it is more a policy problem on the quality of the configuration > than a tool problem, a lot can be learn from Debian packaging. For > example Debian stable is released only when quality is ok, don't know > the details but they don't like to rush for release and people complain > new stable release take too much time to emerge, the price for quality? > For me Pharo fells too fuzzy, and it makes me very sceptical for > reliability; may be not nice to write and to read but it is how I fell. > I may be biased and I don't mean bad to anyone writing this, I know how > quality is hard to achieve and Pharo teams did great endeavour in many > aspects. > > > > > Le 17/02/2017 à 22:15, Dale Henrichs a écrit : >> Again, thanks for detailed info ... >> >> The fact that you loaded Seaside3.1.x is good enough for my purposes >> .. the fact that Seaside3.2 is getting installed implies that there is a >> hard dependency on Seaside in one of the projects (Magritte3 perhaps?) >> ... odd that ConfigurationOfSeaside3 wasn't downloaded this time around >> --- Can you get the package version of ConfigurationOfSeaside3 that's in >> the image after the `Metacello new` loads?... I'll have to dive into the >> configurations now ... |
In reply to this post by HilaireFernandes
On 18/02/17 16:32, Hilaire wrote:
update, this should NOT happen. > Now image comes with a Configuration Browser, if I understand correctly > its intend, an user is expected those configurations to work happily > together, but it looks like not, some configurations will request update > breaking package previously installed from this configuration browser. That is probably its intent, but there is nothing in place making that likely. The classic example is the combination of Magritte and Seaside. Both can be used independently, and there is no way to infer that you are likely to want the magritte-seaside group when you install the combination. What works well is installing one configuration in a fresh image. > May be it is more a policy problem on the quality of the configuration > than a tool problem, a lot can be learn from Debian packaging. I don't have that impression. They seem to have the same problem with old and less-used stuff. Stephan |
In reply to this post by Dale Henrichs-3
On 19/02/17 18:50, Dale Henrichs wrote:
> Hilaire, > > I mentioned last night that I thought that there was a better solution > to your problem and I think that if you load the latest Metacello and > then lock Seaside3: > > Metacello image > configuration: 'Seaside3'; > version: '3.1.5'; "most recent 3.1.x version" > lock. > > Then load Voyage, you shouldn't have the problem with Seaside being > updated to 3.2. Voyage needs a newer Grease, is that backwards compatible (I forgot)? Stephan |
In reply to this post by Stephan Eggermont-3
Le 20/02/2017 à 08:19, Stephan Eggermont a écrit :
>> May be it is more a policy problem on the quality of the configuration >> than a tool problem, a lot can be learn from Debian packaging. > > I don't have that impression. They seem to have the same problem with > old and less-used stuff. As long as you don't mix old and new it is fine, and it is how is designed Debian. In the contrarty, I had the felling that Pharo4 configurations were mixing old and new, and of course it brings problem. Hilaire -- Dr. Geo http://drgeo.eu |
In reply to this post by Dale Henrichs-3
I will try to get a look at your lock feature, and report.
Thanks Hilaire Le 19/02/2017 à 18:50, Dale Henrichs a écrit : > I mentioned last night that I thought that there was a better solution > to your problem and I think that if you load the latest Metacello and > then lock Seaside3: -- Dr. Geo http://drgeo.eu |
In reply to this post by Dale Henrichs-3
Dale,
I try out the lock feature on an archived image, the seaside uprade was still operating :( I updated this image with latest Metacello, then I locked it as: Metacello image configuration: 'Seaside3'; version: '3.1.4.2'; "most recent 3.1.x version" lock. It was the version returned by this command: ConfigurationOfSeaside3 new project currentVersion By the way it will make sense, and will be easily discoverable to have a short cut as "ConfigurationOfSeaside3 currentVersion" I don't remember how I installeed Seaside in the first place, I think it was from the configuration browser. Hilaire Le 19/02/2017 à 18:50, Dale Henrichs a écrit : > I mentioned last night that I thought that there was a better solution > to your problem and I think that if you load the latest Metacello and > then lock Seaside3: > > Metacello image > configuration: 'Seaside3'; > version: '3.1.5'; "most recent 3.1.x version" > lock. > > Then load Voyage, you shouldn't have the problem with Seaside being > updated to 3.2. Seaside does not support upgrade across minor version > numbers like 3.1 to 3.2 ... if the upgrade to 3.2 was allowed, you > wouldn't have this particular problem. -- Dr. Geo http://drgeo.eu |
In reply to this post by Stephan Eggermont-3
On 02/19/2017 11:21 PM, Stephan Eggermont wrote: > On 19/02/17 18:50, Dale Henrichs wrote: >> Hilaire, >> >> I mentioned last night that I thought that there was a better solution >> to your problem and I think that if you load the latest Metacello and >> then lock Seaside3: >> >> Metacello image >> configuration: 'Seaside3'; >> version: '3.1.5'; "most recent 3.1.x version" >> lock. >> >> Then load Voyage, you shouldn't have the problem with Seaside being >> updated to 3.2. > > Voyage needs a newer Grease, is that backwards compatible (I forgot)? > |
In reply to this post by HilaireFernandes
On 02/20/2017 09:08 AM, Hilaire wrote: > Dale, > > I try out the lock feature on an archived image, the seaside uprade was > still operating :( Hmm, do you think it would be possible to share your image with me ... it's bad enough that the Seaside is getting updated in a mysterious manner, but now that Metacello is ignoring locks that is even stranger ... I'm imagining that Metacello is guessing wrong about which version of Seaside is loaded when the Metacello registry is primed (when the new version of Metacello is installed) ... The registry works best when it is used for all loads from the very beginning and that is definitely not the case in you situation, but there are enough odd things going on that I'd like to see the image for myself and at least characterize the problems that you are seeing > > I updated this image with latest Metacello, then I locked it as: > > Metacello image > configuration: 'Seaside3'; > version: '3.1.4.2'; "most recent 3.1.x version" > lock. > > It was the version returned by this command: > ConfigurationOfSeaside3 new project currentVersion > > By the way it will make sense, and will be easily discoverable to have a > short cut as "ConfigurationOfSeaside3 currentVersion" the information from the registry by doing the following: Metacello image project: 'Seaside'; list > I don't remember how I installeed Seaside in the first place, I think it > was from the configuration browser. > Yeah and I don't know what the configuration browser does when it loads ... I'm hoping that you can share the image with me and I can look at it in detail ... The registry is supposed to eliminate all of the guess work, but I don't have that much experience with the conversion between the old and the new Metaceloo ... I started working exclusively with the new Metacello about 4 years ago and have been waiting for a long time for Pharo to make the conversion ... I am interested in trying to make it a smooth transition ... Dale |
Free forum by Nabble | Edit this page |