#!/bin/bash

############### gimme version 0.5.3 ################
# Script to add package names to package.keywords. #
# Originally by Tekmanx, re-written by Hackeron    #
# re-re-written by Gherald and edited by D. Watzke #
####################################################

source /sbin/functions.sh

[[ $EUID != 0 ]] && ewarn "You are not root!" && exit 1

[ -z "$1" ] && eerror "Please specify a package name (eg. gimme <package-name>)" && exit 1

[ -d /etc/portage ] || mkdir /etc/portage

#get fully-qualified ebuild name
FQN=`ACCEPT_KEYWORDS="~x86" emerge -p $1 | grep "$1" | grep 'ebuild ' | tail -n 2 | head -n 1 | sed -e 's/\[ebuild.......\]\ //' -e 's/\[[[:digit:]].*\]//' -e 's/-[[:digit:]].*$//'`

if [ -z $FQN ]; then
    # We think there is either none or more than one package matching $1
    # so we let the user deal with it
    emerge $@ --ask ; exit
fi

EXISTING="$(grep "^ *[\>\<=]*$FQN *" /etc/portage/package.keywords)"
if [ -n "$EXISTING" ]; then
    ewarn "/etc/portage/package.keywords already contains \"$EXISTING\""
    emerge $@ --ask ; exit
else
    einfo "Adding $FQN to package.keywords and emerging in 5 seconds."; sleep 5
    echo $FQN >> /etc/portage/package.keywords
    emerge $@ --ask
fi