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

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 in on the host system.
binji 2016/03/03 23:54:08 installed on
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 amoung developer's systems.
binji 2016/03/03 23:54:08 developers'
binji 2016/03/03 23:54:08 among
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, whe n
binji 2016/03/03 23:54:08 wrap at 80
25 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
binji 2016/03/03 23:54:08 why wheezy? Are there other Debian images?
34
35 The above command will rebuild the sysroot for all architectures. To build
36 just one architecture use `BuildSysroot<arch>`. For example:
binji 2016/03/03 23:54:08 where do we get the arch list?
37
38 $ ./sysroot-creator-wheezy.sh BuildSysrootAmd64
39
40 This command on its own should be a no-op and produce an image identical to
41 the one on Google Cloud Storage.
42
43 ### Updating existing package list
44
45 To update packages to the latest versions run:
46
47 $ ./sysroot-creator-wheezy.sh UpdatePackageListsAll
48
49 This command will update the package lists that are stored alongside the script.
50 If not packages have changed then this script will have no effect.
binji 2016/03/03 23:54:08 s/not/no
51
52 ### Adding new packages
53
54 To add a new package, edit the `sysroot-creator-wheezy.sh` script and modify
55 the `DEBIAN_PACKAGES` list, then run the update step above
56 (`UpdatePackageListsAll`).
57
58 ### Uploading new images
59
60 To upload images to Google Cloud Storage run the following command:
61
62 $ ./sysroot-creator-wheezy.sh UploadSysrootAll <SHA1>
63
64 Here you should use the SHA1 of the git revision at which the images were
65 created.
66
67 Uploading new images to Google Clound Storage requires write permission on the
68 `chrome-linux-sysroot` bucket.
69
70 ### Rolling the sysroot version used by chromium
71
72 Once new images have been uploaded the `install-sysroot.py` script needs to be
73 updated to reference the new versions. This process is manual and involves
74 updating the `REVISION` and `SHA1SUM` variables in the script
binji 2016/03/03 23:54:08 period at the end
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