scripts/src/here-pull-overlays

54 lines
915 B
Bash
Executable File

#!/usr/bin/env bash
# Original author: XGQT
# Licensed under the ISC License
# Copyright (c) 2020, src_prepare group
set -o pipefail
trap 'exit 128' INT
export PATH
emsg() {
echo "$(tput bold)$(tput setaf 6)>>> $(tput setaf 4)$(date +%H:%M:%S)$(tput setaf 7) ${*} $(tput sgr0)"
}
edie() {
if [ -z "${1}" ]
then
emsg "$(tput setaf 1)Failed: last command"
else
emsg "$(tput setaf 1)Failed: ${*}"
fi
exit 1
}
erun() {
emsg "Running: ${*}"
"${@}" | busybox ts '>>> %H:%M:%S' || edie "${@}"
}
einto() {
pushd "${1}" >/dev/null || edie "Could not open ${1}"
}
eback() {
popd >/dev/null || edie
}
for repo in *
do
if [ -f "${repo}"/metadata/layout.conf ]
then
emsg "Pulling: ${repo}"
einto "${repo}"
erun git pull --all --verbose
eback
erun chown -R "${USER}":portage "${repo}"
fi
done
erun eix-update