[flashrom] [PATCH 3/4] util: add script for converting legacy layout files to format 2.
Stefan Tauner
stefan.tauner at student.tuwien.ac.at
Thu Sep 12 22:40:07 CEST 2013
Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
---
util/convert_layout_v1_to_v2.sh | 71 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100755 util/convert_layout_v1_to_v2.sh
diff --git a/util/convert_layout_v1_to_v2.sh b/util/convert_layout_v1_to_v2.sh
new file mode 100755
index 0000000..ec98eb8
--- /dev/null
+++ b/util/convert_layout_v1_to_v2.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# Copyright 2013 Stefan Tauner
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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.
+#
+#
+#
+# This script converts legacy layout files as understood by flashrom up to version 0.9.7 to format version 2.0.
+# It converts all files given as parameters in place and creates backups (with the suffix ".old") of the old
+# contents unless --nobackup is given.
+#
+# It does...
+# - check if the file format is already in 2 format
+# - prefix addresses with 0x if they have not been already
+# - remove superfluous white space (i.e. more than one consecutive space)
+# - remove white space from otherwise empty lines
+
+usage ()
+{
+ echo "Usage: $0 [--nobackup] FILE..."
+ exit 1
+}
+
+if [ $# -eq 0 ]; then
+ usage
+fi
+
+if [ $1 = "--nobackup" ]; then
+ sed_opt="-i"
+ shift
+ if [ $# -eq 0 ]; then
+ usage
+ fi
+else
+ sed_opt="-i.old"
+fi
+
+for f in "$@" ; do
+ if [ ! -e "$f" ]; then
+ echo "File not found: $f">&2
+ continue
+ fi
+
+ if grep -q 'flashrom layout 2\b' "$f" ; then
+ echo "File already in new format: $f"
+ continue
+ fi
+
+ sed $sed_opt -e "
+ 1i # flashrom layout 2
+ s/ *\(0x\|\)\([0-9a-fA-F][0-9a-fA-F]*\) *: *\(0x\|\)\([0-9a-fA-F][0-9a-fA-F]*\) */0x\2:0x\4 /
+ s/ */ /
+ s/^ *$//
+ " "$f"
+ echo "$f done"
+done
+echo "Done!"
--
Kind regards, Stefan Tauner
More information about the flashrom
mailing list