Save the checksum and image size of PRE_UA images in the update.cfg
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 13 May 2022 09:37:48 +0000 (11:37 +0200)
committerMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 13 May 2022 09:38:13 +0000 (11:38 +0200)
Change-Id: If6338b6ac94ec8c327f0891ae50cc45ee4be4996

mk_delta/common/bin/CreatePatch.py

index 6fb8d31..fce79b6 100755 (executable)
@@ -131,7 +131,7 @@ def main():
                                UPDATE_CFG_PATH = '../'+sys.argv[8]
                                GenerateDiffAttr = "TRUE"
 
-               elif UPDATE_TYPE in [DELTA_IMG, DELTA_IMG_AB, FULL_IMG]:
+               elif UPDATE_TYPE in [DELTA_IMG, DELTA_IMG_AB, FULL_IMG, PRE_UA]:
                        if len(sys.argv) == 7:
                                #Use path in better way
                                UPDATE_CFG_PATH = '../'+sys.argv[6]
@@ -187,6 +187,7 @@ def main():
                        print('UPDATE_TYPE ---- EXTRA')
                elif UPDATE_TYPE == PRE_UA:
                        print('UPDATE_TYPE ---- PRE_UA')
+                       SS_pre_ua_update_checksum(PART_NAME, BASE_NEW, UPDATE_CFG_PATH)
                else:
                        print('UPDATE_TYPE ---- UNKNOWN FORMAT')
 
@@ -205,6 +206,31 @@ def main():
                logging.error('Usage: {} <Update_Type> <Part_Name> <OLD_Base> <NEW_Base> <OUT_DIR>'.format(os.path.basename(sys.argv[0])))
                raise
 
+def SS_pre_ua_update_checksum(PART_NAME, BASE_NEW, UPDATE_CFG_PATH):
+       newsize_d= os.path.getsize(BASE_NEW)
+       SHA_BIN_DEST= hash_file(BASE_NEW)
+
+       #incase UPDATE CFG is empty
+       DELTA = PART_NAME
+       #Should throw error if PART NAME NOT found??
+       print("newsize: {} sha_bin_dest: {}".format(newsize_d, SHA_BIN_DEST))
+       if not UPDATE_CFG_PATH == EMPTY:
+               f = open(UPDATE_CFG_PATH, 'r')
+               lines = f.readlines()
+               f.close()
+               f = open(UPDATE_CFG_PATH, 'w')
+               for line in lines:
+                       ConfigItems = line.split()
+                       if ConfigItems[0] == PART_NAME:
+                               logging.info ('Updating %s config' % PART_NAME)
+                               DELTA = ConfigItems[1]
+                               line = line.rstrip('\n')
+                               line = line.replace(line, line+'\t'+str(0)+'\t\t'+str(newsize_d)+'\t\t'+str(0)+'\t\t'+str(SHA_BIN_DEST)+'\n')
+                               print("new line: {}".format(line))
+                               f.write(line)
+                       else:
+                               f.write(line)
+               f.close()
 
 def SS_update_cfg(DELTA_BIN, UPDATE_CFG_PATH):
        f = open(UPDATE_CFG_PATH, 'r')