Files
phantomjs/deploy
Jon Leighton a569d618f0 Deploy script improvements.
http://code.google.com/p/phantomjs/issues/detail?id=599

Squashed commit of the following:

commit 2cdcf8a47567f3c067958383843cccf858af531c
Author: Jon Leighton <j@jonathanleighton.com>
Date:   Sat Jul 7 19:37:38 2012 +0100

    Make lib-bundling/brandelf optional in deploy/package.sh

    This configuration has had some problems and we don't wish to use it in
    the official packages.

    Enable it with --bundle-libs.

commit 2a2155a4e1f5873aa8624859cead9d66750747f4
Author: Jon Leighton <j@jonathanleighton.com>
Date:   Sat Jul 7 19:24:40 2012 +0100

    notify user if upx is missing

commit 9656a99df0ff101150276dc88e0127f68041f617
Author: Jon Leighton <j@jonathanleighton.com>
Date:   Sat Jul 7 19:23:36 2012 +0100

    stripping symbols after upx probably doesn't work, reorder that

commit c5f425dc17069c89e7d2ff274309006c728ffab4
Author: Jon Leighton <j@jonathanleighton.com>
Date:   Sat Jul 7 19:17:07 2012 +0100

    fix logical fail
2012-07-09 06:31:25 -07:00
..
2012-06-19 00:29:18 +01:00
2012-07-09 06:31:25 -07:00
2012-06-19 23:19:49 +01:00
2012-06-19 00:28:37 +01:00

Packaging PhantomJS

This directory contains various scripts to assist with making PhantomJS packages.

Packaging for Linux

Linux building/packaging is best done in a virtual machine to ensure isolation and clean state. This is also necessary to build for different architectures.

We use Vagrant to help with this. Please see the Vagrant documentation for instructions on how to install VirtualBox and Vagrant.

Once you have Vagrant installed, building should be as simple as running:

$ export PHANTOMJS_VERSION=1.6.0 # change as necessary
$ vagrant up $ARCH

Where $ARCH is either i686 or x86_64.

This runs the provision_vm.sh script, which installs the necessary dependencies, checks out a fresh copy of the PhantomJS repository, switches to the relevant tag, builds and packages the software and the associated debugging symbols tarball, and copies the tarballs out of the VM onto your host machine.

If it runs successfully, you will see the tarballs in this directory, ready for upload.

If there are any problems, you can re-run the script with:

$ vagrant provision $ARCH

Or SSH into the VM:

$ vagrant ssh $ARCH

Once you're done, you can destroy the VM with:

$ vagrant destroy $ARCH

If you need to build a new version, you should destroy the VM and start again to ensure a clean state. (Or SSH in and do a git clean.)

Packaging for OS X

Run deploy/build-and-package.sh. That's it.

However, if you have previously built the sources in release mode, you should clean your tree to make sure all the debugging symbols gets compiled:

$ make clean && cd src/qt && make clean && cd ../..