Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(725)

Side by Side Diff: docs/linux_sysroot.md

Issue 1761123002: Add documentation for linux sysroot images (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Linux sysroot images
2
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.
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
7 machine. Secondly, it makes the build more hermetic, preventing issues that
8 arise for variations among developers' systems.
9
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
12 Google Cloud Storage and downloaded during `gclient runhooks`
13
14 ## Installing the sysroot images
15
16 Installation of the sysroot is performed by
17 `build/linux/sysroot_scripts/install-sysroot.py`.
18
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.
21
22 ## Rebuilding the sysroot image
23
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
26 the chromium build.
27
28 ### Rebuilding
29
30 To rebuild the images (without any changes) run the following commands:
31
32 $ cd build/linux/sysroot_scripts
33 $ ./sysroot-creator-wheezy.sh BuildSysrootAll
34
35 The above command will rebuild the sysroot for all architectures. To build
36 just one architecture use `BuildSysroot<arch>`. Run the script with no
37 arguments for a list of possible architectures. For example:
38
39 $ ./sysroot-creator-wheezy.sh BuildSysrootAmd64
40
41 This command on its own should be a no-op and produce an image identical to
42 the one on Google Cloud Storage.
43
44 ### Updating existing package list
45
46 To update packages to the latest versions run:
47
48 $ ./sysroot-creator-wheezy.sh UpdatePackageListsAll
49
50 This command will update the package lists that are stored alongside the script.
51 If no packages have changed then this script will have no effect.
52
53 ### Adding new packages
54
55 To add a new package, edit the `sysroot-creator-wheezy.sh` script and modify
56 the `DEBIAN_PACKAGES` list, then run the update step above
57 (`UpdatePackageListsAll`).
58
59 ### Uploading new images
60
61 To upload images to Google Cloud Storage run the following command:
62
63 $ ./sysroot-creator-wheezy.sh UploadSysrootAll <SHA1>
64
65 Here you should use the SHA1 of the git revision at which the images were
66 created.
67
68 Uploading new images to Google Clound Storage requires write permission on the
69 `chrome-linux-sysroot` bucket.
70
71 ### Rolling the sysroot version used by chromium
72
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
75 updating the `REVISION` and `SHA1SUM` variables in the script.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698