Hi All,
I am trying to use the One-Click image as a one stop vm shop. I took the pier1.2 one click image, and removed the image.
My first use-case is launching the vm with the image in the same directory as the .app. This works brilliantly, but I don't seem to be able to provide the sources file inside the .app, the one in ./Contents/Resources is ignored. I think that the same is true if I launch via drag and drop on the mac.
My second use case is to be able to put the image, in the top level directory of the .app packages.
any thoughts on how to achieve either of these.
Keith
So remind me why you want to do this.
The one-click plugins are usually assembled by a third party and contain a mixture of things, there could be or could not be the most recent plugins, or VM in the set of folders. On the macintosh the info.plist could be altered and not actually have a version number that matches what version the VM is.
However if you wish to stuff the sources in the *.app/Contents/Resources you would have to change the Smalltalk code where it hunts for the sources file and have it hunt where you think the sources file should be. This is not a function of the VM, it's a Smalltalk code problem.
On 2010-01-26, at 2:19 PM, keith wrote:
Hi All,
I am trying to use the One-Click image as a one stop vm shop. I took the pier1.2 one click image, and removed the image.
My first use-case is launching the vm with the image in the same directory as the .app. This works brilliantly, but I don't seem to be able to provide the sources file inside the .app, the one in ./Contents/Resources is ignored. I think that the same is true if I launch via drag and drop on the mac.
My second use case is to be able to put the image, in the top level directory of the .app packages.
any thoughts on how to achieve either of these.
Keith
-- =========================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
So remind me why you want to do this.
I wanted to be able to distribute a vm for Cuis, which is cross platform, and runs with a different icon and name in the menubar. The idea being to distribute everything except the image/changes, as a single zip file. The fact that it doesn't pick up the sources file from anywhere within the .app package, put the spanner in the works, but you have pointed me in the right direction.
The image/changes file can be combined into one if one felt the need, so Cuis becomes "normal" in the sense of having a document (the image) and an application.
The one-click plugins are usually assembled by a third party and contain a mixture of things, there could be or could not be the most recent plugins, or VM in the set of folders. On the macintosh the info.plist could be altered and not actually have a version number that matches what version the VM is.
Secondly once I have this "universal vm" under scm with bazaar, I can keep it up to date easily everywhere it is deployed, irrespective of what vms are installed on the base machine.
Thirdly, using bazaar, we have a starting point for users to branch, forming derived vms, with different plugins, different icons for the dock, or classic one-click behaviour with the image/changes included. The branch can continue to merge in updates as they occur.
Finally, the ./Contents/Resources folder is looking pretty cluttered, and I tend to have enough clutter of my own. So I wanted to be able to have the working directory alongside the vm.app , or just inside it for one-click behaviour.
However if you wish to stuff the sources in the *.app/Contents/ Resources you would have to change the Smalltalk code where it hunts for the sources file and have it hunt where you think the sources file should be. This is not a function of the VM, it's a Smalltalk code problem.
cheers
Keith
On 27 Jan 2010, at 16:31, keith wrote:
John wrote:
So remind me why you want to do this.
I wanted to be able to distribute a vm for Cuis, which is cross platform, and runs with a different icon and name in the menubar. The idea being to distribute everything except the image/changes, as a single zip file. The fact that it doesn't pick up the sources file from anywhere within the .app package, put the spanner in the works, but you have pointed me in the right direction.
The image/changes file can be combined into one if one felt the need, so Cuis becomes "normal" in the sense of having a document (the image) and an application.
The one-click plugins are usually assembled by a third party and contain a mixture of things, there could be or could not be the most recent plugins, or VM in the set of folders. On the macintosh the info.plist could be altered and not actually have a version number that matches what version the VM is.
Secondly once I have this "universal vm" under scm with bazaar, I can keep it up to date easily everywhere it is deployed, irrespective of what vms are installed on the base machine.
Thirdly, using bazaar, we have a starting point for users to branch, forming derived vms, with different plugins, different icons for the dock, or classic one-click behaviour with the image/changes included. The branch can continue to merge in updates as they occur.
Finally, the ./Contents/Resources folder is looking pretty cluttered, and I tend to have enough clutter of my own. So I wanted to be able to have the working directory alongside the vm.app , or just inside it for one-click behaviour.
However if you wish to stuff the sources in the *.app/Contents/ Resources you would have to change the Smalltalk code where it hunts for the sources file and have it hunt where you think the sources file should be. This is not a function of the VM, it's a Smalltalk code problem.
Unfortunately, I don't know where the sources should be, because there appears to be no function that will tell you the path into the .app tree which is where I wanted to put them. #primVmPath tells you the parent directory, but not the name of the .app
any ideas?
Keith
FileDirectory>>startUp
It sets the default directory based on perhaps what the vm things the directory path should be. It calls openSourceFiles which has the responsibility of figure out out where the changes and source files are.
The vm only knows what the current working directory is/was when launched and where the image file and executable is. It has no knowledge of the changes fie and the sources file
On 2010-01-30, at 7:32 AM, keith wrote:
Unfortunately, I don't know where the sources should be, because there appears to be no function that will tell you the path into the .app tree which is where I wanted to put them. #primVmPath tells you the parent directory, but not the name of the .app
any ideas?
Keith
-- =========================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
FileDirectory>>startUp
It sets the default directory based on perhaps what the vm things the directory path should be. It calls openSourceFiles which has the responsibility of figure out out where the changes and source files are.
The vm only knows what the current working directory is/was when launched and where the image file and executable is. It has no knowledge of the changes fie and the sources file
Ok, but the executable is in vm.app/Content/MacOS/squeak it doesnt seem to know that. Does it have any knowledge of where the plugins are?
regards
Keith
Method primVmPath returns where the vm is Method primImageName returns where the image is
Where plugins are searched for is up to the VM. See http://isqueak.org/ioLoadModule
On 2010-01-30, at 11:43 AM, keith wrote:
FileDirectory>>startUp
It sets the default directory based on perhaps what the vm things the directory path should be. It calls openSourceFiles which has the responsibility of figure out out where the changes and source files are.
The vm only knows what the current working directory is/was when launched and where the image file and executable is. It has no knowledge of the changes fie and the sources file
Ok, but the executable is in vm.app/Content/MacOS/squeak it doesnt seem to know that. Does it have any knowledge of where the plugins are?
regards
Keith
-- =========================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
vm-dev@lists.squeakfoundation.org