Patchwork [meta-fsl-arm,7/7] scripts/get-maintainer: Allow query of maintainer

login
register
mail settings
Submitter Otavio Salvador
Date Jan. 28, 2014, 12:45 p.m.
Message ID <1390913141-4693-8-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/65935/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Otavio Salvador - Jan. 28, 2014, 12:45 p.m.
The number of boards has been raising in last months and, as result,
the maintainance effort. It is quite difficult to keep all boards in
good shape without sharing the maintenance load among several people.

A maintainer field is now in machine configuration file of
meta-fsl-arm and meta-fsl-arm-extra and this script prints that
information.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

 scripts/get-maintainer | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100755 scripts/get-maintainer

Patch

diff --git a/scripts/get-maintainer b/scripts/get-maintainer
new file mode 100755
index 0000000..d5a7907
--- /dev/null
+++ b/scripts/get-maintainer
@@ -0,0 +1,75 @@ 
+#!/bin/sh
+# -*- mode: shell-script; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+#
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+# Authored-by:  Otavio Salvador <otavio@ossystems.com.br>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+usage() {
+	cat<<EOF
+Usage:
+
+ $0 <path> [machine]
+
+ Options:
+
+   path: directory to look for machine definition files
+   machine: optinal param to restrict the printing for a specific machine name
+
+
+EOF
+}
+
+path=$1
+specific_machine=$2
+
+if [ -z "$1" ]; then
+	usage
+	return 1
+fi
+
+maintained=`mktemp`
+orphan=`mktemp`
+
+machines=`find $path -wholename '*/conf/machine/*.conf'`
+for m in $machines; do
+	machine=`basename $m | sed 's,\.conf$,,g'`
+	if [ -n "$specific_machine" ] && [ "$machine" != "$specific_machine" ]; then
+		continue
+	fi
+
+	name=`sed -n 's,#@NAME:\s*\(.*\)\s*,\1,p' $m`
+	maint=`sed -n 's,#@MAINTAINER:\s*\(.*\)\s*,\1,p' $m`
+
+	if [ -n "$maint" ]; then
+		printf "%-25s  %-50s  %-50s\n" "$machine" "$name" "$maint" >> $maintained
+	else
+		printf "%-25s  %-50s  %-50s\n" "$machine" "$name" "Orphan" >> $orphan
+	fi
+done
+
+cat <<EOF
+=========================  ==================================================  ==================================================
+         Machine             Name                                               Maintainer
+=========================  ==================================================  ==================================================
+EOF
+sort -u -k 2 $maintained | grep -v $^
+
+sort -u -k 2 $orphan | grep -v $^
+
+cat <<EOF
+=========================  ==================================================  ==================================================
+EOF
+rm $maintained $orphan