Discussion:
[squeak-dev] [Test][Squeak5.2rc1][SqueakMap] FFI entry in SqueakMap catalog for 5.2?
H. Hirzel
2018-10-11 12:26:26 UTC
Permalink
Hello

All tests Loading FFI into Sque

The load script for FFI is 'community supported' in SqueakMap.

The relevant FFI entry has as load script is just

Installer new merge: #ffiTests

This still applies for 5.2.

However the last time FFI shows up in the SqueakMap client list for a
particular release is version 4.5.

Not in 4.6, 5.0 and 5.1

What do I need to do to make it appear in the list for 5.2.

Creating a release for 5.2 would be an option but that seems
unnecessary as it had not been done for 4.5 either.

Suggestions how to proceed?

Regards
Hannes
Chris Muller
2018-10-12 19:12:33 UTC
Permalink
Hi Hannes,

It depends on what all we want do the work to catalog. "Installer new
merge: #ffiTests" just loads the latest versions of all the packages,
not a fixed configuration, so that script is not suitable to tag with
any Squeak-specific versions, only the (head) version. If you want to
make one for 5.2, we must use a totally different script which
specifies the exact version #'s of all the packages, so we know it
will always work in 5.2. You could copy & paste one of the scripts
for one of my packages (Magma, etc.) which I just updated yesterday,
BTW...

Best,
Chris
Post by H. Hirzel
The relevant FFI entry has as load script is just
Installer new merge: #ffiTests
This still applies for 5.2.
However the last time FFI shows up in the SqueakMap client list for a
particular release is version 4.5.
Not in 4.6, 5.0 and 5.1
What do I need to do to make it appear in the list for 5.2.
Creating a release for 5.2 would be an option but that seems
unnecessary as it had not been done for 4.5 either.
Suggestions how to proceed?
Regards
Hannes
H. Hirzel
2018-10-12 19:36:32 UTC
Permalink
Hi Chris

I think that just

Installer new merge: #ffiTests

is good enough. Like it was for earlier version. I tested it and it worked.

I just wonder what I need to do that it shows up in the list of
available packages for 5.2?

--Hannes
Post by Chris Muller
Hi Hannes,
It depends on what all we want do the work to catalog. "Installer new
merge: #ffiTests" just loads the latest versions of all the packages,
not a fixed configuration, so that script is not suitable to tag with
any Squeak-specific versions, only the (head) version. If you want to
make one for 5.2, we must use a totally different script which
specifies the exact version #'s of all the packages, so we know it
will always work in 5.2. You could copy & paste one of the scripts
for one of my packages (Magma, etc.) which I just updated yesterday,
BTW...
Best,
Chris
Post by H. Hirzel
The relevant FFI entry has as load script is just
Installer new merge: #ffiTests
This still applies for 5.2.
However the last time FFI shows up in the SqueakMap client list for a
particular release is version 4.5.
Not in 4.6, 5.0 and 5.1
What do I need to do to make it appear in the list for 5.2.
Creating a release for 5.2 would be an option but that seems
unnecessary as it had not been done for 4.5 either.
Suggestions how to proceed?
Regards
Chris Muller
2018-10-12 19:41:09 UTC
Permalink
Hi Hannes,

I think you did not understand. Just because you "tested it and it
worked" TODAY does not mean that script will continue working forever.
That's why we MUST NOT put a "Squeak 5.2" tag on it unless we make a
separate Release with a script that uses explicitly-specified
versions.

That's what we have now, I see no versions of "FFI" for 4.5, only
(head), 3.10, and 3.9. The last two were published by Andreas.

HTH,
Chris
Post by H. Hirzel
Hi Chris
I think that just
Installer new merge: #ffiTests
is good enough. Like it was for earlier version. I tested it and it worked.
I just wonder what I need to do that it shows up in the list of
available packages for 5.2?
--Hannes
Post by Chris Muller
Hi Hannes,
It depends on what all we want do the work to catalog. "Installer new
merge: #ffiTests" just loads the latest versions of all the packages,
not a fixed configuration, so that script is not suitable to tag with
any Squeak-specific versions, only the (head) version. If you want to
make one for 5.2, we must use a totally different script which
specifies the exact version #'s of all the packages, so we know it
will always work in 5.2. You could copy & paste one of the scripts
for one of my packages (Magma, etc.) which I just updated yesterday,
BTW...
Best,
Chris
Post by H. Hirzel
The relevant FFI entry has as load script is just
Installer new merge: #ffiTests
This still applies for 5.2.
However the last time FFI shows up in the SqueakMap client list for a
particular release is version 4.5.
Not in 4.6, 5.0 and 5.1
What do I need to do to make it appear in the list for 5.2.
Creating a release for 5.2 would be an option but that seems
unnecessary as it had not been done for 4.5 either.
Suggestions how
H. Hirzel
2018-10-12 20:05:40 UTC
Permalink
Hi Chris
Post by Chris Muller
Hi Hannes,
I think you did not understand. Just because you "tested it and it
worked" TODAY does not mean that script will continue working forever.
There is no such claim. The claim is just that it still works for 5.2.
Post by Chris Muller
That's why we MUST NOT put a "Squeak 5.2" tag on it unless we make a
separate Release with a script that uses explicitly-specified
versions.
That's what we have now, I see no versions of "FFI" for 4.5, only
(head), 3.10, and 3.9. The last two were published by Andreas.
And that contains

Installer new merge: #ffiTests'

That means this script has been working since 3.9, i.e. for 10 years.


--Hannes
Post by Chris Muller
HTH,
Chris
Post by H. Hirzel
Hi Chris
I think that just
Installer new merge: #ffiTests
is good enough. Like it was for earlier version. I tested it and it worked.
I just wonder what I need to do that it shows up in the list of
available packages for 5.2?
--Hannes
Post by Chris Muller
Hi Hannes,
It depends on what all we want do the work to catalog. "Installer new
merge: #ffiTests" just loads the latest versions of all the packages,
not a fixed configuration, so that script is not suitable to tag with
any Squeak-specific versions, only the (head) version. If you want to
make one for 5.2, we must use a totally different script which
specifies the exact version #'s of all the packages, so we know it
will always work in 5.2. You could copy & paste one of the scripts
for one of my packages (Magma, etc.) which I just updated yesterday,
BTW...
Best,
Chris
Post by H. Hirzel
The relevant FFI entry has as load script is just
Installer new merge: #ffiTests
This still applies for 5.2.
However the last time FFI shows up in the SqueakMap client list for a
particular release is version 4.5.
Not in 4.6, 5.0 and 5.1
What do I need to do to make it appear in the list for 5.2.
Creating a release for 5.2 would be an option but that seems
unnecessary as it had not been done for 4.5 either.
Suggestions how to proceed?
Regards
Hannes
David T. Lewis
2018-10-13 03:19:57 UTC
Permalink
Post by H. Hirzel
Hi Chris
Post by Chris Muller
Hi Hannes,
I think you did not understand. Just because you "tested it and it
worked" TODAY does not mean that script will continue working forever.
There is no such claim. The claim is just that it still works for 5.2.
+1
Post by H. Hirzel
Post by Chris Muller
That's why we MUST NOT put a "Squeak 5.2" tag on it unless we make a
separate Release with a script that uses explicitly-specified
versions.
That's what we have now, I see no versions of "FFI" for 4.5, only
(head), 3.10, and 3.9. The last two were published by Andreas.
And that contains
Installer new merge: #ffiTests'
That means this script has been working since 3.9, i.e. for 10 years.
+1

We do need some way to deal with this use case.

"Make another release of your package every time somebody in
Squeak/Cuis/Pharo decides to announce a new release of their image"
is not really a very good answer. It kind of works but ... yuk.

In user story jargon:

As an external package maintainer, I want to declare that version
X of my package works with version Y of Squeak/Cuis/Pharo, so that
users of that Y can be reasonably confident that loading X into
Y will probably work.

Simple. That's all I want.

Please don't make me declare a bunch of different "releases" of X
to keep track of
David T. Lewis
2018-10-13 23:01:15 UTC
Permalink
Post by David T. Lewis
Post by H. Hirzel
Hi Chris
Post by Chris Muller
Hi Hannes,
I think you did not understand. Just because you "tested it and it
worked" TODAY does not mean that script will continue working forever.
There is no such claim. The claim is just that it still works for 5.2.
+1
Post by H. Hirzel
Post by Chris Muller
That's why we MUST NOT put a "Squeak 5.2" tag on it unless we make a
separate Release with a script that uses explicitly-specified
versions.
That's what we have now, I see no versions of "FFI" for 4.5, only
(head), 3.10, and 3.9. The last two were published by Andreas.
And that contains
Installer new merge: #ffiTests'
That means this script has been working since 3.9, i.e. for 10 years.
+1
We do need some way to deal with this use case.
"Make another release of your package every time somebody in
Squeak/Cuis/Pharo decides to announce a new release of their image"
is not really a very good answer. It kind of works but ... yuk.
As an external package maintainer, I want to declare that version
X of my package works with version Y of Squeak/Cuis/Pharo, so that
users of that Y can be reasonably confident that loading X into
Y will probably work.
Simple. That's all I want.
Please don't make me declare a bunch of different "releases" of X
to keep track of all the Y's.
I have to apologize, I misread this thread, and what I said above is
nonsense with respect to the FFI package. Sorry for the distraction.

Chris is right that an explicitly-specified version is needed in this
case. The '(head)' release will continue to work as it has for many
years, but we need an explicitly-specified version in order to tag
something for Squeak 5.2.

Hannes is also right in terms of what he is trying to do - sometimes
you have a package that works, and you just want to say "it still works
for the new Squeak release". But in this case for FFI, the last
explicitly-specified release was the one for Squeak 3.10, and a lot
has changed since then. So I think we need to follow Chris' guidance
and make a new SqueakMap release for FFI with the configuration that
is currently known to work with Squeak 5.2.

To return to Hannes' original question (with my apologies once again
for having taking the discussion off track), what needs to be done?
We have existing FFI SqueakMap releases for '3.9', '3.10', and '(head)'.

It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Chris Muller
2018-10-13 23:40:03 UTC
Permalink
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.

Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions
H. Hirzel
2018-10-14 00:30:35 UTC
Permalink
Hello

Yes, in the meantime I have read through Chris Muller's email again
and I understand that

a) the entry with the head script which contains

Installer new merge: #ffiTests'

continues to be effective for future releases but will not help to document
what works here and now in 5.2.


b) for 5.2 we need to create specific new release.

It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)

And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2

Then entry may follow the example of Magma database (e.g. 1.62
server) which is

'SMSqueakMap default loadUpdates.

(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].

#(''Magma-Server-cmm.515'' ''Magma-Tools-cmm.76'' ) do:
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'') install: each ]'


The issue is to go for specifc version of FFI code

http://source.squeak.org/FFI/

The question now is which files to pick.

I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April this year

But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent

http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz

and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz

And for the tests

FFI-Tests-cbc.9.mcz

I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with which has a
SqueakMap login may create it.

Any comments?

--Hannes


** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current corr
David T. Lewis
2018-10-14 00:41:41 UTC
Permalink
Hi Hannes,

This sounds right to me also. I just added a '5.2' SqueakMap release for
FFI that hopefully does what you explain here.

If it looks right, we can "publish" it from the web page to make it official.

Thank you for making this happen for FFI :-)

Dave
Post by H. Hirzel
Hello
Yes, in the meantime I have read through Chris Muller's email again
and I understand that
a) the entry with the head script which contains
Installer new merge: #ffiTests'
continues to be effective for future releases but will not help to document
what works here and now in 5.2.
b) for 5.2 we need to create specific new release.
It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)
And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2
Then entry may follow the example of Magma database (e.g. 1.62
server) which is
'SMSqueakMap default loadUpdates.
(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'') install: each ]'
The issue is to go for specifc version of FFI code
http://source.squeak.org/FFI/
The question now is which files to pick.
I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April this year
But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent
http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz
and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz
And for the tests
FFI-Tests-cbc.9.mcz
I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with which has a
SqueakMap login may create it.
Any comments?
--Hannes
** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of F
H. Hirzel
2018-10-14 01:36:04 UTC
Permalink
Hi David

Thank you for the FFI (5.2) entry (release) entry you created. If I
click on it and 'Install' it it loads fine.

On the other side if I click on FFI and then Install it gives a small
dialog box with

'The package has no published release for your Squeak version'.

For example the recently created SIXX entry by Masashi Umezawa does
not have this dialog box.

This box will probably not show up if you "publish" is from the web page.

--Hannes
Post by Chris Muller
Hi Hannes,
This sounds right to me also. I just added a '5.2' SqueakMap release for
FFI that hopefully does what you explain here.
If it looks right, we can "publish" it from the web page to make it official.
Thank you for making this happen for FFI :-)
Dave
Post by H. Hirzel
Hello
Yes, in the meantime I have read through Chris Muller's email again
and I understand that
a) the entry with the head script which contains
Installer new merge: #ffiTests'
continues to be effective for future releases but will not help to document
what works here and now in 5.2.
b) for 5.2 we need to create specific new release.
It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)
And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2
Then entry may follow the example of Magma database (e.g. 1.62
server) which is
'SMSqueakMap default loadUpdates.
(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'') install: each ]'
The issue is to go for specifc version of FFI code
http://source.squeak.org/FFI/
The question now is which files to pick.
I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April this year
But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent
http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz
and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz
And for the tests
FFI-Tests-cbc.9.mcz
I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with which has a
SqueakMap login may create it.
Any comments?
--Hannes
** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of FFI.
- C
David T. Lewis
2018-10-14 13:32:53 UTC
Permalink
Hi Hannes,

Unfortunately I cannot find a way to do the publish. The map.squeak.org
site lets me edit my own package releases, and that is where the "publish"
check box is. But I see no way for me to do it with the community supported
FFI package.

Meanwhile, if I try doing the install for FFI from the package level,
then click "accept" to proceed, it tries to load the old 3.10 version.
So that is not good :-(

Dave
Post by H. Hirzel
Hi David
Thank you for the FFI (5.2) entry (release) entry you created. If I
click on it and 'Install' it it loads fine.
On the other side if I click on FFI and then Install it gives a small
dialog box with
'The package has no published release for your Squeak version'.
For example the recently created SIXX entry by Masashi Umezawa does
not have this dialog box.
This box will probably not show up if you "publish" is from the web page.
--Hannes
Post by Chris Muller
Hi Hannes,
This sounds right to me also. I just added a '5.2' SqueakMap release for
FFI that hopefully does what you explain here.
If it looks right, we can "publish" it from the web page to make it official.
Thank you for making this happen for FFI :-)
Dave
Post by H. Hirzel
Hello
Yes, in the meantime I have read through Chris Muller's email again
and I understand that
a) the entry with the head script which contains
Installer new merge: #ffiTests'
continues to be effective for future releases but will not help to document
what works here and now in 5.2.
b) for 5.2 we need to create specific new release.
It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)
And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2
Then entry may follow the example of Magma database (e.g. 1.62
server) which is
'SMSqueakMap default loadUpdates.
(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'') install: each ]'
The issue is to go for specifc version of FFI code
http://source.squeak.org/FFI/
The question now is which files to pick.
I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April this year
But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent
http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz
and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz
And for the tests
FFI-Tests-cbc.9.mcz
I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with which has a
SqueakMap login may create it.
Any comments?
--Hannes
** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of FFI.
- Chris
David T. Lewis
2018-10-14 14:54:06 UTC
Permalink
The SqueakMap package loader looks for the 'publisher' field to
decide if a package release has been published, as opposed to
just tagged for Squeak5.2 but not published. If that field is nil,
it finds some other published release (even it if is not tagged
for Squeak5.2) and loads that one instead.

I tried to hack the 'publisher' field from the image side and save
it back to the server, but the SqueakMap server was too smart for
me, and would not keep my change to the publisher field.

For the record, here is what I did (that does not work):

thePackageRelease := (SMPackageRelease allInstances
select: [:e | e package name = 'FFI'
and: [e version = '5.2']]) first.
myAccount := (SMAccount allInstances
select: [:e | e name = 'Dave Lewis']) first.
thePackageRelease publisher: myAccount.

Maybe there is a SqueakMap administrator function that would allow
this release to be published?

Dave
Post by Chris Muller
Hi Hannes,
Unfortunately I cannot find a way to do the publish. The map.squeak.org
site lets me edit my own package releases, and that is where the "publish"
check box is. But I see no way for me to do it with the community supported
FFI package.
Meanwhile, if I try doing the install for FFI from the package level,
then click "accept" to proceed, it tries to load the old 3.10 version.
So that is not good :-(
Dave
Post by H. Hirzel
Hi David
Thank you for the FFI (5.2) entry (release) entry you created. If I
click on it and 'Install' it it loads fine.
On the other side if I click on FFI and then Install it gives a small
dialog box with
'The package has no published release for your Squeak version'.
For example the recently created SIXX entry by Masashi Umezawa does
not have this dialog box.
This box will probably not show up if you "publish" is from the web page.
--Hannes
Post by Chris Muller
Hi Hannes,
This sounds right to me also. I just added a '5.2' SqueakMap release for
FFI that hopefully does what you explain here.
If it looks right, we can "publish" it from the web page to make it official.
Thank you for making this happen for FFI :-)
Dave
Post by H. Hirzel
Hello
Yes, in the meantime I have read through Chris Muller's email again
and I understand that
a) the entry with the head script which contains
Installer new merge: #ffiTests'
continues to be effective for future releases but will not help to document
what works here and now in 5.2.
b) for 5.2 we need to create specific new release.
It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)
And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2
Then entry may follow the example of Magma database (e.g. 1.62
server) which is
'SMSqueakMap default loadUpdates.
(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'') install: each ]'
The issue is to go for specifc version of FFI code
http://source.squeak.org/FFI/
The question now is which files to pick.
I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April this year
But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent
http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz
and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz
And for the tests
FFI-Tests-cbc.9.mcz
I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with which has a
SqueakMap login may create it.
Any comments?
--Hannes
** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of FFI.
- Chris
H. Hirzel
2018-10-14 16:17:16 UTC
Permalink
Hi David

Thanks for taking the time to come up with the manual patch script to
set yourself as publisher for the FFI release 5.2 on SqueakMap. It is
useful, see below.
Post by David T. Lewis
The SqueakMap package loader looks for the 'publisher' field to
decide if a package release has been published, as opposed to
just tagged for Squeak5.2 but not published. If that field is nil,
it finds some other published release (even it if is not tagged
for Squeak5.2) and loads that one instead.
I tried to hack the 'publisher' field from the image side and save
it back to the server, but the SqueakMap server was too smart for
me, and would not keep my change to the publisher field.
thePackageRelease := (SMPackageRelease allInstances
select: [:e | e package name = 'FFI'
and: [e version = '5.2']]) first.
myAccount := (SMAccount allInstances
select: [:e | e name = 'Dave Lewis']) first.
thePackageRelease publisher: myAccount.
Maybe there is a SqueakMap administrator function that would allow
this release to be published?
Yes, there is.
I ran it on the server in the 'do-it-window' (see attachment).

It seems to solve the issue. Could you please check ('Update your
SqueakMap client object net and install with click on 'FFI' only).

This really seems to be a 'community support' case :-)

--Hannes
Post by David T. Lewis
Dave
Post by Chris Muller
Hi Hannes,
Unfortunately I cannot find a way to do the publish. The map.squeak.org
site lets me edit my own package releases, and that is where the "publish"
check box is. But I see no way for me to do it with the community supported
FFI package.
Meanwhile, if I try doing the install for FFI from the package level,
then click "accept" to proceed, it tries to load the old 3.10 version.
So that is not good :-(
Dave
Post by H. Hirzel
Hi David
Thank you for the FFI (5.2) entry (release) entry you created. If I
click on it and 'Install' it it loads fine.
On the other side if I click on FFI and then Install it gives a small
dialog box with
'The package has no published release for your Squeak version'.
For example the recently created SIXX entry by Masashi Umezawa does
not have this dialog box.
This box will probably not show up if you "publish" is from the web page.
--Hannes
Post by Chris Muller
Hi Hannes,
This sounds right to me also. I just added a '5.2' SqueakMap release for
FFI that hopefully does what you explain here.
If it looks right, we can "publish" it from the web page to make it official.
Thank you for making this happen for FFI :-)
Dave
Post by H. Hirzel
Hello
Yes, in the meantime I have read through Chris Muller's email again
and I understand that
a) the entry with the head script which contains
Installer new merge: #ffiTests'
continues to be effective for future releases but will not help
to
document
what works here and now in 5.2.
b) for 5.2 we need to create specific new release.
It should be labeled '5.2' because that follows the example set in
the current FFI entry. (**)
And assign it to Squeak release 5.2 so that it shows up in the
filtered list of
'newly safely-available package' for 5.2
Then entry may follow the example of Magma database (e.g. 1.62
server) which is
'SMSqueakMap default loadUpdates.
(Smalltalk hasClassNamed: #MagmaSession)
ifFalse: [ SMSqueakMap default installPackageNamed: ''Magma''
version: ''1.62 client'' ].
[ : each |
(Installer repository: ''http://www.squeaksource.com/Magma'')
each ]'
The issue is to go for specifc version of FFI code
http://source.squeak.org/FFI/
The question now is which files to pick.
I probably just pick the latest ones. The 'versions' page show a
ConfigurationOfFFI-nice.41.mcz from Nicolas Cellier, April
this
year
But I remember that Eliot Miranda has added better VM support
for exceptions
regarding FFI, so I probably better go for his most recent
http://source.squeak.org/FFI/FFI-Kernel-eem.55.mcz
and for the Pool dictionary values
http://source.squeak.org/FFI/FFI-Pools-TorstenBergmann.4.mcz
And for the tests
FFI-Tests-cbc.9.mcz
I'll do that on Monday unless somebody else wants to do it.
The FFI package is 'community supported'. So anybody with
which
has a
SqueakMap login may create it.
Any comments?
--Hannes
** Other entries have different release numbering schemes, no need to
label releases in synch with the Squeak releases.
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of FFI.
- Chris
Chris Cunningham
2018-10-14 17:36:15 UTC
Permalink
Post by H. Hirzel
It seems to solve the issue. Could you please check ('Update your
SqueakMap client object net and install with click on 'FFI' only).
This worked for me. However, I did notice that there is now no (head)
release - that seems to have gone away.

-cbc
David T. Lewis
2018-10-14 18:21:34 UTC
Permalink
Post by Chris Cunningham
Post by H. Hirzel
It seems to solve the issue. Could you please check ('Update your
SqueakMap client object net and install with click on 'FFI' only).
This worked for me. However, I did notice that there is now no (head)
release - that seems to have gone away.
Ugh. I must have somehow clobbered the (head) release when I made the
new '5.2' release. I really don't know how I did that, but I can see
that the id of the current '5.2' release is the same as that of the
original (head).

I'm not sure how to preceed, maybe just ma
David T. Lewis
2018-10-23 23:23:31 UTC
Permalink
Post by David T. Lewis
Post by Chris Cunningham
Post by H. Hirzel
It seems to solve the issue. Could you please check ('Update your
SqueakMap client object net and install with click on 'FFI' only).
This worked for me. However, I did notice that there is now no (head)
release - that seems to have gone away.
Ugh. I must have somehow clobbered the (head) release when I made the
new '5.2' release. I really don't know how I did that, but I can see
that the id of the current '5.2' release is the same as that of the
original (head).
I'm not sure how to preceed, maybe just make a new (head) entry?
Just to follow up on this:

For the FFI package on SqueakMap, I made a new 'head' release with load
script that matches the original. Things should be back to normal now
with a '5.2' release that loads in Squeak 5.2, and a 'head' that gives
the latest installation regardle
Chris Muller
2018-10-24 00:43:14 UTC
Permalink
Great, thanks Dave!

And Hannes -- thanks to you Squeak 5.2 now has 29 packages listed,
this has to be one of the best releases ever in this respect. In a
listing of over 900 packages, knowing which 29 have been tested and
verified to work is one bit of information useful to virtually every
kind of Squeak user.
Post by David T. Lewis
Post by David T. Lewis
Post by Chris Cunningham
Post by H. Hirzel
It seems to solve the issue. Could you please check ('Update your
SqueakMap client object net and install with click on 'FFI' only).
This worked for me. However, I did notice that there is now no (head)
release - that seems to have gone away.
Ugh. I must have somehow clobbered the (head) release when I made the
new '5.2' release. I really don't know how I did that, but I can see
that the id of the current '5.2' release is the same as that of the
original (head).
I'm not sure how to preceed, maybe just make a new (head) entry?
For the FFI package on SqueakMap, I made a new 'head' release with load
script that matches the original. Things should be back to normal now
with a '5.2' release that loads in Squeak 5.2, and a 'head' that gives
the latest installation regardless of Squeak ver
Fabio Niephaus
2018-10-15 17:36:23 UTC
Permalink
On Mon, Oct 15, 2018 at 5:29 PM Benoit St-Jean via Squeak-dev <
We should modify the batch files on windows (32 & 64 bit versions of
Squeak) to avoid starting Squeak with a useless and annoying CMD window
that stays opened in the background.
START /B .\Squeak5.2-18221-32bit-All-in-One.app\Contents\Win32\Squeak.exe
"Squeak5.2-18221-32bit-All-in-One.app\Contents\Resources\Squeak5.2-18221-32bit.image"
Sounds reasonable, but I'm no Windows user. So someone should verify this
works.

Nonetheless, all templates used for our bundles can be found at:
https://github.com/squeak-smalltalk/squeak-app/blob/squeak-trunk/templates/

You probably want to open a pull request against:
https://github.com/squeak-smalltalk/squeak-app/blob/squeak-trunk/templates/all-in-one/squeak.bat

Best,
Fabio
-----------------
Benoît St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero". (A. Einstein)
David T. Lewis
2018-10-14 00:33:21 UTC
Permalink
Post by Chris Muller
Post by David T. Lewis
It sounds like we need a new release called '5.2' with a load script
that looks similar to the load script for '3.10' but with package
versions that match what you get when you load '(head)'. That new
release should be tagged for Squeak5.2, and it should be "published"
from the http://map.squeak.org site. Does this sound right?
Yes, absolutely. And, once we have the template from this Squeak
release established, it becomes incredibly easy to simply do what you
said above, since you just select "Create New Release", and update
version numbers in the script to what they show in the Monticello
browser.
Any one of the 1.62 Magma packages can serve as the first template.
Just delete the pre-req load if you don't need it and change the
package names to the current correct versions of FFI.
- Chris
OK, I just made a new '5.2' release in SqueakMap for FFI that loads
the three latest package versions, the same versions as when I load
'(head)' from SqueakMap.

I did not test and I cannot confirm it's right, but if '(head)' works
then I think this should be OK.

Hannes, can you please try updating your SqueakMap loader, then load
the '5.2' release for FFI?

If this looks good, we can go to the http://map.squeak.org page and
"publish" the new 5.2 release for FFI. That should make it loadable
at the package level from a SqueakMap Package Loader.

The load script that I added is:

#('FFI-Pools-TorstenBergmann.4' 'FFI-Kernel-eem.55' 'FFI-Tests-cbc.9') do:
[ :each |
(Installer repository: 'http://source.squeak.org/FFI')
Loading...