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

Side by Side Diff: common.sh

Issue 5271010: Factored out the code to copy an image and modify it for test (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git@master
Patch Set: Changes as suggested Created 10 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | image_to_usb.sh » ('j') | image_to_usb.sh » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # Common constants for build scripts 5 # Common constants for build scripts
6 # This must evaluate properly for both /bin/bash and /bin/sh 6 # This must evaluate properly for both /bin/bash and /bin/sh
7 7
8 # All scripts should die on error unless commands are specifically excepted 8 # All scripts should die on error unless commands are specifically excepted
9 # by prefixing with '!' or surrounded by 'set +e' / 'set -e'. 9 # by prefixing with '!' or surrounded by 'set +e' / 'set -e'.
10 # TODO: Re-enable this once shflags is less prone to dying. 10 # TODO: Re-enable this once shflags is less prone to dying.
11 #set -e 11 #set -e
12 12
13 # The number of jobs to pass to tools that can run in parallel (such as make 13 # The number of jobs to pass to tools that can run in parallel (such as make
14 # and dpkg-buildpackage 14 # and dpkg-buildpackage
15 NUM_JOBS=`grep -c "^processor" /proc/cpuinfo` 15 NUM_JOBS=`grep -c "^processor" /proc/cpuinfo`
16 16
17 # True if we have the 'pv' utility - also set up COMMON_PV_CAT for convenience
18 COMMON_PV_OK=1
19 COMMON_PV_CAT=pv
20 pv -V >/dev/null 2>&1 || COMMON_PV_OK=0
21 if [ $COMMON_PV_OK -eq 0 ]; then
22 COMMON_PV_CAT=cat
23 fi
24
17 # Store location of the calling script. 25 # Store location of the calling script.
18 TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}" 26 TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}"
19 27
20 # Find root of source tree 28 # Find root of source tree
21 if [ "x$GCLIENT_ROOT" != "x" ] 29 if [ "x$GCLIENT_ROOT" != "x" ]
22 then 30 then
23 # GCLIENT_ROOT already set, so we're done 31 # GCLIENT_ROOT already set, so we're done
24 true 32 true
25 elif [ "x$COMMON_SH" != "x" ] 33 elif [ "x$COMMON_SH" != "x" ]
26 then 34 then
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 fi 128 fi
121 129
122 # Detect whether we're inside a chroot or not 130 # Detect whether we're inside a chroot or not
123 if [ -e /etc/debian_chroot ] 131 if [ -e /etc/debian_chroot ]
124 then 132 then
125 INSIDE_CHROOT=1 133 INSIDE_CHROOT=1
126 else 134 else
127 INSIDE_CHROOT=0 135 INSIDE_CHROOT=0
128 fi 136 fi
129 137
138
139 # Standard filenames
140 CHROMEOS_IMAGE_NAME="chromiumos_image.bin"
141 CHROMEOS_TEST_IMAGE_NAME="chromiumos_test_image.bin"
142
143
130 # Directory locations inside the dev chroot 144 # Directory locations inside the dev chroot
131 CHROOT_TRUNK_DIR="/home/$USER/trunk" 145 CHROOT_TRUNK_DIR="/home/$USER/trunk"
132 146
133 # Install make for portage ebuilds. Used by build_image and gmergefs. 147 # Install make for portage ebuilds. Used by build_image and gmergefs.
134 # TODO: Is /usr/local/autotest-chrome still used by anyone? 148 # TODO: Is /usr/local/autotest-chrome still used by anyone?
135 DEFAULT_INSTALL_MASK="/usr/include /usr/man /usr/share/man /usr/share/doc \ 149 DEFAULT_INSTALL_MASK="/usr/include /usr/man /usr/share/man /usr/share/doc \
136 /usr/share/gtk-doc /usr/share/gtk-2.0 /usr/lib/gtk-2.0/include \ 150 /usr/share/gtk-doc /usr/share/gtk-2.0 /usr/lib/gtk-2.0/include \
137 /usr/share/info /usr/share/aclocal /usr/lib/gcc /usr/lib/pkgconfig \ 151 /usr/share/info /usr/share/aclocal /usr/lib/gcc /usr/lib/pkgconfig \
138 /usr/share/pkgconfig /usr/share/gettext /usr/share/readline /etc/runlevels \ 152 /usr/share/pkgconfig /usr/share/gettext /usr/share/readline /etc/runlevels \
139 /usr/share/openrc /lib/rc *.a *.la /etc/init.d /usr/lib/debug 153 /usr/share/openrc /lib/rc *.a *.la /etc/init.d /usr/lib/debug
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 chroot_hacks_from_outside() { 533 chroot_hacks_from_outside() {
520 # Give args better names. 534 # Give args better names.
521 local chroot_dir="${1}" 535 local chroot_dir="${1}"
522 536
523 # Add root as a sudoer if not already done. 537 # Add root as a sudoer if not already done.
524 if ! sudo grep -q '^root ALL=(ALL) ALL$' "${chroot_dir}/etc/sudoers" ; then 538 if ! sudo grep -q '^root ALL=(ALL) ALL$' "${chroot_dir}/etc/sudoers" ; then
525 info "Upgrading old chroot (pre 2010-10-19) - adding root to sudoers" 539 info "Upgrading old chroot (pre 2010-10-19) - adding root to sudoers"
526 sudo bash -c "echo root ALL=\(ALL\) ALL >> \"${chroot_dir}/etc/sudoers\"" 540 sudo bash -c "echo root ALL=\(ALL\) ALL >> \"${chroot_dir}/etc/sudoers\""
527 fi 541 fi
528 } 542 }
543
544 # This function converts a chromiumos image into a test image, either
545 # in place or by copying to a new test image filename first. It honors
546 # the following flags (see mod_image_for_test.sh)
547 #
548 # --factory
549 # --factory_install
550 # --force_copy
551 #
552 # On entry, pass the image pathname to modify
553 # On exit, it echoes the pathname of the resulting test image
554 #
555 # Usage:
556 # SRC_IMAGE=$(prepare_test_image "/path/to/image")
sosa 2010/12/01 20:37:45 Dcoument both $1 and $2 ... i only see $1 specifie
557
sosa 2010/12/01 20:37:45 Remove extra line here
558 prepare_test_image() {
559 # If we're asked to modify the image for test, then let's make a copy and
560 # modify that instead.
561 # Check for manufacturing image.
562 local args
563
564 if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ]; then
565 args="--factory"
566 fi
567
568 # Check for install shim.
569 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
sosa 2010/12/01 20:37:45 Just checking but these two can't be set at the sa
sjg 2010/12/01 20:54:00 Yes I noticed this - I copied the code as before.
570 args="--factory_install"
571 fi
572
573 # Check for forcing copy of image
574 if [ ${FLAGS_force_copy} -eq ${FLAGS_TRUE} ]; then
575 args="$args --force_copy"
sosa 2010/12/01 20:37:45 ${args}
576 fi
577
578 # Modify the image for test, creating a new test image
579 "${SCRIPTS_DIR}/mod_image_for_test.sh" --board=${FLAGS_board} --image=\
sosa 2010/12/01 20:37:45 I believe having the = at the break point will fai
sjg 2010/12/01 20:54:00 It seems to work, but I have changed it
580 "$1/$2" --noinplace ${args} >/dev/stderr
581
582 # From now on we use the just-created test image
583 echo "$1/${CHROMEOS_TEST_IMAGE_NAME}"
584 }
OLDNEW
« no previous file with comments | « no previous file | image_to_usb.sh » ('j') | image_to_usb.sh » ('J')

Powered by Google App Engine
This is Rietveld 408576698