Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(579)

Unified Diff: scripts/bitmaps/process_all_targets.sh

Issue 4147008: Automate bitmap image regeneration. (Closed) Base URL: gitrw.chromium.org:/vboot_reference.git
Patch Set: Modified to address review comments Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « scripts/bitmaps/make_bmp_images.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/bitmaps/process_all_targets.sh
diff --git a/scripts/bitmaps/process_all_targets.sh b/scripts/bitmaps/process_all_targets.sh
new file mode 100755
index 0000000000000000000000000000000000000000..851a524ffc931149c482ee560f3c45884bcf03c1
--- /dev/null
+++ b/scripts/bitmaps/process_all_targets.sh
@@ -0,0 +1,68 @@
+#!/bin/bash -e
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script searches the directory tree passed in as the parameter for
+# bmp_*.fv files, figures out the FWID strings from files' names, verifies the
+# FWIDs' integrity (by recalculating the CRC included in the FWID string) and
+# then rebuilds the bitmaps with the appropriate text and target specific
+# geometry.
+#
+
+
+# Given a string "<prefix>_<el1>_<el2>_.._<eln>_<suffix>" print string
+# '<el1> <el2> .. <eln>', i.e. <prefix>_ and _<suffix> dropped and underscores
+# replaced with spaces.
+get_elements() {
+ echo $1 | awk 'BEGIN {FS="_"}; {
+ x = 2;
+ do {
+ printf "%s ", $x;
+ x += 1
+ } while (x < (NF - 1))
+ printf "%s", $(NF-1);
+ }'
+}
+
+# Concatenate input parameters into a space separated string, calculate the
+# string's CRC32 and print the last four hex digits of the crc.
+signer() {
+ python -c "import sys,zlib;
+me=' '.join(sys.argv[1:]);
+print ('%04u'%(zlib.crc32(me)&0xffffffffL))[-4:]" $1
+}
+
+
+if [ "$#" != "1" -o ! -d "$1" ]; then
+ echo "One parameter is required, the path to the chromeos release tree" >&2
+ exit 1
+fi
+
+tree=$(readlink -f $1)
+cd $(dirname "$0")
+for f in $(find "${tree}" -type f -name 'bmp_*_[0-9]*.fv'); do
+ filename=$(basename "$f")
+ elements="$(get_elements $filename)"
+ signature=$(signer "${elements}")
+
+ # Rebuild file name to verify CRC.
+ comp_name=bmp_${elements// /_}_${signature}.fv
+ if [ "${filename}" != "${comp_name}" ]; then
+ echo "skipping ${filename} (crc mismatch with ${comp_name})"
+ continue
+ fi
+ echo "Processing ${filename}"
+ case "${elements}" in
+ (*ACER*) geometry='1366x768'
+ ;;
+ (*MARIO*) geometry='1280x800'
+ ;;
+ (*) echo "skipping ${filename}, unknown target geometry"
+ echo
+ continue
+ ;;
+ esac
+ ./make_bmp_images.sh "${elements} ${signature}" "${geometry}"
+ echo
+done
« no previous file with comments | « scripts/bitmaps/make_bmp_images.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698