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: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 <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: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