forked from openkylin/platform_build
Move /default.prop to /system/etc/prop.default
This patch tries to fix the problem where the default properties need to go with the system image especially on non-AB devices where /default.prop is on the ramdisk image. A symlink is created at /default.prop for backward compatibility. Bug: 37815285 Test: Tested with ag/2416542. Booted pixel phones, checked the location of prop.default, verified the symlink, checked a few properties (via adb shell getprop) and manually tested a few apps (Camera, Maps etc). sign_target_files_apks.py was tested with: sign_target_files_apks -o -e DynamiteLoader.apk= -e DynamiteModulesA.apk= \ -e DynamiteModulesB.apk= -e DynamiteModulesC.apk= -e DynamiteModulesD.apk= \ -e GoogleCertificates.apk= out/dist/*-target_files-*.zip signed-target_files.zip Booted to recovery and ran 'adb sideload' successfully. Change-Id: I1a9a2ba49c8252afc13ced3dea71253afbd3091e Merged-In: I1a9a2ba49c8252afc13ced3dea71253afbd3091e (cherry-picked from 4fbbe4578bb10d54292d9b243edf4999fddf1c93)
This commit is contained in:
parent
df973cb239
commit
7eb6a926ad
|
@ -78,8 +78,13 @@ ifeq ($(BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED), true)
|
|||
endif
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# default.prop
|
||||
# prop.default
|
||||
ifdef property_overrides_split_enabled
|
||||
INSTALLED_DEFAULT_PROP_TARGET := $(TARGET_OUT)/etc/prop.default
|
||||
else
|
||||
# legacy path
|
||||
INSTALLED_DEFAULT_PROP_TARGET := $(TARGET_ROOT_OUT)/default.prop
|
||||
endif
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DEFAULT_PROP_TARGET)
|
||||
FINAL_DEFAULT_PROPERTIES := \
|
||||
$(call collapse-pairs, $(ADDITIONAL_DEFAULT_PROPERTIES))
|
||||
|
@ -95,6 +100,7 @@ intermediate_system_build_prop := $(call intermediates-dir-for,ETC,system_build_
|
|||
$(INSTALLED_DEFAULT_PROP_TARGET): $(intermediate_system_build_prop)
|
||||
@echo Target buildinfo: $@
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -f $@
|
||||
$(hide) echo "#" > $@; \
|
||||
echo "# ADDITIONAL_DEFAULT_PROPERTIES" >> $@; \
|
||||
echo "#" >> $@;
|
||||
|
@ -107,6 +113,10 @@ $(INSTALLED_DEFAULT_PROP_TARGET): $(intermediate_system_build_prop)
|
|||
$(hide) echo ro.bootimage.build.date.utc=`$(DATE_FROM_FILE) +%s`>>$@
|
||||
$(hide) echo ro.bootimage.build.fingerprint="$(BUILD_FINGERPRINT_FROM_FILE)">>$@
|
||||
$(hide) build/tools/post_process_props.py $@
|
||||
ifdef property_overrides_split_enabled
|
||||
$(hide) mkdir -p $(TARGET_ROOT_OUT)
|
||||
$(hide) ln -sf system/etc/prop.default $(TARGET_ROOT_OUT)/default.prop
|
||||
endif
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# vendor default.prop
|
||||
|
@ -1203,12 +1213,13 @@ define build-recoveryimage-target
|
|||
$(hide) cp -f $(recovery_wipe) $(TARGET_RECOVERY_ROOT_OUT)/etc/recovery.wipe)
|
||||
$(hide) cp $(RECOVERY_INSTALL_OTA_KEYS) $(TARGET_RECOVERY_ROOT_OUT)/res/keys
|
||||
$(hide) cat $(INSTALLED_DEFAULT_PROP_TARGET) \
|
||||
> $(TARGET_RECOVERY_ROOT_OUT)/default.prop
|
||||
> $(TARGET_RECOVERY_ROOT_OUT)/prop.default
|
||||
$(if $(INSTALLED_VENDOR_DEFAULT_PROP_TARGET), \
|
||||
$(hide) cat $(INSTALLED_VENDOR_DEFAULT_PROP_TARGET) \
|
||||
>> $(TARGET_RECOVERY_ROOT_OUT)/default.prop)
|
||||
>> $(TARGET_RECOVERY_ROOT_OUT)/prop.default)
|
||||
$(hide) cat $(recovery_build_props) \
|
||||
>> $(TARGET_RECOVERY_ROOT_OUT)/default.prop
|
||||
>> $(TARGET_RECOVERY_ROOT_OUT)/prop.default
|
||||
$(hide) ln -sf prop.default $(TARGET_RECOVERY_ROOT_OUT)/default.prop
|
||||
$(BOARD_RECOVERY_IMAGE_PREPARE)
|
||||
$(if $(filter true,$(BOARD_BUILD_SYSTEM_ROOT_IMAGE)), \
|
||||
$(hide) mkdir -p $(TARGET_RECOVERY_ROOT_OUT)/system_root; \
|
||||
|
|
|
@ -35,7 +35,7 @@ def mangle_build_prop(prop):
|
|||
def mangle_default_prop_override(prop):
|
||||
pass
|
||||
|
||||
# Put the modifications that you need to make into the /default.prop into this
|
||||
# Put the modifications that you need to make into the /system/etc/prop.default into this
|
||||
# function. The prop object has get(name) and put(name,value) methods.
|
||||
def mangle_default_prop(prop):
|
||||
# If ro.debuggable is 1, then enable adb on USB by default
|
||||
|
@ -122,7 +122,8 @@ def main(argv):
|
|||
elif (filename.endswith("/vendor/default.prop") or
|
||||
filename.endswith("/odm/default.prop")):
|
||||
mangle_default_prop_override(properties)
|
||||
elif filename.endswith("/default.prop"):
|
||||
elif (filename.endswith("/default.prop") or # legacy
|
||||
filename.endswith("/prop.default")):
|
||||
mangle_default_prop(properties)
|
||||
else:
|
||||
sys.stderr.write("bad command line: " + str(argv) + "\n")
|
||||
|
|
|
@ -212,11 +212,17 @@ def ProcessTargetFiles(input_tf_zip, output_tf_zip, misc_info,
|
|||
# System properties.
|
||||
elif info.filename in ("SYSTEM/build.prop",
|
||||
"VENDOR/build.prop",
|
||||
"BOOT/RAMDISK/default.prop",
|
||||
"ROOT/default.prop",
|
||||
"RECOVERY/RAMDISK/default.prop"):
|
||||
"SYSTEM/etc/prop.default",
|
||||
"BOOT/RAMDISK/prop.default",
|
||||
"BOOT/RAMDISK/default.prop", # legacy
|
||||
"ROOT/default.prop", # legacy
|
||||
"RECOVERY/RAMDISK/prop.default",
|
||||
"RECOVERY/RAMDISK/default.prop"): # legacy
|
||||
print "rewriting %s:" % (info.filename,)
|
||||
new_data = RewriteProps(data, misc_info)
|
||||
if stat.S_ISLNK(info.external_attr >> 16):
|
||||
new_data = data
|
||||
else:
|
||||
new_data = RewriteProps(data, misc_info)
|
||||
common.ZipWriteStr(output_tf_zip, out_info, new_data)
|
||||
|
||||
elif info.filename.endswith("mac_permissions.xml"):
|
||||
|
|
Loading…
Reference in New Issue