Skip to content

Commit 43e188a

Browse files
committed
Merge "Expand the scope of sepolicy_freeze_test" am: 8fea06a am: c3aaa34 am: 3d9c929
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/1455040 Expand the scope of sepolicy_freeze_test The existing freeze test only covers the policy files in system/sepolicy alone. There's demand from product teams that would like to implement a freeze test for their sepolicy. Instead of letting them fork the freeze test, we believe expanding the scope of the exising one is in the best interest. $FREEZE_TEST_EXTRA_DIRS and $FREEZE_TEST_EXTRA_PREBUILT_DIRS are added. These build variables could be appended like $PRODUCT_PUBLIC_POLICY. The product team are expected to maintain their policy prebuilts. Bug:171055159 Change-Id: I5558c30f7832a13aaa04f713dd916b74ca05c923 Merged-In: d4103ee (cherry picked from commit 4280244)
1 parent 63322ae commit 43e188a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Android.mk

+20
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ SYSTEM_EXT_PRIVATE_POLICY := $(BOARD_PLAT_PRIVATE_SEPOLICY_DIR)
5757
PRODUCT_PUBLIC_POLICY := $(PRODUCT_PUBLIC_SEPOLICY_DIRS)
5858
PRODUCT_PRIVATE_POLICY := $(PRODUCT_PRIVATE_SEPOLICY_DIRS)
5959

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+
6064
ifneq (,$(SYSTEM_EXT_PUBLIC_POLICY)$(SYSTEM_EXT_PRIVATE_POLICY))
6165
HAS_SYSTEM_EXT_SEPOLICY_DIR := true
6266
endif
@@ -310,6 +314,11 @@ ifneq ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
310314
LOCAL_REQUIRED_MODULES += \
311315
sepolicy_freeze_test \
312316

317+
else
318+
ifneq (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
319+
$(error SEPOLICY_FREEZE_TEST_EXTRA_DIRS or SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS\
320+
cannot be set before system/sepolicy freezes.)
321+
endif # (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
313322
endif # ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
314323

315324
include $(BUILD_PHONY_PACKAGE)
@@ -1662,6 +1671,11 @@ LOCAL_MODULE_TAGS := optional
16621671

16631672
include $(BUILD_SYSTEM)/base_rules.mk
16641673

1674+
define ziplist
1675+
$(if $(and $1,$2), "$(firstword $1) $(firstword $2)"\
1676+
$(call ziplist,$(wordlist 2,$(words $1),$1),$(wordlist 2,$(words $2),$2)))
1677+
endef
1678+
16651679
base_plat_public := $(LOCAL_PATH)/public
16661680
base_plat_private := $(LOCAL_PATH)/private
16671681
base_plat_public_prebuilt := \
@@ -1676,10 +1690,16 @@ $(LOCAL_BUILT_MODULE): PRIVATE_BASE_PLAT_PUBLIC := $(base_plat_public)
16761690
$(LOCAL_BUILT_MODULE): PRIVATE_BASE_PLAT_PRIVATE := $(base_plat_private)
16771691
$(LOCAL_BUILT_MODULE): PRIVATE_BASE_PLAT_PUBLIC_PREBUILT := $(base_plat_public_prebuilt)
16781692
$(LOCAL_BUILT_MODULE): PRIVATE_BASE_PLAT_PRIVATE_PREBUILT := $(base_plat_private_prebuilt)
1693+
$(LOCAL_BUILT_MODULE): PRIVATE_EXTRA := $(sort $(FREEZE_TEST_EXTRA_DIRS))
1694+
$(LOCAL_BUILT_MODULE): PRIVATE_EXTRA_PREBUILT := $(sort $(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
16791695
$(LOCAL_BUILT_MODULE): $(all_frozen_files)
16801696
ifneq ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
16811697
@diff -rq -x bug_map $(PRIVATE_BASE_PLAT_PUBLIC_PREBUILT) $(PRIVATE_BASE_PLAT_PUBLIC)
16821698
@diff -rq -x bug_map $(PRIVATE_BASE_PLAT_PRIVATE_PREBUILT) $(PRIVATE_BASE_PLAT_PRIVATE)
1699+
ifneq (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
1700+
@for pair in $(call ziplist, $(PRIVATE_EXTRA_PREBUILT), $(PRIVATE_EXTRA)); \
1701+
do diff -rq -x bug_map $$pair; done
1702+
endif # (,$(FREEZE_TEST_EXTRA_DIRS)$(FREEZE_TEST_EXTRA_PREBUILT_DIRS))
16831703
endif # ($(PLATFORM_SEPOLICY_VERSION),$(TOT_SEPOLICY_VERSION))
16841704
$(hide) touch $@
16851705

0 commit comments

Comments
 (0)