2020.04.07-FullOTA_InstallBegin analyzing

713 def FullOTA_InstallBegin(info):
714   print "FullOTA_InstallBegin"
715   script = info.script;
716   script_ext = EdifyGeneratorExt(script);
717   output_zip = info.output_zip
718   input_zip = info.input_zip
719   PartitionUpdater.SetupEnv(script, script_ext, OPTIONS)
720   radio_dir = os.path.join(OPTIONS.input_tmp, "RADIO")
721   script_ext.AddNvmergeToZipExt(input_zip, output_zip)
722 
723   if OPTIONS.modem_update:
724     script_ext.UnpackPackageFile("META-INF/com/google/android/nvmerge", os.path.join(OPTIONS.tmp_path, "nvmerge"))
725     script_ext.UnpackPackageFile("META-INF/com/google/android/nvmerge.cfg",os.path.join(OPTIONS.tmp_path, "nvmerge.cfg"))
726 
727   partitions = []
728   configs = GetAllUpdaterConfigs(input_zip)
729 
730   if OPTIONS.partition_change:
731     script_ext.AddRepartsToZipExt(input_zip, output_zip)
732     script_ext.AddE2fsToZipExt(input_zip, output_zip)
733     ParseXml(input_zip, OPTIONS.target_partition_list)
734   for config in configs:
735     if ((OPTIONS.uboot_update and config.update_type == "B") or (OPTIONS.modem_update and config.update_type == "M") ):
736       partition = PartitionFullUpdater(config.mount_point, config.file_name, radio_dir,
737                                      verbatim=config.verbatim,
738                                      mount_point2=config.mount_point2,
739                                      mount_point3=config.mount_point3,
740                                      nv_merge=config.nv_merge,
741                                      spl_merge=config.spl_merge)
742       partition.AddToOutputZip(output_zip)
743       if partition.nv_merge and partition.input.bin:
744         print"partition.mount_point2=%s"%partition.mount_point2
745         print"GetPartitionDev( partition.mount_point2)=%s"%(GetPartitionDev( partition.mount_point2))
746         OPTIONS.backup_list.append( GetPartitionDev( partition.mount_point2))
747         OPTIONS.backup_list.append( GetPartitionDev( partition.mount_point3))
748       partitions.append(partition)
749 
750   if OPTIONS.partition_change:
751     AdjustPartition(info, input_zip, output_zip)
752 
753   for partition in partitions:
754     partition.Update()
755 
756   if OPTIONS.wipe_product_info:
757     partion_productinfo = PartitionUpdater("/productinfo")
758     partion_productinfo.FormatPartition("format productinfo ....")
759 
760   #if OPTIONS.modem_update:
761     #script.DeleteFiles([os.path.join(OPTIONS.tmp_path, "nvmerge"), os.path.join(OPTIONS.tmp_path, "nvmerge.cfg")])
762   #script.DeleteFiles([os.path.join(OPTIONS.tmp_path, "repart"), os.path.join(OPTIONS.sdcard_path, "partition.cfg")])
763 
764 def FullOTA_InstallEnd(info):
765   info.script.SetProgress(1)
766   print "FullOTA_InstallEnd"
767 
768 def IncrementalOTA_Assertions(info):
769   print "IncrementalOTA_Assertions"
770 
771 def IncrementalOTA_VerifyBegin(info):
772   print "IncrementalOTA_VerifyBegin"
773 
774 def IncrementalOTA_VerifyEnd(info):
775   print "IncrementalOTA_VerifyEnd"
776 
777 def IncrementalOTA_InstallBegin(info):
778   print "IncrementalOTA_InstallBegin"
779   script = info.script
780   script_ext = EdifyGeneratorExt(script);
781   target_zip = info.target_zip
782   output_zip = info.output_zip
783 
784   PartitionUpdater.SetupEnv(script, script_ext, OPTIONS)
785   target_radio_dir = os.path.join(OPTIONS.input_tmp, "RADIO")
786   source_radio_dir = os.path.join(OPTIONS.source_tmp, "RADIO")
787   script_ext.AddNvmergeToZipExt(target_zip, output_zip)
788 
789   if OPTIONS.modem_update:
790     script_ext.UnpackPackageFile("META-INF/com/google/android/nvmerge", os.path.join(OPTIONS.tmp_path, "nvmerge"))
791     script_ext.UnpackPackageFile("META-INF/com/google/android/nvmerge.cfg", os.path.join(OPTIONS.tmp_path, "nvmerge.cfg"))
792 
793   partitions = []
794   configs = GetAllUpdaterConfigs(target_zip)
795   print "IncrementalOTA_Install start ParseSourceXml"
796   ParseXml(info.source_zip, OPTIONS.source_partition_list)
797   print "IncrementalOTA_Install start ParseTargetXml"
798   ParseXml(target_zip, OPTIONS.target_partition_list)
799   ComparePartitionCompatible(OPTIONS)
800 
801   for config in configs:
802     if (OPTIONS.uboot_update and config.update_type == "B") or (OPTIONS.modem_update and config.update_type == "M"):
803       partition = PartitionIncrementalUpdater(config.mount_point, config.file_name, target_radio_dir, source_radio_dir,
804                                      verbatim=config.verbatim,
805                                      mount_point2=config.mount_point2,
806                                      mount_point3=config.mount_point3,
807                                      nv_merge=config.nv_merge,
808                                      spl_merge=config.spl_merge)
809       if partition.nv_merge and partition.target.bin:
810         OPTIONS.backup_list.append( GetPartitionDev( partition.mount_point2) )
811         OPTIONS.backup_list.append( GetPartitionDev( partition.mount_point3) )
812       partition.AddToOutputZip(output_zip)
813       partitions.append(partition)
814 
815   script.Print("Verifying current system...")
816   #script.ShowProgress(0.2, 0)
817   PartitionUpdater.FreeSpaceCheck()
818   OPTIONS.backup_list.append("boot")
819   OPTIONS.backup_list.append("system")
820 
821   for partition in partitions:
822     partition.Check()
823 
824   script.Comment("---- start making changes here ----")
825 
826   script.Print("Patching current system...")
827   #script.ShowProgress(0.6, 0)
828 
829   for partition in partitions:
830     partition.Update()
831 
832   if OPTIONS.wipe_product_info:
833     partion_productinfo = PartitionUpdater("/productinfo")
834     partion_productinfo.FormatPartition("format productinfo ....")
835 
836   #if OPTIONS.modem_update:
837     #script.DeleteFiles([os.path.join(OPTIONS.tmp_path, "nvmerge"), os.path.join(OPTIONS.tmp_path, "nvmerge.cfg")])

你可能感兴趣的:(Linux,Android)