OLD | NEW |
1 # Linux sysroot images | 1 # Linux sysroot images |
2 | 2 |
3 The chromium build system for Linux will (by default) use a sysroot image | 3 The chromium build system for Linux will (by default) use a sysroot image |
4 rather than building against the libraries installed on the host system. | 4 rather than building against the libraries installed on the host system. |
5 This serves several purposes. Firstly, it ensures that binaries will run on all | 5 This serves several purposes. Firstly, it ensures that binaries will run on all |
6 supported linux systems independent of the packages installed on the build | 6 supported linux systems independent of the packages installed on the build |
7 machine. Secondly, it makes the build more hermetic, preventing issues that | 7 machine. Secondly, it makes the build more hermetic, preventing issues that |
8 arise for variations among developers' systems. | 8 arise for variations among developers' systems. |
9 | 9 |
10 The sysroot consists of a minimal installation of Debian/stable (or old-stable) | 10 The sysroot consists of a minimal installation of Debian/stable (or old-stable) |
11 to ensure maximum compatibility. Pre-built sysroot images are stored in | 11 to ensure maximum compatibility. Pre-built sysroot images are stored in |
12 Google Cloud Storage and downloaded during `gclient runhooks` | 12 Google Cloud Storage and downloaded during `gclient runhooks` |
13 | 13 |
14 ## Installing the sysroot images | 14 ## Installing the sysroot images |
15 | 15 |
16 Installation of the sysroot is performed by | 16 Installation of the sysroot is performed by |
17 `build/linux/sysroot_scripts/install-sysroot.py`. | 17 `build/linux/sysroot_scripts/install-sysroot.py`. |
18 | 18 |
19 This script can be run manually but is normally run as part of gclient | 19 This script can be run manually but is normally run as part of gclient |
20 hooks. When run from hooks this script in a no-op on non-linux platforms. | 20 hooks. When run from hooks this script in a no-op on non-linux platforms. |
21 | 21 |
22 ## Rebuilding the sysroot image | 22 ## Rebuilding the sysroot image |
23 | 23 |
24 The pre-built sysroot images occasionally needs to be rebuilt. For example, | 24 The pre-built sysroot images occasionally needs to be rebuilt. For example, |
25 when security updates to debian are released, or when a new package is needed by | 25 when security updates to Debian are released, or when a new package is needed by |
26 the chromium build. | 26 the chromium build. |
27 | 27 |
28 ### Rebuilding | 28 ### Rebuilding |
29 | 29 |
30 To rebuild the images (without any changes) run the following commands: | 30 To rebuild the images (without any changes) run the following commands: |
31 | 31 |
32 $ cd build/linux/sysroot_scripts | 32 $ cd build/linux/sysroot_scripts |
33 $ ./sysroot-creator-wheezy.sh BuildSysrootAll | 33 $ ./sysroot-creator-wheezy.sh BuildSysrootAll |
34 | 34 |
35 The above command will rebuild the sysroot for all architectures. To build | 35 The above command will rebuild the sysroot for all architectures. To build |
(...skipping 30 matching lines...) Expand all Loading... |
66 created. | 66 created. |
67 | 67 |
68 Uploading new images to Google Clound Storage requires write permission on the | 68 Uploading new images to Google Clound Storage requires write permission on the |
69 `chrome-linux-sysroot` bucket. | 69 `chrome-linux-sysroot` bucket. |
70 | 70 |
71 ### Rolling the sysroot version used by chromium | 71 ### Rolling the sysroot version used by chromium |
72 | 72 |
73 Once new images have been uploaded the `install-sysroot.py` script needs to be | 73 Once new images have been uploaded the `install-sysroot.py` script needs to be |
74 updated to reference the new versions. This process is manual and involves | 74 updated to reference the new versions. This process is manual and involves |
75 updating the `REVISION` and `SHA1SUM` variables in the script. | 75 updating the `REVISION` and `SHA1SUM` variables in the script. |
OLD | NEW |