Move ro.product.first_api_level to vendor/build.prop
Shipping API level is associated with the vendor image. When
a device ships in, say, O and is then run against the O-MR1
GSI image, the shipping API level is currently reported as
the shipping API level which the GSI was built with. This means
that various tests and control flows assume that the image
is the newest possible image. However, this is not the case.
Bug: 67965044
Test: boot on pixel
Change-Id: If18cc99e2599957d88860e0902a99ff3f67e5fd8
diff --git a/core/Makefile b/core/Makefile
index cc16497..7d09f65 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -336,7 +336,11 @@
$(INSTALLED_BUILD_PROP_TARGET): $(intermediate_system_build_prop) $(INSTALLED_RECOVERYIMAGE_TARGET)
@echo "Target build info: $@"
+ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE
+ $(hide) grep -v 'ro.product.first_api_level' $(intermediate_system_build_prop) > $@
+else
$(hide) cat $(intermediate_system_build_prop) > $@
+endif
ifdef INSTALLED_RECOVERYIMAGE_TARGET
$(hide) echo ro.expect.recovery_id=`cat $(RECOVERYIMAGE_ID_FILE)` >> $@
endif
@@ -356,10 +360,11 @@
$(FINAL_VENDOR_BUILD_PROPERTIES),=)
endif # property_overrides_split_enabled
-$(INSTALLED_VENDOR_BUILD_PROP_TARGET): $(VENDOR_BUILDINFO_SH)
+$(INSTALLED_VENDOR_BUILD_PROP_TARGET): $(VENDOR_BUILDINFO_SH) $(intermediate_system_build_prop)
@echo Target vendor buildinfo: $@
@mkdir -p $(dir $@)
$(hide) echo > $@
+ $(hide) grep 'ro.product.first_api_level' $(intermediate_system_build_prop) >> $@
$(hide) echo ro.vendor.build.date=`$(DATE_FROM_FILE)`>>$@
$(hide) echo ro.vendor.build.date.utc=`$(DATE_FROM_FILE) +%s`>>$@
$(hide) echo ro.vendor.build.fingerprint="$(BUILD_FINGERPRINT_FROM_FILE)">>$@