On 25 Jun 2017, at 10:41, Pavel Krivanek <pavel.krivanek@gmail.com> 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 <estebanlm@gmail.com <mailto:estebanlm@gmail.com>>: Hi!
On 25 Jun 2017, at 10:14, Pavel Krivanek <pavel.krivanek@gmail.com <mailto:pavel.krivanek@gmail.com>> wrote:
You can clone a repository with Iceberg with a script like this:
target := 'pharo-core' asFileReference ensureCreateDirectory. repository := IceRepositoryCreator new remote: (IceRemote url: 'git@github.com <mailto:git@github.com>: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: 'git@github.com <mailto:git@github.com>: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 <akgrant0710@gmail.com <mailto:akgrant0710@gmail.com>>: Hi Pavel,
On Fri, Jun 23, 2017 at 10:08:29PM +0200, Pavel Krivanek wrote:
clone the master branch of git@github.com <mailto:git@github.com>: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 <http://get.pharo.org/$%7BPHARO_VERSION%7D+vm> | bash
./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
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