54 lines
915 B
Bash
Executable File
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
|