Restore kernel requirements for frozen matrices.

Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.

Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test

Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
Merged-In: I908ebbe495ae06f983ef983a1be7937cf6be1c12
This commit is contained in:
Yifan Hong
2018-04-25 14:36:00 -07:00
parent d8a4d3463e
commit a6a1e0b2d2
3 changed files with 59 additions and 58 deletions

View File

@@ -18,68 +18,64 @@ LOCAL_PATH := $(call my-dir)
BUILD_FRAMEWORK_COMPATIBILITY_MATRIX := $(LOCAL_PATH)/compatibility_matrix.mk
# Clear potential input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX
LOCAL_ADD_VBMETA_VERSION :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE :=
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE :=
LOCAL_ASSEMBLE_VINTF_FLAGS :=
LOCAL_KERNEL_VERSIONS :=
LOCAL_GEN_FILE_DEPENDENCIES :=
my_kernel_config_data := kernel/configs
# Install all compatibility_matrix.*.xml to /system/etc/vintf
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.legacy.xml
LOCAL_MODULE_STEM := compatibility_matrix.legacy.xml
LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM)
LOCAL_KERNEL_VERSIONS := \
3.18.0 \
4.4.0 \
4.9.0 \
4.14.0 \
LOCAL_KERNEL_CONFIG_DATA_PATHS := \
3.18.0:$(my_kernel_config_data)/o/android-3.18 \
4.4.0:$(my_kernel_config_data)/o/android-4.4 \
4.9.0:$(my_kernel_config_data)/o/android-4.9 \
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.1.xml
LOCAL_MODULE_STEM := compatibility_matrix.1.xml
LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM)
LOCAL_KERNEL_VERSIONS := \
3.18.0 \
4.4.0 \
4.9.0 \
4.14.0 \
LOCAL_KERNEL_CONFIG_DATA_PATHS := \
3.18.0:$(my_kernel_config_data)/o/android-3.18 \
4.4.0:$(my_kernel_config_data)/o/android-4.4 \
4.9.0:$(my_kernel_config_data)/o/android-4.9 \
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.2.xml
LOCAL_MODULE_STEM := compatibility_matrix.2.xml
LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM)
LOCAL_KERNEL_VERSIONS := \
3.18.0 \
4.4.0 \
4.9.0 \
4.14.0 \
LOCAL_KERNEL_CONFIG_DATA_PATHS := \
3.18.0:$(my_kernel_config_data)/o-mr1/android-3.18 \
4.4.0:$(my_kernel_config_data)/o-mr1/android-4.4 \
4.9.0:$(my_kernel_config_data)/o-mr1/android-4.9 \
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.current.xml
LOCAL_MODULE_STEM := compatibility_matrix.current.xml
LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM)
LOCAL_KERNEL_VERSIONS := \
4.4.0 \
4.9.0 \
4.14.0 \
LOCAL_KERNEL_CONFIG_DATA_PATHS := \
4.4.0:$(my_kernel_config_data)/android-4.4 \
4.9.0:$(my_kernel_config_data)/android-4.9 \
4.14.0:$(my_kernel_config_data)/android-4.14 \
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
my_kernel_config_data :=
# Framework Compatibility Matrix (common to all FCM versions)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.device.xml
LOCAL_MODULE_STEM := compatibility_matrix.device.xml
# define LOCAL_MODULE_CLASS for local-generated-sources-dir.
@@ -126,6 +122,7 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
# Framework Compatibility Matrix
include $(CLEAR_VARS)
include $(LOCAL_PATH)/clear_vars.mk
LOCAL_MODULE := framework_compatibility_matrix.xml
LOCAL_MODULE_STEM := compatibility_matrix.xml
LOCAL_MODULE_PATH := $(TARGET_OUT)

View File

@@ -0,0 +1,24 @@
#
# Copyright (C) 2017 The Android Open Source 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.
#
# Clear input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX
LOCAL_ADD_VBMETA_VERSION :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE :=
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE :=
LOCAL_ASSEMBLE_VINTF_FLAGS :=
LOCAL_KERNEL_CONFIG_DATA_PATHS :=
LOCAL_GEN_FILE_DEPENDENCIES :=

View File

@@ -14,17 +14,6 @@
# limitations under the License.
#
###########################################################
## Remove minor revision from a kernel version. For example,
## 3.18.0 becomes 3.18.
## $(1): kernel version
###########################################################
define remove-minor-revision
$(strip $(subst $(space),.,$(wordlist 1,2,$(subst .,$(space),$(strip $(1))))))
endef
# $(warning $(call remove-minor-revision,3.18.0))
##### Input Variables:
# LOCAL_MODULE: required. Module name for the build system.
# LOCAL_MODULE_CLASS: optional. Default is ETC.
@@ -42,8 +31,8 @@ endef
# LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE: Add a list of environment variables that is local to
# assemble_vintf invocation. Format is "VINTF_ENFORCE_NO_UNUSED_HALS=true".
# LOCAL_ASSEMBLE_VINTF_FLAGS: Add additional command line arguments to assemble_vintf invocation.
# LOCAL_KERNEL_VERSIONS: Parse kernel configurations and add to the output matrix
# (corresponds to <kernel> tags.)
# LOCAL_KERNEL_CONFIG_DATA_PATHS: Paths to search for kernel config requirements. Format for each is
# <kernel version x.y.z>:<path that contains android-base*.cfg>.
# LOCAL_GEN_FILE_DEPENDENCIES: A list of additional dependencies for the generated file.
ifndef LOCAL_MODULE
@@ -88,14 +77,13 @@ endif # BOARD_AVB_ENABLE
$(GEN): PRIVATE_ENV_VARS += FRAMEWORK_VBMETA_VERSION
endif # LOCAL_ADD_VBMETA_VERSION
ifneq (,$(strip $(LOCAL_KERNEL_VERSIONS)))
$(GEN): PRIVATE_KERNEL_CONFIG_DATA := kernel/configs
$(GEN): PRIVATE_KERNEL_VERSIONS := $(LOCAL_KERNEL_VERSIONS)
$(GEN): $(foreach version,$(PRIVATE_KERNEL_VERSIONS),\
$(wildcard $(PRIVATE_KERNEL_CONFIG_DATA)/android-$(call remove-minor-revision,$(version))/android-base*.cfg))
$(GEN): PRIVATE_FLAGS += $(foreach version,$(PRIVATE_KERNEL_VERSIONS),\
--kernel=$(version):$(call normalize-path-list,\
$(wildcard $(PRIVATE_KERNEL_CONFIG_DATA)/android-$(call remove-minor-revision,$(version))/android-base*.cfg)))
ifneq (,$(strip $(LOCAL_KERNEL_CONFIG_DATA_PATHS)))
$(GEN): PRIVATE_KERNEL_CONFIG_DATA_PATHS := $(LOCAL_KERNEL_CONFIG_DATA_PATHS)
$(GEN): $(foreach pair,$(PRIVATE_KERNEL_CONFIG_DATA_PATHS),\
$(wildcard $(call word-colon,2,$(pair))/android-base*.cfg))
$(GEN): PRIVATE_FLAGS += $(foreach pair,$(PRIVATE_KERNEL_CONFIG_DATA_PATHS),\
--kernel=$(call word-colon,1,$(pair)):$(call normalize-path-list,\
$(wildcard $(call word-colon,2,$(pair))/android-base*.cfg)))
endif
my_matrix_src_files := \
@@ -124,15 +112,7 @@ LOCAL_PREBUILT_MODULE_FILE := $(GEN)
LOCAL_SRC_FILES :=
LOCAL_GENERATED_SOURCES :=
LOCAL_ADD_VBMETA_VERSION :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS :=
LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE :=
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE :=
LOCAL_ASSEMBLE_VINTF_FLAGS :=
LOCAL_KERNEL_VERSIONS :=
LOCAL_GEN_FILE_DEPENDENCIES :=
include $(LOCAL_PATH)/clear_vars.mk
my_matrix_src_files :=
include $(BUILD_PREBUILT)
remove-minor-revision :=