Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e92cfb7 authored by Tom Cherry's avatar Tom Cherry
Browse files

Check property type in host_init_verifier

We have all of the 'type' information for properties available during
build time, so let's check this when setting properties in init.

Test: setprop apexd.status bad results in:
host_init_verifier: Command 'setprop apexd.status bad'
(out/soong/.intermediates/system/core/rootdir/init.rc/android_x86_core/init.rc:927)
failed: Property type check failed, value doesn't match expected type
'enum starting ready'
host_init_verifier: Failed to parse init script
'out/soong/.intermediates/system/core/rootdir/init.rc/android_x86_core/init.rc'
with 1 errors
Test: CF builds without that error

Change-Id: Ia1b24ab42e2193e3298021bc86ee2309ca7a381f
parent 65e4ce6e
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -2461,12 +2461,22 @@ $(2): \
	$(call intermediates-dir-for,ETC,passwd_system)/passwd_system \
	$(call intermediates-dir-for,ETC,passwd_vendor)/passwd_vendor \
	$(call intermediates-dir-for,ETC,passwd_odm)/passwd_odm \
	$(call intermediates-dir-for,ETC,passwd_product)/passwd_product
	$(call intermediates-dir-for,ETC,passwd_product)/passwd_product \
	$(call intermediates-dir-for,ETC,plat_property_contexts)/plat_property_contexts \
	$(call intermediates-dir-for,ETC,system_ext_property_contexts)/system_ext_property_contexts \
	$(call intermediates-dir-for,ETC,product_property_contexts)/product_property_contexts \
	$(call intermediates-dir-for,ETC,vendor_property_contexts)/vendor_property_contexts \
	$(call intermediates-dir-for,ETC,odm_property_contexts)/odm_property_contexts
	$(hide) $(HOST_INIT_VERIFIER) \
	  -p $(call intermediates-dir-for,ETC,passwd_system)/passwd_system \
	  -p $(call intermediates-dir-for,ETC,passwd_vendor)/passwd_vendor \
	  -p $(call intermediates-dir-for,ETC,passwd_odm)/passwd_odm \
	  -p $(call intermediates-dir-for,ETC,passwd_product)/passwd_product \
	  --property-contexts=$(call intermediates-dir-for,ETC,plat_property_contexts)/plat_property_contexts \
	  --property-contexts=$(call intermediates-dir-for,ETC,system_ext_property_contexts)/system_ext_property_contexts \
	  --property-contexts=$(call intermediates-dir-for,ETC,product_property_contexts)/product_property_contexts \
	  --property-contexts=$(call intermediates-dir-for,ETC,vendor_property_contexts)/vendor_property_contexts \
	  --property-contexts=$(call intermediates-dir-for,ETC,odm_property_contexts)/odm_property_contexts \
	  $$<
else
$(2): $(1)