[squeak-dev] Squeak needs a third-party package updater

Chris Muller asqueaker at gmail.com
Sat Sep 12 22:03:19 UTC 2020


Hi Christoph,

A solution made several years ago is still around today, including for FFI
and VMMaker.  Simply find the package in the SqueakMap browser, expand the
tree, select the "head" version, yellow-click "install".

[image: image.png]

It will do a *merge*, starting with the lowest level dependent packages.
How to do this using MCConfigurations is documented here, under the
heading, *Guidelines for writing the script for the head release.*

   http://wiki.squeak.org/squeak/6182

I know this is not quite "all" packages, but I do see a "Upgrade all" few
choices lower which may do what you want or, if not, could trivially be
made to.  The important thing is, you get to maintain the finer-grained
control of being able to load at any node point in the package hierarchy
structure (including lower-level packages).

This hierarchy was defined for many packages as an upgrade to Installer
several years ago.  The upgrade solves your use-case and several others
including for configuration and deployment.  If you select "Edit Release"
on that (head) selection for FFI, you can see it executes just a one-line
workspace:

    Installer new merge: #ffi

That feature is documented here:

   http://wiki.squeak.org/squeak/6366

But, as you mentioned, none of this is git, so this has limited the
interest from the community.

I'm most interested in interacting with git via the GraphQL API, but when I
went to study the schema, I was shocked to see it had hundreds upon
hundreds of types, so I didn't have time to try to make a tidy client.

HTH,
   Chris


On Sat, Sep 12, 2020 at 2:26 PM Eliot Miranda <eliot.miranda at gmail.com>
wrote:

> Hi Christoph,
>
> On Sat, Sep 12, 2020 at 12:19 PM Thiede, Christoph <
> Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
>
>> Hi all,
>>
>>
>> maybe I am missing some central Squeak tool, but I have never been
>> happy with the current way to update all installed third-party packages in
>> Squeak - because I don't know anyone. Please allow me to give you a short
>> outline of the tool I would like to use for updating packages:
>>
>>
>> There should be a simple button in the Squeak Menu, just below "Update
>> image", named "Update packages", that enables you to install the latest
>> versions of all installed packages for which a remote does exist.  In
>> addition, if I made any change to a package, it should be possible to
>> merge the updates into my working copy. In particular, this does not
>> only include Squeaksource packages but also packages from GitHub,
>> BitBucket, etc. Great packages such as Autocompletion, MethodWrappers,
>> Vivide, or Squot (see below) that are all hosted on GitHub and can be
>> installed using a Metacello script.
>>
>> So how much of this is reality and how much is fiction today?
>> For packages installed from Squeaksource, I can open them in the
>> Monticello Browser and load or merge the latest version. At least, this
>> works, but we could need a button to do this for all available packages
>> where a "default remote" is selected.
>> But for packages managed via git, this is not possible at all! The
>> Monticello Browser does not know their remote repositories that were used
>> to install the packages originally. Without extra settings made per
>> repository baseline, you cannot even re-load a package again via the
>> install script, see also this open issue:
>> https://github.com/Metacello/metacello/issues/513 Meanwhile, I have made
>> a habit of cloning all interesting projects via Squot in order to update
>> them, even if I do not plan to commit to them ...
>>
>> I believe there is also something like SqueakMap which has an "Update"
>> and an "Upgrade" button, but this tool is only made for accessing the
>> Squeaksource, is this correct? From what I can see, Squeaksource and
>> SqueakMap have become less important compared to GitHub (the reasons
>> might include better visibility/explorability of projects, a more efficient
>> VCS, and features like issues/pull requests; but that's probably not the
>> point here).
>>
>> What do you think? Am I the only one facing this issue? How would a
>> roadmap for such a tool look like? Looking forward to your ideas! :-)
>>
>
> I've been wanting something like this for the VMMaker development system
> too.  And for FFI.  Any system builder who uses Squeak as a base, who has
> on-going development, could benefit from such a system.  And us making it
> easy to develop is I think a great idea.  So keep going, This is an
> excellent direction.
>
> I would also extend the idea with being able to upgrade the VM and dlls
> within it, but for now that should be on the back burner.  Getting
> image-level support for update of non-trunk packages is the mosyt important
> thing.  Thank you.
>
> Best,
>> Christoph
>>
>
> _,,,^..^,,,_
> best, Eliot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200912/1f530c93/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 60106 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200912/1f530c93/attachment-0001.png>


More information about the Squeak-dev mailing list