]>
git.wh0rd.org - home.git/blob - .profile.d/gentoo.sh
1 alias ebuild-sync
='rsync -av ./ /usr/portage/${PWD#/usr/local/src/gentoo/repo/gentoo/} --exclude ChangeLog --exclude CVS --exclude metadata.xml --delete'
2 alias ebuild-emerge
='sudo emerge -1av $(echo ${PWD} | awk -F/ "{printf \"%s/%s\", \$(NF-1), \$(NF)}")'
3 alias ekeyword
='ekeyword -v -q'
4 alias repoman
='repoman -q -q'
5 alias rf
='/usr/local/src/gentoo/portage/repoman/bin/repoman.git -q full'
9 && echo "No ChangeLog" \
11 echangelog
"$@" ||
return 1
14 repoman commit
"${@:1:$#-1}" -m "${@:$#}" ||
return 1
18 _echangelog
"$@" ||
exit 1
19 cvs commit
-m "$@" ||
exit 1
24 while [[ $# -gt 0 ]] ; do
25 declare url
=$1 tmp
=$
(mktemp
) filename ||
return 1
26 [[ ${url} == */* ]] || url
="http://bugs.gentoo.org/attachment.cgi?id=${url}"
27 printf '%s -> ' "${url}"
28 if eval $
(wget
-S -O"${tmp}" "${url}" 2>&1 |
29 grep 'Content-disposition:' |
sed 's/.* //') && \
30 mv "${tmp}" "${filename}" && \
31 chmod $
(printf "%03o" "$((0666 & ~$(umask)))") "${filename}" ; then
42 if [[ $@
== *.ebuild
* ]] ; then
45 keys
=$
(sed -n '/^[[:space:]]*KEYWORD/{s:.*=::;s:"::g;p}' ${e})
47 [[ ${a} != ~
* ]] && continue
54 printf '%s@gentoo.org ' ${ret//\~}
57 stable_arch_emails
() {
58 arch_emails
"$@" |
sed -r -e 's:([^ ]*-[^ ]*|mips)@[^ ]*::g'
61 local f
=${1:-metadata.xml}
62 local maintainer
=$
(xml sel
-t -v pkgmetadata
/herd
$f)
63 if [[ ${maintainer:-no-herd} == "no-herd" ]] ; then
64 maintainer
=$
(xml sel
-t -v pkgmetadata
/maintainer
/email
$f)
65 elif [[ -n ${maintainer} ]] ; then
66 maintainer
="${maintainer}@gentoo.org"
68 if [[ -z ${maintainer} ]] ; then
69 echo "No maintainer found in $f"
77 if [[ $1 == "-m" ]] ; then
81 if [[ -z $1 ]] ||
[[ -n $2 ]] ; then
82 echo "Usage: submit_bug_stable <ebuilds>"
86 maintainer
=$
(eget_maintainer
) ||
return 1
87 local cat=$
(basename $
(dirname $
(pwd)))
88 local pkg
=${1%.ebuild}
89 local ebuild
=${pkg}.ebuild
90 local cc
=$
(stable_arch_emails
${ebuild})
91 if [[ -z ${cc} ]] ; then
92 echo "Unable to read ebuild '${ebuild}'"
95 if [[ ${maintainer} == *" "* ]] ; then
96 cc
+=",${maintainer#* }"
97 maintainer
=${maintainer%% *}
102 -t "${cat}/${pkg}: stabilize" \
107 --product='Gentoo Linux' \
108 --component=Ebuilds \
110 --severity=enhancement
115 if [[ ! -e ChangeLog
]] ; then
116 # running in a category rather than package
119 [[ -z $
* ]] && set -- arm64 m68k s390 sh
121 ekeyword
"${k}=x86" $(grep -l "KEYWORDS.*${k}" *${cat}*.ebuild)
126 [[ $1 == [[:digit:]]* ]] && msg="$msg #$1" && shift
127 echo git commit
-m "$(echo $@ | sed 's: :/:g') $msg"
128 git commit
-m "$(echo $@ | sed 's: :/:g') $msg"
130 erstable
() { _erit stable
"$@" ; }
131 erlove
() { _erit love
"$@" ; }
133 export PORTAGE_INST_UID
=${UID}
134 export PORTAGE_INST_GID
=`id -g`