| #!/bin/bash |
| # Copyright 2019 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. |
| |
| VERSION="1.0.0" |
| SCRIPT=$(basename -- "${0}") |
| |
| export LC_ALL=C |
| |
| if [[ ! -e /etc/cros_chroot_version ]]; then |
| echo "This script must be run inside the chroot." |
| exit 1 |
| fi |
| |
| if [[ "$#" -lt 2 ]]; then |
| echo "Usage: ${SCRIPT} base_name variant_name [bug_number]" |
| echo "e.g. ${SCRIPT} hatch kohaku b:140261109" |
| echo "Creates the initial EC image as a copy of the base board's EC." |
| exit 1 |
| fi |
| |
| # This is the name of the base board that we're cloning to make the variant. |
| # ${var,,} converts to all lowercase. |
| BASE="${1,,}" |
| # This is the name of the variant that is being cloned. |
| VARIANT="${2,,}" |
| |
| # Assign BUG= text, or "None" if that parameter wasn't specified. |
| BUG=${3:-None} |
| |
| # All of the necessary files are in platform/ec/board |
| cd ~/trunk/src/platform/ec/board || exit 1 |
| |
| # Make sure that the base exists. |
| if [[ ! -e "${BASE}" ]]; then |
| echo "${BASE} does not exist; please specify a valid baseboard." |
| exit 1 |
| fi |
| |
| # Make sure the variant doesn't already exist. |
| if [[ -e "${VARIANT}" ]]; then |
| echo "${VARIANT} already exists; have you already created this variant?" |
| exit 1 |
| fi |
| |
| # Start a branch. Use YMD timestamp to avoid collisions. |
| DATE=$(date +%Y%m%d) |
| repo start "create_${VARIANT}_${DATE}" . || exit 1 |
| |
| mkdir "${VARIANT}" |
| cp "${BASE}"/* "${VARIANT}" |
| # TODO (pfagerburg@) replace the base name with the variant name in the |
| # copied files, except for the BASEBOARD=${BASE^^} line in build.mk. |
| |
| # Build the code; exit if it fails. |
| pushd .. || exit 1 |
| make BOARD="${VARIANT}" || exit 1 |
| popd || exit 1 |
| |
| git add "${VARIANT}"/* |
| |
| # Now commit the files. |
| git commit -sm "${VARIANT}: Initial EC image |
| |
| The starting point for the ${VARIANT} EC image |
| |
| (Auto-Generated by ${SCRIPT} version ${VERSION}). |
| |
| BUG=${BUG} |
| BRANCH=none |
| TEST=make BOARD=${VARIANT}" |
| |
| echo "Please check all the files (git show), make any changes you want," |
| echo "and then repo upload." |