Moderator: ago
Code: Select all
#! /bin/bash
BPDIR="/mnt/packages" #dir dove stanno i binari generici
PKGDIR="/usr/portage/packages/All" #dir coi binari specifici da usare
OUT=`ls $PKGDIR`
for i in $OUT
do
echo -n $i
sum=`md5sum $PKGDIR/$i | cut -d " " -f 1`
name=`basename $(./bininfo2 $PKGDIR/$i | head -n1)`
if ! [ -e "$BPDIR/$name-$sum.tbz2" ];
then
echo -n " copio in $BPDIR/$name-$sum.tbz2"
cp $PKGDIR/$i $BPDIR/$name-$sum.tbz2
fi
echo " "
done
Code: Select all
#!/bin/bash
#echo $1
BPDIR="/mnt/packages" #dir dove stanno i binari generici
PKGDIR="/usr/portage/packages/All" #dir coi binari specifici da usare
#prendo informazioni sull'ebuild che devo installare e sulle sue dipendenze
OUT=`emerge -pv $1 | grep 'ebuild'`
iFIELD=0 #campo dell'ebuild
iUSE=0
PACKAGES=""
for i in $OUT
do
if [ $i == '[ebuild' ]; then
iFIELD=0
iUSE=0
fi
# echo "SONO I -> $i"
case $iFIELD in
0 | 2 )
;;
1 ) #stato ebuild
EBUILD[1]=$i
;;
3 ) #nome-versione ebuild
EBUILD[0]=$i
PACKAGES=`ls $BPDIR | grep $(basename $i)`
;;
* )
tmp=`echo $i | cut -c1`
PKTMP=""
if [[ $tmp == + || $tmp == - ]]; then
U=`echo $tmp$(echo ${i#[+-]} | cut -d ")" -f 1 | cut -d "(" -f 2)`
for pk in $PACKAGES
do
if [[ -n `./bininfo2 $BPDIR/$pk | grep USEFLAGS | grep -- $U` ]]
then
#echo "pk" $pk $PKTMP
PKTMP=`echo $pk $PKTMP`
fi
done
iUSE=$[$iUSE+1]
PACKAGES=$PKTMP
#echo $PACKAGES
fi
;;
esac
#echo "$i"
iFIELD=$[$iFIELD+1]
done
echo $PACKAGES