History log of /bootable/recovery/updater/updater.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
779701db515d1a0d363d5a8896252f331bc4e22a 09-Feb-2012 Stephen Smalley <sds@tycho.nsa.gov> Extend recovery and updater to support setting file security contexts.

Extend minzip, recovery, and updater to set the security context on
files based on the file_contexts configuration included in the package.

Change-Id: Ied379f266a16c64f2b4dca15dc39b98fcce16f29
/bootable/recovery/updater/updater.c
8e5e4dada713609c9b2c45ea9cf4572bb89ef761 15-Sep-2010 Doug Zongker <dougz@android.com> close update package before installing; allow remount

Close the update package before invoking the binary, to allow the
installer to unmount /cache if it wants to. Add a function to allow
remounting of a mount as read-only.

Change-Id: Idfcc96c3da66083295177f729263560be58034e4
/bootable/recovery/updater/updater.c
512536a54a1a211a9f582e76cbf12850dc7d5466 18-Feb-2010 Doug Zongker <dougz@android.com> relocate applypatch; add type system and new functions to edify

- Move applypatch to this package (from build).

- Add a rudimentary type system to edify: instead of just returning a
char*, functions now return a Value*, which is a struct that can
carry different types of value (currently just STRING and BLOB).
Convert all functions to this new scheme.

- Change the one-argument form of package_extract_file to return a
Value of the new BLOB type.

- Add read_file() to load a local file and return a blob, and
sha1_check() to test a blob (or string) against a set of possible
sha1s. read_file() uses the file-loading code from applypatch so it
can read MTD partitions as well.

This is the start of better integration between applypatch and the
rest of edify.

b/2361316 - VZW Issue PP628: Continuous reset to Droid logo:
framework-res.apk update failed (CR LIBtt59130)

Change-Id: Ibd038074749a4d515de1f115c498c6c589ee91e5
/bootable/recovery/updater/updater.c
e08991e02a7d678f2574e85289a34b2a9a537c82 02-Feb-2010 Doug Zongker <dougz@android.com> bump updater API version to 3; deprecate firmware update command

Remove support for the HTC-specific "firmware" update command and the
corresponding edify function write_firmware_update(). This
functionality is now done by an edify extension library that lives in
vendor/htc.

Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
/bootable/recovery/updater/updater.c
2b0fdc657115a4fe02af279fdbdab99c68df0a1a 19-Jun-2009 Doug Zongker <dougz@android.com> add device extension mechanism to updater

Allow devices (in BoardConfig.mk) to define additional static
libraries to be linked in to updater, to make device-specific
functions available in edify scripts. Modify the updater makefile to
arrange for device libraries to register their edify functions.
/bootable/recovery/updater/updater.c
fb2e3af3f915c0e3f2b4b027ef26777267ad46dc 18-Jun-2009 Doug Zongker <dougz@android.com> let the "firmware" command take the file straight from the package

To do a firmware-install-on-reboot, the update binary tells recovery
what file to install before rebooting. Let this file be specified as
"PACKAGE:<foo>" to indicate taking the file out of the OTA package,
avoiding an extra copy to /tmp. Bump the API version number to
reflect this change.
/bootable/recovery/updater/updater.c
d9c9d10d9da76f067d3955bea71f7bb39e859fa5 12-Jun-2009 Doug Zongker <dougz@android.com> fixes to edify and updater script

A few more changes to edify:

- fix write_raw_image(); my last change neglected to close the write
context, so the written image was corrupt.

- each expression tracks the span of the source code from which it
was compiled, so that assert()'s error message can include the
source of the expression that failed.

- the 'cookie' argument to each Function is replaced with a State
object, which contains the cookie, the source script (for use with
the above spans), and the current error message (replacing the
global variables that were used for this purpose).

- in the recovery image, a new command "ui_print" can be sent back
through the command pipe to cause text to appear on the screen.
Add a new ui_print() function to print things from scripts.
Rename existing "print" function to "stdout".
/bootable/recovery/updater/updater.c
8edb00c990e563e6f91b278a212f2edf877cf763 12-Jun-2009 Doug Zongker <dougz@android.com> edify extensions for OTA package installation, part 2

Adds more edify functions for OTAs:

is_mounted getprop apply_patch apply_patch_check apply_patch_space
write_raw_image write_firmware_image package_extract_file

This allows us to install radios, hboots, boot images, and install
incremental OTA packages.

Fixes a couple of dumb bugs in edify itself:

- we were doubling the size of the function table each time it was
*not* full, rather than each time it was full

- "no such function" errors weren't visible to the parser, so they
didn't prevent execution of the script.
/bootable/recovery/updater/updater.c
9931f7f3c1288171319e9ff7d053ebaad07db720 10-Jun-2009 Doug Zongker <dougz@android.com> edify extensions for OTA package installation, part 1

Adds the following edify functions:

mount unmount format show_progress delete delete_recursive
package_extract symlink set_perm set_perm_recursive

This set is enough to extract and install the system part of a (full)
OTA package.

Adds the updater binary that extracts an edify script from the OTA
package and then executes it. Minor changes to the edify core (adds a
sleep() builtin for debugging, adds "." to the set of characters that
can appear in an unquoted string).
/bootable/recovery/updater/updater.c