Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
Hi,
I want to build a Pharo6 image from scratch for Dr. Geo. How to do it? Thanks Hilaire -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
clone the master branch of [hidden email]:pharo-project/pharo.git and inside this clone do: export PHARO_VERSION=60 export BOOTSTRAP_ARCH=32 wget -O - <a href="http://get.pharo.org/${PHARO_VERSION}+vm">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 2017-06-23 21:12 GMT+02:00 Hilaire <[hidden email]>: Hi, |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
Thanks,
Can you key in the exact sequence to clone the git repo, I am not used to GIT yet. Hilaire Le 23/06/2017 à 22:08, Pavel Krivanek a écrit : > clone the master branch of > [hidden email]:pharo-project/pharo.git and > inside this clone do: > -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
Just to be sure, it is to build an image from a mini-image, right? So
to get a fairly small Dr. Geo image. Le 24/06/2017 à 09:00, Hilaire a écrit : > Thanks, > > Can you key in the exact sequence to clone the git repo, I am not used > to GIT yet. > > Hilaire -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
In reply to this post by HilaireFernandes
git clone [hidden email]:pharo-project/pharo.git 2017-06-24 9:00 GMT+02:00 Hilaire <[hidden email]>: Thanks, ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
In reply to this post by HilaireFernandes
The question is what is your goal because the bootstrapped image will have in the end (almost) the same content as the default non-bootstrapped image. You probably want to change the content of the produced image wich requires to modify the related baselines and do not load them all. For Dr Geo you will probably want to start with the BaselineOfMorphic however you will probably need a lot of custom modifications. -- Pavel 2017-06-24 9:07 GMT+02:00 Hilaire <[hidden email]>: Just to be sure, it is to build an image from a mini-image, right? So ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
Hi Pavel,
Le 24/06/2017 à 09:35, Pavel Krivanek a écrit : > The question is what is your goal because the bootstrapped image will I want to build an image for DrGeo which is not 60MB. (the size I have now on my P6 dev image for Dr. Geo) Until now, DrGeo was installed then unecessary packages removed. With the first Pharo release, DrGeo image was around 10MB, in the latest DrGeo release (based on P3), its image is more than 20MB. For P6, if possible, I would like to use the bootstrap process > have in the end (almost) the same content as the default > non-bootstrapped image. > You probably want to change the content of the produced image wich > requires to modify the related baselines and do not load them all. For > Dr Geo you will probably want to start with the BaselineOfMorphic > however you will probably need a lot of custom modifications. I don't know... May be we can take Dr. Geo as an excuse to see step by step how to do it. If we succeed I could document it so it may be useful to other. -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
In reply to this post by Pavel Krivanek-3
Looks like one should use the bellow command for anonymous clone:
git clone https://github.com/pharo-project/pharo.git The command you provided required uploading public rsa key Le 24/06/2017 à 09:29, Pavel Krivanek a écrit : > git > clone [hidden email]:pharo-project/pharo.git > -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
In reply to this post by Pavel Krivanek-3
Ok, I executed these statements. It seems to do its jobs just fine, I
request for a 64bits architecture. What's next? Thanks Hilaire Le 23/06/2017 à 22:08, Pavel Krivanek a écrit : > ./pharo Pharo.image --no-default-preferences > ./bootstrap/scripts/prepare_image.st <http://prepare_image.st> --save --quit > ./pharo Pharo.image --no-default-preferences > ./bootstrap/scripts/bootstrap.st <http://bootstrap.st> > --ARCH=${BOOTSTRAP_ARCH} --quit > bash ./bootstrap/scripts/build.sh > -- Dr. Geo http://drgeo.eu |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1001 posts
|
In reply to this post by Pavel Krivanek-3
Hi Pavel,
On Fri, Jun 23, 2017 at 10:08:29PM +0200, Pavel Krivanek wrote: > clone the master branch of [hidden email]:pharo-project/pharo.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 |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
In reply to this post by HilaireFernandes
Hi Hilaire, 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. Cheers, -- Pavel 2017-06-24 10:29 GMT+02:00 Hilaire <[hidden email]>: Hi Pavel, ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
In reply to this post by alistairgrant
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. 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, ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
6187 posts
|
Hi!
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. :)
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
6187 posts
|
... [show rest of quote] Ah, and not that I think, you can also doit like this: repository := IceRepositoryCreator new url: '[hidden email]:pharo-project/pharo.git'; subdirectory:'src'; createRepository. repository checkoutBranch: 'development'. repository register. :)
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
In reply to this post by EstebanLM
Thank you for the update, the original script was done for older Iceberg versions. Cheers, -- Pavel 2017-06-25 10:38 GMT+02:00 Esteban Lorenzano <[hidden email]>:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
6187 posts
|
indeed :) Esteban
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1396 posts
|
In reply to this post by Pavel Krivanek-3
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 |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
1314 posts
|
Hi, if you will do own bootstrap, you can use BaselineOfUI instead of BaselineOfIDE. But you can use prebuilt image from here: 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, ... [show rest of quote] load.st (1K) Download Attachment |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
2162 posts
|
In reply to this post by HilaireFernandes
Hilaire,
Pay attention, we (pharo) bootstrap the minicore image based on git You do not need to bootstrap pharo you can simply apply the buildscript on the minicore image. then we use a buildscript to load pharo packages. In the future we expect that people will be able to - take the miniimage and build with specific script (mainlu metacello configuration) their own specialized image I would focus on this part if I would be you. Stef On Fri, Jun 23, 2017 at 9:12 PM, Hilaire <[hidden email]> wrote: > Hi, > > I want to build a Pharo6 image from scratch for Dr. Geo. How to do it? > > Thanks > > Hilaire > -- > Dr. Geo > http://drgeo.eu > > |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
2162 posts
|
In reply to this post by HilaireFernandes
Hilaire
I like your goal because this is what we want to achieve. what you should know is that the Pharo packages that we load to create Pharo are not all modular because they were not. We started to get Pharo modular and we will continue. On two fronts: - getting the core smaller - getting pharo more modular So if you see - packages where a dependency can be easily removed (for example by producing two packages instead of one). - packages that can just be loaded separately (we could just create a new package out an larger one). - packages that can just be thrown away. let us know. Stef On Sat, Jun 24, 2017 at 10:29 AM, Hilaire <[hidden email]> wrote: > Hi Pavel, > > Le 24/06/2017 à 09:35, Pavel Krivanek a écrit : >> The question is what is your goal because the bootstrapped image will > > I want to build an image for DrGeo which is not 60MB. (the size I have > now on my P6 dev image for Dr. Geo) > > Until now, DrGeo was installed then unecessary packages removed. With > the first Pharo release, DrGeo image was around 10MB, in the latest > DrGeo release (based on P3), its image is more than 20MB. > > For P6, if possible, I would like to use the bootstrap process > >> have in the end (almost) the same content as the default >> non-bootstrapped image. >> You probably want to change the content of the produced image wich >> requires to modify the related baselines and do not load them all. For >> Dr Geo you will probably want to start with the BaselineOfMorphic >> however you will probably need a lot of custom modifications. > > > I don't know... May be we can take Dr. Geo as an excuse to see step by > step how to do it. If we succeed I could document it so it may be useful > to other. > > > -- > Dr. Geo > http://drgeo.eu > > ... [show rest of quote] |
Free forum by Nabble | Edit this page |