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