diff options
author | Doug Zongker <dougz@android.com> | 2010-09-17 22:02:48 +0200 |
---|---|---|
committer | Doug Zongker <dougz@android.com> | 2010-09-17 22:02:48 +0200 |
commit | d7d4208976125d114d0b8e44438e2417d5275098 (patch) | |
tree | 1f5915af5ad0420295138e6d55dc95c094127d15 | |
parent | do not merge - update to match ext4utils api (diff) | |
download | android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar.gz android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar.bz2 android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar.lz android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar.xz android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.tar.zst android_bootable_recovery-d7d4208976125d114d0b8e44438e2417d5275098.zip |
Diffstat (limited to '')
-rw-r--r-- | install.c | 15 | ||||
-rw-r--r-- | roots.c | 55 | ||||
-rw-r--r-- | roots.h | 14 |
3 files changed, 2 insertions, 82 deletions
@@ -159,17 +159,6 @@ try_update_binary(const char *path, ZipArchive *zip) { return INSTALL_SUCCESS; } -static int -handle_update_package(const char *path, ZipArchive *zip) -{ - // Update should take the rest of the progress bar. - ui_print("Installing update...\n"); - - int result = try_update_binary(path, zip); - register_package_root(NULL, NULL); // Unregister package root - return result; -} - // Reads a file containing one or more public keys as produced by // DumpPublicKey: this is an RSAPublicKey struct as it would appear // as a C source literal, eg: @@ -300,6 +289,6 @@ install_package(const char *root_path) /* Verify and install the contents of the package. */ - int status = handle_update_package(path, &zip); - return status; + ui_print("Installing update...\n"); + return try_update_binary(path, &zip); } @@ -45,15 +45,10 @@ static const char g_package_file[] = "@\0g_package_file"; static const char g_ramdisk[] = "@\0g_ramdisk"; static RootInfo g_roots[] = { - { "BOOT:", g_mtd_device, NULL, "boot", NULL, g_raw }, { "CACHE:", g_mtd_device, NULL, "cache", "/cache", "yaffs2" }, { "DATA:", g_mtd_device, NULL, "userdata", "/data", "yaffs2" }, { "MISC:", g_mtd_device, NULL, "misc", NULL, g_raw }, - { "PACKAGE:", NULL, NULL, NULL, NULL, g_package_file }, - { "RECOVERY:", g_mtd_device, NULL, "recovery", "/", g_raw }, { "SDCARD:", "/dev/block/mmcblk0p1", "/dev/block/mmcblk0", NULL, "/sdcard", "vfat" }, - { "SYSTEM:", g_mtd_device, NULL, "system", "/system", "yaffs2" }, - { "MBM:", g_mtd_device, NULL, "mbm", NULL, g_raw }, { "TMP:", NULL, NULL, NULL, "/tmp", g_ramdisk }, }; #define NUM_ROOTS (sizeof(g_roots) / sizeof(g_roots[0])) @@ -85,56 +80,6 @@ get_root_info_for_path(const char *root_path) return NULL; } -static const ZipArchive *g_package = NULL; -static char *g_package_path = NULL; - -int -register_package_root(const ZipArchive *package, const char *package_path) -{ - if (package != NULL) { - package_path = strdup(package_path); - if (package_path == NULL) { - return -1; - } - g_package_path = (char *)package_path; - } else { - free(g_package_path); - g_package_path = NULL; - } - g_package = package; - return 0; -} - -int -is_package_root_path(const char *root_path) -{ - const RootInfo *info = get_root_info_for_path(root_path); - return info != NULL && info->filesystem == g_package_file; -} - -const char * -translate_package_root_path(const char *root_path, - char *out_buf, size_t out_buf_len, const ZipArchive **out_package) -{ - const RootInfo *info = get_root_info_for_path(root_path); - if (info == NULL || info->filesystem != g_package_file) { - return NULL; - } - - /* Strip the package root off of the path. - */ - size_t root_len = strlen(info->name); - root_path += root_len; - size_t root_path_len = strlen(root_path); - - if (out_buf_len < root_path_len + 1) { - return NULL; - } - strcpy(out_buf, root_path); - *out_package = g_package; - return out_buf; -} - /* Takes a string like "SYSTEM:lib" and turns it into a string * like "/system/lib". The translated path is put in out_buf, * and out_buf is returned if the translation succeeded. @@ -24,14 +24,6 @@ * components, like "SYSTEM:a/b/c". */ -/* Associate this package with the package root "PKG:". - */ -int register_package_root(const ZipArchive *package, const char *package_path); - -/* Returns non-zero iff root_path points inside a package. - */ -int is_package_root_path(const char *root_path); - /* Takes a string like "SYSTEM:lib" and turns it into a string * like "/system/lib". The translated path is put in out_buf, * and out_buf is returned if the translation succeeded. @@ -39,12 +31,6 @@ int is_package_root_path(const char *root_path); const char *translate_root_path(const char *root_path, char *out_buf, size_t out_buf_len); -/* Takes a string like "PKG:lib/libc.so" and returns a pointer to - * the containing zip file and a path like "lib/libc.so". - */ -const char *translate_package_root_path(const char *root_path, - char *out_buf, size_t out_buf_len, const ZipArchive **out_package); - /* Returns negative on error, positive if it's mounted, zero if it isn't. */ int is_root_path_mounted(const char *root_path); |