Scusa pensavo facesse la stessa cosa, avevo capito questo ioRaffo wrote:@fedeli: mah, per quello che volevo fare io lo script di xchris nn va proprio bene, diciamo che punta ad un diverso obiettivo.
Moderator: ago

Scusa pensavo facesse la stessa cosa, avevo capito questo ioRaffo wrote:@fedeli: mah, per quello che volevo fare io lo script di xchris nn va proprio bene, diciamo che punta ad un diverso obiettivo.
Code: Select all
#!/bin/sh
#Distributed under the terms of the GNU General Public License v2
source /sbin/functions.sh
if [ "$1" = --inject ]; then
emerge -s $2
echo "Quali di questi file desideri iniettare?"
read inject
echo $inject >> /etc/portage/profile/package.provided
echo "$2 injected. Exiting..."
exit 0
fi
if [ "$1" = --help ]; then
echo -e '\E[33;m'"\033[1m .::Opzioni di xmerge::.\033[0m"
echo
echo -e '\E[32;m'"\033[1m Opzioni.........ancora da inserire.....\033[0m"
echo
echo
echo -e '\E[37;m'"\033[1m Versione 0.1.\033[0m"
echo
exit 0
fi
if [ "$1" = --update ]; then
emerge sync && emerge -uDav world
exit 0
fi
ewarn "Questo script è ancora work in. Ogni uso potrebbe nn essere appropiato e/o causare errori al sistema. Usalo con cura! ^_^ "
sleep 1
if [ "$1" = --see ]; then
cat /etc/portage/package.keywords
exit 0
fi
done=1
ARCH="x86"
HILITE="\033[1m"
NORMAL="\033[0m"
RED='\E[31;01m'
GREEN='\E[32;01m'
YELLOW='\E[33;01m'
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 [ ! "$ACTION_STRING" ]
then
echo && einfo "Don't know how to handle.. sorry!" && echo
exit
else
echo -e $GREEN"*$NORMAL $CLEAN_NAME "$ACTION_STRING
fi
fi
if [[ "$1" = "$( find /usr/portage -mindepth 2 -maxdepth 2 -type d -iname "$1" | cut -d"/" -f5,5 | sed -e 's/-[0-9]/*/g' | cut -d"*" -f1 | sort )" ]]; then
ewarn "Vuoi installare $1 masked o stabile? [m/s]"
read rispostone
if [ "$rispostone" = s ]; then
emerge $1
exit 0
fi
ACCEPT_KEYWORDS="~x86" emerge -s $1
echo "Quale di questi pacchetti desideri emergere??"
read risposta
if [ "$(grep "$risposta ~x86$" /etc/portage/package.keywords)" ]; then
emerge $risposta
exit 0
fi
einfo "Inserisco $risposta in package.keywords ed inizio l'emerge."
sleep 2
echo $risposta ~x86 >> /etc/portage/package.keywords
ACCEPT_KEYWORDS="~x86" emerge -av $risposta
sleep 2
echo $risposta ~x86 >> /etc/portage/package.keywords
ACCEPT_KEYWORDS="~x86" emerge -av $risposta
exit 0
else
emerge $*
exit 0
fi
done
exit
Code: Select all
primi bug che ho trovato:
1)manca "exit 0" dopo l'opzione --see.
2)c'è un'errore nella parte di xchris. più che un errore ho solo
dimenticato di modificare il suo script. nel momento in cui scrivo nn
posso ma lo farò appena possibile (ovvero oggi pomeriggio).
3)speriamo nn ce ne siano altri :D
--------scritto il 28/10/2004 alle 07.44....ora vado a scuola :D--------
Code: Select all
#!/bin/sh
#Distributed under the terms of the GNU General Public License v2
source /sbin/functions.sh
HILITE="\033[1m"
NORMAL="\033[0m"
RED='\E[31;01m'
GREEN='\E[32;01m'
YELLOW='\E[33;01m'
PURPLE='\E[35;01m'
WHITE='\E[37;01m'
if [ "$1" = --inject ]; then
emerge -s $2
echo "Quali di questi file desideri iniettare?"
read inject
echo $inject >> /etc/portage/profile/package.provided
echo "$2 Injected. Exiting..."
exit 0
fi
if [ "$1" = --help ]; then
echo -e $WHITE".::Opzioni di xmerge::."
echo
echo -e $GREEN" --inject"$NORMAL": fa l'inject del pacchetto inserendolo in package.provided" && echo
echo -e $GREEN" --update"$NORMAL": opzione per l'aggiornamento del sistema. esegue un sync verso il mirror selezionato e un 'emerge -uDav world' (consultare l'help di emerge per maggiori info)" && echo
echo -e $GREEN" --see"$NORMAL": mostra tutti i pacchetti inseriti in package.keywords" && echo
echo
echo
echo -e $PURPLE"xmerge"$WHITE": script per la gestione e l'installazione di programmi masked e stable. Versione 0.3."
echo
exit 0
fi
if [ "$1" = --update ]; then
emerge sync && emerge -uDav world
exit 0
fi
ewarn "Questo script è ancora work in. Ogni uso potrebbe nn essere appropiato e/o causare errori al sistema. Usalo con cura! ^_^ "
sleep 1
if [ "$1" = --see ]; then
cat /etc/portage/package.keywords
exit 0
fi
done=1
ARCH="x86"
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 [ ! "$ACTION_STRING" ]
then
echo && einfo "Don't know how to handle.. sorry!" && echo
exit
fi
else
echo -e $GREEN"*$NORMAL $CLEAN_NAME "$ACTION_STRING
done=
fi
done
if [[ "$1" = "$( find /usr/portage -mindepth 2 -maxdepth 2 -type d -iname "$1" | cut -d"/" -f5,5 | sed -e 's/-[0-9]/*/g' | cut -d"*" -f1 | sort )" ]]; then
ewarn "Vuoi installare $1 masked o stabile? [m/s]"
read rispostone
if [ "$rispostone" = s ]; then
emerge $1
exit 0
fi
ACCEPT_KEYWORDS="~x86" emerge -s $1
echo "Quale di questi pacchetti desideri emergere??"
read risposta
if [ "$(grep "$risposta ~x86$" /etc/portage/package.keywords)" ]; then
emerge $risposta
exit 0
fi
einfo "Inserisco $risposta in package.keywords ed inizio l'emerge."
sleep 2
echo $risposta ~x86 >> /etc/portage/package.keywords
emerge -av $risposta
exit 0
else
emerge $*
exit 0
fi
exit

Code: Select all
#!/bin/bash
# ARCH -> x86 ppc sparc alpha hppa mips ia64 amd64
ARCH=`cat /etc/make.profile/make.defaults | grep "ACCEPT_KEYWORDS" | awk -F\" '{ print $2 }'`
#####################
HILITE="\033[1m"
NORMAL="\033[0m"
RED='\E[31;01m'
GREEN='\E[32;01m'
YELLOW='\E[33;01m'
#####################
function usage {
echo -e "\nUsage: addkeywords =CATEGORY/PACKAGE-VERSION\n"
echo -e ""
echo -e "Example:"
echo -e " # addkeywords =xfce-base/xfce4-4.1.90"
echo -e ""
exit 1
}
[ "$1" = "-h" ] && usage
[ "$1" = "--help" ] && usage
[ -z $1 ] && usage
[ $# -eq 0 ] && echo -e "\nSpecify one or more packages\n" && exit
source /sbin/functions.sh
DONE=1
echo && einfo "Please Wait...\n"
[ ! `/usr/bin/whoami` = 'root' ] && echo && einfo "Program require root access!" && echo && exit
PRELIMINARY_CHECK=`emerge -p $* 2>&1 | grep "no ebuilds to satisfy"`
PRELIMINARY_CHECK1=`emerge -p $* 2>&1 | grep "(try adding an '=')"`
PRELIMINARY_CHECK2=`echo "$1" | head -c 1 --`
[ "$PRELIMINARY_CHECK" ] && echo && einfo "No ebuild found!" && echo && exit
[ "$PRELIMINARY_CHECK1" ] && echo && einfo "Specific key requires an operator (xfce-base/xfce4-4.1.90) (try adding an '=')" && echo && exit
[ "$PRELIMINARY_CHECK2" = "-" ] && 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

Nessun problema, ma come si fa a vedere se sono vecchi? Nel senso in keywords io non metto mai la versione cosi' che quel programma e' sempre all'ultima versione.xchris wrote:mi era venuta in mente un altra opzione (non mandarmi a quel paese please)



No va benissimo provero' a farlo.xchris wrote:e' solo una mia necessita'?

Autore wrote: to install entrance you'll still have to fire up portage 8 times as there are 8 packages masked, but i can't do nothing about that as portage notifies you about masked packages step by step
