OLD | NEW |
1 #!/bin/bash -e | 1 #!/bin/bash -e |
2 | 2 |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # This script installs Debian-derived distributions in a chroot environment. | 7 # This script installs Debian-derived distributions in a chroot environment. |
8 # It can for example be used to have an accurate 32bit build and test | 8 # It can for example be used to have an accurate 32bit build and test |
9 # environment when otherwise working on a 64bit machine. | 9 # environment when otherwise working on a 64bit machine. |
10 # N. B. it is unlikely that this script will ever work on anything other than a | 10 # N. B. it is unlikely that this script will ever work on anything other than a |
11 # Debian-derived system. | 11 # Debian-derived system. |
12 | 12 |
13 # Older Debian based systems had both "admin" and "adm" groups, with "admin" | 13 # Older Debian based systems had both "admin" and "adm" groups, with "admin" |
14 # apparently being used in more places. Newer distributions have standardized | 14 # apparently being used in more places. Newer distributions have standardized |
15 # on just the "adm" group. Check /etc/group for the prefered name of the | 15 # on just the "adm" group. Check /etc/group for the preferred name of the |
16 # administrator group. | 16 # administrator group. |
17 admin=$(grep '^admin:' /etc/group >&/dev/null && echo admin || echo adm) | 17 admin=$(grep '^admin:' /etc/group >&/dev/null && echo admin || echo adm) |
18 | 18 |
19 usage() { | 19 usage() { |
20 echo "usage: ${0##*/} [-m mirror] [-g group,...] [-s] [-c]" | 20 echo "usage: ${0##*/} [-m mirror] [-g group,...] [-s] [-c]" |
21 echo "-b dir additional directories that should be bind mounted," | 21 echo "-b dir additional directories that should be bind mounted," |
22 echo ' or "NONE".' | 22 echo ' or "NONE".' |
23 echo " Default: if local filesystems present, ask user for help" | 23 echo " Default: if local filesystems present, ask user for help" |
24 echo "-g group,... groups that can use the chroot unauthenticated" | 24 echo "-g group,... groups that can use the chroot unauthenticated" |
25 echo " Default: '${admin}' and current user's group ('$(id -gn)')" | 25 echo " Default: '${admin}' and current user's group ('$(id -gn)')" |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 | 843 |
844 For Chrome, this probably means you want to make your "out" directory a | 844 For Chrome, this probably means you want to make your "out" directory a |
845 symbolic link that points somewhere inside of "${HOME}/chroot". | 845 symbolic link that points somewhere inside of "${HOME}/chroot". |
846 | 846 |
847 You still need to run "gclient runhooks" whenever you switch from building | 847 You still need to run "gclient runhooks" whenever you switch from building |
848 outside of the chroot to inside of the chroot. But you will find that you | 848 outside of the chroot to inside of the chroot. But you will find that you |
849 don't have to repeatedly erase and then completely rebuild all your object | 849 don't have to repeatedly erase and then completely rebuild all your object |
850 and binary files. | 850 and binary files. |
851 | 851 |
852 EOF | 852 EOF |
OLD | NEW |