#!/bin/bash PKG=$1 MASK=`cl-core --method core_variables_show --only-value install.os_nvidia_mask 2>/dev/null` WORLD=/var/lib/portage/world LOG=/dev/tty12 WRITEPKG= [[ -z "$(tail -c1 $WORLD)" ]] || echo >> $WORLD while read category pn pv package_dir pkgname pkgmask; do if [[ $PKG == $pkgname ]] && [[ $MASK == $pkgmask ]] then if [[ $package_dir == "binary" ]] then binary_packages="$binary_packages =$category/$pn-$pv" fi fi done &1 | cat &>>$LOG || exit 1 fi while read category pn pv package_dir pkgname pkgmask; do if [[ $PKG == $pkgname ]] && [[ $MASK == $pkgmask ]] then if [[ $package_dir != "binary" ]] then cd $package_dir ebuild=$category/$pn/$pn-${pv}.ebuild [[ -f $ebuild ]] || git checkout $(dirname $ebuild) 2>&1 | cat &>>$LOG DISTDIR=/usr/portage/distfiles ebuild $ebuild merge --skip-manifest | grep --color=never -P "^>>> [^/]" 2>&1 | cat &>>$LOG || exit 1 WRITEPKG="$category/$pn" fi fi done >$WORLD