blob: f3371d9b7556d1d76915589cb52fa591447fb7a3 [file] [log] [blame]
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cros-credentials.eclass
# ChromiumOS Build Team
# Please report bugs via (with label Build)
# @BLURB: Set credentials properly to access private git repo.
# Copy in credentials to fake home directory so that build process can
# access vcs and ssh if needed.
# Add a call to cros-credentials_setup before accessing a private repo.
cros-credentials_setup() {
einfo "Setting up CrOS credentials"
mkdir -vp "${HOME}"
local whoami=$(whoami)
local ssh_config_dir="/home/${whoami}/.ssh"
if [[ -d "${ssh_config_dir}" ]]; then
cp -vrfp "${ssh_config_dir}" "${HOME}" || die
local net_config="/home/${whoami}/.netrc"
if [[ -f "${net_config}" ]]; then
einfo "Copying ${net_config} to ${HOME}"
cp -vfp "${net_config}" "${HOME}" || die
local gitcookies_src="/home/${whoami}/.gitcookies"
local gitcookies_dst="${HOME}/.gitcookies"
if [[ -f "${gitcookies_src}" ]]; then
cp -vfp "${gitcookies_src}" "${gitcookies_dst}" || die
echo 'gitcookies accounts:'
awk 'NF && $1 !~ /^#/ {print $1}' "${gitcookies_dst}"
git config --global http.cookiefile "${gitcookies_dst}"
local luci_creds_src="/home/${whoami}/.config/chrome_infra/auth/creds.json"
local luci_creds_dest="${HOME}/.config/chrome_infra/auth/"
if [[ -f "${luci_creds_src}" ]]; then
einfo "Copying ${luci_creds_src} to ${HOME}"
mkdir -p "${luci_creds_dest}"
cp -vfp "${luci_creds_src}" "${luci_creds_dest}" || die
# Force disable user/pass prompting to avoid hanging builds.
git config --global core.askPass true