OSProcess status

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
36 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
On Sat, Dec 21, 2013 at 04:26:02PM -0300, Juan Vuletich wrote:

> Hi Dave,
>
> (below)
> On 12/18/2013 8:55 PM, David T. Lewis wrote:
> >Hi Juan,
> >
> >On Wed, Dec 18, 2013 at 12:45:03AM -0300, Juan Vuletich wrote:
> >>With the appropriate compatibility package and / or some tweaks to Cuis
> >>(I described them elsewhere in this thread), it looks like you could
> >>support Cuis with exactly the same code as Squeak.
> >Yes I agree.
> >
> >>Given that extracting the code from a MCZ file is not hard, I could
> >>write a simple tool to allow converting an MCZ file to .pck.st format.
> >>This tool would also convert newline characters (cr, crlf, lf) to Cuis
> >>default: lf.
> >I think this tool would be useful, and it would make it easier to bring
> >existing packages into Cuis.
> >
> >>This means that if your code specifically requires a cr or crlf string
> >>or character, instead of including them in a string literal, you would
> >>need to use #cr, #lf or #crLf. The good part is that your code would be
> >>line ending agnostic. BTW, to require a default line terminator, I'd
> >>suggest adding #newLineString to Squeak, answering the same as #cr (in
> >>Cuis it answers #lf).
> >Yes I agree, and it would be a good thing for me to make those changes.
> >
> >>Would all this be ok for you? If so, all we need to do is to run this
> >>tool when you publish a new version of OSProcess.MCZ, and publish the
> >>result to the Cuis GitHub repo.
> >Yes this is ok, I like this approach.
> >
> >I should mention also that running OSProcess in Cuis helps to find bugs
> >in OSProcess. For example, OSProcess class>>isUnix was broken, and I did
> >not notice the problem until I loaded it in Cuis. So this is is a good
> >thing.
> >
> >Dave
> >
>
> This is nice to know, thanks!
>
> I've just pushed to github 18 updates, and 3 updated and 1 new package.
> Some of the updates and the new package are to support OSProcess code in
> Cuis. Please check it, and let me know if I forgot about something.
>

Hi Juan,

I just tried loading your latest updates, after figuring out how to use
git for the first time. I'm afraid I'm a slow learner, but it was worthwhile,
and I think I will learn to like git quit a lot once I get used to it.

I installed the SqueakCompatibility and Network-Kernel packages, then filed
in sources from OSProcess-dtl.87.mcz. I used the unix tr command to convert
line endings to <lf>, and that works without any problem.

The only thing that was missing at that point was WriteStream>>cr and WriteStream>>lf
from Squeak. If you could add those to SqueakCompatibility, that would be
everything required to load and run OSProcess in Cuis without modification.

Most OSProcess tests run and pass, and the few failures are intermittent,
and so are very likely associated with the OSProcess tests themselves and
not necessarily Cuis. Overall that is very good, and it means that OSProcess
will work fine on Cuis for all practical uses (the tests are a real torture
test with lots of multiprocessing and potential timing problems).

I did manage to lock up my image once while trying to debug one of the tests,
and I also crashed my VM once due to an X11 error that is probably related
to multiple VM processes talking to X11 display on the same socket (so again,
probably not a Cuis problem, and probably not a practical concern for most
people). So save your image before running the OSProcess tests, just in case.
Also, it is best to use an interpreter VM for running the tests, as Cog is
missing some support required by the test suite. I am testing on Linux, and
I expect most things to work on OS X also.  Only a few things will work on
Windows, so please do expect the tests to pass there.

I have an account on github (I am [hidden email]). I will try making
an OSProcess package there when I get some time to educate myself (yes I
know it is easy, I just have not done it before). I am not sure if this
should be one package (OSProcess), or if it should be OSProcess-base,
OSProcess-unix, OSProcess-tests, etc.

Thanks for doing the SqueakCompatibility package, it works great.

Dave


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

garduino
Great news David!

Then I only need to wait your publication on GitHub to start playing with Banyan!


2013/12/22 David T. Lewis <[hidden email]>

I have an account on github (I am [hidden email]). I will try making
an OSProcess package there when I get some time to educate myself (yes I
know it is easy, I just have not done it before). I am not sure if this
should be one package (OSProcess), or if it should be OSProcess-base,
OSProcess-unix, OSProcess-tests, etc.


May be is better only one package, taking in account the multiplatform nature of Cuis (as Squeak, of course) and a separate package for tests (to not include it in production deploys), anyway, I saw different approaches in the different packages published.
 
Cheers.
Germán.

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

Juan Vuletich-4
In reply to this post by David T. Lewis
Hi Dave,

On 12/22/2013 7:58 PM, David T. Lewis wrote:
> Hi Juan,
>
> ...
>
> The only thing that was missing at that point was WriteStream>>cr and WriteStream>>lf
> from Squeak. If you could add those to SqueakCompatibility, that would be
> everything required to load and run OSProcess in Cuis without modification.

Just added them to the base image.

> Most OSProcess tests run and pass, and the few failures are intermittent,
> and so are very likely associated with the OSProcess tests themselves and
> not necessarily Cuis. Overall that is very good, and it means that OSProcess
> will work fine on Cuis for all practical uses (the tests are a real torture
> test with lots of multiprocessing and potential timing problems).

Good to know!

> I did manage to lock up my image once while trying to debug one of the tests,
> and I also crashed my VM once due to an X11 error that is probably related
> to multiple VM processes talking to X11 display on the same socket (so again,
> probably not a Cuis problem, and probably not a practical concern for most
> people). So save your image before running the OSProcess tests, just in case.
> Also, it is best to use an interpreter VM for running the tests, as Cog is
> missing some support required by the test suite. I am testing on Linux, and
> I expect most things to work on OS X also.  Only a few things will work on
> Windows, so please do expect the tests to pass there.

Will test on Mac. Thanks!

> I have an account on github (I am [hidden email]). I will try making
> an OSProcess package there when I get some time to educate myself (yes I
> know it is easy, I just have not done it before). I am not sure if this
> should be one package (OSProcess), or if it should be OSProcess-base,
> OSProcess-unix, OSProcess-tests, etc.

I'd suggest just one package. When someone needs this stuff, it makes
sense to have all of it at hand, to learn, etc.

> Thanks for doing the SqueakCompatibility package, it works great.
>
> Dave
>

Thank you for supporting Cuis.

Cheers,
Juan Vuletich

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
On Sat, Dec 28, 2013 at 07:59:45PM -0300, Juan Vuletich wrote:

>
> >I have an account on github (I am [hidden email]). I will try making
> >an OSProcess package there when I get some time to educate myself (yes I
> >know it is easy, I just have not done it before). I am not sure if this
> >should be one package (OSProcess), or if it should be OSProcess-base,
> >OSProcess-unix, OSProcess-tests, etc.
>
> I'd suggest just one package. When someone needs this stuff, it makes
> sense to have all of it at hand, to learn, etc.
>

I made a package called "OSProcess" and saved the OSProcess.pck.st in a
new github repository called "Cuis-Smalltalk-OSProcess".

This is the first time I have used github, so please let me know if this
works as expected.

Thanks,
Dave


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

KenDickey
On Sun, 29 Dec 2013 15:05:45 -0500
"David T. Lewis" <[hidden email]> wrote:
 
> I made a package called "OSProcess" and saved the OSProcess.pck.st in a
> new github repository called "Cuis-Smalltalk-OSProcess".
>
> This is the first time I have used github, so please let me know if this
> works as expected.

Dave,

I must first admit knowing _nothing_ about OSProcess, so following remarks may be less than intelligent.

The Cuis-Smalltalk-OSProcess GIT project cloned just fine.

I made some guesses about what the OSProcess package requires.

=================In Workspace:
"OSProcess"
Feature require: 'FFI'.
Feature require: 'SqueakCompatibility'.
Feature require: 'Network-Kernel'.
Feature require: 'OSProcess'.
============================

There were some test failures.  In particular:

UnixProcessTestCase
        forkSqueak requires XDisplayControlPlugin

AioEcentHandlerTestCase
        aio event forwarding not supported


Note that I am running Puppy Linux (5.6.1 Precise) -- think Ubuntu.


Assuming I got the requirements right, you can edit OSProcess.pck.st to add them.

Change:

======...
!provides: 'OSProcess' 1 0!
!classDefinition: #AioEventHandler category: #'OSProcess-AIO'!
======...

To:

======...
!provides: 'OSProcess' 1 0!
!requires: 'FFI' 1 4 nil!
!requires: 'SqueakCompatibility' 1 4 nil!
!requires: 'Network-Kernel' 1 1 nil!
!classDefinition: #AioEventHandler category: #'OSProcess-AIO'!
======...

That is, just add the !requires:... lines after the !provides:... line.


Hmmm..  We really need a tool for this.  I will try to fit something to the Installed Packages browser to edit requirements when I get time.


Let me know of anything else I can do to help,
-KenD
--
Ken [dot] Dickey [at] whidbey [dot] com

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
-KenD
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:

> On Sun, 29 Dec 2013 15:05:45 -0500
> "David T. Lewis" <[hidden email]> wrote:
>  
> > I made a package called "OSProcess" and saved the OSProcess.pck.st in a
> > new github repository called "Cuis-Smalltalk-OSProcess".
> >
> > This is the first time I have used github, so please let me know if this
> > works as expected.
>
> Dave,
>
> I must first admit knowing _nothing_ about OSProcess, so following remarks may be less than intelligent.
>
> The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
>

On the contrary, very helpful - thanks!


> I made some guesses about what the OSProcess package requires.
>
> =================In Workspace:
> "OSProcess"
> Feature require: 'FFI'.
> Feature require: 'SqueakCompatibility'.
> Feature require: 'Network-Kernel'.
> Feature require: 'OSProcess'.
> ============================
>

I updated it to specify SqueakCompatibility and Network-Kernel. The network
package is not strictly required, but it is needed for some of the unit
tests and I cannot imagine that someone using OSProcess would not also
want networking. FFI is not required (VM plugins are used rather than FFI)
so I left that out.

 
> There were some test failures.  In particular:
>
> UnixProcessTestCase
> forkSqueak requires XDisplayControlPlugin
>
> AioEcentHandlerTestCase
> aio event forwarding not supported
>

Most likely you are using a Cog VM that does not able to provide the X11
display control plugin. For purposes of running the full OSProcess test
suite, it is best to use a standard interpreter VM (from squeakvm.org/unix).
Aside from that, Cog is fine for most practical applications of OSProcess,
so unless you need some specific function (such as the #forkSqueak methods),
it will not matter which VM you are using.

Thanks a lot for the help and guidance.

Dave


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

Juan Vuletich-4
Hi Dave,

I still could not run all the tests on Mac OS, but at least I can say
something like the attach is needed to support OSProcess on Mac OS on Cuis.

Thanks,
Juan Vuletich

On 12/30/2013 12:33 PM, David T. Lewis wrote:

> On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
>> On Sun, 29 Dec 2013 15:05:45 -0500
>> "David T. Lewis"<[hidden email]>  wrote:
>>
>>> I made a package called "OSProcess" and saved the OSProcess.pck.st in a
>>> new github repository called "Cuis-Smalltalk-OSProcess".
>>>
>>> This is the first time I have used github, so please let me know if this
>>> works as expected.
>> Dave,
>>
>> I must first admit knowing _nothing_ about OSProcess, so following remarks may be less than intelligent.
>>
>> The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
>>
> On the contrary, very helpful - thanks!
>
>
>> I made some guesses about what the OSProcess package requires.
>>
>> =================In Workspace:
>> "OSProcess"
>> Feature require: 'FFI'.
>> Feature require: 'SqueakCompatibility'.
>> Feature require: 'Network-Kernel'.
>> Feature require: 'OSProcess'.
>> ============================
>>
> I updated it to specify SqueakCompatibility and Network-Kernel. The network
> package is not strictly required, but it is needed for some of the unit
> tests and I cannot imagine that someone using OSProcess would not also
> want networking. FFI is not required (VM plugins are used rather than FFI)
> so I left that out.
>
>
>> There were some test failures.  In particular:
>>
>> UnixProcessTestCase
>> forkSqueak requires XDisplayControlPlugin
>>
>> AioEcentHandlerTestCase
>> aio event forwarding not supported
>>
> Most likely you are using a Cog VM that does not able to provide the X11
> display control plugin. For purposes of running the full OSProcess test
> suite, it is best to use a standard interpreter VM (from squeakvm.org/unix).
> Aside from that, Cog is fine for most practical applications of OSProcess,
> so unless you need some specific function (such as the #forkSqueak methods),
> it will not matter which VM you are using.
>
> Thanks a lot for the help and guidance.
>
> Dave
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

possibleTweaksForOSProcess.st (307 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

Juan Vuletich-4
That CS was incomplete. This is the correct one.

Cheers,
Juan Vuletich

On 1/1/2014 2:59 PM, Juan Vuletich wrote:

> Hi Dave,
>
> I still could not run all the tests on Mac OS, but at least I can say
> something like the attach is needed to support OSProcess on Mac OS on
> Cuis.
>
> Thanks,
> Juan Vuletich
>
> On 12/30/2013 12:33 PM, David T. Lewis wrote:
>> On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
>>> On Sun, 29 Dec 2013 15:05:45 -0500
>>> "David T. Lewis"<[hidden email]>  wrote:
>>>
>>>> I made a package called "OSProcess" and saved the OSProcess.pck.st
>>>> in a
>>>> new github repository called "Cuis-Smalltalk-OSProcess".
>>>>
>>>> This is the first time I have used github, so please let me know if
>>>> this
>>>> works as expected.
>>> Dave,
>>>
>>> I must first admit knowing _nothing_ about OSProcess, so following
>>> remarks may be less than intelligent.
>>>
>>> The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
>>>
>> On the contrary, very helpful - thanks!
>>
>>
>>> I made some guesses about what the OSProcess package requires.
>>>
>>> =================In Workspace:
>>> "OSProcess"
>>> Feature require: 'FFI'.
>>> Feature require: 'SqueakCompatibility'.
>>> Feature require: 'Network-Kernel'.
>>> Feature require: 'OSProcess'.
>>> ============================
>>>
>> I updated it to specify SqueakCompatibility and Network-Kernel. The
>> network
>> package is not strictly required, but it is needed for some of the unit
>> tests and I cannot imagine that someone using OSProcess would not also
>> want networking. FFI is not required (VM plugins are used rather than
>> FFI)
>> so I left that out.
>>
>>
>>> There were some test failures.  In particular:
>>>
>>> UnixProcessTestCase
>>>     forkSqueak requires XDisplayControlPlugin
>>>
>>> AioEcentHandlerTestCase
>>>     aio event forwarding not supported
>>>
>> Most likely you are using a Cog VM that does not able to provide the X11
>> display control plugin. For purposes of running the full OSProcess test
>> suite, it is best to use a standard interpreter VM (from
>> squeakvm.org/unix).
>> Aside from that, Cog is fine for most practical applications of
>> OSProcess,
>> so unless you need some specific function (such as the #forkSqueak
>> methods),
>> it will not matter which VM you are using.
>>
>> Thanks a lot for the help and guidance.
>>
>> Dave
>>
>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>
>

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

suggestedTweaksForOSProcess.st (1013 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
Thanks Juan,

Sorry I did not reply earlier, I will try to update this in the next
day or two.

Obviously I have accumulated way to much compatibility cruft in OSProcess
(mainly from the Squeak 3.9 era, as well as subsequent Pharo oddities).
Cuis and Squeak trunk both do the right thing for "Smalltalk platformName".
I'll try to rearrange the OSProcess method so that a specific isCuis test
is not required.

Dave

On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:

> That CS was incomplete. This is the correct one.
>
> Cheers,
> Juan Vuletich
>
> On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> >Hi Dave,
> >
> >I still could not run all the tests on Mac OS, but at least I can say
> >something like the attach is needed to support OSProcess on Mac OS on
> >Cuis.
> >
> >Thanks,
> >Juan Vuletich

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
In reply to this post by Juan Vuletich-4
I am having trouble finding a solution to to this works on other dialects.
The approach of using SystemVersion class>>isCuis does not provide an easy
solution because most dialects do not have that method.

Could you please tell me the results of running these two expressions
on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
used:

  SystemVersion platformName
  SystemVersion osVersion

I think that the underlying problem is that my OSProcess class>>platformName
ends up calling SystemVersion class>>osVersion when it should be calling
SystemVersion class>>platformName.

I believe that this is code that I put into OSProcess was for support of
one of the Pharo versions that had a broken platformName.

Thanks!
Dave

On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:

> That CS was incomplete. This is the correct one.
>
> Cheers,
> Juan Vuletich
>
> On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> >Hi Dave,
> >
> >I still could not run all the tests on Mac OS, but at least I can say
> >something like the attach is needed to support OSProcess on Mac OS on
> >Cuis.
> >
> >Thanks,
> >Juan Vuletich
> >
> >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> >>>On Sun, 29 Dec 2013 15:05:45 -0500
> >>>"David T. Lewis"<[hidden email]>  wrote:
> >>>
> >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st
> >>>>in a
> >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> >>>>
> >>>>This is the first time I have used github, so please let me know if
> >>>>this
> >>>>works as expected.
> >>>Dave,
> >>>
> >>>I must first admit knowing _nothing_ about OSProcess, so following
> >>>remarks may be less than intelligent.
> >>>
> >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> >>>
> >>On the contrary, very helpful - thanks!
> >>
> >>
> >>>I made some guesses about what the OSProcess package requires.
> >>>
> >>>=================In Workspace:
> >>>"OSProcess"
> >>>Feature require: 'FFI'.
> >>>Feature require: 'SqueakCompatibility'.
> >>>Feature require: 'Network-Kernel'.
> >>>Feature require: 'OSProcess'.
> >>>============================
> >>>
> >>I updated it to specify SqueakCompatibility and Network-Kernel. The
> >>network
> >>package is not strictly required, but it is needed for some of the unit
> >>tests and I cannot imagine that someone using OSProcess would not also
> >>want networking. FFI is not required (VM plugins are used rather than
> >>FFI)
> >>so I left that out.
> >>
> >>
> >>>There were some test failures.  In particular:
> >>>
> >>>UnixProcessTestCase
> >>>    forkSqueak requires XDisplayControlPlugin
> >>>
> >>>AioEcentHandlerTestCase
> >>>    aio event forwarding not supported
> >>>
> >>Most likely you are using a Cog VM that does not able to provide the X11
> >>display control plugin. For purposes of running the full OSProcess test
> >>suite, it is best to use a standard interpreter VM (from
> >>squeakvm.org/unix).
> >>Aside from that, Cog is fine for most practical applications of
> >>OSProcess,
> >>so unless you need some specific function (such as the #forkSqueak
> >>methods),
> >>it will not matter which VM you are using.
> >>
> >>Thanks a lot for the help and guidance.
> >>
> >>Dave
> >>
> >>
> >>_______________________________________________
> >>Cuis mailing list
> >>[hidden email]
> >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >>
> >
>

> 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January 2014 at 3:10:49.143344 pm'!
>
> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> isCuis
> "True if this image is Cuis"
>
> Smalltalk
> at: #SystemVersion
> ifPresent: [:cls | ^cls current isCuis ].
> ^false! !
>
>
> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> platformName
> "After Squeak version 3.6, #platformName was moved to SmalltalkImage Some
> versions of Pharo move this to OSPlatform and issue deprecation warnings
> about the other usages."
>
> "OSProcess platformName"
> self isCuis ifTrue: [ ^Smalltalk platformName ].
> self isPharo3AndLater
> ifTrue: [ ^ (Smalltalk perform: #os) name ].
> ^ (((Smalltalk hasClassNamed: #OSPlatform)
> and: [(Smalltalk at: #OSPlatform)
> respondsTo: #platformName])
> ifTrue: [Smalltalk at: #OSPlatform]
> ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> ifNil: [^ Smalltalk osVersion]) current]) platformName! !
>


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
Oops, I meant to ask for the results of these on Mac:

  Smalltalk platformName
  Smalltalk osVersion

Thanks

On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:

> I am having trouble finding a solution to to this works on other dialects.
> The approach of using SystemVersion class>>isCuis does not provide an easy
> solution because most dialects do not have that method.
>
> Could you please tell me the results of running these two expressions
> on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
> used:
>
>   SystemVersion platformName
>   SystemVersion osVersion
>
> I think that the underlying problem is that my OSProcess class>>platformName
> ends up calling SystemVersion class>>osVersion when it should be calling
> SystemVersion class>>platformName.
>
> I believe that this is code that I put into OSProcess was for support of
> one of the Pharo versions that had a broken platformName.
>
> Thanks!
> Dave
>
> On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
> > That CS was incomplete. This is the correct one.
> >
> > Cheers,
> > Juan Vuletich
> >
> > On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> > >Hi Dave,
> > >
> > >I still could not run all the tests on Mac OS, but at least I can say
> > >something like the attach is needed to support OSProcess on Mac OS on
> > >Cuis.
> > >
> > >Thanks,
> > >Juan Vuletich
> > >
> > >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> > >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> > >>>On Sun, 29 Dec 2013 15:05:45 -0500
> > >>>"David T. Lewis"<[hidden email]>  wrote:
> > >>>
> > >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st
> > >>>>in a
> > >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> > >>>>
> > >>>>This is the first time I have used github, so please let me know if
> > >>>>this
> > >>>>works as expected.
> > >>>Dave,
> > >>>
> > >>>I must first admit knowing _nothing_ about OSProcess, so following
> > >>>remarks may be less than intelligent.
> > >>>
> > >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> > >>>
> > >>On the contrary, very helpful - thanks!
> > >>
> > >>
> > >>>I made some guesses about what the OSProcess package requires.
> > >>>
> > >>>=================In Workspace:
> > >>>"OSProcess"
> > >>>Feature require: 'FFI'.
> > >>>Feature require: 'SqueakCompatibility'.
> > >>>Feature require: 'Network-Kernel'.
> > >>>Feature require: 'OSProcess'.
> > >>>============================
> > >>>
> > >>I updated it to specify SqueakCompatibility and Network-Kernel. The
> > >>network
> > >>package is not strictly required, but it is needed for some of the unit
> > >>tests and I cannot imagine that someone using OSProcess would not also
> > >>want networking. FFI is not required (VM plugins are used rather than
> > >>FFI)
> > >>so I left that out.
> > >>
> > >>
> > >>>There were some test failures.  In particular:
> > >>>
> > >>>UnixProcessTestCase
> > >>>    forkSqueak requires XDisplayControlPlugin
> > >>>
> > >>>AioEcentHandlerTestCase
> > >>>    aio event forwarding not supported
> > >>>
> > >>Most likely you are using a Cog VM that does not able to provide the X11
> > >>display control plugin. For purposes of running the full OSProcess test
> > >>suite, it is best to use a standard interpreter VM (from
> > >>squeakvm.org/unix).
> > >>Aside from that, Cog is fine for most practical applications of
> > >>OSProcess,
> > >>so unless you need some specific function (such as the #forkSqueak
> > >>methods),
> > >>it will not matter which VM you are using.
> > >>
> > >>Thanks a lot for the help and guidance.
> > >>
> > >>Dave
> > >>
> > >>
> > >>_______________________________________________
> > >>Cuis mailing list
> > >>[hidden email]
> > >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >>
> > >
> >
>
> > 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January 2014 at 3:10:49.143344 pm'!
> >
> > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> > isCuis
> > "True if this image is Cuis"
> >
> > Smalltalk
> > at: #SystemVersion
> > ifPresent: [:cls | ^cls current isCuis ].
> > ^false! !
> >
> >
> > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> > platformName
> > "After Squeak version 3.6, #platformName was moved to SmalltalkImage Some
> > versions of Pharo move this to OSPlatform and issue deprecation warnings
> > about the other usages."
> >
> > "OSProcess platformName"
> > self isCuis ifTrue: [ ^Smalltalk platformName ].
> > self isPharo3AndLater
> > ifTrue: [ ^ (Smalltalk perform: #os) name ].
> > ^ (((Smalltalk hasClassNamed: #OSPlatform)
> > and: [(Smalltalk at: #OSPlatform)
> > respondsTo: #platformName])
> > ifTrue: [Smalltalk at: #OSPlatform]
> > ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> > ifNil: [^ Smalltalk osVersion]) current]) platformName! !
> >
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

garduino
Sure!


2014/1/5 David T. Lewis <[hidden email]>
Oops, I meant to ask for the results of these on Mac:

  Smalltalk platformName

 'Mac OS'
 
  Smalltalk osVersion


 '1091'

Running Cog VM in Mavericks.

Cheers.
 
Thanks

On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:
> I am having trouble finding a solution to to this works on other dialects.
> The approach of using SystemVersion class>>isCuis does not provide an easy
> solution because most dialects do not have that method.
>
> Could you please tell me the results of running these two expressions
> on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
> used:
>
>   SystemVersion platformName
>   SystemVersion osVersion
>
> I think that the underlying problem is that my OSProcess class>>platformName
> ends up calling SystemVersion class>>osVersion when it should be calling
> SystemVersion class>>platformName.
>
> I believe that this is code that I put into OSProcess was for support of
> one of the Pharo versions that had a broken platformName.
>
> Thanks!
> Dave
>
> On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
> > That CS was incomplete. This is the correct one.
> >
> > Cheers,
> > Juan Vuletich
> >
> > On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> > >Hi Dave,
> > >
> > >I still could not run all the tests on Mac OS, but at least I can say
> > >something like the attach is needed to support OSProcess on Mac OS on
> > >Cuis.
> > >
> > >Thanks,
> > >Juan Vuletich
> > >
> > >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> > >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> > >>>On Sun, 29 Dec 2013 15:05:45 -0500
> > >>>"David T. Lewis"<[hidden email]>  wrote:
> > >>>
> > >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st
> > >>>>in a
> > >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> > >>>>
> > >>>>This is the first time I have used github, so please let me know if
> > >>>>this
> > >>>>works as expected.
> > >>>Dave,
> > >>>
> > >>>I must first admit knowing _nothing_ about OSProcess, so following
> > >>>remarks may be less than intelligent.
> > >>>
> > >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> > >>>
> > >>On the contrary, very helpful - thanks!
> > >>
> > >>
> > >>>I made some guesses about what the OSProcess package requires.
> > >>>
> > >>>=================In Workspace:
> > >>>"OSProcess"
> > >>>Feature require: 'FFI'.
> > >>>Feature require: 'SqueakCompatibility'.
> > >>>Feature require: 'Network-Kernel'.
> > >>>Feature require: 'OSProcess'.
> > >>>============================
> > >>>
> > >>I updated it to specify SqueakCompatibility and Network-Kernel. The
> > >>network
> > >>package is not strictly required, but it is needed for some of the unit
> > >>tests and I cannot imagine that someone using OSProcess would not also
> > >>want networking. FFI is not required (VM plugins are used rather than
> > >>FFI)
> > >>so I left that out.
> > >>
> > >>
> > >>>There were some test failures.  In particular:
> > >>>
> > >>>UnixProcessTestCase
> > >>>    forkSqueak requires XDisplayControlPlugin
> > >>>
> > >>>AioEcentHandlerTestCase
> > >>>    aio event forwarding not supported
> > >>>
> > >>Most likely you are using a Cog VM that does not able to provide the X11
> > >>display control plugin. For purposes of running the full OSProcess test
> > >>suite, it is best to use a standard interpreter VM (from
> > >>squeakvm.org/unix).
> > >>Aside from that, Cog is fine for most practical applications of
> > >>OSProcess,
> > >>so unless you need some specific function (such as the #forkSqueak
> > >>methods),
> > >>it will not matter which VM you are using.
> > >>
> > >>Thanks a lot for the help and guidance.
> > >>
> > >>Dave
> > >>
> > >>
> > >>_______________________________________________
> > >>Cuis mailing list
> > >>[hidden email]
> > >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >>
> > >
> >
>
> > 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January 2014 at 3:10:49.143344 pm'!
> >
> > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> > isCuis
> >     "True if this image is Cuis"
> >
> >     Smalltalk
> >             at: #SystemVersion
> >             ifPresent: [:cls | ^cls current isCuis ].
> >     ^false! !
> >
> >
> > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> > platformName
> >     "After Squeak version 3.6, #platformName was moved to SmalltalkImage Some
> >     versions of Pharo move this to OSPlatform and issue deprecation warnings
> >     about the other usages."
> >
> >     "OSProcess platformName"
> >     self isCuis ifTrue: [ ^Smalltalk platformName ].
> >     self isPharo3AndLater
> >             ifTrue: [ ^ (Smalltalk perform: #os) name ].
> >     ^ (((Smalltalk hasClassNamed: #OSPlatform)
> >                     and: [(Smalltalk at: #OSPlatform)
> >                                     respondsTo: #platformName])
> >             ifTrue: [Smalltalk at: #OSPlatform]
> >             ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> >                             ifNil: [^ Smalltalk osVersion]) current]) platformName! !
> >
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org



--
Saludos / Regards,
Germán Arduino
www.arduinosoftware.com

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
Thank you, that is what I needed to know :-)

Dave

On Sun, Jan 05, 2014 at 02:12:51PM -0200, Germ?n Arduino wrote:

> Sure!
>
>
> 2014/1/5 David T. Lewis <[hidden email]>
>
> > Oops, I meant to ask for the results of these on Mac:
> >
> >   Smalltalk platformName
> >
>
>  'Mac OS'
>
>
> >   Smalltalk osVersion
> >
> >
>  '1091'
>
> Running Cog VM in Mavericks.
>
> Cheers.
>
>
> > Thanks
> >
> > On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:
> > > I am having trouble finding a solution to to this works on other
> > dialects.
> > > The approach of using SystemVersion class>>isCuis does not provide an
> > easy
> > > solution because most dialects do not have that method.
> > >
> > > Could you please tell me the results of running these two expressions
> > > on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
> > > used:
> > >
> > >   SystemVersion platformName
> > >   SystemVersion osVersion
> > >
> > > I think that the underlying problem is that my OSProcess
> > class>>platformName
> > > ends up calling SystemVersion class>>osVersion when it should be calling
> > > SystemVersion class>>platformName.
> > >
> > > I believe that this is code that I put into OSProcess was for support of
> > > one of the Pharo versions that had a broken platformName.
> > >
> > > Thanks!
> > > Dave
> > >
> > > On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
> > > > That CS was incomplete. This is the correct one.
> > > >
> > > > Cheers,
> > > > Juan Vuletich
> > > >
> > > > On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> > > > >Hi Dave,
> > > > >
> > > > >I still could not run all the tests on Mac OS, but at least I can say
> > > > >something like the attach is needed to support OSProcess on Mac OS on
> > > > >Cuis.
> > > > >
> > > > >Thanks,
> > > > >Juan Vuletich
> > > > >
> > > > >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> > > > >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> > > > >>>On Sun, 29 Dec 2013 15:05:45 -0500
> > > > >>>"David T. Lewis"<[hidden email]>  wrote:
> > > > >>>
> > > > >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st
> > > > >>>>in a
> > > > >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> > > > >>>>
> > > > >>>>This is the first time I have used github, so please let me know if
> > > > >>>>this
> > > > >>>>works as expected.
> > > > >>>Dave,
> > > > >>>
> > > > >>>I must first admit knowing _nothing_ about OSProcess, so following
> > > > >>>remarks may be less than intelligent.
> > > > >>>
> > > > >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> > > > >>>
> > > > >>On the contrary, very helpful - thanks!
> > > > >>
> > > > >>
> > > > >>>I made some guesses about what the OSProcess package requires.
> > > > >>>
> > > > >>>=================In Workspace:
> > > > >>>"OSProcess"
> > > > >>>Feature require: 'FFI'.
> > > > >>>Feature require: 'SqueakCompatibility'.
> > > > >>>Feature require: 'Network-Kernel'.
> > > > >>>Feature require: 'OSProcess'.
> > > > >>>============================
> > > > >>>
> > > > >>I updated it to specify SqueakCompatibility and Network-Kernel. The
> > > > >>network
> > > > >>package is not strictly required, but it is needed for some of the
> > unit
> > > > >>tests and I cannot imagine that someone using OSProcess would not
> > also
> > > > >>want networking. FFI is not required (VM plugins are used rather than
> > > > >>FFI)
> > > > >>so I left that out.
> > > > >>
> > > > >>
> > > > >>>There were some test failures.  In particular:
> > > > >>>
> > > > >>>UnixProcessTestCase
> > > > >>>    forkSqueak requires XDisplayControlPlugin
> > > > >>>
> > > > >>>AioEcentHandlerTestCase
> > > > >>>    aio event forwarding not supported
> > > > >>>
> > > > >>Most likely you are using a Cog VM that does not able to provide the
> > X11
> > > > >>display control plugin. For purposes of running the full OSProcess
> > test
> > > > >>suite, it is best to use a standard interpreter VM (from
> > > > >>squeakvm.org/unix).
> > > > >>Aside from that, Cog is fine for most practical applications of
> > > > >>OSProcess,
> > > > >>so unless you need some specific function (such as the #forkSqueak
> > > > >>methods),
> > > > >>it will not matter which VM you are using.
> > > > >>
> > > > >>Thanks a lot for the help and guidance.
> > > > >>
> > > > >>Dave
> > > > >>
> > > > >>
> > > > >>_______________________________________________
> > > > >>Cuis mailing list
> > > > >>[hidden email]
> > > > >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > > > >>
> > > > >
> > > >
> > >
> > > > 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January
> > 2014 at 3:10:49.143344 pm'!
> > > >
> > > > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
> > 14:50'!
> > > > isCuis
> > > >     "True if this image is Cuis"
> > > >
> > > >     Smalltalk
> > > >             at: #SystemVersion
> > > >             ifPresent: [:cls | ^cls current isCuis ].
> > > >     ^false! !
> > > >
> > > >
> > > > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
> > 14:50'!
> > > > platformName
> > > >     "After Squeak version 3.6, #platformName was moved to
> > SmalltalkImage Some
> > > >     versions of Pharo move this to OSPlatform and issue deprecation
> > warnings
> > > >     about the other usages."
> > > >
> > > >     "OSProcess platformName"
> > > >     self isCuis ifTrue: [ ^Smalltalk platformName ].
> > > >     self isPharo3AndLater
> > > >             ifTrue: [ ^ (Smalltalk perform: #os) name ].
> > > >     ^ (((Smalltalk hasClassNamed: #OSPlatform)
> > > >                     and: [(Smalltalk at: #OSPlatform)
> > > >                                     respondsTo: #platformName])
> > > >             ifTrue: [Smalltalk at: #OSPlatform]
> > > >             ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> > > >                             ifNil: [^ Smalltalk osVersion]) current])
> > platformName! !
> > > >
> > >
> > >
> > > _______________________________________________
> > > Cuis mailing list
> > > [hidden email]
> > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >
>
>
>
> --
> Saludos / Regards,
> Germ?n Arduino
> www.arduinosoftware.com

> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

David T. Lewis
I updated the Cuis-Smalltalk-OSProcess package on github, and I think
it should work better on Mac now. I fixed OSProcess class>>platformName
and also reverted my last change to OSProcess class>>isUnix, which is
not required when platformName works correctly.

As before, many of the OSProcess tests require an interpreter VM (not
Cog) to run, but aside from that I think that most important functions
should work in OSProcess on Mac. Please let me know if that is not the
case.

This change might cause a problem for some versions of Pharo that have
a broken platformName implementation, but I think I will let that be a
problem for someone else to worry about.

Dave

On Sun, Jan 05, 2014 at 11:29:43AM -0500, David T. Lewis wrote:

> Thank you, that is what I needed to know :-)
>
> Dave
>
> On Sun, Jan 05, 2014 at 02:12:51PM -0200, Germ?n Arduino wrote:
> > Sure!
> >
> >
> > 2014/1/5 David T. Lewis <[hidden email]>
> >
> > > Oops, I meant to ask for the results of these on Mac:
> > >
> > >   Smalltalk platformName
> > >
> >
> >  'Mac OS'
> >
> >
> > >   Smalltalk osVersion
> > >
> > >
> >  '1091'
> >
> > Running Cog VM in Mavericks.
> >
> > Cheers.
> >
> >
> > > Thanks
> > >
> > > On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:
> > > > I am having trouble finding a solution to to this works on other
> > > dialects.
> > > > The approach of using SystemVersion class>>isCuis does not provide an
> > > easy
> > > > solution because most dialects do not have that method.
> > > >
> > > > Could you please tell me the results of running these two expressions
> > > > on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
> > > > used:
> > > >
> > > >   SystemVersion platformName
> > > >   SystemVersion osVersion
> > > >
> > > > I think that the underlying problem is that my OSProcess
> > > class>>platformName
> > > > ends up calling SystemVersion class>>osVersion when it should be calling
> > > > SystemVersion class>>platformName.
> > > >
> > > > I believe that this is code that I put into OSProcess was for support of
> > > > one of the Pharo versions that had a broken platformName.
> > > >
> > > > Thanks!
> > > > Dave
> > > >
> > > > On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
> > > > > That CS was incomplete. This is the correct one.
> > > > >
> > > > > Cheers,
> > > > > Juan Vuletich
> > > > >
> > > > > On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> > > > > >Hi Dave,
> > > > > >
> > > > > >I still could not run all the tests on Mac OS, but at least I can say
> > > > > >something like the attach is needed to support OSProcess on Mac OS on
> > > > > >Cuis.
> > > > > >
> > > > > >Thanks,
> > > > > >Juan Vuletich
> > > > > >
> > > > > >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> > > > > >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> > > > > >>>On Sun, 29 Dec 2013 15:05:45 -0500
> > > > > >>>"David T. Lewis"<[hidden email]>  wrote:
> > > > > >>>
> > > > > >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st
> > > > > >>>>in a
> > > > > >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> > > > > >>>>
> > > > > >>>>This is the first time I have used github, so please let me know if
> > > > > >>>>this
> > > > > >>>>works as expected.
> > > > > >>>Dave,
> > > > > >>>
> > > > > >>>I must first admit knowing _nothing_ about OSProcess, so following
> > > > > >>>remarks may be less than intelligent.
> > > > > >>>
> > > > > >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> > > > > >>>
> > > > > >>On the contrary, very helpful - thanks!
> > > > > >>
> > > > > >>
> > > > > >>>I made some guesses about what the OSProcess package requires.
> > > > > >>>
> > > > > >>>=================In Workspace:
> > > > > >>>"OSProcess"
> > > > > >>>Feature require: 'FFI'.
> > > > > >>>Feature require: 'SqueakCompatibility'.
> > > > > >>>Feature require: 'Network-Kernel'.
> > > > > >>>Feature require: 'OSProcess'.
> > > > > >>>============================
> > > > > >>>
> > > > > >>I updated it to specify SqueakCompatibility and Network-Kernel. The
> > > > > >>network
> > > > > >>package is not strictly required, but it is needed for some of the
> > > unit
> > > > > >>tests and I cannot imagine that someone using OSProcess would not
> > > also
> > > > > >>want networking. FFI is not required (VM plugins are used rather than
> > > > > >>FFI)
> > > > > >>so I left that out.
> > > > > >>
> > > > > >>
> > > > > >>>There were some test failures.  In particular:
> > > > > >>>
> > > > > >>>UnixProcessTestCase
> > > > > >>>    forkSqueak requires XDisplayControlPlugin
> > > > > >>>
> > > > > >>>AioEcentHandlerTestCase
> > > > > >>>    aio event forwarding not supported
> > > > > >>>
> > > > > >>Most likely you are using a Cog VM that does not able to provide the
> > > X11
> > > > > >>display control plugin. For purposes of running the full OSProcess
> > > test
> > > > > >>suite, it is best to use a standard interpreter VM (from
> > > > > >>squeakvm.org/unix).
> > > > > >>Aside from that, Cog is fine for most practical applications of
> > > > > >>OSProcess,
> > > > > >>so unless you need some specific function (such as the #forkSqueak
> > > > > >>methods),
> > > > > >>it will not matter which VM you are using.
> > > > > >>
> > > > > >>Thanks a lot for the help and guidance.
> > > > > >>
> > > > > >>Dave
> > > > > >>
> > > > > >>
> > > > > >>_______________________________________________
> > > > > >>Cuis mailing list
> > > > > >>[hidden email]
> > > > > >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > > > > >>
> > > > > >
> > > > >
> > > >
> > > > > 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January
> > > 2014 at 3:10:49.143344 pm'!
> > > > >
> > > > > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
> > > 14:50'!
> > > > > isCuis
> > > > >     "True if this image is Cuis"
> > > > >
> > > > >     Smalltalk
> > > > >             at: #SystemVersion
> > > > >             ifPresent: [:cls | ^cls current isCuis ].
> > > > >     ^false! !
> > > > >
> > > > >
> > > > > !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
> > > 14:50'!
> > > > > platformName
> > > > >     "After Squeak version 3.6, #platformName was moved to
> > > SmalltalkImage Some
> > > > >     versions of Pharo move this to OSPlatform and issue deprecation
> > > warnings
> > > > >     about the other usages."
> > > > >
> > > > >     "OSProcess platformName"
> > > > >     self isCuis ifTrue: [ ^Smalltalk platformName ].
> > > > >     self isPharo3AndLater
> > > > >             ifTrue: [ ^ (Smalltalk perform: #os) name ].
> > > > >     ^ (((Smalltalk hasClassNamed: #OSPlatform)
> > > > >                     and: [(Smalltalk at: #OSPlatform)
> > > > >                                     respondsTo: #platformName])
> > > > >             ifTrue: [Smalltalk at: #OSPlatform]
> > > > >             ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> > > > >                             ifNil: [^ Smalltalk osVersion]) current])
> > > platformName! !
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Cuis mailing list
> > > > [hidden email]
> > > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> > > _______________________________________________
> > > Cuis mailing list
> > > [hidden email]
> > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> >
> >
> >
> > --
> > Saludos / Regards,
> > Germ?n Arduino
> > www.arduinosoftware.com
>
> > _______________________________________________
> > Cuis mailing list
> > [hidden email]
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

Juan Vuletich-4
In reply to this post by David T. Lewis
Apologies for the delay. Really.

(inline)

On 1/5/2014 12:52 PM, David T. Lewis wrote:

> I am having trouble finding a solution to to this works on other dialects.
> The approach of using SystemVersion class>>isCuis does not provide an easy
> solution because most dialects do not have that method.
>
> Could you please tell me the results of running these two expressions
> on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
> used:
>
>    SystemVersion platformName
>    SystemVersion osVersion
>

Smalltalk platformName 'Mac OS'
Smalltalk osVersion '1091'
(Those messages are not in SystemVersion in Cuis. I can move them, or
duplicate them, if you need)
VM used is 'Squeak Cog 4.0.2776 http://www.mirandabanda.org'

> I think that the underlying problem is that my OSProcess class>>platformName
> ends up calling SystemVersion class>>osVersion when it should be calling
> SystemVersion class>>platformName.
>
> I believe that this is code that I put into OSProcess was for support of
> one of the Pharo versions that had a broken platformName.
>
> Thanks!
> Dave

Please let me know of any change you need in Cuis, or any other thing I
can do to help.

Cheers,
Juan Vuletich

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess status

Juan Vuletich-4
In reply to this post by David T. Lewis
Thanks, Dave!

Cheers,
Juan Vuletich

On 1/5/2014 2:27 PM, David T. Lewis wrote:

> I updated the Cuis-Smalltalk-OSProcess package on github, and I think
> it should work better on Mac now. I fixed OSProcess class>>platformName
> and also reverted my last change to OSProcess class>>isUnix, which is
> not required when platformName works correctly.
>
> As before, many of the OSProcess tests require an interpreter VM (not
> Cog) to run, but aside from that I think that most important functions
> should work in OSProcess on Mac. Please let me know if that is not the
> case.
>
> This change might cause a problem for some versions of Pharo that have
> a broken platformName implementation, but I think I will let that be a
> problem for someone else to worry about.
>
> Dave
>
> On Sun, Jan 05, 2014 at 11:29:43AM -0500, David T. Lewis wrote:
>> Thank you, that is what I needed to know :-)
>>
>> Dave
>>
>> On Sun, Jan 05, 2014 at 02:12:51PM -0200, Germ?n Arduino wrote:
>>> Sure!
>>>
>>>
>>> 2014/1/5 David T. Lewis<[hidden email]>
>>>
>>>> Oops, I meant to ask for the results of these on Mac:
>>>>
>>>>    Smalltalk platformName
>>>>
>>>   'Mac OS'
>>>
>>>
>>>>    Smalltalk osVersion
>>>>
>>>>
>>>   '1091'
>>>
>>> Running Cog VM in Mavericks.
>>>
>>> Cheers.
>>>
>>>
>>>> Thanks
>>>>
>>>> On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:
>>>>> I am having trouble finding a solution to to this works on other
>>>> dialects.
>>>>> The approach of using SystemVersion class>>isCuis does not provide an
>>>> easy
>>>>> solution because most dialects do not have that method.
>>>>>
>>>>> Could you please tell me the results of running these two expressions
>>>>> on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
>>>>> used:
>>>>>
>>>>>    SystemVersion platformName
>>>>>    SystemVersion osVersion
>>>>>
>>>>> I think that the underlying problem is that my OSProcess
>>>> class>>platformName
>>>>> ends up calling SystemVersion class>>osVersion when it should be calling
>>>>> SystemVersion class>>platformName.
>>>>>
>>>>> I believe that this is code that I put into OSProcess was for support of
>>>>> one of the Pharo versions that had a broken platformName.
>>>>>
>>>>> Thanks!
>>>>> Dave
>>>>>
>>>>> On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
>>>>>> That CS was incomplete. This is the correct one.
>>>>>>
>>>>>> Cheers,
>>>>>> Juan Vuletich
>>>>>>
>>>>>> On 1/1/2014 2:59 PM, Juan Vuletich wrote:
>>>>>>> Hi Dave,
>>>>>>>
>>>>>>> I still could not run all the tests on Mac OS, but at least I can say
>>>>>>> something like the attach is needed to support OSProcess on Mac OS on
>>>>>>> Cuis.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Juan Vuletich
>>>>>>>
>>>>>>> On 12/30/2013 12:33 PM, David T. Lewis wrote:
>>>>>>>> On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
>>>>>>>>> On Sun, 29 Dec 2013 15:05:45 -0500
>>>>>>>>> "David T. Lewis"<[hidden email]>   wrote:
>>>>>>>>>
>>>>>>>>>> I made a package called "OSProcess" and saved the OSProcess.pck.st
>>>>>>>>>> in a
>>>>>>>>>> new github repository called "Cuis-Smalltalk-OSProcess".
>>>>>>>>>>
>>>>>>>>>> This is the first time I have used github, so please let me know if
>>>>>>>>>> this
>>>>>>>>>> works as expected.
>>>>>>>>> Dave,
>>>>>>>>>
>>>>>>>>> I must first admit knowing _nothing_ about OSProcess, so following
>>>>>>>>> remarks may be less than intelligent.
>>>>>>>>>
>>>>>>>>> The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
>>>>>>>>>
>>>>>>>> On the contrary, very helpful - thanks!
>>>>>>>>
>>>>>>>>
>>>>>>>>> I made some guesses about what the OSProcess package requires.
>>>>>>>>>
>>>>>>>>> =================In Workspace:
>>>>>>>>> "OSProcess"
>>>>>>>>> Feature require: 'FFI'.
>>>>>>>>> Feature require: 'SqueakCompatibility'.
>>>>>>>>> Feature require: 'Network-Kernel'.
>>>>>>>>> Feature require: 'OSProcess'.
>>>>>>>>> ============================
>>>>>>>>>
>>>>>>>> I updated it to specify SqueakCompatibility and Network-Kernel. The
>>>>>>>> network
>>>>>>>> package is not strictly required, but it is needed for some of the
>>>> unit
>>>>>>>> tests and I cannot imagine that someone using OSProcess would not
>>>> also
>>>>>>>> want networking. FFI is not required (VM plugins are used rather than
>>>>>>>> FFI)
>>>>>>>> so I left that out.
>>>>>>>>
>>>>>>>>
>>>>>>>>> There were some test failures.  In particular:
>>>>>>>>>
>>>>>>>>> UnixProcessTestCase
>>>>>>>>>     forkSqueak requires XDisplayControlPlugin
>>>>>>>>>
>>>>>>>>> AioEcentHandlerTestCase
>>>>>>>>>     aio event forwarding not supported
>>>>>>>>>
>>>>>>>> Most likely you are using a Cog VM that does not able to provide the
>>>> X11
>>>>>>>> display control plugin. For purposes of running the full OSProcess
>>>> test
>>>>>>>> suite, it is best to use a standard interpreter VM (from
>>>>>>>> squeakvm.org/unix).
>>>>>>>> Aside from that, Cog is fine for most practical applications of
>>>>>>>> OSProcess,
>>>>>>>> so unless you need some specific function (such as the #forkSqueak
>>>>>>>> methods),
>>>>>>>> it will not matter which VM you are using.
>>>>>>>>
>>>>>>>> Thanks a lot for the help and guidance.
>>>>>>>>
>>>>>>>> Dave
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Cuis mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>>>>>>
>>>>>> 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January
>>>> 2014 at 3:10:49.143344 pm'!
>>>>>> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
>>>> 14:50'!
>>>>>> isCuis
>>>>>>      "True if this image is Cuis"
>>>>>>
>>>>>>      Smalltalk
>>>>>>              at: #SystemVersion
>>>>>>              ifPresent: [:cls | ^cls current isCuis ].
>>>>>>      ^false! !
>>>>>>
>>>>>>
>>>>>> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014
>>>> 14:50'!
>>>>>> platformName
>>>>>>      "After Squeak version 3.6, #platformName was moved to
>>>> SmalltalkImage Some
>>>>>>      versions of Pharo move this to OSPlatform and issue deprecation
>>>> warnings
>>>>>>      about the other usages."
>>>>>>
>>>>>>      "OSProcess platformName"
>>>>>>      self isCuis ifTrue: [ ^Smalltalk platformName ].
>>>>>>      self isPharo3AndLater
>>>>>>              ifTrue: [ ^ (Smalltalk perform: #os) name ].
>>>>>>      ^ (((Smalltalk hasClassNamed: #OSPlatform)
>>>>>>                      and: [(Smalltalk at: #OSPlatform)
>>>>>>                                      respondsTo: #platformName])
>>>>>>              ifTrue: [Smalltalk at: #OSPlatform]
>>>>>>              ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
>>>>>>                              ifNil: [^ Smalltalk osVersion]) current])
>>>> platformName! !
>>>>>
>>>>> _______________________________________________
>>>>> Cuis mailing list
>>>>> [hidden email]
>>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>> _______________________________________________
>>>> Cuis mailing list
>>>> [hidden email]
>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>>
>>>
>>>
>>> --
>>> Saludos / Regards,
>>> Germ?n Arduino
>>> www.arduinosoftware.com
>>> _______________________________________________
>>> Cuis mailing list
>>> [hidden email]
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>


_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
12