55 lines
1.5 KiB
Bash
Executable file
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
|
|
|