1 alias ebuild-sync
='rsync -av ./ /usr/portage/${PWD#/usr/local/src/gentoo/repo/gentoo/} --exclude ChangeLog --exclude metadata.xml --delete'
2 alias ekeyword
='ekeyword -v -q'
3 alias repoman
='repoman -q -q'
4 alias rf
='/usr/local/src/gentoo/portage/repoman/bin/repoman.git -q full'
7 sudo
-E emerge
-1av "$@" \
8 $
(echo "${PWD}" |
awk -F/ "{printf \"%s/%s\", \$(NF-1), \$(NF)}")
12 [[ ! -e ChangeLog
]] \
13 && echo "No ChangeLog" \
15 echangelog
"$@" ||
return 1
18 repoman commit
"${@:1:$#-1}" -m "${@:$#}" ||
return 1
22 _echangelog
"$@" ||
exit 1
23 cvs commit
-m "$@" ||
exit 1
28 while [[ $# -gt 0 ]] ; do
29 declare url
=$1 tmp
=$
(mktemp
) filename ||
return 1
30 [[ ${url} == */* ]] || url
="http://bugs.gentoo.org/attachment.cgi?id=${url}"
31 printf '%s -> ' "${url}"
32 if eval $
(wget
-S -O"${tmp}" "${url}" 2>&1 |
33 grep 'Content-disposition:' |
sed 's/.* //') && \
34 mv "${tmp}" "${filename}" && \
35 chmod $
(printf "%03o" "$((0666 & ~$(umask)))") "${filename}" ; then
46 if [[ $@
== *.ebuild
* ]] ; then
49 keys
=$
(sed -n '/^[[:space:]]*KEYWORD/{s:.*=::;s:"::g;p}' ${e})
51 [[ ${a} != ~
* ]] && continue
54 ~arm64|~m68k|~mips|~s390|~sh
) continue ;;
55 ~
*) ret
="${ret} ${a}" ;;
62 printf '%s@gentoo.org,' ${ret//\~}
65 stable_arch_emails
() {
66 arch_emails
"$@" |
sed -r -e 's:([^ ]*-[^ ]*|mips)@[^ ]*::g'
69 local f
=${1:-metadata.xml}
70 local maintainer
=$
(xml sel
-t -v pkgmetadata
/herd
$f)
71 if [[ ${maintainer:-no-herd} == "no-herd" ]] ; then
72 maintainer
=$
(xml sel
-t -v pkgmetadata
/maintainer
/email
$f)
73 elif [[ -n ${maintainer} ]] ; then
74 maintainer
="${maintainer}@gentoo.org"
76 if [[ -z ${maintainer} ]] ; then
77 echo "No maintainer found in $f"
85 if [[ $1 == "-m" ]] ; then
89 if [[ -z $1 ]] ||
[[ -n $2 ]] ; then
90 echo "Usage: submit_bug_stable <ebuilds>"
94 maintainer
=$
(eget_maintainer
) ||
return 1
95 local cat=$
(basename $
(dirname $
(pwd)))
96 local pkg
=${1%.ebuild}
97 local ebuild
=${pkg}.ebuild
98 local cc
=$
(stable_arch_emails
${ebuild})
99 if [[ -z ${cc} ]] ; then
100 echo "Unable to read ebuild '${ebuild}'"
103 if [[ ${maintainer} == *" "* ]] ; then
104 cc
+=",${maintainer#* }"
105 maintainer
=${maintainer%% *}
110 -t "${cat}/${pkg}: stabilize" \
114 --product='Gentoo Linux' \
115 --component=Ebuilds \
117 --severity=enhancement
123 if [[ ! -e Manifest
]] ; then
124 # running in a category rather than package
127 [[ -z $
* ]] && set -- arm64 m68k s390 sh
129 ekeyword
"${k}=x86" $(grep -l "KEYWORDS.*${k}" *${cat}*.ebuild)
133 if [[ $# -eq 1 ]] ; then
134 echo "Args
: <ver
> <arches
>"
138 local cat=$(basename "$
(dirname "${PWD}")")
139 local pkg=$(basename "${PWD}")
140 local mode=$1 ; shift
142 local arches=$(printf '%s/' $(printf '%s\n' "$@
" | sort -u))
144 local msg="${cat}/${pkg}: mark ${ver} ${arches} ${mode}"
146 local cmd=( git commit -m "${msg}" . )
150 erstable() { _erit stable "$@
" ; }
151 erlove() { _erit love "$@
" ; }
153 export PORTAGE_INST_UID=${UID}
154 export PORTAGE_INST_GID=`id -g`