@@ -57,6 +57,10 @@ SYSTEM_EXT_PRIVATE_POLICY := $(BOARD_PLAT_PRIVATE_SEPOLICY_DIR)
57
57
PRODUCT_PUBLIC_POLICY := $(PRODUCT_PUBLIC_SEPOLICY_DIRS )
58
58
PRODUCT_PRIVATE_POLICY := $(PRODUCT_PRIVATE_SEPOLICY_DIRS )
59
59
60
+ # Extra sepolicy and prebuilts directories for sepolicy_freeze_test
61
+ FREEZE_TEST_EXTRA_DIRS := $(SEPOLICY_FREEZE_TEST_EXTRA_DIRS )
62
+ FREEZE_TEST_EXTRA_PREBUILT_DIRS := $(SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS )
63
+
60
64
ifneq (,$(SYSTEM_EXT_PUBLIC_POLICY )$(SYSTEM_EXT_PRIVATE_POLICY ) )
61
65
HAS_SYSTEM_EXT_SEPOLICY_DIR := true
62
66
endif
@@ -313,6 +317,11 @@ ifneq ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
313
317
LOCAL_REQUIRED_MODULES += \
314
318
sepolicy_freeze_test \
315
319
320
+ else
321
+ ifneq (,$(FREEZE_TEST_EXTRA_DIRS )$(FREEZE_TEST_EXTRA_PREBUILT_DIRS ) )
322
+ $(error SEPOLICY_FREEZE_TEST_EXTRA_DIRS or SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS\
323
+ cannot be set before system/sepolicy freezes.)
324
+ endif # (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
316
325
endif # ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
317
326
318
327
include $(BUILD_PHONY_PACKAGE )
@@ -1671,6 +1680,11 @@ LOCAL_MODULE_TAGS := optional
1671
1680
1672
1681
include $(BUILD_SYSTEM ) /base_rules.mk
1673
1682
1683
+ define ziplist
1684
+ $(if $(and $1,$2) , "$(firstword $1) $(firstword $2) "\
1685
+ $(call ziplist,$(wordlist 2,$(words $1 ) ,$1) ,$(wordlist 2,$(words $2 ) ,$2) ) )
1686
+ endef
1687
+
1674
1688
base_plat_public := $(LOCAL_PATH ) /public
1675
1689
base_plat_private := $(LOCAL_PATH ) /private
1676
1690
base_plat_public_prebuilt := \
@@ -1685,10 +1699,16 @@ $(LOCAL_BUILT_MODULE): PRIVATE_BASE_PLAT_PUBLIC := $(base_plat_public)
1685
1699
$(LOCAL_BUILT_MODULE ) : PRIVATE_BASE_PLAT_PRIVATE := $(base_plat_private )
1686
1700
$(LOCAL_BUILT_MODULE ) : PRIVATE_BASE_PLAT_PUBLIC_PREBUILT := $(base_plat_public_prebuilt )
1687
1701
$(LOCAL_BUILT_MODULE ) : PRIVATE_BASE_PLAT_PRIVATE_PREBUILT := $(base_plat_private_prebuilt )
1702
+ $(LOCAL_BUILT_MODULE ) : PRIVATE_EXTRA := $(sort $(FREEZE_TEST_EXTRA_DIRS ) )
1703
+ $(LOCAL_BUILT_MODULE ) : PRIVATE_EXTRA_PREBUILT := $(sort $(FREEZE_TEST_EXTRA_PREBUILT_DIRS ) )
1688
1704
$(LOCAL_BUILT_MODULE ) : $(all_frozen_files )
1689
1705
ifneq ($(PLATFORM_SEPOLICY_VERSION ) ,$(TOT_SEPOLICY_VERSION ) )
1690
1706
@diff -rq -x bug_map $(PRIVATE_BASE_PLAT_PUBLIC_PREBUILT) $(PRIVATE_BASE_PLAT_PUBLIC)
1691
1707
@diff -rq -x bug_map $(PRIVATE_BASE_PLAT_PRIVATE_PREBUILT) $(PRIVATE_BASE_PLAT_PRIVATE)
1708
+ ifneq (,$(FREEZE_TEST_EXTRA_DIRS )$(FREEZE_TEST_EXTRA_PREBUILT_DIRS ) )
1709
+ @for pair in $(call ziplist, $(PRIVATE_EXTRA_PREBUILT), $(PRIVATE_EXTRA)); \
1710
+ do diff -rq -x bug_map $$pair; done
1711
+ endif # (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
1692
1712
endif # ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
1693
1713
$(hide) touch $@
1694
1714
0 commit comments