X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=.profile.d%2Fgentoo.sh;h=950260c749a7a455f8427a647ea201b38d061d87;hb=HEAD;hp=24e10ad795235ad61a3189512924207bbe8da284;hpb=294704a27661b5c136e959c3abbb380a5fc12362;p=home.git diff --git a/.profile.d/gentoo.sh b/.profile.d/gentoo.sh index 24e10ad..8aac8e8 100644 --- a/.profile.d/gentoo.sh +++ b/.profile.d/gentoo.sh @@ -1,100 +1,11 @@ -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)}")' +alias ebuild-sync='rsync -av ./ /usr/portage/${PWD#/usr/local/src/gentoo/repo/gentoo/} --exclude ChangeLog --exclude metadata.xml --delete' +alias ekeyword='ekeyword -v -q' +alias repoman='repoman -q -q' +alias rf='/usr/local/src/gentoo/portage/repoman/bin/repoman.git -q full' -cvs_gentoo_url() { -_cvs_gentoo_url() { - if [[ -n $2 ]] ; then - echo "Usage: cvs_gentoo_url [:rev1[:rev2]]" - return 1 - fi - - # spec has the form file:rev1[:rev2] - # rev2 defaults to rev1-1 - export IFS=: - set -- $1 - unset IFS - - local file=$1 - if [[ ! -e ${file} ]] ; then - echo "file '${file}' does not exist" - return 1 - fi - local dir="." - [[ ${file} == */* ]] && dir=${file%/*} - file=${file##*/} - - local rev2=$2 - if [[ -z ${rev2} ]] ; then - rev2=$( - cd ${dir} - export IFS=/ - set -- $(grep /${file}/ CVS/Entries) - unset IFS - echo $3 - ) - if [[ ${rev2} == "0" ]] ; then - # new file - rev2="1.1" - else - # existing file, bump rev automatically - rev2="1.$((${rev2#1.}+1))" - fi - fi - local rev2r=${rev2#1.} - local rev1=${3:-1.$((rev2r - 1))} - - local cvsroot=$(<${dir}/CVS/Repository) - if [[ ${cvsroot} == gentoo-x86* ]] ; then - cvsroot=${cvsroot#gentoo-x86} - cvsroot=${cvsroot#/} - fi - - local urirev - [[ ${rev2} == "1.1" || ${rev1} == "${rev2}" ]] \ - && urirev="?rev=${rev2}" \ - || urirev="?r1=${rev1}&r2=${rev2}" - echo "http://sources.gentoo.org/${cvsroot}/${file}${urirev}" -} - local f - for f in "$@" ; do - _cvs_gentoo_url "${f}" - 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 +ebuild-emerge() { + sudo -E emerge -1av "$@" \ + $(echo "${PWD}" | awk -F/ "{printf \"%s/%s\", \$(NF-1), \$(NF)}") } _echangelog() { @@ -104,7 +15,7 @@ _echangelog() { echangelog "$@" || return 1 } er() { - repoman commit --echangelog=y "${@:1:$#-1}" -m "${@:$#}" || return 1 + repoman commit "${@:1:$#-1}" -m "${@:$#}" || return 1 } ec() { ( @@ -138,13 +49,17 @@ arch_emails() { keys=$(sed -n '/^[[:space:]]*KEYWORD/{s:.*=::;s:"::g;p}' ${e}) for a in ${keys} ; do [[ ${a} != ~* ]] && continue - ret="${ret} ${a}" + case ${a} in + *-*) continue ;; + ~arm64|~m68k|~mips|~s390|~sh) continue ;; + ~*) ret="${ret} ${a}" ;; + esac done done else ret="$*" fi - printf '%s@gentoo.org ' ${ret//\~} + printf '%s@gentoo.org,' ${ret//\~} echo } stable_arch_emails() { @@ -196,32 +111,41 @@ submit_bug_stable() { -d "${msg}" \ -a "${maintainer}" \ --cc="${cc// /,}" \ - -k STABLEREQ \ --product='Gentoo Linux' \ --component=Ebuilds \ --priority=Normal \ --severity=enhancement +# -k STABLEREQ } eskeys() { local k cat - if [[ ! -e ChangeLog ]] ; then + if [[ ! -e Manifest ]] ; then # running in a category rather than package cat="/" fi - [[ -z $* ]] && set -- arm m68k s390 sh + [[ -z $* ]] && set -- arm64 m68k s390 sh for k in "$@" ; do - local list="$(grep "^KEYWORDS=.*~${k}\>.*[^~]x86" *${cat}*d -l)" - [[ -z ${list} ]] && continue - sed -i "1s:.*:# Copyright 1999-$(date +%Y) Gentoo Foundation:" ${list} - ekeyword ${k} ${list} + ekeyword "${k}=x86" $(grep -l "KEYWORDS.*${k}" *${cat}*.ebuild) done } _erit() { - local msg=$1 ; shift - [[ $1 == [[:digit:]]* ]] && msg="$msg #$1" && shift - echo repoman commit -m "$(echo $@ | sed 's: :/:g') $msg" - repoman commit -m "$(echo $@ | sed 's: :/:g') $msg" + if [[ $# -eq 1 ]] ; then + echo "Args: " + return 1 + fi + + local cat=$(basename "$(dirname "${PWD}")") + local pkg=$(basename "${PWD}") + local mode=$1 ; shift + local ver=$1 ; shift + local arches=$(printf '%s/' $(printf '%s\n' "$@" | sort -u)) + arches=${arches%/} + local msg="${cat}/${pkg}: mark ${ver} ${arches} ${mode}" + + local cmd=( git commit -m "${msg}" . ) + echo "${cmd[@]}" + "${cmd[@]}" } erstable() { _erit stable "$@" ; } erlove() { _erit love "$@" ; }