sync_log="${logdir}/rsync.log"
up_log="${logdir}/emerge-updates.log"
+GS_SYNC=true
GS_RSYNC=false
GS_EUPDATEDB=true
GS_FETCH=false
exec rsync ${PORTAGE_RSYNC_OPTS} ${PORTAGE_RSYNC_EXTRA_OPTS} ${SYNC}/ ${PORTDIR}/ >& "${sync_log}"
fi
-emerge --sync -q
-date
-${GS_EUPDATEDB} && $(type -P eupdatedb)
-date
-${GS_LAYMAN} && l=$(type -P layman) && ${l} -S -q
-date
-${GS_FETCH} && emerge world -Duf
-#q -qr
+if ${GS_SYNC} ; then
+ emerge --sync -q
+ date
+ ${GS_EUPDATEDB} && $(type -P eupdatedb)
+ date
+ ${GS_LAYMAN} && l=$(type -P layman) && ${l} -S -q
+ date
+ ${GS_FETCH} && emerge world -Duf
+ #q -qr
+fi
+
date
) >& ${sync_log}
(
eval $(portageq envvar -v PORTDIR)
cd "${PORTDIR}"
- good_pkgs=$(ls -d `qlist -IC`)
+ bad_pkgs=()
+ good_pkgs=()
+ for p in `qlist -ICS` ; do
+ if [[ -d ${p%:*} ]] ; then
+ good_pkgs+=( ${p} )
+ else
+ bad_pkgs+=( ${p} )
+ fi
+ done
+ if [[ ${#bad_pkgs[@]} -gt 0 ]] ; then
+ echo 'These packages no longer exist:'
+ printf '\t%s\n' "${bad_pkgs[@]}"
+ echo
+ fi
echo 'emerge -u1 --keep-going $(awk '\''$2 ~ /\// {print $2}'\'' '${up_log}')'
- emerge ${good_pkgs} -upq --cols
+ emerge ${good_pkgs[*]} -upq --cols
) >& ${up_log}
fi