]> git.wh0rd.org - home.git/blobdiff - .profile.d/gentoo.sh
update gentoo helpers
[home.git] / .profile.d / gentoo.sh
index 179976b33aa8fe0f323beefc947dfc93f0125558..04a6c32038322fa24f413dc1893787dbf8291abd 100644 (file)
@@ -58,15 +58,57 @@ _cvs_gentoo_url() {
        done
        unset _cvs_gentoo_url
 }
+git_gentoo_url() {
+       local repo=$(git config remote.origin.url | sed 's:.*git.overlays.gentoo.org/::')
+       git log -n3 ${1:-HEAD} | \
+               sed "s,^commit ,http://git.overlays.gentoo.org/gitweb/?p=${repo};a=commitdiff;h=,"
+}
+svn_gentoo_url() {
+       if [[ -z $* ]] ; then
+               svn info | \
+               awk '{
+                       if ($1 == "URL:") {
+                               URL = "http://sources.gentoo.org/" gensub(/.*svnroot\/([^/]*).*/,"\\1","");
+                       } else if ($1 == "Revision:") {
+                               rev = $2
+                               URL = URL "?rev=" (rev + 1) "&view=rev"
+                       }
+               }
+               END { print URL }'
+               return 0
+       fi
 
+       local f
+       for f in "$@" ; do
+               svn info "${f}" | \
+               awk '{
+                       if ($1 == "URL:") {
+                               sub(/.*svnroot/,"")
+                               URL = "http://sources.gentoo.org" $1 "?"
+                       } else if ($1 == "Revision:") {
+                               rev = $2
+                               URL = URL "r1=" rev "&r2=" (rev + 1)
+                       }
+               }
+               END { print URL }'
+       done
+}
 
-er() {
+_echangelog() {
        [[ ! -e ChangeLog ]] \
                && echo "No ChangeLog" \
                && return 1
        echangelog "$@" || return 1
+}
+er() {
+       _echangelog "$@" || return 1
        repoman commit -m "$@" || return 1
 }
+ec() {
+       _echangelog "$@" || return 1
+       cvs commit -m "$@" || return 1
+}
+
 att() {
        declare url=$1 tmp=$(mktemp) filename || return 1
        [[ $url == */* ]] || url="http://bugs.gentoo.org/attachment.cgi?id=$url"
@@ -84,7 +126,7 @@ arch_emails() {
        if [[ $@ == *.ebuild* ]] ; then
                local e keys
                for e in "$@" ; do
-                       keys=$(sed -n '/^KEYWORD/{s:.*=::;s:"::g;p}' ${e})
+                       keys=$(sed -n '/^[[:space:]]*KEYWORD/{s:.*=::;s:"::g;p}' ${e})
                        for a in ${keys} ; do
                                [[ ${a} != ~* ]] && continue
                                ret="${ret} ${a/\~}@gentoo.org"
@@ -120,19 +162,23 @@ submit_bug_stable() {
        local cat=$(basename $(dirname $(pwd)))
        local pkg=${1%.ebuild}
        local ebuild=${pkg}.ebuild
-       local cc=$(arch_emails ${ebuild} | sed -r -e 's:([^ ]*-fbsd|mips)@[^ ]*::g')
+       local cc=$(arch_emails ${ebuild} | sed -r -e 's:([^ ]*-[^ ]*|mips)@[^ ]*::g')
        if [[ -z ${cc} ]] ; then
                echo "Unable to read ebuild '${ebuild}'"
                return 1
        fi
        bugz post \
+               --batch \
                -u vapier@gentoo.org \
                -t "Stabilize ${cat}/${pkg}" \
                -d "${msg}" \
                -a "${maintainer}" \
                --cc="${cc}" \
-               -U "" \
-               -k STABLEREQ
+               -k STABLEREQ \
+               --product='Gentoo Linux' \
+               --component=Ebuilds \
+               --priority=P2 \
+               --severity=enhancement
 }
 
 eskeys() {