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
diff --git a/install.c b/install.c
index bb9924a..37a4f07 100644
--- a/install.c
+++ b/install.c
@@ -32,71 +32,10 @@
 #include "mtdutils/mtdutils.h"
 #include "roots.h"
 #include "verifier.h"
-#include "firmware.h"
 
 #define ASSUMED_UPDATE_BINARY_NAME  "META-INF/com/google/android/update-binary"
 #define PUBLIC_KEYS_FILE "/res/keys"
 
-// The update binary ask us to install a firmware file on reboot.  Set
-// that up.  Takes ownership of type and filename.
-static int
-handle_firmware_update(char* type, char* filename, ZipArchive* zip) {
-    unsigned int data_size;
-    const ZipEntry* entry = NULL;
-
-    if (strncmp(filename, "PACKAGE:", 8) == 0) {
-        entry = mzFindZipEntry(zip, filename+8);
-        if (entry == NULL) {
-            LOGE("Failed to find \"%s\" in package", filename+8);
-            return INSTALL_ERROR;
-        }
-        data_size = entry->uncompLen;
-    } else {
-        struct stat st_data;
-        if (stat(filename, &st_data) < 0) {
-            LOGE("Error stat'ing %s: %s\n", filename, strerror(errno));
-            return INSTALL_ERROR;
-        }
-        data_size = st_data.st_size;
-    }
-
-    LOGI("type is %s; size is %d; file is %s\n",
-         type, data_size, filename);
-
-    char* data = malloc(data_size);
-    if (data == NULL) {
-        LOGI("Can't allocate %d bytes for firmware data\n", data_size);
-        return INSTALL_ERROR;
-    }
-
-    if (entry) {
-        if (mzReadZipEntry(zip, entry, data, data_size) == false) {
-            LOGE("Failed to read \"%s\" from package", filename+8);
-            return INSTALL_ERROR;
-        }
-    } else {
-        FILE* f = fopen(filename, "rb");
-        if (f == NULL) {
-            LOGE("Failed to open %s: %s\n", filename, strerror(errno));
-            return INSTALL_ERROR;
-        }
-        if (fread(data, 1, data_size, f) != data_size) {
-            LOGE("Failed to read firmware data: %s\n", strerror(errno));
-            return INSTALL_ERROR;
-        }
-        fclose(f);
-    }
-
-    if (remember_firmware_update(type, data, data_size)) {
-        LOGE("Can't store %s image\n", type);
-        free(data);
-        return INSTALL_ERROR;
-    }
-    free(filename);
-
-    return INSTALL_SUCCESS;
-}
-
 // If the package contains an update binary, extract it and run it.
 static int
 try_update_binary(const char *path, ZipArchive *zip) {
@@ -145,9 +84,12 @@
     //
     //        firmware <"hboot"|"radio"> <filename>
     //            arrange to install the contents of <filename> in the
-    //            given partition on reboot.  (API v2: <filename> may
-    //            start with "PACKAGE:" to indicate taking a file from
-    //            the OTA package.)
+    //            given partition on reboot.
+    //
+    //            (API v2: <filename> may start with "PACKAGE:" to
+    //            indicate taking a file from the OTA package.)
+    //
+    //            (API v3: this command no longer exists.)
     //
     //        ui_print <string>
     //            display <string> on the screen.
@@ -172,9 +114,6 @@
     }
     close(pipefd[1]);
 
-    char* firmware_type = NULL;
-    char* firmware_filename = NULL;
-
     char buffer[1024];
     FILE* from_child = fdopen(pipefd[0], "r");
     while (fgets(buffer, sizeof(buffer), from_child) != NULL) {
@@ -194,18 +133,6 @@
             char* fraction_s = strtok(NULL, " \n");
             float fraction = strtof(fraction_s, NULL);
             ui_set_progress(fraction);
-        } else if (strcmp(command, "firmware") == 0) {
-            char* type = strtok(NULL, " \n");
-            char* filename = strtok(NULL, " \n");
-
-            if (type != NULL && filename != NULL) {
-                if (firmware_type != NULL) {
-                    LOGE("ignoring attempt to do multiple firmware updates");
-                } else {
-                    firmware_type = strdup(type);
-                    firmware_filename = strdup(filename);
-                }
-            }
         } else if (strcmp(command, "ui_print") == 0) {
             char* str = strtok(NULL, "\n");
             if (str) {
@@ -226,11 +153,7 @@
         return INSTALL_ERROR;
     }
 
-    if (firmware_type != NULL) {
-        return handle_firmware_update(firmware_type, firmware_filename, zip);
-    } else {
-        return INSTALL_SUCCESS;
-    }
+    return INSTALL_SUCCESS;
 }
 
 static int