setflags/setflags.sh

40 lines
805 B
Bash

#!/bin/bash
usefile="/etc/portage/package.use/$1"
touch /tmp/usefile
function addflag
{
if ! cat $usefile| tr ' ' '\n' |grep -e "^$1" ; then
if [[ $(echo $1 | cut -c 1) == '-' ]]; then
cat $usefile | sed -e 's/ '$(echo $1 | cut -c 2-)'//g' > /tmp/usefile
printf " $1" >> /tmp/usefile
else
cat $usefile | sed -e 's/ -'$1'//g' > /tmp/usefile
printf " $1" >> /tmp/usefile
fi
fi
}
if [[ -z $1 ]]; then
echo "specify a package atom."
exit
elif [[ -z $2 ]]; then
echo "specify some flags."
exit
elif [[ ! -f $usefile ]]; then
if [[ ! -d $(dirname $usefile) ]]; then
mkdir $(dirname $usefile)
fi
touch $usefile
fi
printf "$1" > $usefile
for i in $(echo ${BASH_ARGV[*]} | cut -f -$(( $BASH_ARGC -1 )) -d ' ')
do
addflag $i
cat /tmp/usefile > $usefile
done
rm /tmp/usefile
exit