+alias ebuild-sync='rsync -av ./ /usr/portage/${PWD#/usr/local/src/gentoo-x86/} --exclude ChangeLog --exclude CVS --exclude metadata.xml --delete'
+alias ebuild-emerge='sudo emerge -1av $(echo ${PWD} | awk -F/ "{printf \"%s/%s\", \$(NF-1), \$(NF)}")'
+
cvs_gentoo_url() {
_cvs_gentoo_url() {
if [[ -n $2 ]] ; then
echangelog "$@" || return 1
}
er() {
- _echangelog "$@" || return 1
- repoman commit -m "$@" || return 1
+ repoman commit --echangelog=y "${@:1:$#-1}" -m "${@:$#}" || return 1
}
ec() {
- _echangelog "$@" || return 1
- cvs commit -m "$@" || return 1
+ (
+ _echangelog "$@" || exit 1
+ cvs commit -m "$@" || exit 1
+ )
}
att() {
printf '%s@gentoo.org ' ${ret//\~}
echo
}
+stable_arch_emails() {
+ arch_emails "$@" | sed -r -e 's:([^ ]*-[^ ]*|mips)@[^ ]*::g'
+}
+eget_maintainer() {
+ local f=${1:-metadata.xml}
+ local maintainer=$(xml sel -t -v pkgmetadata/herd $f)
+ if [[ ${maintainer:-no-herd} == "no-herd" ]] ; then
+ maintainer=$(xml sel -t -v pkgmetadata/maintainer/email $f)
+ elif [[ -n ${maintainer} ]] ; then
+ maintainer="${maintainer}@gentoo.org"
+ fi
+ if [[ -z ${maintainer} ]] ; then
+ echo "No maintainer found in $f"
+ return 1
+ fi
+ echo ${maintainer}
+ return 0
+}
submit_bug_stable() {
local msg="doit"
if [[ $1 == "-m" ]] ; then
echo "Usage: submit_bug_stable <ebuilds>"
return 1
fi
- local maintainer=$(xml sel -t -v pkgmetadata/herd metadata.xml)
- if [[ ${maintainer} == "no-herd" ]] ; then
- maintainer=$(xml sel -t -v pkgmetadata/maintainer/email metadata.xml)
- elif [[ -n ${maintainer} ]] ; then
- maintainer="${maintainer}@gentoo.org"
- fi
- if [[ -z ${maintainer} ]] ; then
- echo "No maintainer found in metadata.xml"
- return 1
- fi
+ local maintainer
+ maintainer=$(eget_maintainer) || return 1
local cat=$(basename $(dirname $(pwd)))
local pkg=${1%.ebuild}
local ebuild=${pkg}.ebuild
- local cc=$(arch_emails ${ebuild} | sed -r -e 's:([^ ]*-[^ ]*|mips)@[^ ]*::g')
+ local cc=$(stable_arch_emails ${ebuild})
if [[ -z ${cc} ]] ; then
echo "Unable to read ebuild '${ebuild}'"
return 1
fi
+ if [[ ${maintainer} == *" "* ]] ; then
+ cc+=",${maintainer#* }"
+ maintainer=${maintainer%% *}
+ fi
gbugz \
post \
--batch \
}
erstable() { _erit stable "$@" ; }
erlove() { _erit love "$@" ; }
+
+export PORTAGE_INST_UID=${UID}
+export PORTAGE_INST_GID=`id -g`