mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 17:06:58 +02:00
Merge pull request #187 from marineam/git
fix(*): Update references to old git URL.
This commit is contained in:
commit
c45464a93a
@ -1,12 +0,0 @@
|
||||
# This file is used by gcl to get repository specific information.
|
||||
CODE_REVIEW_SERVER: codereview.chromium.org
|
||||
VIEW_VC: http://chrome-svn/viewvc/chromeos?view=rev&revision=
|
||||
STATUS: http://chromiumos-status.appspot.com/status
|
||||
CC_LIST: chromium-os-reviews@chromium.org
|
||||
GITCL_PREUPLOAD: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome
|
||||
GITCL_PREDCOMMIT: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome
|
||||
TRYSERVER_HTTP_HOST: chrome-tryserver
|
||||
TRYSERVER_HTTP_PORT: 8018
|
||||
TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try/try
|
||||
PUSH_URL_CONFIG: url.ssh://gitrw.chromium.org.pushinsteadof
|
||||
ORIGIN_URL_CONFIG: http://git.chromium.org/git
|
@ -8,7 +8,7 @@ EAPI="2"
|
||||
# project. It is not cros-work-able if changes to the protobufs are needed
|
||||
# these should be done in the Chromium repository.
|
||||
|
||||
EGIT_REPO_SERVER="http://git.chromium.org"
|
||||
EGIT_REPO_SERVER="https://chromium.googlesource.com"
|
||||
EGIT_REPO_URI="${EGIT_REPO_SERVER}/chromium/src/chrome/browser/policy/proto.git"
|
||||
EGIT_PROJECT="proto"
|
||||
EGIT_COMMIT="18f481b411ea0a861f0879af2065effce0e1fe6c"
|
||||
|
@ -1,219 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
#
|
||||
# Original Author: The Chromium OS Authors <chromium-os-dev@chromium.org>
|
||||
# Purpose: Install binary packages for Chromium OS
|
||||
#
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_STORE_DIR
|
||||
# @DESCRIPTION:
|
||||
# Storage directory for Chrome OS Binaries
|
||||
: ${CROS_BINARY_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/cros-binary}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_FETCH_REQUIRED
|
||||
# @DESCRIPTION:
|
||||
# Internal variable controlling whether cros-binary_fetch is actually ran.
|
||||
: ${CROS_BINARY_FETCH_REQUIRED:=true}
|
||||
|
||||
# @ECLASS-FUNCTION: cros-binary_add_uri
|
||||
# @DESCRIPTION:
|
||||
# Add a fetch uri to SRC_URI for the given uri. See
|
||||
# CROS_BINARY_URI for what is accepted. Note you cannot
|
||||
# intermix a non-rewritten ssh w/ (http|https|gs).
|
||||
cros-binary_add_uri()
|
||||
{
|
||||
if [[ $# -ne 1 ]]; then
|
||||
die "cros-binary_add_uri takes exactly one argument; $# given."
|
||||
fi
|
||||
local uri="$1"
|
||||
if [[ "${uri}" =~ ^ssh://([^@]+)@git.chromium.org[^/]*/(.*)$ ]]; then
|
||||
uri="gs://chromeos-binaries/HOME/${BASH_REMATCH[1]}/${BASH_REMATCH[2]}"
|
||||
fi
|
||||
case "${uri}" in
|
||||
http://*|https://*|gs://*)
|
||||
SRC_URI+=" ${uri}"
|
||||
CROS_BINARY_FETCH_REQUIRED=false
|
||||
CROS_BINARY_STORE_DIR="${DISTDIR}"
|
||||
;;
|
||||
*)
|
||||
die "Unknown protocol: ${uri}"
|
||||
;;
|
||||
esac
|
||||
RESTRICT+="mirror"
|
||||
}
|
||||
|
||||
# @ECLASS-FUNCTION: cros-binary_add_gs_uri
|
||||
# @DESCRIPTION:
|
||||
# Wrapper around cros-binary_add_uri. Invoked with 3 arguments;
|
||||
# the bcs user, the overlay, and the filename (or bcs://<uri> for
|
||||
# backwards compatibility).
|
||||
cros-binary_add_gs_uri() {
|
||||
if [[ $# -ne 3 ]]; then
|
||||
die "cros-binary_add_bcs_uri needs 3 arguments; $# given."
|
||||
fi
|
||||
# Strip leading bcs://...
|
||||
[[ "${3:0:6}" == "bcs://" ]] && set -- "${1}" "${2}" "${3#bcs://}"
|
||||
cros-binary_add_uri "gs://chromeos-binaries/HOME/$1/$2/$3"
|
||||
}
|
||||
|
||||
# @ECLASS-FUNCTION: cros-binary_add_overlay_uri
|
||||
# @DESCRIPTION:
|
||||
# Wrapper around cros-binary_add_bcs_uri. Invoked with 2 arguments;
|
||||
# the basic board target (x86-alex for example), and the filename; that filename
|
||||
# is automatically prefixed with "${CATEGORY}/${PN}/" .
|
||||
cros-binary_add_overlay_uri() {
|
||||
if [[ $# -ne 2 ]]; then
|
||||
die "cros-binary_add_bcs_uri_simple needs 2 arguments; $# given."
|
||||
fi
|
||||
cros-binary_add_gs_uri bcs-"$1" overlay-"$1" "${CATEGORY}/${PN}/$2"
|
||||
}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_URI
|
||||
# @DESCRIPTION:
|
||||
# URI for the binary may be one of:
|
||||
# http://
|
||||
# https://
|
||||
# ssh://
|
||||
# gs://
|
||||
# file:// (file is relative to the files directory)
|
||||
# Additionally, all bcs ssh:// urls are rewritten to gs:// automatically
|
||||
# the appropriate GS bucket- although cros-binary_add_uri is the preferred
|
||||
# way to do that.
|
||||
# TODO: Deprecate this variable's support for ssh and http/https.
|
||||
: ${CROS_BINARY_URI:=}
|
||||
if [[ -n "${CROS_BINARY_URI}" ]]; then
|
||||
cros-binary_add_uri "${CROS_BINARY_URI}"
|
||||
fi
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_SUM
|
||||
# @DESCRIPTION:
|
||||
# Optional SHA-1 sum of the file to be fetched
|
||||
: ${CROS_BINARY_SUM:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_INSTALL_FLAGS
|
||||
# @DESCRIPTION:
|
||||
# Optional Flags to use while installing the binary
|
||||
: ${CROS_BINARY_INSTALL_FLAGS:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_BINARY_LOCAL_URI_BASE
|
||||
# @DESCRIPTION:
|
||||
# Optional URI to override CROS_BINARY_URI location. If this variable
|
||||
# is used the filename from CROS_BINARY_URI will be used, but the path
|
||||
# to the binary will be changed.
|
||||
: ${CROS_BINARY_LOCAL_URI_BASE:=}
|
||||
|
||||
# Check for EAPI 2+
|
||||
case "${EAPI:-0}" in
|
||||
4|3|2) ;;
|
||||
*) die "unsupported EAPI" ;;
|
||||
esac
|
||||
|
||||
cros-binary_check_file() {
|
||||
local target="${CROS_BINARY_STORE_DIR}/${CROS_BINARY_URI##*/}"
|
||||
elog "Checking for cached $target"
|
||||
if [[ -z "${CROS_BINARY_SUM}" ]]; then
|
||||
return 1
|
||||
else
|
||||
echo "${CROS_BINARY_SUM} ${target}" |
|
||||
sha1sum -c --quiet >/dev/null 2>&1
|
||||
return
|
||||
fi
|
||||
}
|
||||
|
||||
cros-binary_fetch() {
|
||||
${CROS_BINARY_FETCH_REQUIRED} || return 0
|
||||
local uri=${CROS_BINARY_URI}
|
||||
if [[ ! -z "${CROS_BINARY_LOCAL_URI_BASE}" ]]; then
|
||||
uri="${CROS_BINARY_LOCAL_URI_BASE}/${CROS_BINARY_URI##*/}"
|
||||
fi
|
||||
|
||||
local scheme="${uri%%://*}"
|
||||
local non_scheme=${uri#*://}
|
||||
local netloc=${non_scheme%%/*}
|
||||
local server=${netloc%%:*}
|
||||
local port=${netloc##*:}
|
||||
local path=${non_scheme#*/}
|
||||
|
||||
if [[ -z "${port}" ]]; then
|
||||
port="22"
|
||||
fi
|
||||
|
||||
local scp_args="-qo BatchMode=yes -oCheckHostIP=no -P ${port}"
|
||||
local target="${CROS_BINARY_STORE_DIR}/${uri##*/}"
|
||||
|
||||
addwrite "${CROS_BINARY_STORE_DIR}"
|
||||
if [[ ! -d "${CROS_BINARY_STORE_DIR}" ]]; then
|
||||
mkdir -p "${CROS_BINARY_STORE_DIR}" ||
|
||||
die "Failed to mkdir ${CROS_BINARY_STORE_DIR}"
|
||||
fi
|
||||
|
||||
if ! cros-binary_check_file; then
|
||||
rm -f "${target}"
|
||||
case "${scheme}" in
|
||||
http|https|ftp)
|
||||
wget "${uri}" -O "${target}" -nv -nc ||
|
||||
rm -f "${target}"
|
||||
;;
|
||||
|
||||
ssh)
|
||||
elog "Running: scp ${scp_args} ${server}:/${path} ${target}"
|
||||
scp ${scp_args} "${server}:/${path}" "${target}" ||
|
||||
rm -f "${target}"
|
||||
;;
|
||||
|
||||
file)
|
||||
if [[ "${non_scheme:0:1}" == "/" ]]; then
|
||||
cp "${non_scheme}" "${target}" || rm -f "${target}"
|
||||
else
|
||||
cp "${FILESDIR}/${non_scheme}" "${target}" ||
|
||||
rm -f "${target}"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
die "Protocol for '${uri}' is unsupported."
|
||||
;;
|
||||
esac
|
||||
|
||||
# if no checksum, generate a new one
|
||||
if [[ -z "${CROS_BINARY_SUM}" ]]; then
|
||||
local sha1=( $(sha1sum "${target}") )
|
||||
elog "cros-binary ${target} is not checksummed. Use:"
|
||||
elog "CROS_BINARY_SUM=\"${sha1[0]}\""
|
||||
CROS_BINARY_SUM="${sha1[0]}"
|
||||
fi
|
||||
else
|
||||
elog "Not downloading, cached copy available in ${target}"
|
||||
fi
|
||||
|
||||
cros-binary_check_file || die "Failed to fetch ${uri}."
|
||||
}
|
||||
|
||||
cros-binary_src_unpack() {
|
||||
cros-binary_fetch
|
||||
}
|
||||
|
||||
cros-binary_src_install() {
|
||||
local target="${CROS_BINARY_URI##*/}"
|
||||
if ${CROS_BINARY_FETCH_REQUIRED}; then
|
||||
target="${CROS_BINARY_STORE_DIR}/${target}"
|
||||
else
|
||||
target="${DISTDIR}/${target}"
|
||||
fi
|
||||
|
||||
local extension="${CROS_BINARY_URI##*.}"
|
||||
local flags
|
||||
|
||||
case "${CROS_BINARY_URI##*.}" in
|
||||
gz|tgz) flags="z";;
|
||||
bz2|tbz2) flags="j";;
|
||||
*) die "Unsupported binary file format ${CROS_BINARY_URI##*.}"
|
||||
esac
|
||||
|
||||
cd "${D}" || die
|
||||
tar "${flags}xpf" "${target}" ${CROS_BINARY_INSTALL_FLAGS} || die "Failed to unpack"
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS src_unpack src_install
|
||||
|
@ -1,378 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
# Original Author: The Chromium OS Authors <chromium-os-dev@chromium.org>
|
||||
# Purpose: Generate shell script containing firmware update bundle.
|
||||
#
|
||||
|
||||
inherit cros-workon cros-binary
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_BCS_USER_NAME
|
||||
# @DESCRIPTION: (Optional) Name of user on BCS server
|
||||
: ${CROS_FIRMWARE_BCS_USER_NAME:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_BCS_OVERLAY_NAME
|
||||
# @DESCRIPTION: (Optional) Name of the ebuild overlay.
|
||||
: ${CROS_FIRMWARE_BCS_OVERLAY_NAME:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_IMAGE
|
||||
# @DESCRIPTION: (Optional) Location of system firmware (BIOS) image
|
||||
: ${CROS_FIRMWARE_MAIN_IMAGE:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_RW_IMAGE
|
||||
# @DESCRIPTION: (Optional) Location of RW system firmware image
|
||||
: ${CROS_FIRMWARE_MAIN_RW_IMAGE:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_EC_IMAGE
|
||||
# @DESCRIPTION: (Optional) Location of EC firmware image
|
||||
: ${CROS_FIRMWARE_EC_IMAGE:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_EC_VERSION
|
||||
# @DESCRIPTION: (Optional) Version name of EC firmware
|
||||
: ${CROS_FIRMWARE_EC_VERSION:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_SUM
|
||||
# @DESCRIPTION: (Optional) SHA-1 checksum of system firmware (BIOS) image
|
||||
: ${CROS_FIRMWARE_MAIN_SUM:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_MAIN_RW_SUM
|
||||
# @DESCRIPTION: (Optional) SHA-1 checksum of RW system firmware image
|
||||
: ${CROS_FIRMWARE_MAIN_RW_SUM:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_EC_SUM
|
||||
# @DESCRIPTION: (Optional) SHA-1 checksum of EC firmware image on BCS
|
||||
: ${CROS_FIRMWARE_EC_SUM:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_PLATFORM
|
||||
# @DESCRIPTION: (Optional) Platform name of firmware
|
||||
: ${CROS_FIRMWARE_PLATFORM:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_SCRIPT
|
||||
# @DESCRIPTION: (Optional) Entry script file name of updater
|
||||
: ${CROS_FIRMWARE_SCRIPT:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_UNSTABLE
|
||||
# @DESCRIPTION: (Optional) Mark firmrware as unstable (always RO+RW update)
|
||||
: ${CROS_FIRMWARE_UNSTABLE:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_BINARY
|
||||
# @DESCRIPTION: (Optional) location of custom flashrom tool
|
||||
: ${CROS_FIRMWARE_FLASHROM_BINARY:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_EXTRA_LIST
|
||||
# @DESCRIPTION: (Optional) Semi-colon separated list of additional resources
|
||||
: ${CROS_FIRMWARE_EXTRA_LIST:=}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_FIRMWARE_FORCE_UPDATE
|
||||
# @DESCRIPTION: (Optional) Always add "force update firmware" tag.
|
||||
: ${CROS_FIRMWARE_FORCE_UPDATE:=}
|
||||
|
||||
# TODO(hungte) Support "local_mainfw" and "local_ecfw".
|
||||
# $board-overlay/make.conf may contain these flags to always create "firmware
|
||||
# from source".
|
||||
IUSE="bootimage cros_ec"
|
||||
|
||||
# Some tools (flashrom, iotools, mosys, ...) were bundled in the updater so we
|
||||
# don't write RDEPEND=$DEPEND. RDEPEND should have an explicit list of what it
|
||||
# needs to extract and execute the updater.
|
||||
DEPEND="
|
||||
>=coreos-base/vboot_reference-1.0-r230
|
||||
coreos-base/vpd
|
||||
dev-util/shflags
|
||||
>=sys-apps/flashrom-0.9.3-r36
|
||||
sys-apps/mosys
|
||||
"
|
||||
|
||||
# Build firmware from source.
|
||||
DEPEND="$DEPEND
|
||||
bootimage? ( sys-boot/coreos-bootimage )
|
||||
cros_ec? ( coreos-base/coreos-ec )
|
||||
"
|
||||
|
||||
# Maintenance note: The factory install shim downloads and executes
|
||||
# the firmware updater. Consequently, runtime dependencies for the
|
||||
# updater are also runtime dependencies for the install shim.
|
||||
#
|
||||
# The contents of RDEPEND below must also be present in the
|
||||
# chromeos-base/chromeos-factoryinstall ebuild in PROVIDED_DEPEND.
|
||||
# If you make any change to the list below, you may need to make a
|
||||
# matching change in the factory install ebuild.
|
||||
#
|
||||
# TODO(hungte) remove gzip/tar if we have busybox
|
||||
RDEPEND="
|
||||
app-arch/gzip
|
||||
app-arch/sharutils
|
||||
app-arch/tar
|
||||
coreos-base/vboot_reference
|
||||
sys-apps/util-linux"
|
||||
|
||||
# Check for EAPI 2+
|
||||
case "${EAPI:-0}" in
|
||||
4|3|2) ;;
|
||||
*) die "unsupported EAPI" ;;
|
||||
esac
|
||||
|
||||
UPDATE_SCRIPT="coreos-firmwareupdate"
|
||||
FW_IMAGE_LOCATION=""
|
||||
FW_RW_IMAGE_LOCATION=""
|
||||
EC_IMAGE_LOCATION=""
|
||||
EXTRA_LOCATIONS=""
|
||||
|
||||
# Returns true (0) if parameter starts with "bcs://"
|
||||
_is_on_bcs() {
|
||||
[[ "${1%%://*}" = "bcs" ]]
|
||||
}
|
||||
|
||||
# Returns true (0) if parameter starts with "file://"
|
||||
_is_in_files() {
|
||||
[[ "${1%%://*}" = "file" ]]
|
||||
}
|
||||
|
||||
# Fetch a file from the Binary Component Server
|
||||
# Parameters: URI of file "bcs://filename.tbz2", checksum of file.
|
||||
# Returns: Nothing
|
||||
_bcs_fetch() {
|
||||
${CROS_BINARY_FETCH_REQUIRED} || return 0
|
||||
local filename="${1##*://}"
|
||||
local checksum="$2"
|
||||
|
||||
local bcs_host="git.chromium.org:6222"
|
||||
local bcs_user="${CROS_FIRMWARE_BCS_USER_NAME}"
|
||||
local bcs_pkgdir="${CATEGORY}/${PN}"
|
||||
local bcs_root="$CROS_FIRMWARE_BCS_OVERLAY_NAME"
|
||||
|
||||
# Support both old and new locations for BCS binaries.
|
||||
# TODO(dparker@chromium.org): Remove after all binaries are using the
|
||||
# new location. crosbug.com/22789
|
||||
[ -z "$bcs_root" ] && bcs_root="home/$CROS_FIRMWARE_BCS_USER_NAME"
|
||||
|
||||
URI_BASE="ssh://$bcs_user@$bcs_host/$bcs_root/$bcs_pkgdir"
|
||||
CROS_BINARY_URI="${URI_BASE}/${filename}"
|
||||
CROS_BINARY_SUM="${checksum}"
|
||||
cros-binary_fetch
|
||||
}
|
||||
|
||||
# Unpack a tbz2 firmware archive to ${S}
|
||||
# Parameters: Location of archived firmware
|
||||
# Returns: Location of unpacked firmware as $RETURN_VALUE
|
||||
_src_unpack() {
|
||||
local filepath="${1}"
|
||||
local filename="$(basename ${filepath})"
|
||||
mkdir -p "${S}" || die "Not able to create ${S}"
|
||||
cp "${filepath}" "${S}" || die "Can't copy ${filepath} to ${S}"
|
||||
cd "${S}" || die "Can't change directory to ${S}"
|
||||
tar -axpf "${filename}" ||
|
||||
die "Failed to unpack ${filename}"
|
||||
local contents="$(tar -atf "${filename}")"
|
||||
if [ "$(echo "$contents" | wc -l)" -gt 1 ]; then
|
||||
# Currently we can only serve one file (or directory).
|
||||
ewarn "WARNING: package $filename contains multiple files."
|
||||
contents="$(echo "$contents" | head -n 1)"
|
||||
fi
|
||||
RETURN_VALUE="${S}/$contents"
|
||||
}
|
||||
|
||||
# Unpack a tbz2 archive fetched from the BCS to ${S}
|
||||
# Parameters: URI of file. Example: "bcs://filename.tbz2"
|
||||
# Returns: Location of unpacked firmware as $RETURN_VALUE
|
||||
_bcs_src_unpack() {
|
||||
local filename="${1##*://}"
|
||||
if ${CROS_BINARY_FETCH_REQUIRED}; then
|
||||
_src_unpack "${CROS_BINARY_STORE_DIR}/${filename}"
|
||||
else
|
||||
_src_unpack "${DISTDIR}/${filename}"
|
||||
fi
|
||||
RETURN_VALUE="${RETURN_VALUE}"
|
||||
}
|
||||
|
||||
# Provides the location of a firmware image given a URI.
|
||||
# Unpacks the firmware image if necessary.
|
||||
# Parameters: URI of file.
|
||||
# Example: "file://filename.ext" or an absolute filepath.
|
||||
# Returns the absolute filepath of the unpacked firmware as $RETURN_VALUE
|
||||
_firmware_image_location() {
|
||||
local source_uri=$1
|
||||
if _is_in_files "${source_uri}"; then
|
||||
local image_location="${FILESDIR}/${source_uri#*://}"
|
||||
else
|
||||
local image_location="${source_uri}"
|
||||
fi
|
||||
[[ -f "${image_location}" ]] || die "File not found: ${image_location}"
|
||||
case "${image_location}" in
|
||||
*.tbz2 | *.tbz | *.tar.bz2 | *.tgz | *.tar.gz )
|
||||
_src_unpack "${image_location}"
|
||||
RETURN_VALUE="${RETURN_VALUE}"
|
||||
;;
|
||||
* )
|
||||
RETURN_VALUE="${image_location}"
|
||||
esac
|
||||
}
|
||||
|
||||
cros-firmware_src_unpack() {
|
||||
cros-workon_src_unpack
|
||||
|
||||
# Backwards compatibility with the older naming convention.
|
||||
if [[ -n "${CROS_FIRMWARE_BIOS_ARCHIVE}" ]]; then
|
||||
CROS_FIRMWARE_MAIN_IMAGE="bcs://${CROS_FIRMWARE_BIOS_ARCHIVE}"
|
||||
fi
|
||||
if [[ -n "${CROS_FIRMWARE_EC_ARCHIVE}" ]]; then
|
||||
CROS_FIRMWARE_EC_IMAGE="bcs://${CROS_FIRMWARE_EC_ARCHIVE}"
|
||||
fi
|
||||
|
||||
# Fetch and unpack the system firmware image
|
||||
if [[ -n "${CROS_FIRMWARE_MAIN_IMAGE}" ]]; then
|
||||
if _is_on_bcs "${CROS_FIRMWARE_MAIN_IMAGE}"; then
|
||||
_bcs_fetch "${CROS_FIRMWARE_MAIN_IMAGE}" \
|
||||
"${CROS_FIRMWARE_MAIN_SUM}"
|
||||
_bcs_src_unpack "${CROS_FIRMWARE_MAIN_IMAGE}"
|
||||
FW_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
else
|
||||
_firmware_image_location "${CROS_FIRMWARE_MAIN_IMAGE}"
|
||||
FW_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fetch and unpack the system RW firmware image
|
||||
if [[ -n "${CROS_FIRMWARE_MAIN_RW_IMAGE}" ]]; then
|
||||
if _is_on_bcs "${CROS_FIRMWARE_MAIN_RW_IMAGE}"; then
|
||||
_bcs_fetch "${CROS_FIRMWARE_MAIN_RW_IMAGE}" \
|
||||
"${CROS_FIRMWARE_MAIN_RW_SUM}"
|
||||
_bcs_src_unpack "${CROS_FIRMWARE_MAIN_RW_IMAGE}"
|
||||
FW_RW_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
else
|
||||
_firmware_image_location "${CROS_FIRMWARE_MAIN_RW_IMAGE}"
|
||||
FW_RW_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fetch and unpack the EC image
|
||||
if [[ -n "${CROS_FIRMWARE_EC_IMAGE}" ]]; then
|
||||
if _is_on_bcs "${CROS_FIRMWARE_EC_IMAGE}"; then
|
||||
_bcs_fetch "${CROS_FIRMWARE_EC_IMAGE}"\
|
||||
"${CROS_FIRMWARE_EC_SUM}"
|
||||
_bcs_src_unpack "${CROS_FIRMWARE_EC_IMAGE}"
|
||||
EC_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
else
|
||||
_firmware_image_location "${CROS_FIRMWARE_EC_IMAGE}"
|
||||
EC_IMAGE_LOCATION="${RETURN_VALUE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fetch and unpack BCS resources in CROS_FIRMWARE_EXTRA_LIST
|
||||
local extra extra_list
|
||||
# For backward compatibility, ':' is still supported if there's no
|
||||
# special URL (bcs://, file://).
|
||||
local tr_source=';:' tr_target='\n\n'
|
||||
if echo "${CROS_FIRMWARE_EXTRA_LIST}" | grep -q '://'; then
|
||||
tr_source=';'
|
||||
tr_target='\n'
|
||||
fi
|
||||
extra_list="$(echo "${CROS_FIRMWARE_EXTRA_LIST}" |
|
||||
tr "$tr_source" "$tr_target")"
|
||||
for extra in $extra_list; do
|
||||
if _is_on_bcs "${extra}"; then
|
||||
_bcs_fetch "${extra}" ""
|
||||
_bcs_src_unpack "${extra}"
|
||||
RETURN_VALUE="${RETURN_VALUE}"
|
||||
else
|
||||
RETURN_VALUE="${extra}"
|
||||
fi
|
||||
EXTRA_LOCATIONS="${EXTRA_LOCATIONS}:${RETURN_VALUE}"
|
||||
done
|
||||
EXTRA_LOCATIONS="${EXTRA_LOCATIONS#:}"
|
||||
}
|
||||
|
||||
_add_param() {
|
||||
local prefix="$1"
|
||||
local value="$2"
|
||||
|
||||
if [[ -n "$value" ]]; then
|
||||
echo "$prefix '$value' "
|
||||
fi
|
||||
}
|
||||
|
||||
_add_bool_param() {
|
||||
local prefix="$1"
|
||||
local value="$2"
|
||||
|
||||
if [[ -n "$value" ]]; then
|
||||
echo "$prefix "
|
||||
fi
|
||||
}
|
||||
|
||||
cros-firmware_src_compile() {
|
||||
local image_cmd="" ext_cmd="" local_image_cmd=""
|
||||
local root="${ROOT%/}"
|
||||
|
||||
# Prepare images
|
||||
image_cmd+="$(_add_param -b "${FW_IMAGE_LOCATION}")"
|
||||
image_cmd+="$(_add_param -e "${EC_IMAGE_LOCATION}")"
|
||||
image_cmd+="$(_add_param -w "${FW_RW_IMAGE_LOCATION}")"
|
||||
image_cmd+="$(_add_param --ec_version "${CROS_FIRMWARE_EC_VERSION}")"
|
||||
|
||||
# Prepare extra commands
|
||||
ext_cmd+="$(_add_bool_param --unstable "${CROS_FIRMWARE_UNSTABLE}")"
|
||||
ext_cmd+="$(_add_param --extra "${EXTRA_LOCATIONS}")"
|
||||
ext_cmd+="$(_add_param --script "${CROS_FIRMWARE_SCRIPT}")"
|
||||
ext_cmd+="$(_add_param --platform "${CROS_FIRMWARE_PLATFORM}")"
|
||||
ext_cmd+="$(_add_param --flashrom "${CROS_FIRMWARE_FLASHROM_BINARY}")"
|
||||
ext_cmd+="$(_add_param --tool_base \
|
||||
"$root/firmware/utils:$root/usr/sbin:$root/usr/bin")"
|
||||
|
||||
# Pack firmware update script!
|
||||
if [ -z "$image_cmd" ]; then
|
||||
# Create an empty update script for the generic case
|
||||
# (no need to update)
|
||||
einfo "Building empty firmware update script"
|
||||
echo -n > ${UPDATE_SCRIPT}
|
||||
else
|
||||
# create a new script
|
||||
einfo "Building ${BOARD} firmware updater: $image_cmd $ext_cmd"
|
||||
./pack_firmware.sh $image_cmd $ext_cmd -o $UPDATE_SCRIPT ||
|
||||
die "Cannot pack firmware."
|
||||
fi
|
||||
|
||||
# Create local updaters
|
||||
local local_image_cmd="" output_bom output_file
|
||||
if use cros_ec; then
|
||||
local_image_cmd+="-e $root/firmware/ec.bin "
|
||||
fi
|
||||
if use bootimage; then
|
||||
for fw_file in $root/firmware/image-*.bin; do
|
||||
einfo "Updater for local fw - $fw_file"
|
||||
output_bom=${fw_file##*/image-}
|
||||
output_bom=${output_bom%%.bin}
|
||||
output_file=updater-$output_bom.sh
|
||||
./pack_firmware.sh -b $fw_file -o $output_file \
|
||||
$local_image_cmd $ext_cmd ||
|
||||
die "Cannot pack local firmware."
|
||||
done
|
||||
elif use cros_ec; then
|
||||
# TODO(hungte) Deal with a platform that has only EC and no
|
||||
# BIOS, which is usually incorrect configuration.
|
||||
die "Sorry, platform without local BIOS EC is not supported."
|
||||
fi
|
||||
}
|
||||
|
||||
cros-firmware_src_install() {
|
||||
# install the main updater program
|
||||
dosbin $UPDATE_SCRIPT || die "Failed to install update script."
|
||||
|
||||
# install factory wipe script
|
||||
dosbin firmware-factory-wipe
|
||||
|
||||
# install updaters for firmware-from-source archive.
|
||||
if use bootimage; then
|
||||
exeinto /firmware
|
||||
doexe updater-*.sh
|
||||
fi
|
||||
|
||||
# The "force_update_firmware" tag file is used by chromeos-installer.
|
||||
if [ -n "$CROS_FIRMWARE_FORCE_UPDATE" ]; then
|
||||
insinto /root
|
||||
touch .force_update_firmware
|
||||
doins .force_update_firmware
|
||||
fi
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS src_unpack src_compile src_install
|
@ -30,7 +30,7 @@ ARRAY_VARIABLES=( CROS_WORKON_{SUBDIR,REPO,PROJECT,LOCALDIR,LOCALNAME,DESTDIR,CO
|
||||
# @ECLASS-VARIABLE: CROS_WORKON_REPO
|
||||
# @DESCRIPTION:
|
||||
# Git URL which is prefixed to CROS_WORKON_PROJECT
|
||||
: ${CROS_WORKON_REPO:=http://git.chromium.org}
|
||||
: ${CROS_WORKON_REPO:=https://chromium.googlesource.com}
|
||||
|
||||
# @ECLASS-VARIABLE: CROS_WORKON_PROJECT
|
||||
# @DESCRIPTION:
|
||||
|
@ -1,81 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Original Author: The Chromium OS Authors <chromium-os-dev@chromium.org>
|
||||
# Purpose: Install Gobi firmware for Chromium OS
|
||||
# See:
|
||||
# https://sites.google.com/a/google.com/chromeos/for-team-members/systems/gobi3kfirmwaretarball
|
||||
|
||||
inherit cros-binary
|
||||
|
||||
# @ECLASS-VARIABLE: GOBI_FIRMWARE_VID
|
||||
# @DESCRIPTION:
|
||||
# OEM Vendor ID
|
||||
: ${GOBI_FIRMWARE_VID:=}
|
||||
|
||||
# @ECLASS-VARIABLE: GOBI_FIRMWARE_PID
|
||||
# @DESCRIPTION:
|
||||
# OEM Product ID
|
||||
: ${GOBI_FIRMWARE_PID:=}
|
||||
|
||||
# @ECLASS-VARIABLE: GOBI_FIRMWARE_HASH
|
||||
# @DESCRIPTION:
|
||||
# Tarball hash
|
||||
: ${GOBI_FIRMWARE_HASH:=}
|
||||
|
||||
# @ECLASS-VARIABLE: GOBI_FIRMWARE_CARRIERS
|
||||
# @DESCRIPTION:
|
||||
# Install firmware for this list of carrier names.
|
||||
: ${GOBI_FIRMWARE_CARRIERS:=}
|
||||
|
||||
# Check for EAPI 2+
|
||||
case "${EAPI:-0}" in
|
||||
4|3|2) ;;
|
||||
*) die "unsupported EAPI" ;;
|
||||
esac
|
||||
|
||||
gobi3k-firmware_src_unpack() {
|
||||
mkdir -p ${S}
|
||||
local fn="${PN}-${GOBI_FIRMWARE_VID}:${GOBI_FIRMWARE_PID}"
|
||||
fn="${fn}-${GOBI_FIRMWARE_HASH}.tar.bz2"
|
||||
CROS_BINARY_URI="${URI_BASE}/${fn}"
|
||||
cros-binary_src_unpack
|
||||
local target="${CROS_BINARY_STORE_DIR}/${fn}"
|
||||
cp $target "${S}"
|
||||
}
|
||||
|
||||
gobi3k-firmware_install_firmware_files() {
|
||||
local vid=${GOBI_FIRMWARE_VID}
|
||||
local pid=${GOBI_FIRMWARE_PID}
|
||||
local hash=${GOBI_FIRMWARE_HASH}
|
||||
local fwid=${vid}:${pid}
|
||||
local firmware_install_dir=${D}/opt/Qualcomm/firmware/${fwid}
|
||||
|
||||
mkdir -p firmware
|
||||
# tar rudely interprets x:y as a host:path specifier (!?) and tries to ssh
|
||||
# to it on your behalf (!!), so...
|
||||
tar -C firmware -xvj < gobi3k-firmware-${fwid}-${hash}.tar.bz2
|
||||
local base_firmware=firmware/${fwid}
|
||||
|
||||
install -d ${firmware_install_dir} ${udev_rules_install_dir}
|
||||
|
||||
for carrier in ${GOBI_FIRMWARE_CARRIERS} UMTS ; do
|
||||
cp -af ${base_firmware}/${carrier} ${firmware_install_dir}
|
||||
done
|
||||
|
||||
find ${firmware_install_dir}/${oem} -type f -exec chmod 444 {} \;
|
||||
find ${firmware_install_dir}/${oem} -type d -exec chmod 555 {} \;
|
||||
}
|
||||
|
||||
gobi3k-firmware_src_install() {
|
||||
# Verify that eclass variables are set
|
||||
[ -z "${GOBI_FIRMWARE_VID}" ] && die "Must specify GOBI_FIRMWARE_VID"
|
||||
[ -z "${GOBI_FIRMWARE_PID}" ] && die "Must specify GOBI_FIRMWARE_PID"
|
||||
[ -z "${GOBI_FIRMWARE_HASH}" ] && die "Must specify GOBI_FIRMWARE_HASH"
|
||||
[ -z "${GOBI_FIRMWARE_CARRIERS}" ] &&
|
||||
die "Must specify GOBI_FIRMWARE_CARRIERS"
|
||||
|
||||
gobi3k-firmware_install_firmware_files
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS src_unpack src_install
|
@ -1,85 +0,0 @@
|
||||
# Copyright (c) 2010 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.
|
||||
|
||||
EAPI="2"
|
||||
inherit eutils cros-binary
|
||||
|
||||
# Synaptics touchpad generic eclass.
|
||||
IUSE="is_touchpad ps_touchpad"
|
||||
|
||||
RDEPEND="x11-base/xorg-server"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# @ECLASS-VARIABLE: SYNAPTICS_TOUCHPAD_PN
|
||||
# @DESCRIPTION: The packagename used as part of the binary tarball filename.
|
||||
: ${SYNAPTICS_TOUCHPAD_PN:=${PN}}
|
||||
|
||||
export_uri() {
|
||||
local XORG_VERSION_STRING
|
||||
local XORG_VERSION
|
||||
local X_VERSION
|
||||
|
||||
XORG_VERSION_STRING=$(grep "XORG_VERSION_CURRENT" "$ROOT/usr/include/xorg/xorg-server.h")
|
||||
XORG_VERSION_STRING=${XORG_VERSION_STRING/#\#define*XORG_VERSION_CURRENT}
|
||||
XORG_VERSION=$(($XORG_VERSION_STRING))
|
||||
|
||||
if [ $XORG_VERSION -ge 11100000 ]; then
|
||||
X_VERSION=1.11
|
||||
elif [ $XORG_VERSION -ge 11000000 ]; then
|
||||
X_VERSION=1.10
|
||||
elif [ $XORG_VERSION -ge 10903000 ]; then
|
||||
X_VERSION=1.9
|
||||
else
|
||||
X_VERSION=1.7
|
||||
fi
|
||||
CROS_BINARY_URI="http://commondatastorage.googleapis.com/synaptics/${SYNAPTICS_TOUCHPAD_PN}-xorg-${X_VERSION}-${PV}-${PR}.tar.gz"
|
||||
}
|
||||
|
||||
function synaptics-touchpad_src_unpack() {
|
||||
export_uri
|
||||
cros-binary_src_unpack
|
||||
}
|
||||
|
||||
function synaptics-touchpad_src_install() {
|
||||
# Currently you must have files/* in each ebuild that inherits
|
||||
# from here. These files will go away soon after they are pushed
|
||||
# into the synaptics tarball.
|
||||
export_uri
|
||||
cros-binary_src_install
|
||||
if [ $(ls "${D}" | wc -l) -eq 1 ]; then
|
||||
local extra_dir="$(ls "${D}")"
|
||||
mv "${D}/${extra_dir}/"* "${D}/"
|
||||
rmdir "${D}/${extra_dir}/"
|
||||
fi
|
||||
|
||||
exeinto /opt/Synaptics/bin
|
||||
doexe "${FILESDIR}/tpcontrol_syncontrol" || die
|
||||
|
||||
# If it exists, install synlogger to log calls to the Synaptics binaries.
|
||||
# The original binaries themselves are appended with _bin, and symlinks are
|
||||
# created with their original names that point at synlogger.
|
||||
if [ -f "${FILESDIR}/synlogger" ]; then
|
||||
doexe "${FILESDIR}/synlogger" || die
|
||||
local f
|
||||
for f in syn{control,detect,reflash} ; do
|
||||
mv "${D}"/opt/Synaptics/bin/${f}{,_bin} || die
|
||||
dosym synlogger /opt/Synaptics/bin/${f} || die
|
||||
done
|
||||
fi
|
||||
|
||||
# link the appropriate config files for the type of trackpad
|
||||
if use is_touchpad && use ps_touchpad; then
|
||||
die "Specify only one type of touchpad"
|
||||
elif use is_touchpad; then
|
||||
dosym HKLM_Kernel_IS /opt/Synaptics/HKLM_Kernel || die
|
||||
dosym HKLM_User_IS /opt/Synaptics/HKLM_User || die
|
||||
elif use ps_touchpad; then
|
||||
dosym HKLM_Kernel_PS /opt/Synaptics/HKLM_Kernel || die
|
||||
dosym HKLM_User_PS /opt/Synaptics/HKLM_User || die
|
||||
else
|
||||
die "Type of touchpad not specified"
|
||||
fi
|
||||
|
||||
}
|
||||
|
@ -1 +0,0 @@
|
||||
chromeos-bmpblk-0.0.2.ebuild
|
@ -1,23 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=2
|
||||
|
||||
inherit cros-binary
|
||||
|
||||
DESCRIPTION="Chrome OS Firmware Bitmap Block"
|
||||
HOMEPAGE="http://www.chromium.org/"
|
||||
SRC_URI=""
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
|
||||
BMPBLK_NAME="bmpblk-${PV}.bin"
|
||||
MIRROR_SITE="http://commondatastorage.googleapis.com/chromeos-localmirror"
|
||||
CROS_BINARY_URI="$MIRROR_SITE/distfiles/$PN/$BMPBLK_NAME"
|
||||
CROS_BINARY_SUM="8efb8099517faa6c7600e6bcfae154fdaa48397e"
|
||||
|
||||
src_install() {
|
||||
insinto /firmware
|
||||
newins "$CROS_BINARY_STORE_DIR/$BMPBLK_NAME" bmpblk.bin
|
||||
}
|
Loading…
Reference in New Issue
Block a user