jetzt habe ich mir ein kleines script geschrieben um alle pakete zu finden, die von einem bestimmten flag betroffen sind. auserdem kann das script feststellen welche dieser pakete neu gemergt werden müssen, weil das flag heute nichtmehr aktiv ist bzw weil es damals nicht aktiv war.
das script setzt vorraus das app-portage/gentoolkit installiert ist.
Code: Select all
#!/bin/bash
#/opt/bin/flagusers
# findet alle gerade installierten ebuilds, die von einem bestimmen useflag beeinflusst werden
# 15.07.04
for dir in `qpkg -I -nc`
do
ver=$(qpkg -I -v -nc $dir| head -n1|cut -d"/" -f2 )
if cat /usr/portage/"$dir"/"$ver".ebuild 2>/dev/null| grep IUSE | grep "$1" > /dev/null
then
if [ -n "$2" ] && [ "$2" = "-u" ]
then
uses=$(etcat -u $dir | grep $1 | cut -b 2,4)
if [ "$uses" = "+-" ] || [ "$uses" = "-+" ]
then
echo $dir/$ver.ebuild
fi
else
echo $dir/$ver.ebuild
fi
fi
done
#alle installierten ebuilds die von "mmx" betroffen sind
flagusers mmx
#alle die im "etcat -u" ein +- oder -+ haben
flagusers mmx -u
#mergt selbige
for i in `flagusers mmx -u`; do emerge $i;done
#alle die neu gemergt werden müssten wenn man das mysql useflag aktivieren würde
USE="mysql" flagusers mysql -u
naja man muss ja nicht unbedingt gleich alles neu mergen, aber ich zB hab mmx irgendwie vergessen und da ich mir einbilde das das vielleicht doch was für mein xorg bringen könnte werde ich wohl demnächst nochmal mergen.



