add a run_program() function to edify

Handy for producing debugging OTA packages (eg, running sqlite3 or
whatever in recovery).
am a3f89eab: add a run_program() function to edify

Merge commit 'a3f89eabb7ddcf44add8ce3b321ceab6d35289cb' into eclair-plus-aosp

* commit 'a3f89eabb7ddcf44add8ce3b321ceab6d35289cb':
  add a run_program() function to edify
am b5d542cd: am a3f89eab: add a run_program() function to edify

Merge commit 'b5d542cd40360867bc00cdb9266c0abf26448c55'

* commit 'b5d542cd40360867bc00cdb9266c0abf26448c55':
  add a run_program() function to edify
don't complain if recovery icon is short

If the a recovery icon file is so short that we can't even read the
8-byte header, put a message in the log but not on the device screen.
We intentionally have zero-length files for some icons on some devices,
if they're never shown (eg, the firmware installation icons are only
used on HTC devices).
am 196c25c7: don\'t complain if recovery icon is short

Merge commit '196c25c777daedbe2fe5a45171fb42e43ceed9af' into eclair-plus-aosp

* commit '196c25c777daedbe2fe5a45171fb42e43ceed9af':
  don't complain if recovery icon is short
am 2f4fc561: am 196c25c7: don\'t complain if recovery icon is short

Merge commit '2f4fc56183f3fe2edb5e3cd5e12329871e02518f'

* commit '2f4fc56183f3fe2edb5e3cd5e12329871e02518f':
  don't complain if recovery icon is short
delete files before symlinking; log error messages

The symlink() function should remove existing files before creating
symlinks, so scripts are idempotent.  Log messages when various system
calls fail (but don't make the whole script fail).
am 60babf8b: delete files before symlinking; log error messages

Merge commit '60babf8ba766662cc0932e8271b67daa69cddd5f' into eclair-plus-aosp

* commit '60babf8ba766662cc0932e8271b67daa69cddd5f':
  delete files before symlinking; log error messages
am d16fb221: am 60babf8b: delete files before symlinking; log error messages

Merge commit 'd16fb221cd27abea8a954bd5f6554fa116366519'

* commit 'd16fb221cd27abea8a954bd5f6554fa116366519':
  delete files before symlinking; log error messages
reduce fraction of progress bar for verification

Reduce the fraction of the progress bar used for package verification
from 50% to 25%:
  - verification is faster than before due to sha1 improvements
  - in eclair we're now verifying the compressed data rather than
    decompressing it
  - incremental packages (which is what most installs use) write more
    data than is contained in the package.
am fd8fb0c4: reduce fraction of progress bar for verification

Merge commit 'fd8fb0c49242af5147708f1a93ea3acba546555b' into eclair-plus-aosp

* commit 'fd8fb0c49242af5147708f1a93ea3acba546555b':
  reduce fraction of progress bar for verification
am 486aa290: am fd8fb0c4: reduce fraction of progress bar for verification

Merge commit '486aa290635dbf6f60b3435694951fed3470ffdf'

* commit '486aa290635dbf6f60b3435694951fed3470ffdf':
  reduce fraction of progress bar for verification
confirm before wiping user data in recovery

When using the hidden menu to wipe data in recovery, confirm before
starting the wipe.  (This does not affect booting with the --wipe_data
flag, or using Alt+W on dream with the menu hidden -- those still wipe
data immediately.)
am f93d8166: confirm before wiping user data in recovery

Merge commit 'f93d8166ef4c06f6ad71293ffa8a4ce469df4fa5' into eclair-plus-aosp

* commit 'f93d8166ef4c06f6ad71293ffa8a4ce469df4fa5':
  confirm before wiping user data in recovery
am 8f8bc4cb: am f93d8166: confirm before wiping user data in recovery

Merge commit '8f8bc4cb487e0f853c97cb5ff1481d707ac6b66d'

* commit '8f8bc4cb487e0f853c97cb5ff1481d707ac6b66d':
  confirm before wiping user data in recovery
replace generic recovery icons
add terminator to recovery's getopt_long options array

http://b/2170691 - recovery argument parsing is broken
am 988500b6: add terminator to recovery\'s getopt_long options array

Merge commit '988500b615de24455e1fee69e72055bb1dca9c86' into eclair-plus-aosp

* commit '988500b615de24455e1fee69e72055bb1dca9c86':
  add terminator to recovery's getopt_long options array
Merge change I1c8ca2e4 into eclair

* changes:
  replace generic recovery icons
am 54ec81fe: Merge change I1c8ca2e4 into eclair

Merge commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa' into eclair-plus-aosp

* commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa':
  replace generic recovery icons