Hi there, could somebody with access send me please the configuration of Pharo VM job (https://ci.inria.fr/pharo/view/4.0-VM/job/PharoVM/) Namely build steps :-) I'd like to build the VM on my Jenkins... Thanks, Jan
Hello Jan, Here it is: #!bash -lex cd "$WORKSPACE" # Set environment ============================================================ ZIP_FILTER='*' if [ "$OS" == "win" ]; then set -e # Stop the execution if a command fails! ZIP_FILTER=' *.exe *.dll' fi # Download the latest sources ================================================ wget --quiet files.pharo.org/vm/src/vmmaker-image.zip wget --quiet files.pharo.org/vm/src/cog.tar.gz # Unpack sources ============================================================= tar -xzf cog.tar.gz || echo # echo needed for Windows build (error on symlinks creation) mkdir -p cog/build mkdir -p cog/image cd cog/image unzip -o ../../vmmaker-image.zip # Generate sources =========================================================== echo " PharoVMBuilder buildOnJenkins: '$OS'. Smalltalk snapshot: false andQuit: true." > ./script.st wget -O- get.pharo.org/vm | bash ./pharo generator.image script.st || (cat stderr; exit 1) cd ../../ tar -czf sources.tar.gz -C cog . # Compile ==================================================================== cd cog/build sh build.sh # Archive ==================================================================== cd "$WORKSPACE/cog/results" zip -r "vm.zip" $ZIP_FILTER cp -f vm.zip ../../"${BUILD_NUMBER}.zip" cp -f vm.zip ../../"latest.zip" mv -f vm.zip ../../"Pharo-VM-${OS}-latest.zip" # success exit 0 2014-09-24 23:27 GMT+02:00 Jan Vrany <jan.vrany@fit.cvut.cz>:
Hi there,
could somebody with access send me please the configuration of Pharo VM job (https://ci.inria.fr/pharo/view/4.0-VM/job/PharoVM/) Namely build steps :-) I'd like to build the VM on my Jenkins...
Thanks, Jan
Thanks a lot! Jan On Thu, 2014-09-25 at 07:18 +0200, Clément Bera wrote:
Hello Jan,
Here it is:
#!bash -lex
cd "$WORKSPACE" # Set environment ============================================================ ZIP_FILTER='*' if [ "$OS" == "win" ]; then set -e # Stop the execution if a command fails! ZIP_FILTER=' *.exe *.dll' fi
# Download the latest sources ================================================ wget --quiet files.pharo.org/vm/src/vmmaker-image.zip wget --quiet files.pharo.org/vm/src/cog.tar.gz
# Unpack sources ============================================================= tar -xzf cog.tar.gz || echo # echo needed for Windows build (error on symlinks creation) mkdir -p cog/build mkdir -p cog/image
cd cog/image unzip -o ../../vmmaker-image.zip
# Generate sources =========================================================== echo " PharoVMBuilder buildOnJenkins: '$OS'. Smalltalk snapshot: false andQuit: true." > ./script.st
wget -O- get.pharo.org/vm | bash ./pharo generator.image script.st || (cat stderr; exit 1)
cd ../../ tar -czf sources.tar.gz -C cog .
# Compile ==================================================================== cd cog/build sh build.sh
# Archive ==================================================================== cd "$WORKSPACE/cog/results"
zip -r "vm.zip" $ZIP_FILTER
cp -f vm.zip ../../"${BUILD_NUMBER}.zip" cp -f vm.zip ../../"latest.zip" mv -f vm.zip ../../"Pharo-VM-${OS}-latest.zip"
# success exit 0
2014-09-24 23:27 GMT+02:00 Jan Vrany <jan.vrany@fit.cvut.cz>: Hi there,
could somebody with access send me please the configuration of Pharo VM job (https://ci.inria.fr/pharo/view/4.0-VM/job/PharoVM/) Namely build steps :-) I'd like to build the VM on my Jenkins...
Thanks, Jan
On Thu, Sep 25, 2014 at 8:16 AM, Jan Vrany <jan.vrany@fit.cvut.cz> wrote:
Thanks a lot!
you may want to use this ones instead to produce a deb file: https://github.com/pharo-project/pharo-ci/tree/master/ci-jobs/pharo/Pharo-vm.... This is because some patches are applied and compiling the sources won't require downloading some dependencies. Moreover, I've written scripts to generate deb files for Ubuntu: https://github.com/pharo-project/pharo-ubuntu/tree/master/pharo-vm-core-i386. -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
Hi Damien, thanks!
you may want to use this ones instead to produce a deb file: https://github.com/pharo-project/pharo-ci/tree/master/ci-jobs/pharo/Pharo-vm.... This is because some patches are applied and compiling the sources won't require downloading some dependencies.
Moreover, I've written scripts to generate deb files for Ubuntu: https://github.com/pharo-project/pharo-ubuntu/tree/master/pharo-vm-core-i386.
I tried that,but some patches applied to the sources above are rejected so package dpkg-buildpackage fails - at least on Debian Jessie :-) Best, Jan
On Thu, Sep 25, 2014 at 1:46 PM, Jan Vrany <jan.vrany@fit.cvut.cz> wrote:
I tried that,but some patches applied to the sources above are rejected so package dpkg-buildpackage fails - at least on Debian Jessie :-)
can you give more information? -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
On 2014-09-25 13:58, Damien Cassou wrote:
I tried that,but some patches applied to the sources above are rejected so package dpkg-buildpackage fails - at least on Debian Jessie
can you give more information?
source-hardening.patch has to be adjusted --- a/src/vm/cogit.c 2014-09-24 11:26:13.117242533 +0200 +++ b/src/vm/cogit.c 2014-09-24 11:26:55.181154041 +0200 @@ -19339,7 +19339,7 @@ printTrampolineTable(void) for (i = 0; i < trampolineTableIndex; i += 2) { printHex(((sqInt)(trampolineAddresses[i + 1]))); print(": "); - print(((char *) (trampolineAddresses[i]))); + printf("%s", trampolineAddresses[i]); cr(); } } Kind regards, Markus
Hi Markus & Damien, Markus, thanks for the hint, I'll try. Damien, yes, the problematic patch was source-hardening.patch as Markus pointed out. And then also something about native vs. quilt package format. So far I struggled with recipe given by Clement, mainly because of libgit2 - it refuses to compile cleanly in 32bit mode under 64bit system (I had this problem 2 years ago when playing with libgit2, apparently no progress here :-) Bit of sed would do it, although super ugly. Then the vm generator generated sources to the wrong directory. It either does not respect process CWD os it was something else... However, I already exhausted my free time. I'll try again later and get back to you. Best, Jan On Thu, 2014-09-25 at 15:37 +0200, Markus Fritsche wrote:
On 2014-09-25 13:58, Damien Cassou wrote:
I tried that,but some patches applied to the sources above are rejected so package dpkg-buildpackage fails - at least on Debian Jessie
can you give more information?
source-hardening.patch has to be adjusted
--- a/src/vm/cogit.c 2014-09-24 11:26:13.117242533 +0200 +++ b/src/vm/cogit.c 2014-09-24 11:26:55.181154041 +0200 @@ -19339,7 +19339,7 @@ printTrampolineTable(void) for (i = 0; i < trampolineTableIndex; i += 2) { printHex(((sqInt)(trampolineAddresses[i + 1]))); print(": "); - print(((char *) (trampolineAddresses[i]))); + printf("%s", trampolineAddresses[i]); cr(); } }
Kind regards, Markus
On Fri, Sep 26, 2014 at 9:42 AM, Jan Vrany <jan.vrany@fit.cvut.cz> wrote:
However, I already exhausted my free time. I'll try again later and get back to you.
I created a job that builds a nice archive with pre-patched sources: http://files.pharo.org/vm/src/vm-unix-sources/blessed. -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
Hi Damien, On Fri, 2014-09-26 at 17:56 +0200, Damien Cassou wrote:
On Fri, Sep 26, 2014 at 9:42 AM, Jan Vrany <jan.vrany@fit.cvut.cz> wrote:
However, I already exhausted my free time. I'll try again later and get back to you.
I created a job that builds a nice archive with pre-patched sources: http://files.pharo.org/vm/src/vm-unix-sources/blessed.
Very nice indeed. This one works like a charm. Thank you very much. Best, Jan
participants (4)
-
Clément Bera -
Damien Cassou -
Jan Vrany -
Markus Fritsche