diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 1124eae..5bba776 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -193,6 +193,9 @@ TARGET_RECOVERY_FSTAB := $(VENDOR_PATH)/rootdir/etc/fstab.qcom TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true +# Release tools +TARGET_RELEASETOOLS_EXTENSIONS := $(VENDOR_PATH) + # SELinux include device/qcom/sepolicy/sepolicy.mk BOARD_SEPOLICY_DIRS += $(VENDOR_PATH)/sepolicy diff --git a/releasetools.py b/releasetools.py new file mode 100644 index 0000000..3f63251 --- /dev/null +++ b/releasetools.py @@ -0,0 +1,32 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import re + +def FullOTA_Assertions(info): + AddBootloaderAssertion(info, info.input_zip) + + +def IncrementalOTA_Assertions(info): + AddBootloaderAssertion(info, info.target_zip) + + +def AddBootloaderAssertion(info, input_zip): + android_info = input_zip.read("OTA/android-info.txt") + m = re.search(r"require\s+version-bootloader\s*=\s*(\S+)", android_info) + if m: + bootloaders = m.group(1).split("|") + if "*" not in bootloaders: + info.script.AssertSomeBootloader(*bootloaders) + info.metadata["pre-bootloader"] = m.group(1)