Add support for the Full Upgrade 53/275653/2
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 27 May 2022 14:05:04 +0000 (16:05 +0200)
committerMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 27 May 2022 14:10:25 +0000 (16:10 +0200)
The full upgrade can be applied to any version of the system.
Therefore the file build_string.txt contained in the delta.tar has "0.0"
as its source version.

Change-Id: I181a0978782467670241fcfbe99dcbdc0add9a73

update-manager/fota/fota-installer.c
update-manager/fota/fota-manager.h

index 489e13c69984ded381e7eef1b85b80bbb4381cfa..62dbadec4f3f82dbe50ae1422bd3237665633bc0 100644 (file)
@@ -117,7 +117,8 @@ int fota_installer_execute(pid_t sender_pid)
                goto execute_destroy;
        }
 
-       if (g_str_has_prefix(buf, old_build_string) != TRUE) {
+       if (!g_str_has_prefix(buf, FOTA_DELTA_BUILD_STRING_FULL_DELTA_PREFIX) &&
+           !g_str_has_prefix(buf, old_build_string)) {
                _FLOGI("The caller doesn't have appropriate delta(%s), delta build string(%s)",
                                old_build_string, buf);
                status = -3;
index cfda1380f2d348826ff79c645d00c745811f32ed..72d8d9da4b9a0753b059c2f63d7f4a5cbc6e417d 100644 (file)
@@ -21,6 +21,7 @@
 #define FOTA_DELTA_BUILD_STRING_DIR "/tmp"
 #define FOTA_DELTA_BUILD_STRING_FILENAME "build_string.txt"
 #define FOTA_DELTA_BUILD_STRING_PATH FOTA_DELTA_BUILD_STRING_DIR "/" FOTA_DELTA_BUILD_STRING_FILENAME
+#define FOTA_DELTA_BUILD_STRING_FULL_DELTA_PREFIX "0.0@"
 
 #define FOTA_STATUS_DIR "/opt/data/update"
 #define FOTA_STATUS_FLAG_PATH FOTA_STATUS_DIR "/is-first-boot-after-fota"