zsh/aliases/portage

78 lines
1.5 KiB
Plaintext
Raw Normal View History

#!/bin/zsh
2016-01-05 03:15:54 +00:00
grep -q "gentoo" /etc/os-release || return
lesswrap eix -F
2016-01-05 02:43:27 +00:00
alias eud="emerge -vabuDUN -j4 --keep-going world"
alias fetchlog="tail -f /var/log/emerge-fetch.log"
2014-06-27 05:42:56 +00:00
alias emerge="noglob sudo emerge"
2016-01-05 02:43:27 +00:00
fetchrestricted() {
for file in "$@"; do
mv "$file" /var/portage/distfiles/
chown portage:portage /var/portage/distfiles/${file:t}
chmod 664 /var/portage/distfiles/${file:t}
done
}
gpo-get() {
if [[ -z "$2" ]]; then
echo "Usage: gpo-get <category> <url>"
return
fi
cd /var/portage/overlay
name=$(curl -sI "$2" | awk -F\" '/^Content-Disposition/ { print $2 }')
basename="${name//-[0-9]*}"
mkdir -p "$1/${basename}"
curl "$2" > "$1/${basename}/$name"
cd "$1/${basename}"
ebuild $name digest
}
nolto() {
pkgenvconf $1 nolto nolto
}
notmpfs() {
pkgenvconf $1 notmpfs notmpfs
}
noaggressive() {
pkgenvconf $1 noaggressive noaggressive
}
nographite() {
pkgenvconf $1 nographite nographite
}
onlysafe() {
pkgenvconf $1 onlysafe onlysafe
}
cflags_reset() {
if [ -n "$1" ]; then
for i in \
/etc/portage/package.env/noaggressive \
/etc/portage/package.env/nographite \
/etc/portage/package.env/nolto; do
sed -i "/$1/d" $i;
done
fi
}
pkgenvconf() {
ltoline="$1 $2.conf"
echo -e '\e[1mInsert following line into package.env/'$2'?\e[0m'
echo "$ltoline"
echo "Looking for matching lines..."
grep $1 /etc/portage/package.env/$3
echo -e -n '\e[1m[y/n] \e[0m'
read answer
case "$answer" in
yes|y|YES|Yes|Really|"why not")
echo "$ltoline" | sudo tee -a /etc/portage/package.env/$3
;;
*) ;;
esac
}