ok..script zorro.
Dato uno o piu' pacchetti da emerge (con,senza versione) prepara i file package.unmask e package.keyword
Grezzo e lento ma funzionante. (credo

)
Code: Select all
#!/bin/bash
# ARCH -> x86 ppc sparc alpha hppa mips ia64 amd64
ARCH="x86"
#####################
HILITE="\033[1m"
NORMAL="\033[0m"
RED='\E[31;01m'
GREEN='\E[32;01m'
YELLOW='\E[33;01m'
#####################
[ $# -eq 0 ] && echo -e "\nSpecify one or more packages\n" && exit
source /sbin/functions.sh
DONE=1
echo && einfo "Please Wait...\n"
PRELIMINARY_CHECK=`emerge -p $* 2>&1 | grep "no ebuilds to satisfy"`
[ "$PRELIMINARY_CHECK" ] && echo && einfo "No ebuild found!" && echo && exit
[ ! -e "/etc/portage" ] && einfo "Creating /etc/portage directory\n" && { mkdir /etc/portage || { einfo "ERROR...Quiting" && exit ;} }
while [ $DONE ]
do
RESULT=`emerge -p $* 2>&1 | grep "(masked" | head -n 1`
if [ "$RESULT" ]
then
ACTION_STRING=
RESULT_FILTERED=`echo $RESULT | cut -d":" -f2`
KEYWORD_MASKED=`echo $RESULT | cut -d":" -f2 | grep "~"`
HARD_MASKED=`echo $RESULT | cut -d":" -f2 | grep "package.mask"`
MISSING_MASKED=`echo $RESULT | cut -d":" -f2 | grep "missing"`
CLEAN_NAME=`echo $RESULT | cut -d" " -f2 | sed -e 's/-[0-9]/*/g' | cut -d"*" -f1`
if [ "$HARD_MASKED" = "$RESULT_FILTERED" ]
then
echo "$CLEAN_NAME" >> /etc/portage/package.unmask
ACTION_STRING=$RED"[HARD]"$NORMAL
fi
if [ "$KEYWORD_MASKED" = "$RESULT_FILTERED" ]
then
echo "$CLEAN_NAME ~$ARCH" >> /etc/portage/package.keywords
ACTION_STRING=$ACTION_STRING$YELLOW"[KEYWORD]"$NORMAL
fi
if [ "$MISSING_MASKED" = "$RESULT_FILTERED" ]
then
echo && einfo "Package masked by missing keyword..Aborting" && echo
exit
fi
if [ ! "$ACTION_STRING" ]
then
echo && einfo "Don't know how to handle.. sorry!" && echo
exit
else
echo -e $GREEN"*$NORMAL $CLEAN_NAME "$ACTION_STRING
fi
else
echo && einfo "Your ebuild is emergeable!" && echo
DONE=
fi
done
bisogna editare la propria ARCH nel file..
esempio d'uso..
devo smascherare xfce4
./zorro =xfce-base/xfce4-4.1.90
Code: Select all
root@lyra root # ./zorro =xfce-base/xfce4-4.1.90
* Please Wait...
* xfce-base/xfce4 removed Hard Masking
* xfce-base/xfce4 removed Keyword masking
* xfce-extra/xfce4-taskbar removed Keyword masking
* xfce-base/xfce4-base removed Hard Masking
* xfce-base/xfce4-base removed Keyword masking
* xfce-extra/xfce4-iconbox removed Hard Masking
* xfce-extra/xfce4-iconbox removed Keyword masking
* xfce-base/xfce-mcs-manager removed Hard Masking
* xfce-base/xfce-mcs-manager removed Keyword masking
* xfce-base/libxfce4util removed Hard Masking
* xfce-base/libxfce4util removed Keyword masking
* xfce-base/libxfce4mcs removed Hard Masking
* xfce-base/libxfce4mcs removed Keyword masking
* xfce-base/libxfcegui4 removed Hard Masking
* xfce-base/libxfcegui4 removed Keyword masking
* xfce-extra/xfce4-systray removed Hard Masking
* xfce-extra/xfce4-systray removed Keyword masking
* xfce-base/xfce4-panel removed Hard Masking
* xfce-base/xfce4-panel removed Keyword masking
* xfce-base/xfce-utils removed Hard Masking
* xfce-base/xfce-utils removed Keyword masking
* dev-libs/dbh removed Keyword masking
* xfce-extra/xfce4-trigger-launcher removed Hard Masking
* xfce-extra/xfce4-trigger-launcher removed Keyword masking
* xfce-extra/xfwm4-themes removed Hard Masking
* xfce-extra/xfwm4-themes removed Keyword masking
* xfce-base/xfwm4 removed Hard Masking
* xfce-base/xfwm4 removed Keyword masking
* x11-themes/gtk-engines-xfce removed Keyword masking
* xfce-extra/xfce4-appfinder removed Hard Masking
* xfce-extra/xfce4-appfinder removed Keyword masking
* xfce-base/xffm removed Hard Masking
* xfce-base/xffm removed Keyword masking
* xfce-extra/xfcalendar removed Hard Masking
* xfce-extra/xfcalendar removed Keyword masking
* xfce-base/xfdesktop removed Hard Masking
* xfce-base/xfdesktop removed Keyword masking
* xfce-base/xfce-mcs-plugins removed Hard Masking
* xfce-base/xfce-mcs-plugins removed Keyword masking
* xfce-base/xfce4-session removed Hard Masking
* xfce-base/xfce4-session removed Keyword masking
* xfce-extra/xfce4-toys removed Hard Masking
* xfce-extra/xfce4-toys removed Keyword masking
* xfce-base/xfprint removed Hard Masking
* xfce-base/xfprint removed Keyword masking
* xfce-extra/xfce4-icon-theme removed Hard Masking
* xfce-extra/xfce4-icon-theme removed Keyword masking
* xfce-extra/xfce4-cpugraph removed Keyword masking
* xfce-extra/xfce4-windowlist removed Keyword masking
* Your ebuild is emergeable!