]>
git.wh0rd.org - home.git/blob - .profile.d/gentoo.sh
4 echo "Usage: cvs_gentoo_url <file>[:rev1[:rev2]]"
8 # spec has the form file:rev1[:rev2]
9 # rev2 defaults to rev1-1
15 if [[ ! -e ${file} ]] ; then
16 echo "file '${file}' does not exist"
20 [[ ${file} == */* ]] && dir
=${file%/*}
24 if [[ -z ${rev2} ]] ; then
28 set -- $
(grep /${file}/ CVS
/Entries
)
32 if [[ ${rev2} == "0" ]] ; then
36 # existing file, bump rev automatically
37 rev2
="1.$((${rev2#1.}+1))"
40 local rev2r
=${rev2#1.}
41 local rev1
=${3:-1.$((rev2r - 1))}
43 local cvsroot
=$
(<${dir}/CVS
/Repository
)
44 if [[ ${cvsroot} == gentoo-x86
* ]] ; then
45 cvsroot
=${cvsroot#gentoo-x86}
50 [[ ${rev2} == "1.1" || ${rev1} == "${rev2}" ]] \
51 && urirev="?
rev=${rev2}" \
52 || urirev="?r1
=${rev1}&r2
=${rev2}"
53 echo "http
://sources.gentoo.org
/${cvsroot}/${file}${urirev}"
57 _cvs_gentoo_url "${f}"
62 local repo=$(git config remote.origin.url | sed 's:.*git.overlays.gentoo.org/::')
63 git log -n3 ${1:-HEAD} | \
64 sed "s
,^commit
,http
://git.overlays.gentoo.org
/gitweb
/?p
=${repo};a
=commitdiff
;h
=,"
71 URL = "http
://sources.gentoo.org
/" gensub(/.*svnroot\/([^/]*).*/,"\\1","");
72 } else if ($1 == "Revision
:") {
74 URL = URL "?
rev=" (rev + 1) "&view
=rev"
87 URL = "http
://sources.gentoo.org
" $1 "?
"
88 } else if ($1 == "Revision
:") {
90 URL = URL "r1
=" rev "&r2
=" (rev + 1)
98 [[ ! -e ChangeLog ]] \
99 && echo "No ChangeLog
" \
101 echangelog "$@
" || return 1
104 _echangelog "$@
" || return 1
105 repoman commit -m "$@
" || return 1
108 _echangelog "$@
" || return 1
109 cvs commit -m "$@
" || return 1
113 declare url=$1 tmp=$(mktemp) filename || return 1
114 [[ $url == */* ]] || url="http
://bugs.gentoo.org
/attachment.cgi?id
=$url"
115 eval $(wget -S -O"$tmp" "$url" 2>&1 | tee /dev/tty | \
116 grep 'Content-disposition:' | sed 's/.* //') && \
117 mv "$tmp" "$filename" && \
118 chmod $(printf "%03o
" "$
((0666 & ~$
(umask)))") "$filename" && \
119 ls -l "$filename" && \
126 if [[ $@ == *.ebuild* ]] ; then
129 keys=$(sed -n '/^[[:space:]]*KEYWORD/{s:.*=::;s:"::g
;p
}' ${e})
130 for a in ${keys} ; do
131 [[ ${a} != ~* ]] && continue
138 printf '%s@gentoo.org
' ${ret//\~}
141 stable_arch_emails() {
142 arch_emails "$@" | sed -r -e 's
:([^
]*-[^
]*|mips
)@
[^
]*::g
'
145 local f=${1:-metadata.xml}
146 local maintainer=$(xml sel -t -v pkgmetadata/herd $f)
147 if [[ ${maintainer:-no-herd} == "no-herd" ]] ; then
148 maintainer=$(xml sel -t -v pkgmetadata/maintainer/email $f)
149 elif [[ -n ${maintainer} ]] ; then
150 maintainer="${maintainer}@gentoo.org"
152 if [[ -z ${maintainer} ]] ; then
153 echo "No maintainer found in $f"
159 submit_bug_stable() {
161 if [[ $1 == "-m" ]] ; then
165 if [[ -z $1 ]] || [[ -n $2 ]] ; then
166 echo "Usage: submit_bug_stable <ebuilds>"
170 maintainer=$(eget_maintainer) || return 1
171 local cat=$(basename $(dirname $(pwd)))
172 local pkg=${1%.ebuild}
173 local ebuild=${pkg}.ebuild
174 local cc=$(stable_arch_emails ${ebuild})
175 if [[ -z ${cc} ]] ; then
176 echo "Unable to read ebuild '${ebuild}'"
182 -t "${cat}/${pkg}: stabilize" \
187 --product='Gentoo Linux
' \
188 --component=Ebuilds \
190 --severity=enhancement
195 if [[ ! -e ChangeLog ]] ; then
196 # running in a category rather than package
199 [[ -z $* ]] && set -- arm m68k s390 sh
201 local list="$(grep "^KEYWORDS=.*~${k}\>.*[^~]x86" *${cat}*d -l)"
202 [[ -z ${list} ]] && continue
203 sed -i "1s:.*:# Copyright 1999-$(date +%Y) Gentoo Foundation:" ${list}
204 ekeyword ${k} ${list}
209 [[ $1 == [[:digit:]]* ]] && msg="$msg #$1" && shift
210 echo repoman commit -m "$(echo $@ | sed 's
: :/:g
') $msg"
211 repoman commit -m "$(echo $@ | sed 's
: :/:g
') $msg"
213 erstable() { _erit stable "$@" ; }
214 erlove() { _erit love "$@" ; }
216 export PORTAGE_INST_UID=${UID}
217 export PORTAGE_INST_GID=`id -g`