| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium OS 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 generates the list of board overlays and variants. | 7 # This script generates the list of board overlays and variants. |
| 8 | 8 |
| 9 # Load common CrOS utilities. Inside the chroot this file is installed in | 9 # Load common CrOS utilities. Inside the chroot this file is installed in |
| 10 # /usr/lib/crosutils. Outside the chroot we find it relative to the scripts | 10 # /usr/lib/crosutils. Outside the chroot we find it relative to the scripts |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 if [ -z "${COMMON_SH}" ] ; then | 21 if [ -z "${COMMON_SH}" ] ; then |
| 22 echo "common.sh not found in search path (${common_paths})" | 22 echo "common.sh not found in search path (${common_paths})" |
| 23 exit 1 | 23 exit 1 |
| 24 fi | 24 fi |
| 25 | 25 |
| 26 . "${COMMON_SH}" | 26 . "${COMMON_SH}" |
| 27 | 27 |
| 28 get_default_board | 28 get_default_board |
| 29 | 29 |
| 30 # Flags | 30 # Flags |
| 31 DEFINE_boolean all_boards "${FLAGS_FALSE}" \ |
| 32 "Return paths to overlays for all boards. (Default: false)" |
| 31 DEFINE_string board "$DEFAULT_BOARD" "The name of the board to set up." | 33 DEFINE_string board "$DEFAULT_BOARD" "The name of the board to set up." |
| 32 DEFINE_string board_overlay "" "Location of the board overlay." | 34 DEFINE_string board_overlay "" "Location of the board overlay." |
| 33 DEFINE_boolean primary_only ${FLAGS_FALSE} \ | 35 DEFINE_boolean primary_only ${FLAGS_FALSE} \ |
| 34 "Only return the path to the board's primary overlay. (Default: false)" | 36 "Only return the path to the board's primary overlay. (Default: false)" |
| 37 DEFINE_boolean private ${FLAGS_TRUE} \ |
| 38 "Include private overlays. (Default: true)" |
| 39 DEFINE_boolean public ${FLAGS_TRUE} \ |
| 40 "Include public overlays. (Default: true)" |
| 35 DEFINE_string variant "" "Board variant." | 41 DEFINE_string variant "" "Board variant." |
| 36 | 42 |
| 37 # Parse command line flags | 43 # Parse command line flags |
| 38 FLAGS "$@" || exit 1 | 44 FLAGS "$@" || exit 1 |
| 39 eval set -- "${FLAGS_ARGV}" | 45 eval set -- "${FLAGS_ARGV}" |
| 40 | 46 |
| 41 # Only now can we die on error. shflags functions leak non-zero error codes, | 47 # Only now can we die on error. shflags functions leak non-zero error codes, |
| 42 # so will die prematurely if 'set -e' is specified before now. | 48 # so will die prematurely if 'set -e' is specified before now. |
| 43 set -e | 49 set -e |
| 44 | 50 |
| 51 public() { [ "$FLAGS_public" = "$FLAGS_TRUE" ]; } |
| 52 private() { [ "$FLAGS_private" = "$FLAGS_TRUE" ]; } |
| 53 |
| 54 if [ "$FLAGS_all_boards" = "$FLAGS_TRUE" ] ; then |
| 55 overlays= |
| 56 public && overlays="$overlays ${SRC_ROOT}/overlays/*overlay*" |
| 57 private && overlays="$overlays ${SRC_ROOT}/private-overlays/*overlay*" |
| 58 for overlay in $overlays ; do |
| 59 if [ -d "$overlay" ] ; then |
| 60 echo $overlay |
| 61 fi |
| 62 done |
| 63 exit 0 |
| 64 fi |
| 65 |
| 45 if [ -z "$FLAGS_board" ] ; then | 66 if [ -z "$FLAGS_board" ] ; then |
| 46 error "--board required." | 67 error "--board required." |
| 47 exit 1 | 68 exit 1 |
| 48 fi | 69 fi |
| 49 | 70 |
| 50 if [[ $FLAGS_board =~ [_\ ] ]] ; then | 71 if [[ $FLAGS_board =~ [_\ ] ]] ; then |
| 51 error "--board name must not contain an underscore (_) or a space ( )." | 72 error "--board name must not contain an underscore (_) or a space ( )." |
| 52 exit 1 | 73 exit 1 |
| 53 fi | 74 fi |
| 54 | 75 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 79 return 0 | 100 return 0 |
| 80 } | 101 } |
| 81 | 102 |
| 82 BOARD_OVERLAY="${SRC_ROOT}/overlays/overlay-${FLAGS_board}" | 103 BOARD_OVERLAY="${SRC_ROOT}/overlays/overlay-${FLAGS_board}" |
| 83 PRIVATE_OVERLAY_NAME="overlay-${FLAGS_board}-private" | 104 PRIVATE_OVERLAY_NAME="overlay-${FLAGS_board}-private" |
| 84 PRIVATE_BOARD_OVERLAY="${SRC_ROOT}/private-overlays/${PRIVATE_OVERLAY_NAME}" | 105 PRIVATE_BOARD_OVERLAY="${SRC_ROOT}/private-overlays/${PRIVATE_OVERLAY_NAME}" |
| 85 | 106 |
| 86 # | 107 # |
| 87 # Identify the primary board overlay or die. | 108 # Identify the primary board overlay or die. |
| 88 # | 109 # |
| 89 if is_primary_overlay ${BOARD_OVERLAY}; then | 110 if public && is_primary_overlay ${BOARD_OVERLAY}; then |
| 90 PRIMARY_OVERLAY="${BOARD_OVERLAY}" | 111 PRIMARY_OVERLAY="${BOARD_OVERLAY}" |
| 91 elif is_primary_overlay "${PRIVATE_BOARD_OVERLAY}"; then | 112 elif private && is_primary_overlay "${PRIVATE_BOARD_OVERLAY}"; then |
| 92 PRIMARY_OVERLAY="${PRIVATE_BOARD_OVERLAY}" | 113 PRIMARY_OVERLAY="${PRIVATE_BOARD_OVERLAY}" |
| 93 fi | 114 fi |
| 94 if [ ! -n "${PRIMARY_OVERLAY}" ]; then | 115 if [ ! -n "${PRIMARY_OVERLAY}" ]; then |
| 95 error "There is no primary board overlay for ${FLAGS_board}" | 116 error "There is no primary board overlay for ${FLAGS_board}" |
| 96 exit 1 | 117 exit 1 |
| 97 fi | 118 fi |
| 98 | 119 |
| 99 # | 120 # |
| 100 # If only the primary overlay is needed, provide it and exit. | 121 # If only the primary overlay is needed, provide it and exit. |
| 101 # | 122 # |
| 102 if [ "${FLAGS_primary_only}" -eq "${FLAGS_TRUE}" ]; then | 123 if [ "${FLAGS_primary_only}" -eq "${FLAGS_TRUE}" ]; then |
| 103 echo "${PRIMARY_OVERLAY}" | 124 echo "${PRIMARY_OVERLAY}" |
| 104 exit 0 | 125 exit 0 |
| 105 fi | 126 fi |
| 106 | 127 |
| 107 # | 128 # |
| 108 # Check for chromeos-overlay. | 129 # Check for chromeos-overlay. |
| 109 # | 130 # |
| 110 CHROMEOS_OVERLAY="${SRC_ROOT}/private-overlays/chromeos-overlay" | 131 CHROMEOS_OVERLAY="${SRC_ROOT}/private-overlays/chromeos-overlay" |
| 111 | 132 |
| 112 if [ -d "${CHROMEOS_OVERLAY}" ]; then | 133 if private && [ -d "${CHROMEOS_OVERLAY}" ]; then |
| 113 echo "${CHROMEOS_OVERLAY}" | 134 echo "${CHROMEOS_OVERLAY}" |
| 114 fi | 135 fi |
| 115 | 136 |
| 116 # | 137 # |
| 117 # Check if there are any public board overlays. | 138 # Check if there are any public board overlays. |
| 118 # | 139 # |
| 119 if [ -d "${BOARD_OVERLAY}" ]; then | 140 if public && [ -d "${BOARD_OVERLAY}" ]; then |
| 120 echo "${BOARD_OVERLAY}" | 141 echo "${BOARD_OVERLAY}" |
| 121 | 142 |
| 122 # | 143 # |
| 123 # Add the public variant overlay if it exists. | 144 # Add the public variant overlay if it exists. |
| 124 # | 145 # |
| 125 if [ -n "$FLAGS_variant" ] ; then | 146 if [ -n "$FLAGS_variant" ] ; then |
| 126 if [ -d "$VARIANT_OVERLAY" ] ; then | 147 if [ -d "$VARIANT_OVERLAY" ] ; then |
| 127 echo "${VARIANT_OVERLAY}" | 148 echo "${VARIANT_OVERLAY}" |
| 128 fi | 149 fi |
| 129 fi | 150 fi |
| 130 fi | 151 fi |
| 131 | 152 |
| 132 # | 153 # |
| 133 # Add any private overlays and private variant overlays for this board. | 154 # Add any private overlays and private variant overlays for this board. |
| 134 # | 155 # |
| 135 if [ -d "${SRC_ROOT}/private-overlays" ] ; then | 156 if private && [ -d "${SRC_ROOT}/private-overlays" ] ; then |
| 136 OVERLAY_NAME="overlay-${FLAGS_board}-private" | 157 OVERLAY_NAME="overlay-${FLAGS_board}-private" |
| 137 PRIVATE_OVERLAY="${SRC_ROOT}/private-overlays/${OVERLAY_NAME}" | 158 PRIVATE_OVERLAY="${SRC_ROOT}/private-overlays/${OVERLAY_NAME}" |
| 138 | 159 |
| 139 if [ -d "${PRIVATE_OVERLAY}" ] ; then | 160 if [ -d "${PRIVATE_OVERLAY}" ] ; then |
| 140 echo "${PRIVATE_OVERLAY}" | 161 echo "${PRIVATE_OVERLAY}" |
| 141 fi | 162 fi |
| 142 | 163 |
| 143 # | 164 # |
| 144 # Add the private variant overlay if it exists. | 165 # Add the private variant overlay if it exists. |
| 145 # | 166 # |
| 146 if [ -n "$FLAGS_variant" ] ; then | 167 if [ -n "$FLAGS_variant" ] ; then |
| 147 if [ -d "${PRIVATE_VARIANT_OVERLAY}" ] ; then | 168 if [ -d "${PRIVATE_VARIANT_OVERLAY}" ] ; then |
| 148 echo "${PRIVATE_VARIANT_OVERLAY}" | 169 echo "${PRIVATE_VARIANT_OVERLAY}" |
| 149 fi | 170 fi |
| 150 fi | 171 fi |
| 151 fi | 172 fi |
| 152 | 173 |
| 153 # | 174 # |
| 154 # Finally, add in any user requested board overlays. | 175 # Finally, add in any user requested board overlays. |
| 155 # | 176 # |
| 156 if [ -d "${FLAGS_board_overlay}" ] ; then | 177 if [ -d "${FLAGS_board_overlay}" ] ; then |
| 157 echo "${FLAGS_board_overlay}" | 178 echo "${FLAGS_board_overlay}" |
| 158 fi | 179 fi |
| OLD | NEW |