Add needed library.
[bitmask_bundler.git] / README.md
1 # Bundler
2
3 This application is intended to create [Bitmask](https://bitmask.net)
4 [standalone bundles](https://bitmask.net/en/install/linux#install-stand-alone-bundle).
5 This should eventually become the main tool in order to create reproducible
6 builds.
7
8 ## What do you need
9
10 * Two virtual machines:
11   * Debian 7.1 32bits - for the 32bits bundle
12   * Debian 7.1 64bits - for the 64bits bundle
13 * two scripts in this repository,
14 * an internet connection,
15 * approximately 1.3Gb of disk space,
16 * (optional) configure `sudo` for your non-root user,
17 * patience.
18
19 The script uses `sudo` which is installed on most Debian systems, but you need
20 to configure your non-root user to be able to use `sudo`.
21
22 Edit the `/etc/sudoers` file and add this line at the bottom:
23 `leap ALL=NOPASSWD: ALL`
24
25 *HEADS UP*: That line allows the user 'leap' to use `sudo` without being asked
26 for a password, that makes the script easier to use but it would be a security
27 problem. If you use this script in a VM and only for bundling purposes then it
28 shouldn't be a problem.
29
30
31
32
33 ## How to use
34
35 You need to copy the scripts `createbundle.sh` and `copy-binaries.sh` to a VM
36 and run `./createbundle.sh`, after that it should be all automagically
37 processed.
38 As an input for the `createbundle.sh` script you need to have a `bitmask.json`
39 file in the same folder, there is an example file on this repo, you can use it
40 as a template. There is a json file named `bitmask-nightly.json` that is meant
41 to be used to create a bundle combining all the `develop` branches.
42
43 The resulting bundle will be saved in:
44 `/home/leap/bitmask.bundle/bundle.output/` under some name like
45 `Bitmask-linux64-2014-09-24-9b3b7f6f.tar.bz2` in case of bundling a *nightly*
46 release, or `Bitmask-linux64-0.7.0.tar.bz2` in case of a *normal* release.
47
48 After the bundling process finishes it creates a file named
49 `reuse-binaries.lock` that if you don't delete it, the bundler will reuse the
50 compiled libraries and binaries (like `openvpn` and `PySide`) saving a lot of
51 time the next time that a bundler is executed.