Merge "Remove device.mk"
diff --git a/tools/generate-sbom.py b/tools/generate-sbom.py
index c22175c..eae7945 100755
--- a/tools/generate-sbom.py
+++ b/tools/generate-sbom.py
@@ -87,7 +87,6 @@
 ISSUE_NO_METADATA_FILE = 'No METADATA file found for installed file:'
 ISSUE_METADATA_FILE_INCOMPLETE = 'METADATA file incomplete:'
 ISSUE_UNKNOWN_SECURITY_TAG_TYPE = 'Unknown security tag type:'
-ISSUE_INSTALLED_FILE_NOT_EXIST = 'Non-exist installed files:'
 INFO_METADATA_FOUND_FOR_PACKAGE = 'METADATA file found for packages:'
 
 
@@ -598,12 +597,11 @@
 
   # Report on some issues and information
   report = {
-    ISSUE_NO_METADATA: [],
-    ISSUE_NO_METADATA_FILE: [],
-    ISSUE_METADATA_FILE_INCOMPLETE: [],
-    ISSUE_UNKNOWN_SECURITY_TAG_TYPE: [],
-    ISSUE_INSTALLED_FILE_NOT_EXIST: [],
-    INFO_METADATA_FOUND_FOR_PACKAGE: [],
+      ISSUE_NO_METADATA: [],
+      ISSUE_NO_METADATA_FILE: [],
+      ISSUE_METADATA_FILE_INCOMPLETE: [],
+      ISSUE_UNKNOWN_SECURITY_TAG_TYPE: [],
+      INFO_METADATA_FOUND_FOR_PACKAGE: []
   }
 
   # Scan the metadata in CSV file and create the corresponding package and file records in SPDX
@@ -621,9 +619,6 @@
 
       if not installed_file_has_metadata(installed_file_metadata, report):
         continue
-      if not os.path.isfile(installed_file):
-        report[ISSUE_INSTALLED_FILE_NOT_EXIST].append(installed_file)
-        continue
 
       file_id = new_file_id(installed_file)
       product_files.append(new_file_record(file_id, installed_file, checksum(installed_file)))
diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py
index 043f6ee..39e380e 100755
--- a/tools/releasetools/ota_from_target_files.py
+++ b/tools/releasetools/ota_from_target_files.py
@@ -423,6 +423,13 @@
   slot will be used. This is to ensure that we always have valid boot, vbmeta,
   bootloader images in the inactive slot.
 
+  After writing system_other to inactive slot's system partiiton,
+  PackageManagerService will read `ro.cp_system_other_odex`, and set
+  `sys.cppreopt` to "requested". Then, according to
+  system/extras/cppreopts/cppreopts.rc , init will mount system_other at
+  /postinstall, and execute `cppreopts` to copy optimized APKs from
+  /postinstall to /data .
+
   Args:
     input_file: The input target-files.zip file.
     skip_postinstall: Whether to skip copying the postinstall config file.