helper/buildPackages.sh

55 lines
1.5 KiB
Bash
Executable file

#!/usr/bin/env bash
scriptname="$0"
function mylog {
logger -t $scriptname "${@}"
}
logger "startup"
if [[ $(pgrep -f -c $(basename $0)) -gt 1 ]] ; then
logger "other instance still running! -> bailing out"
exit 1
fi
logger "start syncing"
timestamp="$(cat /usr/portage/metadata/timestamp)"
chronic /usr/sbin/emaint sync -A
#if [[ "$timestamp" == "$(cat /usr/portage/metadata/timestamp)" ]] ; then
#nothing changed!
# mylog "nothing changed in portage"
# exit 0
#fi
chronic eix-update
declare -Ar CHROOTS=(
[server]="/var/lib/buildPackages/packages_amd64"
[desktop]="/var/lib/buildPackages/desktop_amd64"
)
declare -Ar SEQUENTIAL=(
[desktop]="www-client/chromium dev-qt/qtwebengine net-libs/webkit-gtk"
)
for identifier in "${!CHROOTS[@]}" ; do
# date
chroot="${CHROOTS[$identifier]}"
mylog "Building packages for $identifier in $chroot"
for repo in selba helpers meskal-overlay ; do
chronic nice chroot "$chroot" /usr/sbin/emaint sync -r "$repo"
done
chronic nice chroot "$chroot" /usr/bin/eix-update
if [[ -n ${SEQUENTIAL[$identifier]} ]] ; then
SEQFLAGS=("--sequentialized" "${SEQUENTIAL[$identifier]}" )
else
unset SEQFLAGS
fi
chronic nice chroot "$chroot" "/root/bin/gentooup.sh" "--full" "--batch" "--no-sync" "${SEQFLAGS[@]}"
# date
mylog "Done building packages for $chroot in ${CHROOTS[$chroot]}"
done
chmod og+rX -R /usr/portage/packages
logger "prebuild packages"
# Prebuild local packages
chronic /root/bin/buildUpgradePackages.sh