You could also subclass PharoFilesOpener with NoPharoFilesOpener, override 
#sourcesFileOrNil and #changesFileOrNil to just return nil, and #install it as 
Default. And hope that the callers can deal with the nils.

> On 7 Jun 2017, at 09:38, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Andreas,
> 
> What if you subclassed ChangesLog, say with something called NoChangesLog and 
> installed that as its DefaultInstance (as accessed by #default), with an 
> #install class side message.
> 
> Then override #logChange: and #logSnapshot:andQuit: to do nothing.
> 
> No need to subscribe to system announcements.
> 
> To install, you do
> 
>  NoChangesLog install.
> 
> To get back, you do
> 
>  ChangesLog reset.
> 
> I think that could/would work (the code in System-Sources was refactored 
> quite well).
> 
> HTH,
> 
> Sven
> 
>> On 7 Jun 2017, at 04:19, Andreas Sunardi <a.suna...@gmail.com> wrote:
>> 
>> For now, in my 'deployed' image, I have:
>> 1. Disabled SourceFilesArray >> forceChangesToDisk
>> I did not find any code branch that would avoid this, so for now I just made 
>> it do nothing. Maybe I should disable ChangesLog >> logChange: instead.
>> 
>> 2. Disabled PharoFilesOpener >> changesFileOrNil
>> Same story. But this only causes warning get printed out, not error. 
>> Disabling it removes the warning message.
>> 
>> 3. Set changesFileStream to nil (SourceFiles changesFileStream: nil).
>> Some code does have guard against nil value for this changes stream.
>> 
>> This works for me if I do not have the changes file with the image. If I 
>> have the changes file and it's read-only, that's a different problem.
>> 
>> It seems that this was possible before, judging from the older links I found 
>> in my original email and the existence of some guards against non-existence 
>> changes file.
>> 
>> I'll check those links and perhaps see if I can be helpful there, but I 
>> right now have delivery to make. And I can't wait to try Pharo 6 too.
>> 
>> --
>> Andreas
>> 
>> 
>> On Tue, Jun 6, 2017 at 6:37 PM, Ben Coman <b...@openinworld.com> wrote:
>> 
>> 
>> On Wed, Jun 7, 2017 at 3:23 AM, Andreas Sunardi <a.suna...@gmail.com> wrote:
>> Hi Stef,
>> 
>> I can't have changes file bundled with the tool because the tool is 
>> installed in a centralized location in my network and multiple users will 
>> run it. So the image is in a central location and read-only and so is the 
>> changes file (if I must have a changes file). The tool is only a processor. 
>> It does not need to keep/save its state.
>> 
>> Hence, I cannot have multiple users writing to that one and the same changes 
>> file.
>> 
>> I'm trying to dissect the call chain to ChangesLog and try to cut it so 
>> Pharo won't write to the changes file. I'm sure I should not do this. There 
>> must be a better way.
>> 
>> I guess this use case just hasn't been critical for other people (there are 
>> lots of competing priorities) and they've found ways of working around it, 
>> like making your network located tool a script that copies itself itself to 
>> a use folder and run from there.  But of course it would be better for Pharo 
>> to work cleanly without a changes file. To make it better, someone has to do 
>> it, so feel free to propose some code changes (with discussion of such on 
>> pharo-dev list).  
>> 
>> Here is one hint (something related I worked on recently)...
>> https://pharo.fogbugz.com/f/cases/20074/Red-pane-of-death-when-sources-file-missing
>> To view the changes, open image 60494 (easiest using PharoLauncher)
>> and load the slice.
>> 
>> Filtering the issue tracker on "changes file" pops up a few other 
>> possibilities (I haven't reviewed them, and you might find others)
>> https://pharo.fogbugz.com/f/cases/11204/Crash-if-changes-file-is-not-writable
>> https://pharo.fogbugz.com/f/cases/11426/Extract-the-logic-that-opens-the-sources-and-changes-files
>> 
>> cheers -ben
>> 
>> 
>> 
>> On Tue, Jun 6, 2017 at 11:55 AM, Stephane Ducasse <stepharo.s...@gmail.com> 
>> wrote:
>> We started to work on making the system ready to stop using these files.
>> There are two things.
>> - the changes are a tape that logs what you are doing and right now
>> the system is not done to accept not to log
>> So I imagine that you can remove the changes file but then do not compile 
>> code.
>> - I do not get the "so I can't have changes file bundled with the tool."
>> you do not have a bat or script that launches the application that is
>> somewhere in a folder where you have the vm and the image? you could
>> have the changes file there.
>> 
>> We are interested in your scenario because last year I got a guy
>> working on making pharo silent. I do not know if its changes got
>> integrated into pharo.
>> This is really something that we want to have.
>> - having sources and changes in a specific location
>> - having no source and no changes (even if it means lose your code).
>> - ...
>> 
>> Stef
>> 
>> On Tue, Jun 6, 2017 at 8:14 PM, Andreas Sunardi <a.suna...@gmail.com> wrote:
>>> Sorry to bring this up again. But it turns out that I had the image
>>> directory writable by myself, so it created a new changes file. That's why
>>> Pharo didn't complain about missing changes file. When I removed write
>>> permission in the tool installation, Pharo gives error for not having or not
>>> able to write to changes file.
>>> 
>>> I guess I'm back to the problem how to deploy a tool without changes file. I
>>> have multiple users that will be running this tool, which is installed in a
>>> centralized site, so I can't have changes file bundled with the tool.
>>> 
>>> On Mon, Jun 5, 2017 at 5:47 PM, Andreas Sunardi <a.suna...@gmail.com> wrote:
>>>> 
>>>> I had my changes and sources files in the bundle but has their write
>>>> permission removed, and that causes the error. Simply deploying the tool
>>>> without the changes file seems to fix it. Pharo5 doesn't complain if the
>>>> changes file isn't there.
>>>> 
>>>> However, without the sources file, I get this warning that pharo cannot
>>>> locate the sources file. Including the sources file in the deployed tool is
>>>> fine with me.
>>>> 
>>>> So, I think that's my solution. Thanks!
>>>> 
>>>> 
>>>> On Mon, Jun 5, 2017 at 5:07 PM, Andreas Sunardi <a.suna...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> I found this StackOverflow question:
>>>>> 
>>>>> https://stackoverflow.com/questions/14737695/is-it-possible-to-deploy-a-pharo-image-without-changes-and-sources-files/14747328
>>>>> 
>>>>> and this older forum thread:
>>>>> 
>>>>> https://www.mail-archive.com/pharo-project@lists.gforge.inria.fr/msg21170.html
>>>>> 
>>>>> I'm using Pharo5.0 and neither of these options is available anymore.
>>>>> What is the new way to do this?
>>>>> 
>>>>> --
>>>>> Andreas Sunardi
>>>> 
>>>> 
>>> 
>> 
>> 
>> 
>> 
> 


Reply via email to