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

Unified Diff: image_hacks.sh

Issue 3401001: chromite: initial version of image_hacks.sh (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Created 10 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: image_hacks.sh
diff --git a/image_hacks.sh b/image_hacks.sh
new file mode 100755
index 0000000000000000000000000000000000000000..633962c571b03ebdb2ce1d9a85e1854529ceee77
--- /dev/null
+++ b/image_hacks.sh
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is a wrapper around every part of the build system that corrupts
+# the pristine image for various purposes.
+
+# The purpose of this script is to allow a smooth transition from the old
+# build system, where random corruptions of the pipelined approach to image
+# creation happen in random places, to the new build system, where we keep all
+# of them in one place.
+
+# To avoid code duplication and preservation of the old build system until the
+# release of chromite, we need to import all the "corrupting" code into here,
+# but provide "legacy" interfaces to this code so that it can be used in
+# exactly identical way. This is done in 2 phases:
+# 1) Wrapping around various other scripts, providing a way to call them from
+# this script.
+# 2) Make this script consume the wrapped scripts and provide legacy symlinks,
+# that do exactly the same thing as the old scripts.
+
+#------ These are the scripts we're trying to kill --------#
+
+function mod_image_for_test() {
+ $(dirname ${0})/mod_image_for_test.sh $* || return $?
+}
+
+function mod_image_for_recovery() {
+ $(dirname ${0})/mod_image_for_recovery.sh $* || return $?
+}
+
+function mod_image_for_dev_recovery() {
+ $(dirname ${0})/mod_image_for_dev_recovery.sh $* || return $?
+}
+
+function customize_rootfs() {
+ $(dirname ${0})/customize_rootfs $* || return $?
+}
+
+#-------------------------- Tools -------------------------#
+
+function board_to_arch() {
+ . "/build/${1}/etc/make.conf.board_setup" || return 1
+ TC_ARCH=$(echo "${CHOST}" | awk -F'-' '{ print $1 }')
+ case "${TC_ARCH}" in
+ (arm*) echo "arm";;
+ (*86) echo "x86";;
+ (*) error "Unable to determine ARCH from toolchain: ${CHOST}"; return 1;;
+ esac
+}
+
+#--------------------------- Main -------------------------#
+
+function corrupt_for_recovery() {
+ :
+}
+function corrupt_for_dev_recovery() {
+ :
+}
+function corrupt_for_dev_install() {
+ :
+}
+function corrupt_for_factory_installer_shim() {
+ :
+}
+function corrupt_for_factory_test() {
+ :
+}
+function corrupt_for_test() {
+ :
+}
+
+function main() {
+ . "$(dirname "$0")/common.sh"
+ get_default_board
+
+ # Flag definitions:
+ DEFINE_string corruption_type "" \
+ "The type of corruption to invoke upon the slashfs."
+ DEFINE_string board "${DEFAULT_BOARD}" \
+ "The board to build an image for."
+ DEFINE_string slashfs "" \
+ "The path to root file system to corrupt."
+
+ # Parse command line.
+ FLAGS "$@" || return 1
+
+ # Sanity checking.
+ if [ -z "${FLAGS_corruption_type}" ]; then
+ echo "Please specify corruption type"; return 1
+ fi
+ if [ -z "${FLAGS_board}" ]; then
+ echo "You must specify board"; return 1
+ fi
+
+ # Customize_rootfs needs arch, we need to get it somehow.
+ ARCH="$(board_to_arch ${FLAGS_board})" || return 1
+
+ ###################################################
+ # Parametric corruption of the slashfs starts here.
+ ###################################################
+ #customize_rootfs --board="${FLAGS_board}" --target="${ARCH}" \
+ # --root="${FLAGS_slashroot}"
+
+ case ${FLAGS_corruption_type} in
+ (recovery) corrupt_for_recovery ;;
+ (dev_recovery) corrupt_for_dev_recovery ;;
+ (dev_install) corrupt_for_dev_install ;;
+ (factory_installer_shim) corrupt_for_factory_installer_shim ;;
+ (factory_test) corrupt_for_factory_test ;;
+ (test) corrupt_for_test ;;
+ esac
+ return $?
+}
+
+case "$(basename $0)" in
+# (mod_image_for_test.sh) mod_image_for_test $* || return $?;;
+# (mod_image_for_recovery.sh) mod_image_for_recovery $* || return $?;;
+# (mod_image_for_dev_recovery.sh) mod_image_for_dev_recovery $* || return $?;;
+# (customize_rootfs) customize_rootfs $* || return $?;;
+ (image_hacks.sh) main $* || return $?;; # normal invocation
+ (*) echo "$0: Unknown invocation!"; exit 1 ;;
+esac
« 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