Login  Register

Pharo6 bootstrap how to

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
34 messages Options Options
Embed post
Permalink
12
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Stephane Ducasse-3
2162 posts
thanks Pavel this is great to see that happening :)

On Sun, Jun 25, 2017 at 6:47 PM, Pavel Krivanek
<[hidden email]> wrote:

> Hi,
>
> if you will do own bootstrap, you can use BaselineOfUI instead of
> BaselineOfIDE. But you can use prebuilt image from here:
>
> https://ci.inria.fr/pharo/view/6.0-SysConf/job/Pharo-6.0-Step-10-01-ConfigurationOfUI/lastSuccessfulBuild/artifact/Pharo-6.0-ConfigurationOfUI.zip
>
> Into such image load Dr. Geo with the attached script:
> ./pharo-ui Pharo-6.0-ConfigurationOfUI.image --no-default-preferences st
> load.st --save --quit
>
> and run it with:
> ./pharo-ui Pharo-6.0-ConfigurationOfUI.image --no-default-preferences
>
> This image hase some problems with settings processing so the
> --no-default-preferences is needed. We need to fix it.
>
> The resultant image is under 18MB. Of course we can do better :-)
>
> -- Pavel
>
>
> 2017-06-25 17:16 GMT+02:00 Hilaire <[hidden email]>:
>>
>> Hi Pavel,
>>
>> I removed deprecated method uses, then I updated accordingly the
>> 'development' configuration of Dr. Geo. Hope it helps.
>>
>> Thanks
>>
>> Hilaire
>>
>> Le 25/06/2017 à 10:03, Pavel Krivanek a écrit :
>> >
>> > I tried to play a little bit with that. As the first step please check
>> > that Dr. Geo can be loaded properly into the standard Pharo 6 image with
>> > the package Deprecated60 unloaded. The Dr. Geo uses some deprecated
>> > calls and this package is not present in the smaller images.
>> >
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>

Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

alistairgrant
1001 posts
In reply to this post by EstebanLM
Hi Pavel & Esteban,

Thanks very much for your replies.

What I wanted to do was to replace the line:

./vm/pharo Pharo.image eval --save "Metacello new baseline: 'IDE';repository: 'filetree://../src'; load"

with one that would keep the repository associated in Iceberg.  Of
course, since this is the line that loads Iceberg, that's a bit
difficult at the moment (I guess it would be possible to tell Iceberg
that the loaded source matches the repository, and just associate it
without loading, but I'd have to spend quite a bit more time on figuring
that out).

I want to focus on getting my patch that fixes #isSymlink and other file
attributes finished and submitted, so I'll look at this again after
that's done.

Thanks again,
Alistair


On Sun, Jun 25, 2017 at 10:47:23AM +0200, Esteban Lorenzano wrote:

>
>     On 25 Jun 2017, at 10:41, Pavel Krivanek <[hidden email]> wrote:
>
>     Thank you for the update, the original script was done for older Iceberg
>     versions.
>
>
> indeed :)
>
> Esteban
>
>
>
>     Cheers,
>     -- Pavel
>
>     2017-06-25 10:38 GMT+02:00 Esteban Lorenzano <[hidden email]>:
>
>         Hi!
>
>        
>             On 25 Jun 2017, at 10:14, Pavel Krivanek <[hidden email]>
>             wrote:
>
>             You can clone a repository with Iceberg with a script like this:
>
>             target := 'pharo-core' asFileReference ensureCreateDirectory.
>             repository := IceRepositoryCreator new
>             remote: (IceRemote url: '[hidden email]:pharo-project/pharo.git');
>             location: target;
>             subdirectory:'src';
>             createRepository.
>             repository backend checkoutBranch: 'development'.
>             repository register.
>
>
>         this is a bit too verbose for my taste :)
>         you can do the same with this (which is more or less the same, btw?
>         just more compact)
>
>         repository := IceRepositoryCreator new
>         remote: (IceRemote url: '[hidden email]:pharo-project/pharo.git');
>         subdirectory:'src';
>         createRepository.
>         repository checkoutBranch: 'development'.
>         repository register.
>
>         - no need to violate demeters law by accessing directly to backend
>         - no need to specify a target location because it will put it in
>         default place.
>
>         :)
>        
>         Esteban
>
>
>
>             Setting of the system version is already fixed in Pharo 7. For
>             Pharo 6 you want to do something like this:
>
>             ./pharo Pharo.image eval --save "| updateString | updateString :=
>             'tag.txt' asFileReference readStream contents allButFirst.
>             SystemVersion classPool at: #Current put: (SystemVersion new type:
>             'Pharo'; major: updateString first asString asInteger; minor:
>             updateString second asString asInteger; highestUpdate: updateString
>             asInteger; suffix: ''; yourself)"
>
>             Where tag.txt can by obtained from git by:
>             git describe --tags > tag.txt
>
>             Cheers,
>             -- Pavel
>
>
>
>
>             2017-06-24 22:06 GMT+02:00 Alistair Grant <[hidden email]>:
>
>                 Hi Pavel,
>                
>                 On Fri, Jun 23, 2017 at 10:08:29PM +0200, Pavel Krivanek wrote:
>                 > clone the master branch of [hidden email]:pharo-project/p
>                 haro.git and inside
>                 > this clone do:
>                 >
>                 > export PHARO_VERSION=60
>                 > export BOOTSTRAP_ARCH=32
>                 >
>                 > wget -O - get.pharo.org/${PHARO_VERSION}+vm | bash
>                 >
>                 > ./pharo Pharo.image --no-default-preferences ./bootstrap/
>                 scripts/
>                 > prepare_image.st --save --quit
>                 > ./pharo Pharo.image --no-default-preferences ./bootstrap/
>                 scripts/bootstrap.st
>                 > --ARCH=${BOOTSTRAP_ARCH} --quit
>                 > bash ./bootstrap/scripts/build.sh
>
>
>                 Thanks very much for providing these instructions.
>
>                 It would be great to have a version of the script that used
>                 Iceberg to
>                 load the code and kept the repository (pharo-project/pharo in
>                 the
>                 example above, but normally this would be a fork of the
>                 repository).
>                 This would greatly facilitate creating pull requests with bug
>                 fixes.
>
>                 I'll try and figure out how to modify your script to do this,
>                 but if
>                 you're able to provide a quick answer, or even a hint, it would
>                 be much
>                 appreciated.
>
>                 Also, the version information doesn't appear to be set here,
>                 i.e.:
>
>                 $ pharo Pharo.image printVersion
>                 [version] nil.nil #0
>
>                 I'll try and figure this out, but if you know, what do I need
>                 to do to
>                 get this set?
>
>                 Thanks again,
>                 Alistair

Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

HilaireFernandes
1396 posts
In reply to this post by Pavel Krivanek-3
Hi Pavel,

Are your suggesting I should be using a pre-built image with minimal
requirement? :

One for UI only : BaselineOfUi ?

One for IDE tools: BaselineOfIDE. ?


In Dr. Geo to write script, one need at least access to a playground and
a class browser. Which of this image should be used then?

For the later I really want to have an easier browser, something to
build on GLamour, if I understand correctly. But it will be another
topic, later.

Thanks

Hilaire

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Pavel Krivanek-3
1314 posts


2017-06-26 15:35 GMT+02:00 Hilaire <[hidden email]>:
Hi Pavel,

Are your suggesting I should be using a pre-built image with minimal
requirement? :

One for UI only : BaselineOfUi ?

One for IDE tools: BaselineOfIDE. ?


In Dr. Geo to write script, one need at least access to a playground and
a class browser. Which of this image should be used then?

We have the BaselineOfBasicTools that is something in the middle. It already contains Workspace and Nautilus (but not GTPlayground). BaselineOfIDE corresponds to the standard Pharo distribution so you will not save space. You should probalby create own baseline and select what you need.
 

For the later I really want to have an easier browser, something to
build on GLamour, if I understand correctly. But it will be another
topic, later.

Glamour is part of BaselineOfIDE so you will need it or create own baseline.

Cheers,
-- Pavel
 

Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

HilaireFernandes
1396 posts
So in pratical term, how do you create a baseline?

Hilaire

Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :

> We have the BaselineOfBasicTools that is something in the middle. It
> already contains Workspace and Nautilus (but not GTPlayground).
> BaselineOfIDE corresponds to the standard Pharo distribution so you will
> not save space. You should probalby create own baseline and select what
> you need.
>  
>
>
>     For the later I really want to have an easier browser, something to
>     build on GLamour, if I understand correctly. But it will be another
>     topic, later.
>
>
> Glamour is part of BaselineOfIDE so you will need it or create own baseline.
>

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Pavel Krivanek-3
1314 posts
You need to do it manually. You should probably start with own copy of BaselineOfIDE and then try to remove packages you don't need. You should do it slowly and check if you are still able to generate a working image.

-- Pavel

2017-06-26 16:09 GMT+02:00 Hilaire <[hidden email]>:
So in pratical term, how do you create a baseline?

Hilaire

Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
> We have the BaselineOfBasicTools that is something in the middle. It
> already contains Workspace and Nautilus (but not GTPlayground).
> BaselineOfIDE corresponds to the standard Pharo distribution so you will
> not save space. You should probalby create own baseline and select what
> you need.
>
>
>
>     For the later I really want to have an easier browser, something to
>     build on GLamour, if I understand correctly. But it will be another
>     topic, later.
>
>
> Glamour is part of BaselineOfIDE so you will need it or create own baseline.
>

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Tim Mackinnon
1126 posts
This is very interesting… what would you need in that image to use the remote debugging demo’d at Pharo Days 2017 - as I’m assuming for a server environment with a web-app, you could have a lean core image and then remotely attach to it to understand what was going on? With enough infrastructure to inspect objects etc, but locally you could look up things with GT tools?

Or have I got the wrong end of the stick on this?

Tim

On 26 Jun 2017, at 15:29, Pavel Krivanek <[hidden email]> wrote:

You need to do it manually. You should probably start with own copy of BaselineOfIDE and then try to remove packages you don't need. You should do it slowly and check if you are still able to generate a working image.

-- Pavel

2017-06-26 16:09 GMT+02:00 Hilaire <[hidden email]>:
So in pratical term, how do you create a baseline?

Hilaire

Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
> We have the BaselineOfBasicTools that is something in the middle. It
> already contains Workspace and Nautilus (but not GTPlayground).
> BaselineOfIDE corresponds to the standard Pharo distribution so you will
> not save space. You should probalby create own baseline and select what
> you need.
>
>
>
>     For the later I really want to have an easier browser, something to
>     build on GLamour, if I understand correctly. But it will be another
>     topic, later.
>
>
> Glamour is part of BaselineOfIDE so you will need it or create own baseline.
>

--
Dr. Geo
http://drgeo.eu




Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

HilaireFernandes
1396 posts
In reply to this post by Pavel Krivanek-3
Do you have a page explaining the process so people can try out?

Hilaire

Le 26/06/2017 à 16:29, Pavel Krivanek a écrit :
> You need to do it manually. You should probably start with own copy of
> BaselineOfIDE and then try to remove packages you don't need. You should
> do it slowly and check if you are still able to generate a working image.
>
> -- Pavel

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Pavel Krivanek-3
1314 posts
Right now we do not have such source.

-- Pavel

2017-06-26 18:42 GMT+02:00 Hilaire <[hidden email]>:
Do you have a page explaining the process so people can try out?

Hilaire

Le 26/06/2017 à 16:29, Pavel Krivanek a écrit :
> You need to do it manually. You should probably start with own copy of
> BaselineOfIDE and then try to remove packages you don't need. You should
> do it slowly and check if you are still able to generate a working image.
>
> -- Pavel

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Pavel Krivanek-3
1314 posts
In reply to this post by Tim Mackinnon


2017-06-26 18:19 GMT+02:00 Tim Mackinnon <[hidden email]>:
This is very interesting… what would you need in that image to use the remote debugging demo’d at Pharo Days 2017 - as I’m assuming for a server environment with a web-app, you could have a lean core image and then remotely attach to it to understand what was going on? With enough infrastructure to inspect objects etc, but locally you could look up things with GT tools?

Or have I got the wrong end of the stick on this?

With Denis we are trying to clean all dependencies so the remote IDE will be able to work on a small headless images. 

Cheers,
-- Pavel
 

Tim

On 26 Jun 2017, at 15:29, Pavel Krivanek <[hidden email]> wrote:

You need to do it manually. You should probably start with own copy of BaselineOfIDE and then try to remove packages you don't need. You should do it slowly and check if you are still able to generate a working image.

-- Pavel

2017-06-26 16:09 GMT+02:00 Hilaire <[hidden email]>:
So in pratical term, how do you create a baseline?

Hilaire

Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
> We have the BaselineOfBasicTools that is something in the middle. It
> already contains Workspace and Nautilus (but not GTPlayground).
> BaselineOfIDE corresponds to the standard Pharo distribution so you will
> not save space. You should probalby create own baseline and select what
> you need.
>
>
>
>     For the later I really want to have an easier browser, something to
>     build on GLamour, if I understand correctly. But it will be another
>     topic, later.
>
>
> Glamour is part of BaselineOfIDE so you will need it or create own baseline.
>

--
Dr. Geo
http://drgeo.eu





Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

HilaireFernandes
1396 posts
In reply to this post by Pavel Krivanek-3
It will be helpfull, because from here I don't understand not much how I
should get started. But I guess it is too early in the process as things
may still be moving.



Le 27/06/2017 à 13:02, Pavel Krivanek a écrit :
> Right now we do not have such source.
>
> -- Pavel

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Tim Mackinnon
1126 posts
In reply to this post by Pavel Krivanek-3
This is great work - I think ultimately we can show the strengths of Smalltalk on images running in unusual places.

Tim

Sent from my iPhone

On 27 Jun 2017, at 12:05, Pavel Krivanek <[hidden email]> wrote:



2017-06-26 18:19 GMT+02:00 Tim Mackinnon <[hidden email]>:
This is very interesting… what would you need in that image to use the remote debugging demo’d at Pharo Days 2017 - as I’m assuming for a server environment with a web-app, you could have a lean core image and then remotely attach to it to understand what was going on? With enough infrastructure to inspect objects etc, but locally you could look up things with GT tools?

Or have I got the wrong end of the stick on this?

With Denis we are trying to clean all dependencies so the remote IDE will be able to work on a small headless images. 

Cheers,
-- Pavel
 

Tim

On 26 Jun 2017, at 15:29, Pavel Krivanek <[hidden email]> wrote:

You need to do it manually. You should probably start with own copy of BaselineOfIDE and then try to remove packages you don't need. You should do it slowly and check if you are still able to generate a working image.

-- Pavel

2017-06-26 16:09 GMT+02:00 Hilaire <[hidden email]>:
So in pratical term, how do you create a baseline?

Hilaire

Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
> We have the BaselineOfBasicTools that is something in the middle. It
> already contains Workspace and Nautilus (but not GTPlayground).
> BaselineOfIDE corresponds to the standard Pharo distribution so you will
> not save space. You should probalby create own baseline and select what
> you need.
>
>
>
>     For the later I really want to have an easier browser, something to
>     build on GLamour, if I understand correctly. But it will be another
>     topic, later.
>
>
> Glamour is part of BaselineOfIDE so you will need it or create own baseline.
>

--
Dr. Geo
http://drgeo.eu





Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Stephane Ducasse-3
2162 posts
In reply to this post by Pavel Krivanek-3
https://www.peteruhnak.com/blog/2016/07/25/how-to-use-git-and-github-with-pharo/

But you should look on the blog of dale henrichs
I did not check but he probably explained how to define baseline.



On Tue, Jun 27, 2017 at 1:02 PM, Pavel Krivanek
<[hidden email]> wrote:

> Right now we do not have such source.
>
> -- Pavel
>
>
> 2017-06-26 18:42 GMT+02:00 Hilaire <[hidden email]>:
>>
>> Do you have a page explaining the process so people can try out?
>>
>> Hilaire
>>
>> Le 26/06/2017 à 16:29, Pavel Krivanek a écrit :
>> > You need to do it manually. You should probably start with own copy of
>> > BaselineOfIDE and then try to remove packages you don't need. You should
>> > do it slowly and check if you are still able to generate a working
>> > image.
>> >
>> > -- Pavel
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>

Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Pharo6 bootstrap how to

Andreas Sunardi
37 posts
I'm also interested in this topic. I've built some small tools but a bit troubled with the installation size. I'd like to reduce it, but still be able to go in and debug when there's problem and to restore a set of packages/classes to add back a removed feature if I later found I need it.

I recently started to look at Dr.Geo to learn how to develop and deploy a Pharo based application. So, I'm thankful to Hilaire for bringing this topic up and I'm looking forward to learn from Dr. Geo and from the outcome of this topic.

On Sat, Jul 1, 2017 at 6:29 AM, Stephane Ducasse <[hidden email]> wrote:
https://www.peteruhnak.com/blog/2016/07/25/how-to-use-git-and-github-with-pharo/

But you should look on the blog of dale henrichs
I did not check but he probably explained how to define baseline.



On Tue, Jun 27, 2017 at 1:02 PM, Pavel Krivanek
<[hidden email]> wrote:
> Right now we do not have such source.
>
> -- Pavel
>
>
> 2017-06-26 18:42 GMT+02:00 Hilaire <[hidden email]>:
>>
>> Do you have a page explaining the process so people can try out?
>>
>> Hilaire
>>
>> Le 26/06/2017 à 16:29, Pavel Krivanek a écrit :
>> > You need to do it manually. You should probably start with own copy of
>> > BaselineOfIDE and then try to remove packages you don't need. You should
>> > do it slowly and check if you are still able to generate a working
>> > image.
>> >
>> > -- Pavel
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>


12