Message ID | 1330968789-17997-1-git-send-email-marex@denx.de |
---|---|
State | Changes Requested |
Headers | show |
Dear Marek Vasut, In message <1330968789-17997-1-git-send-email-marex@denx.de> you wrote: > The -m option lists boards including their maintainers emails. There are > multiple strategies used to retrieve these emails: > > 1) Check board/<boardname> with git log and use three most recent emails > 2) Check board/<boardname> with git log and use three most used emails > 3) Try finding board in MAINTAINERS file and retrieve all emails from there I think if the board can be found in MAINTAINERS, this should have preference, i. e. always printed first. Normaly, it should be the only address printed. We might also want to double-check git log based resutls against include/configs/<name>.h - this file is way more often edited by the maintainers. Eventually "-m" should just print one address; we could add "-M" for all found addresses. > The result is then sorted and unique results are retrieved and reported. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Wolfgang Denk <wd@denx.de> > --- > MAKEALL | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- > 1 files changed, 88 insertions(+), 3 deletions(-) Hm... there are also problems with the code: -> ./MAKEALL -m TQM860L tail: cannot open `1090' for reading: No such file or directory TQM860L: Joakim.Tjernlund@transmode.se plagnioj@jcrosoft.com ptyser@xes-inc.com wd@denx.de What's this "tail" error? -> ./MAKEALL -m mpc8xx fatal: ambiguous argument 'board/extquote': unknown revision or path not in the working tree. Use '--' to separate paths from revisions mpc8xx: Doesn't work at all. Best regards, Wolfgang Denk
Dear Wolfgang Denk, > Dear Marek Vasut, > > In message <1330968789-17997-1-git-send-email-marex@denx.de> you wrote: > > The -m option lists boards including their maintainers emails. There are > > multiple strategies used to retrieve these emails: > > > > 1) Check board/<boardname> with git log and use three most recent emails > > 2) Check board/<boardname> with git log and use three most used emails > > 3) Try finding board in MAINTAINERS file and retrieve all emails from > > there > > I think if the board can be found in MAINTAINERS, this should have > preference, i. e. always printed first. Normaly, it should be the > only address printed. Ok, not a bad idea indeed. > > We might also want to double-check git log based resutls against > include/configs/<name>.h - this file is way more often edited by the > maintainers. Ok. > > Eventually "-m" should just print one address; we could add "-M" for all > found addresses. Ack. > > > The result is then sorted and unique results are retrieved and reported. > > > > Signed-off-by: Marek Vasut <marex@denx.de> > > Cc: Wolfgang Denk <wd@denx.de> > > --- > > > > MAKEALL | 91 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files > > changed, 88 insertions(+), 3 deletions(-) > > Hm... there are also problems with the code: > > -> ./MAKEALL -m TQM860L > tail: cannot open `1090' for reading: No such file or directory > TQM860L: Joakim.Tjernlund@transmode.se plagnioj@jcrosoft.com > ptyser@xes-inc.com wd@denx.de > > What's this "tail" error? Yes, thanks for finding this. We have multiple TQM860L in MAINTAINERS. > > -> ./MAKEALL -m mpc8xx > fatal: ambiguous argument 'board/extquote': unknown revision or path not > in the working tree. Use '--' to separate paths from revisions > mpc8xx: > > Doesn't work at all. > What's this supposed to do? You mean ./MAKEALL -m -c mpc8xx (missing -c) ? > > > Best regards, > > Wolfgang Denk Best regards, Marek Vasut
Dear Marek Vasut, In message <201203052114.10141.marex@denx.de> you wrote: > > > -> ./MAKEALL -m TQM860L > > tail: cannot open `1090' for reading: No such file or directory > > TQM860L: Joakim.Tjernlund@transmode.se plagnioj@jcrosoft.com > > ptyser@xes-inc.com wd@denx.de > > > > What's this "tail" error? > > Yes, thanks for finding this. We have multiple TQM860L in MAINTAINERS. Umm... no, there are two entries which contain this string: "TQM860L" and "TQM860L_FEC", but thse are (or were) considered to be different. > > -> ./MAKEALL -m mpc8xx > > fatal: ambiguous argument 'board/extquote': unknown revision or path not > > in the working tree. Use '--' to separate paths from revisions > > mpc8xx: > > > > Doesn't work at all. > > > > What's this supposed to do? You mean ./MAKEALL -m -c mpc8xx (missing -c) ? Actualy I meant to test "./MAKEALL -m 8xx" which appears to work mostly fine. In any case the git error message should not be printed. BTW: -> ./MAKEALL -m AMX860 AMX860:Joakim.Tjernlund@transmode.se ptyser@xes-inc.com ratbert@faraday-tech.com wd@denx.de wdenk These entries like "wdenk" here from CVS times are really obsolete. Should we keep them, or introduce a cut-off-date (or -commit) ? Best regards, Wolfgang Denk
Dear Wolfgang Denk, > Dear Marek Vasut, > > In message <201203052114.10141.marex@denx.de> you wrote: > > > -> ./MAKEALL -m TQM860L > > > tail: cannot open `1090' for reading: No such file or directory > > > TQM860L: Joakim.Tjernlund@transmode.se plagnioj@jcrosoft.com > > > > > > ptyser@xes-inc.com wd@denx.de > > > > > > What's this "tail" error? > > > > Yes, thanks for finding this. We have multiple TQM860L in MAINTAINERS. > > Umm... no, there are two entries which contain this string: "TQM860L" > and "TQM860L_FEC", but thse are (or were) considered to be different. Yes, fixed now. > > > > -> ./MAKEALL -m mpc8xx > > > fatal: ambiguous argument 'board/extquote': unknown revision or path > > > not > > > > > > in the working tree. Use '--' to separate paths from revisions > > > > > > mpc8xx: > > > Doesn't work at all. > > > > What's this supposed to do? You mean ./MAKEALL -m -c mpc8xx (missing -c) > > ? > > Actualy I meant to test "./MAKEALL -m 8xx" which appears to work > mostly fine. In any case the git error message should not be printed. But this shouldn't print anything because board "mpc8xx" doesn't exist. Though this is still unfixed, V3 on the way, ignore V2 please. > > > BTW: > > -> ./MAKEALL -m AMX860 > AMX860:Joakim.Tjernlund@transmode.se ptyser@xes-inc.com > ratbert@faraday-tech.com wd@denx.de wdenk > > These entries like "wdenk" here from CVS times are really obsolete. > Should we keep them, or introduce a cut-off-date (or -commit) ? Found already and fixed in V2, though V3 will be necessary. > > > Best regards, > > Wolfgang Denk Best regards, Marek Vasut
diff --git a/MAKEALL b/MAKEALL index 0f2b4a1..2bfa696 100755 --- a/MAKEALL +++ b/MAKEALL @@ -17,6 +17,7 @@ usage() -v VENDOR, --vendor VENDOR Build all boards with vendor VENDOR -s SOC, --soc SOC Build all boards with soc SOC -l, --list List all targets to be built + -m, --maintainers List all targets and maintainer emails -h, --help This help output Selections by these options are logically ANDed; if the same option @@ -48,8 +49,8 @@ usage() exit ${ret} } -SHORT_OPTS="ha:c:v:s:l" -LONG_OPTS="help,arch:,cpu:,vendor:,soc:,list" +SHORT_OPTS="ha:c:v:s:lm" +LONG_OPTS="help,arch:,cpu:,vendor:,soc:,list,maintainers" # Option processing based on util-linux-2.13/getopt-parse.bash @@ -67,6 +68,7 @@ eval set -- "$TEMP" SELECTED='' ONLY_LIST='' +PRINT_MAINTS='' while true ; do case "$1" in @@ -109,6 +111,10 @@ while true ; do -l|--list) ONLY_LIST='y' shift ;; + -m|--maintainers) + ONLY_LIST='y' + PRINT_MAINTS='y' + shift ;; -h|--help) usage ;; --) @@ -483,11 +489,90 @@ LIST_nds32="$(boards_by_arch nds32)" #----------------------------------------------------------------------- +get_target_location() { + target=$1 + + BOARD_NAME="" + CONFIG_NAME="" + board="" + vendor="" + + # Automatic mode + line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg` + set ${line} + + # add default board name if needed + [ $# = 3 ] && set ${line} ${1} + + CONFIG_NAME="${1%_config}" + + [ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}" + + if [ "$4" = "-" ] ; then + board=${BOARD_NAME} + else + board="$4" + fi + + [ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5" + [ $# -gt 6 ] && [ "$7" != "-" ] && { + tmp="${7%:*}" + if [ "$tmp" ] ; then + CONFIG_NAME="$tmp" + fi + } + + # Assign board directory to BOARDIR variable + if [ -z "${vendor}" ] ; then + BOARDDIR=${board} + else + BOARDDIR=${vendor}/${board} + fi + + echo "${CONFIG_NAME}:${BOARDDIR}" +} + +get_target_maintainers() { + name=`echo $1 | cut -d : -f 1` + + if ! grep -i ${name} MAINTAINERS >/dev/null 2>&1 ; then + echo "" + return ; + fi + + line=`tac MAINTAINERS | grep -ni ${name} | cut -d : -f 1` + mail=`tac MAINTAINERS | tail -n +${line} | \ + sed -n ":start /.*@.*/ { b mail } ; n ; b start ; :mail /.*@.*/ { p ; n ; b mail } ; q" | \ + sed "s/^.*<//;s/>.*$//"` + echo "$mail" +} + +list_target() { + if [ "$PRINT_MAINTS" != 'y' ] ; then + echo "$1" + return + fi + + loc=`get_target_location $1` + maintainers_result=`get_target_maintainers ${loc} | tr " " "\n"` + dir=`echo ${loc} | cut -d ":" -f 2` + git_result=`git log --format=%aE board/${dir}` + git_result_recent=`echo ${git_result} | tr " " "\n" | head -n 3` + git_result_top=`echo ${git_result} | tr " " "\n" | \ + sort | uniq -c | sort -nr | head -n 3 | \ + sed "s/^ \+[0-9]\+ \+//"` + + echo -n "$1:" + echo -e "$git_result_recent\n$git_result_top\n$maintainers_result" | \ + sort -u | tr "\n" " " | sed "s/ $//" + echo "" +} + build_target() { target=$1 if [ "$ONLY_LIST" == 'y' ] ; then - echo "$target" + list_target ${target} return fi
The -m option lists boards including their maintainers emails. There are multiple strategies used to retrieve these emails: 1) Check board/<boardname> with git log and use three most recent emails 2) Check board/<boardname> with git log and use three most used emails 3) Try finding board in MAINTAINERS file and retrieve all emails from there The result is then sorted and unique results are retrieved and reported. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Wolfgang Denk <wd@denx.de> --- MAKEALL | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 88 insertions(+), 3 deletions(-)