|
|
|
@ -2,8 +2,7 @@
|
|
|
|
|
PKG=$1
|
|
|
|
|
MASK=`cl-core --method core_variables_show --only-value install.os_nvidia_mask 2>/dev/null`
|
|
|
|
|
WORLD=/var/lib/portage/world
|
|
|
|
|
LOG=/var/log/calculate/video-install.log
|
|
|
|
|
:> $LOG
|
|
|
|
|
LOG=/dev/tty12
|
|
|
|
|
WRITEPKG=
|
|
|
|
|
[[ -z "$(tail -c1 $WORLD)" ]] || echo >> $WORLD
|
|
|
|
|
|
|
|
|
@ -13,12 +12,26 @@ do
|
|
|
|
|
then
|
|
|
|
|
if [[ $package_dir == "binary" ]]
|
|
|
|
|
then
|
|
|
|
|
ACCEPT_KEYWORDS="**" FEATURES="-getbinpkg" PKGDIR=/usr/portage/packages emerge -OK1 =$category/$pn-$pv &>>$LOG || exit 1
|
|
|
|
|
else
|
|
|
|
|
binary_packages="$binary_packages =$category/$pn-$pv"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
done </var/cache/calculate/video_drivers
|
|
|
|
|
|
|
|
|
|
if [[ -n $binary_packages ]]
|
|
|
|
|
then
|
|
|
|
|
ACCEPT_KEYWORDS="**" FEATURES="-getbinpkg" PKGDIR=/usr/portage/packages emerge -OK1 $binary_packages &>>$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) >>$LOG
|
|
|
|
|
DISTDIR=/usr/portage/distfiles ebuild $ebuild merge --skip-manifest &>>$LOG || exit 1
|
|
|
|
|
DISTDIR=/usr/portage/distfiles ebuild $ebuild merge --skip-manifest | grep --color=never -P "^>>> [^/]" &>>$LOG || exit 1
|
|
|
|
|
WRITEPKG="$category/$pn"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|